SQLite

Timeline
Login

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

33069 check-ins using file tool/speedtest.tcl version 06c7669848

FROM <tble>"). Ticket #3944. (CVS 6838) (check-in: 45fd5419a7 user: danielk1977 tags: trunk), (SELECT ... FROM tbl WHERE rowid > ) FROM ...". (CVS 5855) (check-in: 6c918c4eb9 user: danielk1977 tags: trunk)
2025-04-01
16:32
The json-blob-overwrite optimization seeks to prevent unnecessary I/O and data movement when making small changes to the middle of a large JSONB. (Leaf check-in: 4a3d7b0421 user: drh tags: trunk)
16:26
Fix a typo accidently added to the prior check-in. (Closed-Leaf check-in: fb2f283038 user: drh tags: json-opt)
15:17
This is an experimental optimization that attempts to keep a JSONB value the same size (same number of bytes) after doing a replace of an elements with a slightly smaller element, by denormalizing the size field. This can perhaps avoid unnecessary page updates and memmove() operations when making small changes in the middle of a large JSONB value. (check-in: b5de9584b7 user: drh tags: json-opt)
2025-03-31
23:18
Fix a harmless typo in a code comment. (check-in: dd251377bd user: drh tags: trunk)
14:12
Feature-complete. Not all test-cases pass. Merge trunk. (Leaf check-in: 6552bfb70a user: jan.nijtmans tags: cygwin-fixes)
13:08
Ensure that the compilation of extensions get the same CFLAGS as the core lib. Move the feature flags enabled by --dev out of TARGET_DEBUG and into OPT_FEATURE_FLAGS (for consistency). Rename the make-internal gcov-related flags to be more descriptive. At the end of the configure script, if SQLITE_DEBUG is active then emit a note reminding the builder that performance will suffer. (check-in: e64c6a3856 user: stephan tags: trunk)
11:24
Add the ?ENCODING? parameter to the "db copy" command. If used, it will translate from the given encoding to UTF-8 (Leaf check-in: ac27c2f816 user: jan.nijtmans tags: db-copy-encoding)
10:54
Ensure that extension sources also inherit the debugging-related flags from --debug or --dev. (check-in: 3e96b772a4 user: stephan tags: trunk)
10:29
Correct the ordering of the configure script's handling of the --dev and --debug flags so that --dev's forcing of --debug get picked up early enough. (check-in: e48189ed33 user: stephan tags: trunk)
09:53
The --dev option on ./configure implies --debug and adds -DSQLITE_DEBUG. (check-in: 67dbd9ff0f user: drh tags: trunk)
2025-03-30
09:08
Update tcl.m4 as well (Leaf check-in: 97af9fd79e user: jan.nijtmans tags: tea-update)
2025-03-29
11:50
Minor shell-internal doc addition. No functional changes. (check-in: 01b99c8a28 user: stephan tags: trunk)
2025-03-28
16:31
Correct two tests in shell1.test which were broken by the addition of new output in [0f11087b8475]. (check-in: 909dd0a02a user: stephan tags: trunk)
15:36
CLI shell: make (.output off) an alias for (.output /dev/null) or (.output nul), depending on the platform. Discussed in forum post 633979ce307f1cc6. (check-in: 0f11087b84 user: stephan tags: trunk)
14:32
Configure/make doc tweaks. No functional changes. (check-in: dbcc03bd7a user: stephan tags: trunk)
12:43
Update all TEA files to the latest version. All *.vc files should use Windows CRLF (check-in: aa8dc559cc user: jan.nijtmans tags: tea-update)
08:59
Second round of cygwin fixes: this makes the full "unix" vfs usable with Cygwin as well. Not all tests are working yet. WIP! (check-in: 648aca5b47 user: jan.nijtmans tags: cygwin-fixes)
07:09
Merge trunk (check-in: 6a449918c2 user: jan.nijtmans tags: cygwin-fixes)
2025-03-27
23:29
Merge cygwin and tclsqlite fixes into trunk. (check-in: 121f4d97f9 user: drh tags: trunk)
18:42
Add an explicit db close to fix a file-is-opened failure in session1.test in cygwin. (check-in: c6e4e1cf2b user: stephan tags: cygwin-fixes)
18:22
Rearrange #includes in FTS3 to avoid a harmless compiler warning. (check-in: c5206cee83 user: drh tags: trunk)
17:30
Fix for forum-post b5fde3596c. Also fix encoding issue for non-ASCII characters. Also includes a fix from Stephan Beal, about a missing <stdint.h> include. (Closed-Leaf check-in: e60198001e user: jan.nijtmans tags: tclsqlite-db-copy-fix)
17:25
shell1.test: == => eq (check-in: 99fdd19193 user: jan.nijtmans tags: cygwin-fixes)
14:37
More ==/!= => eq/ne fixes (check-in: 2aa6c4fa6c user: jan.nijtmans tags: cygwin-fixes)
14:32
In Tcl, always use eq/ne for comparing strings, not ==/!= (check-in: f96a5346e3 user: jan.nijtmans tags: cygwin-fixes)
14:13
Merge trunk. Some additional test-fixes for Cygwin (check-in: b36adadfa2 user: jan.nijtmans tags: cygwin-fixes)
10:59
Fix an off-by-one bug in the ".dbtotxt" command from the shell that results in incorrect output. (check-in: 2345094e87 user: drh tags: trunk)
2025-03-26
22:23
Reduce the delay caused by anti-virus retries in Windows when attempting to open a database file with insufficient permission. (check-in: d25c8a6222 user: drh tags: trunk)
17:05
On winOpen(), redo the read-only test on every retry attempt. Just don't retry the winAccess() call. (Closed-Leaf check-in: ccdd67ad9a user: drh tags: winopen-retry)
15:51
Further attempted improvements at fast-fail for an inaccessible database file. (check-in: cdeb21a312 user: drh tags: winopen-retry)
14:45
Attempt to reduce the amount of retry time when trying to open an inaccessible database file on Windows. See forum thread e7991420f5 (check-in: 986e45912c user: drh tags: winopen-retry)
00:02
Merge trunk into cygwin-fixes branch. Add .fossil-settings/binary-glob to squelch warnings about *.db files on Cygwin. (check-in: a8328b921c user: stephan tags: cygwin-fixes)
2025-03-25
01:32
Configure script internal cleanups. Factor out the superfluous proj-lshift_ and use lassign instead. Add -ro flag to proj-file-write. (check-in: 1f98fc07fd user: stephan tags: trunk)
2025-03-24
23:08
Clarify and reduce redundancy in an assert() in walChecksumBytes(). (check-in: 3c53abf5e6 user: drh tags: trunk)
19:58
Test that the sqlite3changeset_apply() function is properly appling indirect changes. (check-in: 1dadea3a79 user: dan tags: trunk)
15:09
Replace the general-purpose sqlite3_exec() interface with an optimized version during schema parsing, with the hopes of improving performance. And performance does increase, but by so very little (0.2% or less) that it does not seem worth the extra complication. Changed saved for historical reference. (Closed-Leaf check-in: 455186cad2 user: drh tags: schema-parsing-experiment)
11:13
Add test cases to session1.test. (check-in: dda9d7cf31 user: dan tags: trunk)
2025-03-23
23:04
Correct a --force flag which should be -force in a TCL file delete call. Some TCL versions (like the one on my system) accepts either but others don't. Problem reported in forum post c02224d862. (check-in: 172f4e4772 user: stephan tags: trunk)
22:49
Remove tool/tclConfigShToAutoDef.sh, as that functionality was moved into autosetup/proj.tcl so that it can be reused in, e.g., autoconf/tea. (check-in: c9c5a15d4d user: stephan tags: trunk)
21:38
Internal configure refactoring to support an ongoing conversion of ./autoconf/tea to autosetup. (Edit: this was merged from [63228f7746] but either an obscure fossil bug or an as-yet-unexplained PEBKAC lost that linkage for the second time - the same thing happened with [301ceba6432a882f].) (check-in: e1d483e342 user: stephan tags: trunk)
21:17
Re-integrate a corrected [38d5acd9e0fa47a4] and add a couple more configure script tweaks towards porting autoconf/tea to autosetup. Add tcl9.1 to the tclsh lookup. (Edit: moving to mistake branch. This was actually a merge of [63228f7746994dfb2] but that link got lost due (apparently) to a "stash apply" performed after "merge --integrate". Will re-commit with that merge link intact.) (Closed-Leaf check-in: 301ceba643 user: stephan tags: mistake)
21:13
Correct file-exists check in sqlite-process-dot-in-files, broken for out-of-tree builds by [38d5acd9e0fa47a4]. (Closed-Leaf check-in: 63228f7746 user: stephan tags: configure-tweaks)
15:37
Configure refactoring to support an ongoing conversion of ./autoconf/tea to autosetup. (Edit: moving off of trunk - this silently breaks the configure script, in that the Makefile is not filtered.) (check-in: 38d5acd9e0 user: stephan tags: configure-tweaks)
2025-03-22
23:03
Fixes for two problems with the generate_series() table-valued function. (Leaf check-in: f5aea14e6e user: drh tags: branch-3.49)
22:55
Fix the generate_series() enhancement from check-in [d50b784807333c54] so that it works even if the number that "value" is being compared against is a non-integer floating point number. Bug reported by forum post 0d5d63257. (check-in: c113e31b81 user: drh tags: trunk)
19:07
Replace use of autosetup/lib/*.auto for sqlite-custom-... features to avoid the possibility of multiple files being loaded (in an unpredictable order) for that purpose. Instead look for autosetup/sqlite-custom.tcl and source it if it exists. The intent is that sqlite-custom.tcl only ever be added in vendor-specific branches and never in the trunk. (check-in: f3c0071284 user: stephan tags: trunk)
18:41
In the post-configure validation, ensure than no more than one autosetup/lib/*.auto file is found, for reasons explained in the validation's error message. (check-in: 50bbd69a68 user: stephan tags: trunk)
17:56
Slight corrections to the new docs in autosetup/README.md. (check-in: 55029e41e0 user: stephan tags: trunk)
17:28
Document the new configuration customization approach and extend it to enable sqlite-custom-flags to return an empty string to denote that it does not require any new flags (it may still customize flag default values in such cases). (check-in: b0c7800b01 user: stephan tags: trunk)
17:00
Teach mkautoconfamal.sh to avoid copying autosetup/local.tcl and autosetup/*.auto except for autosetup/lib/CURRENT-BRANCH-NAME.auto (if any), the intent being to use lib/CURRENT-BRANCH-NAME.auto for branch-specific configuration customizations. (check-in: dfe24f13c4 user: stephan tags: trunk)
16:14
Add a mechanism to the configure script to allow certain client-specific builds to extend or override the configure options without having to edit sqlite-config.tcl, the goal being to reduce merge conflicts in those builds when updating sqlite-config.tcl from the canonical copy. (check-in: bafab4ee55 user: stephan tags: trunk)
14:29
Merge the latest trunk changes into the reuse-schema branch. (Leaf check-in: e9496b1bbc user: drh tags: reuse-schema)
14:23
Merge the latest trunk enhancements into the bedrock branch. (Leaf check-in: 4196efe83c user: drh tags: bedrock)
14:19
Merge the latest trunk enhancements into the wal2 branch. (Leaf check-in: 80e6ddd560 user: drh tags: wal2)
14:12
Merge the latest trunk enhancements into the begin-concurrent branch. (Leaf check-in: cb5e024b6a user: drh tags: begin-concurrent)
12:43
Configure script internal cleanups and re-orgs. No functional changes. (check-in: f619e40fb0 user: stephan tags: trunk)
12:15
In the autoconf bundle, do not strip binaries during installation, for parity with the canonical build and the legacy build. Discussed in forum post 9a67df63eda9925c. A potential TODO here is to add a configure flag which either enables or disables stripping. (check-in: 6d2e57bd34 user: stephan tags: trunk)
2025-03-21
22:14
Slightly simplify proj-current-proc-name. (check-in: 6a0ca9f236 user: stephan tags: trunk)
21:13
Fix a multi-arg expr call in proj-current-proc-name (must be single-arg for portability). (check-in: 914768f3f5 user: stephan tags: trunk)
18:15
Teach the CLI that VT100-escape codes that do things like change font colors have zero-width for the purpose of laying out the columns of a table. (check-in: 2d0a8a6c38 user: drh tags: trunk)
16:49
Flesh out the new proc-debug and its infrastructure a bit. (check-in: ba7f1ff0d7 user: stephan tags: trunk)
16:06
Proxy configure's msg-debug with proc-debug, which works the same except that it prepends the name of the calling proc to the debug message. No functional changes. (check-in: f0298c773d user: stephan tags: trunk)
2025-03-20
13:41
Teach the configure script to be able find a default installation of libreadline on Haiku OS. (check-in: 260e988411 user: stephan tags: trunk)
11:47
Fix a problem in the sqlite_dbpage() table-valued function when it is trying to truncate a file in locking-mode=EXCLUSIVE and the file was obtained via sqlite3_deserialize(). Problem found by dbsqlfuzz. (check-in: 346cf9794c user: drh tags: trunk)
2025-03-19
15:21
Correct part of [505d9e49f7] and [7126a51ed8] to get sessioninvert tests working on cygwin. (check-in: 83c34decbe user: stephan tags: cygwin-fixes)
14:57
Correct part of [7126a51e] which changed the implicit return value of a test function. (check-in: 505d9e49f7 user: stephan tags: cygwin-fixes)
14:52
Add some explicit db close calls to work around a process-reaping timing problem on cygwin builds. (check-in: 7126a51ed8 user: stephan tags: cygwin-fixes)
13:49
Test script patches from Jan Nijtmans: always use -DUSE_TCL_STUBS in buildtclext.tcl and improvements in how TRG is populated in testrunner.tcl. (check-in: aa192203aa user: stephan tags: cygwin-fixes)
13:13
Merge trunk into the cygwin-fixes branch for the shell test improvements on Windows. An MSC build's make test now has zero failures. (check-in: 2de4efe10c user: stephan tags: cygwin-fixes)
11:53
Avoid running test cases involving ANSI control characters or Unicode on Windows in a slave interpreter, as that combination does not work. (check-in: c7fd71c77f user: stephan tags: trunk)
10:14
Merge trunk into the cygwin-fixes branch. (check-in: 34eadd374b user: stephan tags: cygwin-fixes)
2025-03-18
20:28
Fix two obscure logic problems that cause incorrect answers, found by a third-party fuzzer. (check-in: 1a8f763c31 user: drh tags: branch-3.49)
20:15
Change the generate_series() table-valued function so that its rowid is just an alias for its value. This allows it to be used as the RHS operand of a RIGHT JOIN. This fixes the issue raised by forum post 1e17219c88. (check-in: 77db4d85e7 user: drh tags: trunk)
19:21
Fix a problem that could occur when the RHS of an IN operator was a compound SELECT featuring an ORDER BY on a subquery that was flattened into one of the component SELECTs introduced by [baa83b460c677c21]. Forum post /forumpost/1e17219c88. (check-in: 7101ccd533 user: dan tags: trunk)
13:52
Internal doc touchups in ext/wasm/mkwasmbuilds.c. No functional changes. (check-in: 47d34260e7 user: stephan tags: trunk)
12:42
Further slight simplification of the run-fuzzcheck rules. (Edit: moving to mistake branch because it having to build the binaries before detecting a missing FUZZDB arg is annoying.) (Leaf check-in: aac59804cc user: stephan tags: mistake)
12:31
Very slight simplification of the run-fuzzcheck rules. (check-in: c858a39fad user: stephan tags: trunk)
11:36
General updates to autosetup/README.md. (check-in: be8ad5cf57 user: stephan tags: trunk)
10:28
Update the docs in tool/mkccode.tcl to reflect that it's more generic than it was when the docs were written. Change the shebang line to use /bin/env tclsh instead of a hard-coded tclsh path. (check-in: 9300f7f42d user: stephan tags: trunk)
2025-03-17
15:13
Prevent integer overflow when parsing NEAR queries in FTS5. (check-in: 1a5283d7da user: drh tags: trunk)
14:59
Add support for the --with-wasi-sdk configure flag to the autoconf build. (check-in: 44880fa3f0 user: stephan tags: trunk)
2025-03-16
14:05
Fix a long-standing filename digest computation bug in the OPFS SAHPool VFS which caused all VFS-stored filenames to have a digest value of 0. See /forumpost/042d53c928382021 for full details. (check-in: 493cbe7450 user: stephan tags: trunk)
13:09
Add --asan-fsanitize=... configure flag to the canonical build to optionally set -fsantize flags for the fuzzcheck-asan tool. Teach proj-check-fsanitiz to fail for flags which the compiler emits any warning for, for reasons described in its comments. (check-in: 013730e9b9 user: stephan tags: trunk)
12:27
Configure-internal doc cleanups. No functional changes. (check-in: be3a2e6311 user: stephan tags: trunk)
11:24
Consolidate some much-duplicated run-fuzzcheck recipe code in main.mk. (check-in: c0d9b9fad3 user: stephan tags: trunk)
00:13
Rework the run-fuzzcheck makefile target so that it better exploit parallelism. Test case "make -j16 run-fuzzcheck FUZZDB=20250222.db" went from 596 seconds down to 107 seconds. (check-in: 18bda13e19 user: drh tags: trunk)
2025-03-15
23:42
Enhance the fuzzcheck testing tool with new command-line options: --brief, and --slice M N. (check-in: e64132723d user: drh tags: trunk)
20:35
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 271e0373a8 user: drh tags: reuse-schema)
20:32
Merge the latest trunk enhancements into the bedrock branch via the wal2 intermediary. (check-in: b1860b6372 user: drh tags: bedrock)
20:28
Merge the latest trunk enhancements into the wal2 branch. (check-in: c8d8f613ed user: drh tags: wal2)
20:25
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: 624225499c user: drh tags: begin-concurrent)
19:55
Make use of the C99 flexible array feature, when available, so that the -fsanitize=bounds-strict option can be used, when available. Forum thread 311dbf9a1c. (check-in: d4307a0d43 user: drh tags: trunk)
19:00
Work around compilers that do not understand flexible arrays, in the recovery extension and in the fuzzcheck test module. (Closed-Leaf check-in: f101c46cf8 user: drh tags: flex-array)
18:26
Fix alignment problems on Linux with -m32 and on Mac PPC. (check-in: 8a91aeca60 user: drh tags: flex-array)
16:58
Speed up parsing of very long fts3 query expressions. (check-in: 2dd5b6895a user: dan tags: trunk)
15:19
Configure-internal build cleanups (no functional changes). Add EXTRA_SRC to the deps of sqlite3.c. (check-in: 8afb8bbce8 user: stephan tags: trunk)
13:50
-fsanitize is a CFLAG, not LDFLAG, so rename some vars accordingly and simplify the feature check to not run the linker. (check-in: 44f2c64ec1 user: stephan tags: flex-array)
13:36
For fuzzcheck-asan, dynamically determine the list of -fsanitize flags to use based on configure-time feature tests. (check-in: b70f9cc815 user: stephan tags: flex-array)
13:11
Omit the -fsanitize=bounds-strict for now, as that is still not widely implemented. In particular, it does not work on Macs. (check-in: 3e1c2ac781 user: drh tags: flex-array)
13:04
Use flexible arrays in the recovery extension and in the fuzzcheck test program. Adjust the unix makefile to use -fsanitize=bounds-strict when building fuzzcheck-asan. (check-in: 6ea6a6b211 user: drh tags: flex-array)
12:22
Use flexible arrays whereever appropriate in FTS5. (check-in: 16dfc415b6 user: drh tags: flex-array)
00:11
Convert the Fts5Sorter.aIdx field to a flexible array. (check-in: 28ac776a23 user: drh tags: flex-array)
2025-03-14
23:57
Turn Fts5Colset.aiCol into a flexible array. (check-in: 0c4d9c7474 user: drh tags: flex-array)
23:20
In FTS3, rename the MatchinfoBuffer.aMatchinfo field to aMI, to avoid confusing it with MatchInfo.aMatchinfo. Make aMI a flexiable array. (check-in: bb00b97398 user: drh tags: flex-array)
21:15
Fix one of two flexible arrays in FTS3. (check-in: ddfa87c179 user: drh tags: flex-array)
20:19
Use flexible arrays for RTREE. (check-in: 2b41776179 user: drh tags: flex-array)
19:07
KeyInfo is now an indeterminate size, so we cannot declare a variable of that type, only a pointer to an instance of that type. (check-in: 37b687dc2d user: drh tags: flex-array)
18:10
Make use of the flexible-array feature of C99, when available, to try to pacify -fsanitize=strict-bounds. This check-in fixes the core. There is more yet to do in FTS3, RTREE, and in FTS5. (check-in: 6fd6b32d06 user: drh tags: flex-array)
12:37
Fix an internal doc typo reported in forum post e25e581f917. (check-in: fa6f6ccdff user: stephan tags: trunk)
11:14
Minor doc corrections for the sahpool-digest fix and merge in current trunk. (Closed-Leaf check-in: 500f2e6ec7 user: stephan tags: sahpool-digest)
09:34
Cherrypick the [2b582c0097e33] doc addition, which was initially committed to the wrong branch. (check-in: f786de8d18 user: stephan tags: trunk)
2025-03-13
18:51
Fix the generate_series extension for the case where the termination value is not an even multiple of the step from the start value and there is also a value=NNN constraint in the WHERE clause. Forum post bf2dc8e9 (check-in: 75e72e3b0d user: drh tags: trunk)
2025-03-12
15:17
The --echo flag on the CLI also echos dot-commands provided on the command-line. (check-in: 6ec0c03b95 user: drh tags: trunk)
11:41
Document that sqlite_update_hook() can unset the current hook by passing a NULL callback, to address forum post 652aef4747. (check-in: 2b582c0097 user: stephan tags: cygwin-fixes)
2025-03-11
15:46
Avoid running test cases involving ANSI control characters or Unicode on Windows in a slave interpreter, as that combination does not work. (Closed-Leaf check-in: f6745a7355 user: drh tags: windows-ansi)
12:19
The substitute "puts" command used by the Windows implementation of sqlite3_analyzer must invoke fflush() after each line of output. Otherwise the output can be truncated when redirected into a file. (check-in: ba058ce90a user: drh tags: trunk)
11:24
Teach testrunner.tcl to distinguish Cygwin from Windows. This gets it running but then all downstream tests fail, at least in part because of the build target name discrepancies between the platform which requires .exe and those which do not. (check-in: 2861788e47 user: stephan tags: cygwin-fixes)
2025-03-10
22:31
Ensure that the TEMP database has been initialized at the beginning of a call to sqlite3_open_blob() for the TEMP database. Fix for the issue reported by forum post 0a556d619b. (check-in: 2cfccdbe08 user: drh tags: trunk)
17:35
Merge trunk into the cygwin-fixes branch. (check-in: f3d14433f2 user: stephan tags: cygwin-fixes)
17:28
Add an explicit db close to test/walsetlk.test to work around an unjustified test failure on Windows when the walsetlk tests are run in the same invocation of testfixture.exe in Windows. (check-in: f418de1093 user: stephan tags: trunk)
15:35
Patch an unnecessary size_t-to-int conversion which warns on some compilers. (check-in: 8681dfdb59 user: stephan tags: cygwin-fixes)
15:27
Ensure that the 'clean' target for Makefile.msc cleans up the testdir dir, analog to how the canonical makefile works, as stale files there have been leading to test failures. (check-in: a591c01855 user: stephan tags: cygwin-fixes)
15:15
Reimplement pathname conversion on Cygwin. MSC test passes/failures are on par with trunk and 'make test' running on cygwin is down to a single failure. (check-in: 57a4de0914 user: stephan tags: cygwin-fixes)
14:10
Tweak [6f24da264cf8d] so that it has no side-effects on autoconf/Makefile.msc. (check-in: d3d322f122 user: stephan tags: cygwin-fixes)
10:39
Disable the [d1ba200234f40b84|count-of-view optimization] if any subquery is DISTINCT, as the optimization does not work in that case. (check-in: bae270b988 user: drh tags: branch-3.49)
10:36
Fix the build by rerunning test/mkpragmatab.tcl. (check-in: 167d6314c5 user: drh tags: branch-3.49)
10:32
Disable the [d1ba200234f40b84|count-of-view optimization] if any subquery is DISTINCT, as the optimization does not work in that case. Bug reported by forum post a860f5fb2e. (check-in: d7013b6393 user: drh tags: trunk)
09:54
Add tf.bat target to Makefile.msc to facilitate running of individual test scripts via testfixture.exe. (check-in: 6f24da264c user: stephan tags: cygwin-fixes)
2025-03-08
06:53
Test app/script patches from Jan Nijtmans for cygwin. Add/replace many more sentinel arguments for TCL variadic functions which specifically need a NULL trailing argument. With this, 'make test' on cygwin runs to completion for me, with 134 of 329227 tests failing. MSC build fails the same 13 tests which fail for me in trunk. (check-in: 84d8fcfca1 user: stephan tags: cygwin-fixes)
2025-03-07
06:54
os_win.c patches for Cygwin (described in the cygwin-fixes branch wiki page). Makefile.msc's test target on trunk fails the same 13 tests as this branch. (check-in: 655c60d192 user: stephan tags: cygwin-fixes)
2025-03-06
14:40
Merge trunk into the cygwin-fixes branch (which was inadvertently branched too early). (check-in: a7863b2e2f user: stephan tags: cygwin-fixes)
13:49
Cygwin-centric test script tweaks from Jan Nijtmans. (check-in: 9868615b7d user: stephan tags: cygwin-fixes)
13:38
Cygwin-centric fixes from Jan Nijtmans. (check-in: 205979813c user: stephan tags: cygwin-fixes)
09:29
Back out the most significant part of [5c28a17253e2f], as Cygwin is a hybrid. With SQLITE_OS_UNIX it will use POSIX locking, which will misinteract with apps using Windows-style locking. (check-in: 44adf8f387 user: stephan tags: trunk)
09:08
Various typo fixes reported by Daniel Dumitriu. No functional changes. (check-in: 37e6ec7774 user: stephan tags: trunk)
07:48
Additional 'array index is signed char' warning cleanups for the shell and its embedded extensions, analog to [44bd44532d]. (check-in: f31042595b user: stephan tags: trunk)
07:09
Fix a tcl typo in the previous checkin which triggers an error on one machine but not another. (check-in: 646c2821ad user: stephan tags: trunk)
06:25
Have the configure script report cygwin as SQLITE_OS_UNIX instead of SQLITE_OS_WIN, per off-list discussion with Jan Nijtmans. (check-in: 5c28a17253 user: stephan tags: trunk)
2025-03-05
19:39
Have the recover module add "PRAGMA foreign_keys = off" to SQL output. Have the shell tool add ".dbconfig defensive off". (check-in: dcfe3d3292 user: dan tags: trunk)
18:18
Always ignore comments in the schema of a database, even if SQLITE_DBCONFIG_ENABLE_COMMENTS is turned off. (check-in: 373ae3f4de user: drh tags: trunk)
17:26
Update the recovery extension so that it works with encrypted databases. (check-in: b0b66f2115 user: dan tags: trunk)
17:12
Use AtomicRead() and AtomicWrite() to access the pcache1_g.bUnderPressure global, to forestall unnecessary angst from thread analyzers. (check-in: 41ec85637a user: drh tags: trunk)
16:35
Improvement output for ".schema --indent" in the CLI when the schema contains partial indexes with long and complicated WHERE clauses. (check-in: defd7187ff user: drh tags: trunk)
16:30
Improvement output for ".schema --indent" in the CLI when the schema contains partial indexes with long and complicated WHERE clauses. (Leaf check-in: 94c6e8d971 user: drh tags: wrong-branch)
13:39
Update Lemon so that it accepts filename arguments to directives like "%include". Ex: "%include <./subdir/file-to-include.txt>". This was capability needed by pikchr and backported here for safe keeping. SQLite does not need this capability, though it doesn't hurt to have it in tree. (check-in: 52b97a7ad5 user: drh tags: reuse-schema)
2025-03-04
21:37
Minor configure script cleanups which started out as cygwin-specific fixes but ended up just being minor platform-agnostic cleanups. (check-in: 2cda90410a user: stephan tags: trunk)
21:31
Roll back part of [6d87a8efe]: the check for tclsh90.exe (as opposed to tclsh9.0.exe) is incorrect on these platforms (it's an msvc build). Also remove an unused function added in that checkin. (Closed-Leaf check-in: dc84976a7c user: stephan tags: cygwin-fixes)
21:25
tclsqlite3 patch from Christian Werner: replace FILE handles with TCL channels for the db copy command. (check-in: ea1f7f8de4 user: stephan tags: trunk)
19:38
Teach autosetup how to find tclsh v9.0 on cygwin. (check-in: 6d87a8efe5 user: stephan tags: cygwin-fixes)
17:06
Fix pointless comparison of an unsigned integer to less than zero in Lemon. (check-in: 559560da45 user: drh tags: reuse-schema)
07:29
Makefile doc updates. Remove a couple extraneous targets. No functional changes. (check-in: 5a3e22999f user: stephan tags: trunk)
06:29
Minor doc typo fixes via forum post 65bd941da8. (check-in: 6f6a03e93c user: stephan tags: trunk)
05:16
Document the EXTRA_SRC makefile var and add --amalgamation-extra-src=list to the canonical-build configure script as the formal way to pass that at configure-time. (check-in: 44de0ec29a user: stephan tags: trunk)
2025-03-03
16:53
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: b51690e180 user: drh tags: reuse-schema)
16:01
Merge the latest trunk enhancements into the bedrock branch through the wal2 intermediary. (check-in: 2033763007 user: drh tags: bedrock)
15:57
Merge the latest trunk enhancements into the wal2 branch. (check-in: 6baea938f0 user: drh tags: wal2)
15:53
Merge all the latest trunk enhancements into the begin-concurrent branch. (check-in: 051a6b159e user: drh tags: begin-concurrent)
14:15
Internal configure script cleanups. Resolve an as-yet-hypothetical corner case involving the --dev flag mixed with custom CFLAGS containing SQLITE_ENABLE... or SQLITE_OMIT... flags. Fix an unrelated API doc typo reported in forum post 606ea661df. (check-in: 0554c00f32 user: stephan tags: trunk)
11:48
Minor configure script doc tweaks. This is also a note that the basic elements of the build run as-is on Haiku OS Beta 5 but the tcl bits do not (for lack of tclConfig.sh). (check-in: acf9babf0e user: stephan tags: trunk)
2025-03-02
20:29
Ensure that detection of control characters by comparison against 0x1f uses unsigned characters. Forum post 4c344ca61f. (check-in: b7c5ce8421 user: drh tags: trunk)
2025-03-01
23:44
Use SQLITE_EXTRA_INIT_MUTEXED instead of SQLITE_EXTRA_INIT for the SQLITE_WASM_EXTRA_INIT feature, as suggested in forum post 14183b98fc0b1dea. This doesn't make a functional difference now - this is in the name of future-proofing against eventual threading support in wasm. (check-in: 46479c2e30 user: stephan tags: trunk)
11:47
Add an assert() in vdbesort.c to help both humans and static analyzer AIs understand why a particular array cannot overflow. (check-in: a14d4afd50 user: drh tags: trunk)
2025-02-28
15:54
In the CLI, ensure that all calls to ctype.h macros are cast to unsigned char. Apparently cygwin needs this. (check-in: 44bd44532d user: drh tags: trunk)
05:01
Bring the autosetup-related bits up to par with trunk. (check-in: 47fe1c5978 user: stephan tags: branch-3.49)
04:58
Latest upstream autosetup. Fixes two minor corner-case issues which we haven't yet seen in practice. (check-in: 5c2438a719 user: stephan tags: trunk)
01:06
Strive to make sorts stable in the mkpragmatab.tcl build script, so that we get consistent amalgamations regardless of platform. Forum thread c9914addebf3da51. (check-in: 8b5996f45f user: stephan tags: branch-3.49)
2025-02-27
21:17
Approximately 100 typo corrections spanning the whole tree, submitted via forum post 0db9827f0464bc33 and individually audited and verified. Affects only code comments, innocuous test strings, error message text in tool (not library) code, and configure-level help text. (check-in: f50c21484d user: stephan tags: trunk)
19:40
Reimplement testrunner_data.tcl::trd_get_bin_name() to assume a .exe extension on all platforms not matching "unix", to avoid having to do file-exists checks. (check-in: ce5519102a user: stephan tags: trunk)
16:07
Strive to make sorts stable in the mkpragmatab.tcl build script, so that we get consistent amalgamations regardless of platform. Forum thread c9914addebf3da51. (check-in: 3f57584710 user: drh tags: trunk)
15:55
Merge back a sequence of three changes that were branched due to a build break. (check-in: 6780971597 user: drh tags: trunk)
15:52
Fix build break in [e2bd23f251359e7a]. (Closed-Leaf check-in: 6ed8421103 user: drh tags: build-break)
11:03
Add support for SQLITE_EXTRA_INIT_MUTEXED - like SQLITE_EXTRA_INIT, but is called from within sqlite3_initialize() when the SQLITE_MUTEX_STATIC_MAIN mutex is still held. (check-in: 3cf88d429f user: dan tags: build-break)
03:23
Internal doc typo fixes reported in forum post 01d15f21b6. (check-in: d6514c20ff user: stephan tags: build-break)
2025-02-26
19:22
(Edit: Moved to a branch because this breaks "./configure && make devtest")
Teach testrunner how to run local binaries which have a .exe extension. Also teach it to recognized mingw environments (but actually building the test programs there currently doesn't work).
(check-in: e2bd23f251 user: stephan tags: build-break)
18:31
Teach testrunner.tcl to identify an msys environment. (check-in: e9f777ceda user: stephan tags: trunk)
17:11
Undo part of [69e83ab859c], as that order of operations breaks the --prefix=... configure flag. Found a workaround for the library version and OS/environment info being emitted when --help. (check-in: cd2a84a72c user: stephan tags: trunk)
16:15
configure: extend the readline detection a bit so that it can find readline on termux environments without having to be told where it is. Fix a typo in a libedit-related message. (check-in: 52f528c4be user: stephan tags: trunk)
09:14
Shift some bootstrapping configure bits to avoid emitting extra output if --help is specified. (check-in: 69e83ab859 user: stephan tags: trunk)
03:32
Merge trunk into the sahpool-digest branch. (check-in: fc1eeb7d1f user: stephan tags: sahpool-digest)
03:20
Fix a bug in mkwasmbuilds.c, introduced in [e4539ebebd89], which caused sqlite3.wasm to get deleted directly after it was built. (check-in: 1a72d1d13e user: stephan tags: trunk)
03:03
More work on the sahpool digest fix. New/fixed versions can read legacy (no digest) files but the reverse is only possible in limited circumstances (when files originated from a legacy version). The burning question is whether the real fix would be to remove this digest check altogether, as it only applies in a very limited context, and the fact that it was broken for some 18 months unnoticed suggests that its value might not be worth the CPU cycles. (check-in: 0df62b776c user: stephan tags: sahpool-digest)
2025-02-25
21:16
Disable some misuse tests that sometimes cause segfaults during "make releasetest". (check-in: 5856251a7e user: drh tags: trunk)
20:55
Approximately 50 typo fixes, spanning the whole tree, contributed via forum post 006c8fa165083ac3 and individually checked for correctness. Affects only code comments, docs, and a single line of debug output in a test app. (check-in: af928818a0 user: stephan tags: trunk)
20:36
Fix a test case that was broken when the default --escape type was changed by the previous check-in. (check-in: 5f2531e068 user: drh tags: trunk)
20:10
Change the default control-character escape algorithm from "symbol" to "ascii", since the "ascii" algorithm works even on terminals that do not support unicode. (check-in: d35320495e user: drh tags: trunk)
20:02
Fix harmless "unused parameter" compiler warnings. (check-in: 7a68a3ead8 user: drh tags: trunk)
18:10
Improved help messages for the --escape option in the CLI. (check-in: e6784af6d5 user: drh tags: trunk)
16:48
Configure script cosmetics: emit the host/build system info before the directory info. (check-in: 9d5b97dd92 user: stephan tags: branch-3.49)
16:39
Configure script cosmetics: emit the host/build system info before the directory info. (Edit: this mysteriously broke the --prefix=... flag again) (Edit - no, it didn't - it was a test methodology failure.) (check-in: 6f0b6d95db user: stephan tags: trunk)
16:17
Diverse configure tweaks to better support package maintainers on the unix-on-windows environments like msys2, cygwin, and mingw, based largely on feedback in forum posts e6cf2bbb70da2922 and 828fdfe9041fd725. (check-in: 144aacfdf7 user: stephan tags: branch-3.49)
16:11
Restructure [826bad10e9ccd6f71e] as that structure mysteriously breaks the --prefix=... configure flag. (check-in: d284230f68 user: stephan tags: trunk)
15:57
Enhancements to help avoid problems in the CLI when trying display content that contains ANSI escape codes: (1) Add the --escape MODE option to the CLI where MODE is one of "symbol", "ascii", "off" where the default is "symbol". (2) Add the unistr() SQL function. (3) Add the unistr_quote() SQL function. (4) Add the %#Q and %#q conversions in the built-in printf. (check-in: e3e509ae14 user: drh tags: trunk)
15:54
Diverse configure tweaks to better support package maintainers on the unix-on-windows environments like msys2, cygwin, and mingw, based largely on feedback in forum posts e6cf2bbb70da2922 and 828fdfe9041fd725. (check-in: 85b56fb0cc user: stephan tags: trunk)
15:27
Reinstate the assert() removed by [0f6223b8]. Avoid holding a wal-mode write lock after the transaction has been rolled back if an IO error occurs while restarting the wal file. (check-in: 277e150d6a user: dan tags: trunk)
13:33
Fix a test script problem causing errors with Tcl 9. (check-in: dbec2c47d0 user: dan tags: trunk)
12:18
Small performance improvement for the new %#Q conversion in printf. (Closed-Leaf check-in: 17e440781e user: drh tags: unistr)
12:11
Update the autoconf Makefile for nmake to support SETLK_TIMEOUT. (check-in: 46909fe334 user: drh tags: trunk)
11:48
Avoid running certain tests in walsetlk2.test if SQLITE_ENABLE_SETLK_TIMEOUT is set to 2, not 1. (check-in: 86788c08fa user: dan tags: trunk)
11:47
Consolidate two different UTF8 encoders into a single subroutine. (check-in: 6208e49485 user: drh tags: unistr)
11:29
Remove an assert() added by [e88212b1] that is sometimes false. (check-in: 0f6223b8f6 user: dan tags: trunk)
2025-02-24
23:34
Fix the new shellA.test test script so that it works with Valgrind. (check-in: c3949852ce user: drh tags: unistr)
21:27
Support SQLITE_ENABLE_SETLK_TIMEOUT on windows. (check-in: e88212b10a user: dan tags: trunk)
20:53
Slightly simplify auto.def and autoconf/auto.def. (Closed-Leaf check-in: d84f591b96 user: stephan tags: configure-dll-support)
20:13
Use an assert() to fix a harmless (false-positive) scan-build warning in the CLI. (check-in: 4c56cd7392 user: drh tags: unistr)
18:45
autoconf/auto.def: remove a define which made superfluous by [b8bf966628c0]. Add a check/status message for whether to statically link the library into the CLI shell. (check-in: df95e908ca user: stephan tags: configure-dll-support)
18:14
configure: in autoconf build if both --disable-shared and --disable-static-shell are used together, ignore the former and emit a notice to that effect. (check-in: b8bf966628 user: stephan tags: configure-dll-support)
17:50
Only use unistr() in columnar formats when strictly needed. Do not use unistr() in insert mode when --escape is off. More test cases. (check-in: e029828de9 user: drh tags: unistr)
13:51
Add the unistr_quote() function that works like quote(), but also escape control characters using unistr() if necessary. (check-in: e99e37b54b user: drh tags: unistr)
13:27
Bug fix and initial test-case infrastructure for control-character escaping in the CLI. (check-in: c809997792 user: drh tags: unistr)
12:41
Ongoing work to get all the quoting and escaping variations in the CLI working correctly. (check-in: b77aea93e7 user: drh tags: unistr)
12:19
Configure doc tweaks. Move the package version/build dir output so that it does not appear at the start of --help text, but otherwise still appears before the first output from low-level config initialization. (check-in: 826bad10e9 user: stephan tags: configure-dll-support)
11:21
Further consolidation of auto.def and autoconf/auto.def. Note in configure --help that --disable-largefile is a legacy option which has no effect on the library but may influence the generated sqlite_cfg.h. (check-in: 17fd6836f3 user: stephan tags: configure-dll-support)
10:52
Merge latest changes from trunk into this branch. (Closed-Leaf check-in: 55324d1c86 user: dan tags: win32-enable-setlk)
10:30
Move the configure output about the SQLite version and build dirs up, so that they appear before any tests for the C compiler and such. (check-in: 83e0f3d138 user: stephan tags: configure-dll-support)
08:42
Further consolidation of the main auto.def and the autoconf auto.def content into sqlite-config.tcl. (check-in: 76a4efa966 user: stephan tags: configure-dll-support)
07:06
Configure-internal doc tweaks. Fix the distclean rules for libsqlite3.dll.a on msys/cygwin/mingw, broken when the DLL basename was changed for those platforms. (check-in: 8641e2c7c8 user: stephan tags: configure-dll-support)
05:10
Add some internal notes about potential changes for the rpath flag handling. (check-in: 6f904f0695 user: stephan tags: configure-dll-support)
04:47
Update jimsh0.c from upstream autosetup to address autosetup ticket #75, triggered by this build in the Gentoo project. (check-in: ffd05de8a3 user: stephan tags: configure-dll-support)
00:40
Make column output modes in the CLI responsive to the --escape setting. (check-in: 14ff5557d4 user: drh tags: unistr)
00:18
Three different --escape modes: symbol, ascii, off. (check-in: b5adb52fc0 user: drh tags: unistr)
2025-02-23
20:50
Further improvements to control-character escapes in the CLI. (check-in: 9c2f974c17 user: drh tags: unistr)
20:20
Work toward VT100-safe output from the CLI by default. (check-in: 44c44620e8 user: drh tags: unistr)
17:55
Add (disabled) infrastructure for disabling use of the rpath linker flag. This is a proactive precautionary measure because how the rpath is used does not match up with what the unix-on-windows environments do with their DLLs. (check-in: 38ba8e837c user: stephan tags: configure-dll-support)
17:24
Internal cleanups to how certain linker flags are tested. (check-in: 6743e3e5b8 user: stephan tags: configure-dll-support)
15:34
Internal configure doc cleanups. Apply the [5ecbe7ddc4] unix-on-windows DLL install dir fix to the canonical build. (check-in: 51b9812df9 user: stephan tags: configure-dll-support)
11:48
The %#Q conversion now adds unistr('...') around the converted string if escape characters were inserted. %#w now works just like %w as escape sequences inside of identifiers are not recognized. (check-in: 997391d420 user: drh tags: unistr)
00:09
Enhance the %Q, %q, and %w printf conversions so that if the alternate-form flag # is present, they transform backslash and control characters into unistr()-style backslash escape codes. (check-in: ffbfcc2bbb user: drh tags: unistr)
2025-02-22
23:18
Prototype implementation of the unistr() SQL function. (check-in: 7cc302de05 user: drh tags: unistr)
17:33
Update the help text to account for [35b1c32f80b9]. (check-in: f2e7355d87 user: stephan tags: configure-dll-support)
17:30
Replace --dll-basename=none with --dll-basename=default. (check-in: 35b1c32f80 user: stephan tags: configure-dll-support)
16:44
Tamp down various harmless compiler warnings. Use "int" in places instead of "u16" or "i16" since the compiler complains less and generates faster code. (check-in: 742827f049 user: drh tags: trunk)
16:31
On unix-on-windows platforms, if either of --out-implib or --dll-basename are not provided, auto-enable them. Add the 'none' special value to those flags to specifically disable the environment-specific handling of those flags. (check-in: 486400801a user: stephan tags: configure-dll-support)
14:58
Ensure that [08c9e56f60] uses an absolute path when appending .exe to mksourceid. (check-in: 906d27f7a6 user: stephan tags: configure-dll-support)
14:53
Random non-functional configure script cleanups. (check-in: 2ee7310980 user: stephan tags: configure-dll-support)
14:53
tool/mksqlite3h.tcl: when invoking the mksourceid binary, add a .exe to it, if needed, to appease msys2. (check-in: 08c9e56f60 user: stephan tags: configure-dll-support)
11:40
Fix an incorrect assert added by [d7729dbbf231d57c]. (check-in: eeea11278b user: drh tags: trunk)
00:01
Fix installation rules for import lib in the autoconf bundle, broken by recent refactoring in this branch. (check-in: 95b71fc7e9 user: stephan tags: configure-dll-support)
2025-02-21
23:43
Rename configure-defined ENABLE_SHARED/STATIC makefile vars to ENABLE_LIB_... so that they're consistent between the canonical and autoconf builds (baby steps towards further configure code consolidation). (check-in: a7647fd077 user: stephan tags: configure-dll-support)
23:27
Configure docs/help text tweaks. No functional changes. (check-in: 701cc1aff4 user: stephan tags: configure-dll-support)
22:46
Only use the platform-specific --dll-basename if that option is explicitly provided, else use libsqlite3. (check-in: 69bacfdce5 user: stephan tags: configure-dll-support)
22:39
Don't quote dir name in makefile deps, as the quotes are part of the name in that context. (check-in: b0b9e92599 user: stephan tags: configure-dll-support)
22:35
Ensure that the prefix/bin dir exists on msys/cygwin installations before installing the DLL there. (check-in: 5ecbe7ddc4 user: stephan tags: configure-dll-support)
21:58
Add --dll-basename flag to give clients control over the DLL's base name. Split the DLL installation makefile rules into digestible, platform-specific chunks. On Windows-side Unix-like environments, install the DLL into the bin dir. Requires testing and feedback from those platforms' package maintainers to confirm it follows the expectated conventions. (check-in: 8d5fed807b user: stephan tags: configure-dll-support)
20:35
The number of declared columns in an index is limited to SQLITE_LIMIT_COLUMN. But the actual number of columns in the implementation might need to be twice as much to account for the primary key at the end. Ensure that the code is able to deal with this. This is a correction to check-in [d7729dbbf231d57c]. (check-in: 5822feec43 user: drh tags: trunk)
20:28
Extend --out-implib to optionally specify the import lib's name. Add as-yet-unused internals for specifying the DLL's base name (which differs across the Windows-side Unix-esque environments). (check-in: 12a55d343f user: stephan tags: configure-dll-support)
20:22
Makefile-internal var renaming in prep for pending portability-related changes in the handling of DLLs. No functional/build interface changes. (check-in: ebf41fc90a user: stephan tags: trunk)
17:03
Detect when a UNIQUE or PRIMARY KEY on a WITHOUT ROWID table would need to use more than SQLITE_LIMIT_COLUMN columns and raise an error. Also include some unrelated compiler warning fixes. (check-in: d7729dbbf2 user: drh tags: trunk)
03:22
configure: in several places where support for -Wl,... linker flags are checked, ensure that the check invokes the linker (not just the compiler) to avoid false positives. This allows us to remove the AIX-specific handling and --disable-rpath bits added in [a15e0f680], as well as make several similar checks more robust. (check-in: 47c43fcb51 user: stephan tags: branch-3.49)
03:19
configure: in several places where support for -Wl,... linker flags are checked, ensure that the check invokes the linker (not just the compiler) to avoid false positives. This allows us to remove the AIX-specific handling and --disable-rpath bits added in [a15e0f680], as well as make several similar checks more robust. (check-in: 4e81e2c707 user: stephan tags: trunk)
2025-02-20
17:16
Bump VERSION to 3.49.2. (check-in: eaa2503ef6 user: stephan tags: branch-3.49)
17:15
configure: automatically fail the check for rpath on AIX systems and provide a --disable-rpath flag as a fallback for use on platforms which pass the configure-time rpath check but then fail at link-time. Based on discussion in forum thread ae5bd8a84b. (check-in: b6603986e6 user: stephan tags: branch-3.49)
17:14
configure: automatically fail the check for rpath on AIX systems and provide a --disable-rpath flag as a fallback for use on platforms which pass the configure-time rpath check but then fail at link-time. Based on discussion in forum thread ae5bd8a84b. (check-in: a15e0f6802 user: stephan tags: trunk)
16:47
Fix autoconf bundle to honor the --disable-static and --disable-shared flags, as reported in forum post ae5bd8a84b. Problem introduced in 3.49.0. (check-in: e5ea86dccf user: stephan tags: branch-3.49)
16:45
Fix autoconf bundle to honor the --disable-static and --disable-shared flags, as reported in forum post ae5bd8a84b. Problem introduced in 3.49.0. (check-in: 56027220cc user: stephan tags: trunk)
12:34
Experimental prototype for "PRAGMA loadall(TABLE_OR_INDEX)". (Leaf check-in: f24e4d7bc0 user: drh tags: pragma-loadall)
05:39
wasm: do not build the (untested/unsupported) node-for-node build by default, to cut build time by about 15%. Adjacent cleanups in mkwasmbuilds.c. (check-in: e4539ebebd user: stephan tags: trunk)
04:45
wasm makefile docs: make explicit that the node.js-for-node.js builds (as opposed to the node.js-for-browser builds) are both untested and unsupported. (check-in: e1f184889f user: stephan tags: trunk)
04:14
Add the pause/unpause capability to the opfs-sahpool VFS, as discussed in forum thread fe8cdb8431c. Summary: this gives clients a way to eke some degree of multi-page/tab/Worker concurrency out of this VFS but requires that coordination to be implemented client-side, e.g. via a SharedWorker or WebLocks. (check-in: b5dbd52195 user: stephan tags: trunk)
03:27
configure: when running proj-check-function-in-lib, strip -Werror from CFLAGS for the duration of the test. This enables CFLAGS='-Wall -Werror' and the like to be passed to configure without breaking these configure-time checks. (check-in: 4ae9d6c642 user: stephan tags: trunk)
2025-02-19
13:05
Increase default CLI shell .prompt buffer length to 128 bytes, based on discussion in forum post 362f185a6aa. (check-in: 628407f03d user: stephan tags: trunk)
13:02
Slight tweak to the CLI shell help output to help convey that it can accept multiple SQL arguments, as suggested in forum post 20e617feee. (check-in: 82fc67070f user: stephan tags: trunk)
00:18
Version 3.44.4 (Leaf check-in: f1e31fd996 user: drh tags: branch-3.44, version-3.44.4, patch-release)
2025-02-18
20:27
Add the SQLITE_MEM5_FAILOVER compile-time option, which if enabled allows MEMSYS5 to go out to the system heap if it is unable to fulfill an allocation request. (Leaf check-in: bdd8617b3f user: drh tags: mem5-failover)
18:05
Cherry pick recent fixes into branch-3.44. (check-in: 75bbd094db user: drh tags: branch-3.44)
15:11
Have SQLITE_FTS5_ENABLE_TEST_MI builds avoid reading the database schema from within sqlite3_open(). (check-in: 15dc524fd4 user: dan tags: trunk)
14:56
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: b2bf063011 user: drh tags: reuse-schema)
14:48
Merge the latest trunk enhancements into the bedrock branch. (check-in: c09656c621 user: drh tags: bedrock)
14:38
Merge all the latest trunk enhancements into the wal2 branch. (check-in: bd46516595 user: drh tags: wal2)
14:37
Merge all the latest trunk enhancements into the begin-concurrent branch. (check-in: 3c87a6d195 user: drh tags: begin-concurrent)
13:38
Version 3.49.1 (check-in: 873d4e274b user: drh tags: release, branch-3.49, version-3.49.1)
01:16
Update path on the web server for test/snapshot instances of fiddle. (check-in: 57caa3136d user: stephan tags: trunk)
2025-02-17
20:13
Add an ORDER BY to a test case for skip-scan to make the output consistent. (check-in: 9c9c19414a user: drh tags: trunk)
19:44
Fix problems in test script fkey6.test. (check-in: 088e476519 user: dan tags: trunk)
19:06
Fix a typo in a comment in wal.c. (check-in: e0f898f356 user: dan tags: bedrock)
18:09
Additional changes making it easier to prove that integer overflow does not occur. No problems found. (check-in: e846743a87 user: drh tags: trunk)
17:33
Code changes that make it easier to prove that no 32-bit integer overflows happen during memory allocation. No problems fixed; this change is just to make future maintenance easier. (check-in: 215650a5a1 user: drh tags: trunk)
16:15
Add two generated files to the distclean rules of the autoconf bundle. (check-in: 57eceb361f user: stephan tags: branch-3.49)
16:14
Add two generated files to the distclean rules of the autoconf bundle. (check-in: b59d0ebb22 user: stephan tags: trunk)
16:07
Pull build fix [edb8a78c023] and cleanup [0c085a5ab5] into branch-3.49. (check-in: f10e7ac65b user: stephan tags: branch-3.49)
16:04
Replace TEXE (legacy name) with T.exe (3.48+ name) in two places in makefiles. This fixes distclean of jimsh.exe in the canonical build in non-native Windows environments. (check-in: edb8a78c02 user: stephan tags: trunk)
14:27
Harden the SQLITE_DBCONFIG_LOOKASIDE interface against misuse. This is a simplification of [1ec4c308c76c69fb] appropriate for use in a patch release. (check-in: 78c4994c1c user: drh tags: branch-3.49)
14:16
Harden the SQLITE_DBCONFIG_LOOKASIDE interface against misuse, such as described in forum post 48f365daec. Enhancements to the SQLITE_DBCONFIG_LOOKASIDE documentation. Test cases in TH3. (check-in: 1ec4c308c7 user: drh tags: trunk)
10:58
Fix a typo (a missing ")") in a comment that is used to generate documentation. No changes to code. (check-in: ea21685658 user: drh tags: trunk)
2025-02-16
19:16
Internal reordering/re-grouping of some configure flags. No functional changes. (check-in: 0c085a5ab5 user: stephan tags: trunk)
18:16
Re-add the --disable-static-shell configure feature to the autoconf bundle. It got lost in the autoconf-to-autosetup port, as reported in forum post cc219ee7044. (check-in: e9035c6c89 user: stephan tags: branch-3.49)
18:14
Re-add the --disable-static-shell configure feature to the autoconf bundle. It got lost in the autoconf-to-autosetup port, as reported in forum post cc219ee7044. (check-in: 47e817f663 user: stephan tags: trunk)
13:49
Update autoconf/Makefile.msc from tool/mkmsvcmin.tcl. (check-in: 9ffe94d2ea user: stephan tags: trunk)
13:13
API naming typo reported in forum post 416f2d8dec. No functional changes. (check-in: 0cfb9e234e user: stephan tags: trunk)
11:23
Add a typecast to avoid 32-bit integer overflow in the concat_ws() function with an enormous separator values and many arguments. (check-in: cf6b162de5 user: drh tags: branch-3.49)
11:20
Remove the autoconf/tea/configure.ac check from tool/srctree-check.tcl since that file no longer exists. (check-in: ff879e8e7d user: drh tags: branch-3.49)
10:57
Add a typecast to avoid 32-bit integer overflow in the concat_ws() function with an enormous separator values and many arguments. (check-in: 498e3f1cf5 user: drh tags: trunk)
10:50
Cleanup of the changes for this branch. (Leaf check-in: 9349398e15 user: drh tags: default-in-values-2)
2025-02-15
23:47
Bug fixes in the INSERT logic for VALUES containing DEFAULT terms. (check-in: 2b129c3761 user: drh tags: default-in-values-2)
23:03
Fixes to the INSERT of DEFAULT in VALUES clauses. Add the ability to UPDATE to DEFAULT. (check-in: 1902a0c168 user: drh tags: default-in-values-2)
21:53
Fix the error message text for misuse of the DEFAULT keyword. (check-in: fd1b868372 user: drh tags: default-in-values-2)
20:31
An alternative implementation of the default-in-values feature that is cleaner (it avoids dodgy poking about in the parser LALR stack looking for errors) and has less performance impact in the common case where DEFAULT is not used. (check-in: a3d831378d user: drh tags: default-in-values-2)
17:29
Remove tea version check from tool/srctree-check.tcl, as it's obsoleted by [be265559]. (check-in: 1860ea060b user: stephan tags: trunk)
16:29
Automate update of the library version number in autoconf/tea/configure.ac as part of the tool/mkautoconfamal.sh process. (check-in: d5c0be36fc user: stephan tags: branch-3.49)
16:24
DLL installation rules no longer create versioned symlinks on platforms where the DLL extension is '.dll' (cygwin, msys2, etc.), as suggested in forum post 28bb79638844c328. (check-in: d94ad54577 user: stephan tags: branch-3.49)
16:24
Automate update of the library version number in autoconf/tea/configure.ac as part of the tool/mkautoconfamal.sh process, per /chat discussion. (check-in: be265559a3 user: stephan tags: trunk)
16:12
DLL installation rules no longer create versioned symlinks on platforms where the DLL extension is '.dll' (cygwin, msys2, etc.), as suggested in forum post 28bb79638844c328. (check-in: d743410665 user: stephan tags: trunk)
14:13
A cleaner workaround for [6a21d6a2]. (check-in: 4678044122 user: stephan tags: branch-3.49)
14:12
A cleaner workaround for [6a21d6a2], provided by autosetup's creator. (check-in: 334ed723d0 user: stephan tags: trunk)
2025-02-14
18:18
More informative output for the pthread feature test. (check-in: adf042fba6 user: stephan tags: branch-3.49)
18:17
More informative output for the pthread feature test. (check-in: 01b9ed73ca user: stephan tags: trunk)
18:07
Make failure to find pthreads support non-fatal unless --enable-threadsafe is specifically passed in. Build regression reported in forum post 8e0fdb8c0d. (check-in: f8843b8292 user: stephan tags: branch-3.49)
18:06
Make failure to find pthreads support non-fatal unless --enable-threadsafe is specifically passed in. Build regression reported in forum post 8e0fdb8c0d. (check-in: 806ad1ac17 user: stephan tags: trunk)
17:53
Simplify the --help workaround introduced in [6a21d6a2ed]. (check-in: 03d0c19289 user: stephan tags: branch-3.49)
17:52
Simplify the --help workaround introduced in [6a21d6a2ed]. (check-in: b0928f2043 user: stephan tags: trunk)
17:25
Work around autosetup --help quirk described in [6a21d6a2ed62]. (check-in: 61726358c5 user: stephan tags: branch-3.49)
17:21
Work around a autosetup --help bug which only(?) triggers on tcl 8.6, introduced by [9978c87139b7b042] and reported upstream as ticket #73. Summary: calling 'options' from a proc, instead of the global scope, triggers an error about an invalid use of 'break'. (check-in: 6a21d6a2ed user: stephan tags: trunk)
16:43
ICU config support: add more details to error messages and correct a typo which would cause a configure crash if --with-icu-config=X refered to a non-executable X. (check-in: 80311f0925 user: stephan tags: branch-3.49)
16:42
ICU config support: add more details to error messages and correct a typo which would cause a configure crash if --with-icu-config=X refered to a non-executable X. (check-in: ff50892665 user: stephan tags: trunk)
10:28
Fix test cases added for [4b4f33d791fe4318] so that they also work when compiling with ICU support. Forum post 2ca8a09a7e (check-in: 5964616dc9 user: drh tags: trunk)
2025-02-13
23:33
Omit an optimization that did not work - it runs faster with the optimization removed. CLOSED: Development on this branch has stopped. See the new implementation in the default-in-values-2 branch. (Closed-Leaf check-in: d67e28cb1b user: drh tags: default-in-values)
19:19
Remove an unnecessary branch. Improvements to error messages. (check-in: f49ddd80b1 user: drh tags: default-in-values)
16:31
When using the --out-implib build option, install the generated .dll.a file to PREFIX/lib. (check-in: 8e8037bafc user: stephan tags: branch-3.49)
16:20
When using the --out-implib build option, install the generated .dll.a file to PREFIX/lib. (check-in: 0dadea0ec8 user: stephan tags: trunk)
16:03
Fix various problems. Appears to be working now. (check-in: 7fd94f1378 user: drh tags: default-in-values)
14:47
Ensure the counts of "deferred FK violations" and "deferred immediate FK violations" are kept separate when "PRAGMA defer_foreign_keys" is used. (check-in: c5190b0fd9 user: dan tags: trunk)
14:45
Bring the 3.49 branch's configure-related files up to par with the current trunk. (check-in: 1cc8d16b63 user: stephan tags: branch-3.49)
11:10
This version still does not work. This is an incremental check-in to save my place so that I can work on other things. (check-in: 2b73eb3fa7 user: drh tags: default-in-values)
2025-02-12
20:54
An attempt to allow the DEFAULT keyword in the VALUES clause of an INSERT. This check-in does not work right. (check-in: 85c108eb0f user: drh tags: default-in-values)
20:19
Fix a few 32-bit overflow problems in showdb.c. (check-in: 9377766647 user: dan tags: trunk)
18:22
Merge the latest trunk changes into the default-in-values branch. (check-in: 480d7c1a1a user: drh tags: default-in-values)
17:21
Have the win32 VFS take a temporary shared lock (instead of the current exclusive) on the pending-byte when taking a SHARED lock on a db. Do not lock the pending-byte at all when taking an EXCLUSIVE lock if RESERVED is not already held. (check-in: 5127509abb user: dan tags: win32-enable-setlk)
16:59
configure --help cleanups and eliminate the use of a JS-esque inner function in sqlite-config.tcl. No functional changes. (check-in: 6df859cd18 user: stephan tags: trunk)
15:31
Remove old function declaration accidentally left in sqlite3session.h. (check-in: 0cfbe349d4 user: dan tags: trunk)
14:51
Tiny tcl comment tweaks. No functional changes. (check-in: da94e551c0 user: stephan tags: trunk)
08:07
Fix test script errors in walsetlk3.test. Tests still don't all pass. (check-in: 56eb4114f8 user: dan tags: win32-enable-setlk)
2025-02-11
19:54
Omit the src/pragma.h file. It is generated by the tool/mkpragmatab.tcl script. The makefiles now know how to build this file for themselves. (check-in: 9709ed1cdf user: drh tags: trunk)
19:40
Omit the src/ctime.c source file, since it is automatically generated by a TCL script. Instead, add rules to the various makefiles to generate ctime.c on demand. (check-in: 958bb5de7c user: drh tags: trunk)
18:32
Update tool/mkctimec.tcl so that sqlite3_compileoption_xxx() APIs report on the SQLITE_ENABLE_SETLK_TIMEOUT option. (check-in: 303e8009ab user: dan tags: win32-enable-setlk)
18:29
Fix "unused variable" warnings in os_unix.c and os_win.c. (check-in: 8e809632ba user: dan tags: win32-enable-setlk)
17:22
Rename a configure-internal function and fix handling of --dump-defines for the autoconf bundle. (check-in: 3f539d8157 user: stephan tags: branch-3.49)
17:20
Rename a configure-internal function and fix handling of --dump-defines for the autoconf bundle. (check-in: 6aa54cc180 user: stephan tags: trunk)
17:13
Move the configure flags definition and handling into autosetup/sqlite-config.tcl to avoid duplication between auto.def and autoconf/auto.def while still giving us a way to filter the canonical-tree-only flags out of the autoconf build. (check-in: 5a964bf3d8 user: stephan tags: branch-3.49)
17:10
Merge latest changes from trunk into this branch. (check-in: e5ec5bb9f4 user: dan tags: win32-enable-setlk)
17:10
Move the configure flags definition and handling into autosetup/sqlite-config.tcl to avoid duplication between auto.def and autoconf/auto.def while still giving us a way to filter the canonical-tree-only flags out of the autoconf build. (check-in: 9978c87139 user: stephan tags: trunk)
16:00
Attempt to improvement performance of multiple OP_Columns that occur in a row. Minimal improvement for a lot of complexity and risk. (Closed-Leaf check-in: 53478f2934 user: drh tags: column-optimization)
13:18
Adapt Fossil SCM patch 3bff7b92d6d, applying -lrt for platforms which need it for one of {fdatasync, nanosleep}. (check-in: 77621fd141 user: stephan tags: branch-3.49)
13:15
Make the --out-implib support ([6092b0b86bf93a3d]) specifically opt-in because the feature check for it passes on some platforms where it is not recognized at link-time. (check-in: 8212f8ee45 user: stephan tags: branch-3.49)
13:13
Make the --out-implib support ([6092b0b86bf93a3d]) specifically opt-in because the feature check for it passes on some platforms where it is not recognized at link-time. (check-in: 75535f2355 user: stephan tags: trunk)
13:00
Adapt Fossil SCM patch 3bff7b92d6d, applying -lrt for platforms which need it for one of {fdatasync, nanosleep}. (check-in: 1768de6e9e user: stephan tags: trunk)
2025-02-10
20:46
Experimental change to allow clients to block when taking a SHARED lock to connect to a wal mode database. (check-in: d2d6a000fb user: dan tags: win32-enable-setlk)
19:48
Remove a pointless line of code. (check-in: 57b2b812c8 user: drh tags: trunk)
19:12
Add the --size option to the test/speedtest.tcl script. (check-in: 6b9007cb30 user: drh tags: trunk)
18:41
Minor autosetup doc tweaks. (check-in: bb53beb267 user: stephan tags: trunk)
16:34
Make the "mix1" testset the default for speedtest1. (check-in: 7a0c3d0e14 user: drh tags: trunk)
16:13
Enhance speedtest1 with a new testset that calls sqlite3_open() and uses the connection many times. (check-in: ce307addb0 user: drh tags: trunk)
15:58
Add jimsh.exe and jimsh0.exe to the clean rules in Makefile.msc so that stale builds of those files from msys2 and friends do not cause mysterious build errors. (check-in: 44b4e4db32 user: stephan tags: trunk)
15:02
configure: when dlopen() is not found, only fail fatally if --enable-load-extension is explicitly provided, else warn instead. Based on discussion around forum post 2efe9c33bd9021ca. Update proj-indented-notice to behave like its docs say it should when the -error flag is used. (check-in: 7db7eb223e user: stephan tags: branch-3.49)
15:01
configure: when dlopen() is not found, only fail fatally if --enable-load-extension is explicitly provided, else warn instead. Based on discussion around forum post 2efe9c33bd9021ca. Update proj-indented-notice to behave like its docs say it should when the -error flag is used. (check-in: f28e52cbf9 user: stephan tags: trunk)
11:16
Convert some expensive NEVER() and ASSERT() macros into assert()s. (check-in: 4aad891802 user: drh tags: trunk)
00:20
Small performance increase in jsonTranslateBlobToText(). (check-in: 3b1dcac2ee user: drh tags: trunk)
2025-02-09
20:23
Performance optimization to the substr() SQL function. (check-in: ce228ce3d0 user: drh tags: trunk)
19:49
Performance and size optimization for the sqlite3ColumnIndex() routine. (check-in: a93e3fe0ee user: drh tags: trunk)
05:37
Update the 'clean' rules for autoconf/Makefile.in to account for [6092b0b8]. (check-in: 23d25ae267 user: stephan tags: branch-3.49)
05:37
Update the 'clean' rules for autoconf/Makefile.in to account for [6092b0b8]. (check-in: f3a35fdc91 user: stephan tags: trunk)
05:32
Apply [6092b0b8] to autoconf/Makefile.in. (check-in: 6c17e4b80c user: stephan tags: branch-3.49)
05:30
Apply [6092b0b8] to autoconf/Makefile.in. (check-in: 9ae245cff4 user: stephan tags: trunk)
04:40
configure: if the linker supports --out-implib, generate libsqlite3.X.a, where X is the platform's DLL file extension. Discussion in/around forum post 0c7fc097b2. (check-in: 705a6d3e0e user: stephan tags: branch-3.49)
04:38
configure: if the linker supports --out-implib, generate libsqlite3.X.a, where X is the platform's DLL file extension. Discussion in/around forum post 0c7fc097b2. (check-in: 6092b0b86b user: stephan tags: trunk)
04:16
wasm: add some build-time validation to ensure that the problem fixed in [65798c09a00662a3] does not recur. Ensure that files generated via mkwasmbuilds.c have the generated makefile as a dependency. (check-in: 55e0136594 user: stephan tags: trunk)
03:24
wasm: when building in -O0 mode (typical dev mode), use -sASSERTIONS=2, else -sASSERTIONS=0, in response Emscripten checkin 7e3e35cbff9, which adds assertions to check for the condition reported in Emscripten ticket 23420. Update some unrelated JS-side internal docs. (check-in: 1f554610ba user: stephan tags: trunk)
02:41
JS: add a mechanism to the Worker1 exec API to fetch the last_insert_rowid(), as requested in forum post 56bc353901. (check-in: c22c483607 user: stephan tags: trunk)
01:50
wasm: add some build-time validation to ensure that the problem fixed in [65798c09a00662a3] does not recur. Ensure that files generated via mkwasmbuilds.c have the generated makefile as a dependency. (check-in: 012b308b04 user: stephan tags: branch-3.49)
01:30
configure: when transfering ENABLE/OMIT flags from CFLAGS to OPT_FEATURE_FLAGS, also do the same for CPPFLAGS and remove those ENABLE/OMIT flags from CFLAGS/CPPFLAGS to mimic legacy build behavior. Strip ENABLE/OMIT flags from BUILD_CFLAGS but do not transfer those to OPT_FEATURE_FLAGS, also to mimic legacy behavior. This is the second part of a fix discussed at forum post 9801e54665afd728. (check-in: dcb44da41f user: stephan tags: branch-3.49)
01:25
configure: when transfering ENABLE/OMIT flags from CFLAGS to OPT_FEATURE_FLAGS, also do the same for CPPFLAGS and remove those ENABLE/OMIT flags from CFLAGS/CPPFLAGS to mimic legacy build behavior. Strip ENABLE/OMIT flags from BUILD_CFLAGS but do not transfer those to OPT_FEATURE_FLAGS, also to mimic legacy behavior. This is the second part of a fix discussed at forum post 9801e54665afd728. (check-in: 16d307cc6c user: stephan tags: trunk)
00:54
Add the "star" testset to speedtest1. Include it as part of "mix1". (check-in: f1345b84ea user: drh tags: trunk)
2025-02-08
16:16
Put a 16-byte hash table for column names on each Table object, to speed up column name lookups. (check-in: 11eb8f99e5 user: drh tags: trunk)
14:15
Use the sqlite3ColumnIndex() routine to look up a column in a table, rather than using a custom loop. Performance improvement, size reduction, and complexity decrease. (check-in: 351dbbc2bf user: drh tags: trunk)
13:34
Fix GCC-isms and compiler warnings introduced by recent check-ins [c56092507c967230] and [6e57848fe1e0e2b5]. (check-in: 91102c0437 user: drh tags: trunk)
12:04
Improvements to the symbol table hash: faster lookups with fewer calls to sqlite3StrICmp() for schemas with many symbols and large names. (check-in: 6e57848fe1 user: drh tags: trunk)
11:15
Improvements to the hash table used to store symbols in the schema, so that it works better (requires fewer calls to sqlite3StrICmp()) for large schemas, and uses less code space. (Closed-Leaf check-in: 0318b68c84 user: drh tags: hash-improvements)
2025-02-07
19:18
build: work around a report of (install -d DIR) failing in one environment if DIR already exists. (check-in: 8f7b7840d4 user: stephan tags: trunk)
19:15
build: work around a report of (install -d DIR) failing in one environment if DIR already exists. (check-in: 4bc6fe30c9 user: stephan tags: branch-3.49)
19:09
Fix comments on the Parse.nMaxArgs field so that they are correct. Add assert()s to ensure they are correct. Other Parse changes to reduce the amount of memset() needed to initialize it. (check-in: c56092507c user: drh tags: trunk)
15:49
Further reduction in the amount of memset() needed to initialize the Parse object. (check-in: 45e462c006 user: drh tags: trunk)
14:47
Mac-specific build fixes discussed in forum thread 9dfd5b8fd525a5d7: rename dylib links and add legacy-compatibility versioning stamps to libsqlite3.dylib. (check-in: 4b073687ee user: stephan tags: branch-3.49)
14:44
Mac-specific build fixes discussed in forum thread 9dfd5b8fd525a5d7: rename dylib links and add legacy-compatibility versioning stamps to libsqlite3.dylib. (Edit: this was merged from [aa0033d5aa] but a post-merge update on my end lost that link.) (check-in: 668bcf327a user: stephan tags: trunk)
13:37
Reduce the amount of memset() needed to initialize the Parse object. (check-in: 284538d848 user: drh tags: trunk)
12:59
configure: change extension of static libraries from .lib to .a on msys/cygwin, as per discussion in forum post 02db2d4240. Replace unidiomatic JS-style use of inner procs in autosetup/proj.tcl with TCL lambdas. (check-in: b7c84c04a4 user: stephan tags: branch-3.49)
12:58
configure: change extension of static libraries from .lib to .a on msys/cygwin, as per discussion in forum post 02db2d4240. Replace unidiomatic JS-style use of inner procs in autosetup/proj.tcl with TCL lambdas. (check-in: 46f51e2a37 user: stephan tags: trunk)
12:36
Reorder a piece of ext/wasm/GNUmakefile to correct the timing of various var accesses. Fixes a problem reported in the downstream npm subproject and explains the confusion in [4aa025a943a4024094b9] (which has been reverted). (check-in: de3d2e4caa user: stephan tags: branch-3.49)
12:33
Reorder a piece of ext/wasm/GNUmakefile to correct the timing of various var accesses. Fixes a problem reported in the downstream npm subproject and explains the confusion in [4aa025a943a4024094b9] (which has been reverted). (check-in: 65798c09a0 user: stephan tags: trunk)
11:55
Latest upstream jimsh0.c with a slightly different (fconfigure -translation binary) impl. Tested on Win11 and Linux for output compatibility with sqlite3.c/h. (Closed-Leaf check-in: aa0033d5aa user: stephan tags: mac-build-fixes)
11:21
Merge trunk into mac-build-fixes branch and resolve a doc-only merge conflict. (check-in: 5df30deb78 user: stephan tags: mac-build-fixes)
11:18
Fix out-of-tree builds of the autoconf bundle, as reported in forum post a0cd0beb1baa6bef. Bumd version number to 3.49.1. (check-in: 37dbacde3e user: stephan tags: branch-3.49)
11:15
Fix out-of-tree builds of the autoconf bundle, as reported in forum post a0cd0beb1baa6bef. (check-in: d47964a65b user: stephan tags: trunk)
10:51
Use a linker flag check, rather than just an OS check, to determine whether to use the -compatibility/current_version flags. (check-in: 85302582fc user: stephan tags: mac-build-fixes)
02:01
Library-linking and installation fixes for Mac platforms, as discussed in forum post 9dfd5b8fd5. These still require testing on such a platform. (check-in: 940e78dd0e user: stephan tags: mac-build-fixes)
01:43
Bump TEA configure.ac version number. (check-in: a1a9c780d1 user: stephan tags: trunk)
2025-02-06
21:14
This is an experimental change to investigate the feasibility of allow DEFAULT tokens within VALUES clauses attached to INSERT statements. There is a lot of extra code space consumed for such an obscure feature. (check-in: 2ff4129ea0 user: drh tags: default-in-values)
17:29
Adjust the test/speedtest.tcl script so that it uses an on-disk database rather than an in-memory database. (check-in: e93d7aa1db user: drh tags: trunk)
17:10
Fix a harmless typo in a comment. (check-in: ed82272904 user: drh tags: trunk)
13:36
Bump version number to 3.50.0 for the next dev cycle. (check-in: 46d08071f3 user: stephan tags: trunk)
13:35
Fix a dependencies/order-of-operations bug in ext/wasm/GNUmakefile which causes creation of files filtered via c-pp to fail if the ext/wasm/jswasm dir did not exist beforehand. (check-in: 44d7ad8ff8 user: stephan tags: branch-3.49)
13:18
Fix a dependencies/order-of-operations bug in ext/wasm/GNUmakefile which causes creation of files filtered via c-pp to fail if the ext/wasm/jswasm dir did not exist beforehand. (check-in: 4bac761388 user: stephan tags: trunk)
12:56
Merge version 3.49.0 into the reuse-schema branch. (check-in: 2699ae6e3c user: drh tags: reuse-schema)
12:46
Merge version 3.49.0 into the bedrock branch. (check-in: cc3ce784b0 user: drh tags: bedrock)
12:43
Merge version 3.49.0 into the wal2 branch. (check-in: e194c8e8c7 user: drh tags: wal2)
12:39
Merge version 3.49.0 into begin-concurrent branch. (check-in: 9d3878e95a user: drh tags: begin-concurrent)
11:55
Version 3.49.0 (check-in: 4a7dd425dc user: drh tags: trunk, release, major-release, version-3.49.0)
2025-02-05
17:52
If SQLite is compiled with SQLITE_ENABLE_WAL_BIGHASH defined, use hash tables large enough to fit 128K, instead of 4K, entries in the *-shm file. (check-in: 581efc3462 user: dan tags: bedrock)
16:08
Fix a harmless unused-parameter compiler warning introduced by [75f3d8744879]. (check-in: 9f28f6694f user: drh tags: trunk)
12:56
Summarize known incompatibilities/gotches between JimTCL and canonical TCL, and their workarounds. Doc changes only. (check-in: 60c932e67b user: stephan tags: trunk)
12:49
Upstream JimTCL patch and minor tcl script tweaks to support (fconfigure -translation binary) for better cross-platform build portability. (check-in: 0974a17c45 user: stephan tags: trunk)
12:15
Portability tweaks to the code generators so that they produce identical output with JimTCL on Windows and Unix systems (that is: no Windows-style line endings). (Leaf check-in: fddcfbcafd user: stephan tags: branch-3.48)
12:02
Attempted improvements to the SQLITE_DBCONFIG_... documentation. (check-in: baac853871 user: drh tags: trunk)
2025-02-04
02:38
Detect and report signed integer overflow in the sumInverse() routine, used by window functions. (check-in: 317e9a470f user: drh tags: trunk)
2025-02-03
23:27
Test case for the FTS3 fix in the previous check-in. This check-in also accidentally includes a change to session that is intended to remove a static analysis warning. (check-in: 459d8f695e user: drh tags: trunk)
23:19
Fix a potential UAF in FTS3. (check-in: 75f3d87448 user: drh tags: trunk)
21:24
New dbsqlfuzz case added to fuzzdata8.db. (Closed-Leaf check-in: 7ee20cfc23 user: drh tags: fuzzer-20250203)
21:04
The Parse.addrExplain field is never even if SQLITE_OMIT_EXPLAIN is defined. (check-in: 5d81a984c6 user: drh tags: trunk)
18:53
Enhance fuzzcheck so that the --sqlid and --dbid options can take a range of IDs to run. (check-in: 408fa57f04 user: drh tags: trunk)
18:49
Fixes and improved documentation to the new --sqlid and --dbid range options in fuzzcheck. (Closed-Leaf check-in: 59e2663244 user: drh tags: fuzzcheck-improvements)
18:36
Enhance fuzzcheck so that the --sqlid and --dbid options can specify a range of tests to be run. (check-in: cdd0af6f86 user: drh tags: fuzzcheck-improvements)
18:05
Fix for a potential UAF in FTS5. (check-in: e33f2fedda user: drh tags: trunk)
18:01
Improve the JS-side sqlite3_set_auxdata() test to also trigger the case that the aux data actually gets reused. Test changes only, no library code. (check-in: 9f27379d86 user: stephan tags: trunk)
17:54
Fix a use-after-free case in fts5 provoked by fuzzdata8.db. Tcl test case pending. (Closed-Leaf check-in: a4962df665 user: dan tags: fuzz-data)
17:45
New test case for test/fuzzdata8.db (check-in: 8a882f976e user: drh tags: fuzz-data)
17:34
Rework [76c8435a] to eliminate automatic JS-to-WASM function conversions of sqlite3_set_auxdata() destructors because it can leads to leaks on every call of a UDF. This feature never worked before [76c8435a] but fixing it was ill-conceived because of the memory leakage it introduces. WASM function pointers can still be used as destructors in this context. (check-in: 3fb993af0c user: stephan tags: trunk)
17:21
Add a test app to assist in validating the SAHPool digest calculation fix. (check-in: a1e304b802 user: stephan tags: sahpool-digest)
16:26
Initial work on a fix for the SAHPool VFS's effectively-no-op digest calculation, as reported in ticket #97 of the downstream npm subproject. This requires more testing alongside databases created before this version to ensure that it's backwards-compatible. (check-in: 9234c33f92 user: stephan tags: sahpool-digest)
15:17
Merge the latest trunk changes into the reuse-schema branch. (check-in: 858163f938 user: drh tags: reuse-schema)
15:11
Merge all the latest trunk enhancements into the bedrock branch. (check-in: 1cef92de50 user: drh tags: bedrock)
15:07
Merge the latest trunk enhancements into the wal2 branch. (check-in: e2d4c1890a user: drh tags: wal2)
14:59
Merge all the latest trunk enhancements and fixes into the begin-concurrent branch. (check-in: f456a72e0c user: drh tags: begin-concurrent)
14:55
Add a more complete test for [76c8435a] and add some commentary about (A) the inability to automatically clean up automatically-generated WASM proxy functions for sqlite3_set_auxdata() destructors and (B) how to deal with (A) to avoid leaking WASM proxy functions. (check-in: d693c2dddb user: stephan tags: trunk)
14:44
Fix the build process on Windows so that it generates identical sqlite3.c, sqlite3.h, and shell.c files on Windows and Unix. This patch also includes a change to JS bindings that got caught up in the branch. (check-in: 91ef45fc29 user: drh tags: trunk)
14:40
Bring the autoconf-tarball Makefile.msc into alignment with the main Makefile.msc. (Closed-Leaf check-in: 52a7a162d1 user: drh tags: windows-build-issue)
14:04
Correct the FuncPtrAdapter signature for the JS binding of sqlite3_set_auxdata(). Reported in the npm subproject, ticket #92. (check-in: 76c8435a5f user: stephan tags: windows-build-issue)
13:20
Adjust the build process to avoid extra CR characters inserted by jimsh on Windows. (check-in: 1f54853932 user: drh tags: windows-build-issue)
12:42
The "clean" target on Makefile.msc should not delete the auto.def file. Bug: causes "make devtest" to fail. Moved to a branch until repaired. (check-in: 72fbcedfb0 user: drh tags: windows-build-issue)
2025-02-02
18:01
Add a header comment to test/speedtest1.c that outlines how to compile the program using historical amalgamation sources, for comparison testing. (check-in: 602d4dd69e user: drh tags: trunk)
16:52
Update to the "--help" output from speedtest1. (check-in: 5216452047 user: drh tags: trunk)
12:15
URL typo fix in code comments. No code changes. (check-in: 002a123094 user: stephan tags: trunk)
2025-02-01
23:49
Add a missing "db2 close" to the ext/session/session_gen.test test module. (check-in: 4068f586dd user: drh tags: trunk)
23:34
Fix a comment typo - in a comment used to generate documentation. (check-in: b8de75eede user: drh tags: trunk)
23:28
Remove an ALWAYS() added by [2567298f4b0fdfeb] because dbsqlfuzz found a way to reach it. The test case was added to TH3. (check-in: d08a7aa898 user: drh tags: trunk)
21:06
Enable SQLITE_ENABLE_NORMALIZE for several test configurations. (check-in: b07c64077a user: drh tags: trunk)
20:53
Fix an issue with sqlite3_normalized_sql() caused by changes needed to support SQLITE_DBCONFIG_ENABLE_COMMENT. (check-in: 79d287a394 user: drh tags: trunk)
09:44
JS doc typo fixes. No functional changes. (check-in: e0d9c74c1c user: stephan tags: trunk)
2025-01-31
20:18
Tweaks to [4b4f33d791fe4318] to make it easier to test. (check-in: 2567298f4b user: drh tags: trunk)
18:56
Fix test case numbering in tests recently added to like3.test. (check-in: 6df2098c54 user: drh tags: trunk)
18:45
Expose the new SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE/WRITE and SQLITE_DBCONFIG_ENABLE_COMMENTS (from [325e547a21955]) to JS/WASM. (check-in: 8da1a9af66 user: stephan tags: trunk)
18:34
Remove an assert() that is not true if a trace-callback is deregistered while there are active statements. (check-in: d53c58243d user: dan tags: branch-3.48)
18:33
Remove an assert() that is not true if a trace-callback is deregistered while there are active statements. Forum post 3547aa1078510686. (check-in: 0ecfc4d0eb user: dan tags: trunk)
17:47
Minor cleanups in the opfs-sahpool pause/unpause API demo. (Closed-Leaf check-in: e205cdc468 user: stephan tags: opfs-sahpool-pause)
16:34
Add the conventional license header to sahpool-worker.js and correct the date on the header in sahpool-pausing.js. (check-in: f7c3026b0d user: stephan tags: opfs-sahpool-pause)
16:25
Add a small test app demonstrating cooperative semi-concurrency of the opfs-sahpool VFS using its un/pauseVfs() APIs. (check-in: 09570c55a2 user: stephan tags: opfs-sahpool-pause)
14:58
Fix a problem with LIKE and GLOB processing in utf-16be databases in cases where the utf-8 encoding of a character ends with the byte 0xBF. (check-in: 9d59f8a5f2 user: drh tags: branch-3.48)
14:54
If any errors occur while processing sqlite_dbpage changes, cancel pending truncate operations. (check-in: 3f8d190251 user: drh tags: branch-3.48)
14:52
Fix a problem with LIKE and GLOB processing in utf-16be databases in cases where the utf-8 encoding of a character ends with the byte 0xBF. Forum post d7b90d92ffbfc61f (check-in: 4b4f33d791 user: dan tags: trunk)
14:52
If any errors occur while processing sqlite_dbpage changes, cancel pending truncate operations. (check-in: 6138e0dc4e user: drh tags: trunk)
14:25
Cleanups in the opfs-sahpool VFS pause/unpause feature and its tests. (check-in: 184ba37702 user: stephan tags: opfs-sahpool-pause)
13:32
Three new options to sqlite3_db_config(): ATTACH_CREATE, ATTACH_WRITE, and COMMENTS. (check-in: 325e547a21 user: drh tags: trunk)
12:39
Merge trunk into opfs-sahpool-pause branch. (check-in: 775a547eca user: stephan tags: opfs-sahpool-pause)
12:30
Minor wasm-specific doc touchups. (check-in: 56b618da90 user: stephan tags: trunk)
12:09
Improvements to the SQLITE_DBCONFIG option documentation. (Closed-Leaf check-in: 59f0ba1006 user: drh tags: extra-security)
11:46
Correct a typo in tool/emcc.sh.in which could cause all of the configure-time work to locate the emcc binary to go unused. Reported in forum post feb325cdde5b6f37. (check-in: 66bf67842b user: stephan tags: branch-3.48)
11:45
Correct a typo in tool/emcc.sh.in which could cause all of the configure-time work to locate the emcc binary to go unused. Reported in forum post feb325cdde5b6f37. (check-in: f66efd5b53 user: stephan tags: trunk)
01:34
Add the SQLITE_DBCONFIG_ENABLE_COMMENTS setting (default on) to enable or disable the ability to include comments in SQL input text. (check-in: 393749a2e2 user: drh tags: extra-security)
00:54
Merge all the latest trunk changes into the extra-security branch. (check-in: 86ba57561a user: drh tags: extra-security)
2025-01-30
21:16
The reuse-subroutine optimization might have generated byte-code that loops forever. This check-in fixes the problem. (check-in: a8714e8c44 user: drh tags: branch-3.48)
21:12
The reuse-subroutine optimization [c9a3498113074bbc] might have generated byte-code that loops forever. This check-in fixes the problem. (check-in: 0cc4ed8c6e user: drh tags: trunk)
17:04
Fix a problem causing the write-lock to be held when it should not be in some circumstances following a SEH exception. (check-in: 7eb5accb7c user: dan tags: win32-enable-setlk)
16:07
Remove an unused parameter from an internal-use subroutine in the TCL interface. (check-in: a700692b39 user: drh tags: trunk)
16:00
Improvements to the TCL interface for Tcl9 as suggested by Jan Nijtmans. (check-in: d76c5db866 user: drh tags: trunk)
15:26
Have sqlite3_enable_setlk(-1) configure indefinite blocking locks where they are supported. (check-in: 62009565d2 user: dan tags: win32-enable-setlk)
13:54
Updates to the compile-for-windows.md document. (check-in: bcd22ed686 user: drh tags: trunk)
12:19
Minor code de-duplication across the top-level auto.def and autoconf/auto.def. (check-in: 3c990d77cb user: stephan tags: trunk)
12:01
Disable a test case that (intentionally) does use-after-free, as it does occasionally cause problems even for non-sanitizer builds. (check-in: 23c7d5bea3 user: drh tags: trunk)
11:59
Minor cleanups to the previous checkin. No functional changes. (check-in: 0146a0da53 user: stephan tags: branch-3.48)
11:19
Fix build regression, introduced in [d2fe6b05f38d9d] (3.48.0), in which SQLITE_OMIT and SQLITE_ENABLE flags passed to configure via CFLAGS were not propagated to the OPT_FEATURE_FLAGS list. Reported in forum post 9801e54665afd728. (check-in: ec71d9dcd5 user: stephan tags: trunk)
11:16
Fix build regression, introduced in [d2fe6b05f38d9d] (3.48.0), in which SQLITE_OMIT and SQLITE_ENABLE flags passed to configure via CFLAGS were not propagated to the OPT_FEATURE_FLAGS list. Reported in forum post 9801e54665afd728. (check-in: eedf453694 user: stephan tags: branch-3.48)
10:55
Make two private routines in FTS "static" so that they are not callable from outside of SQLite itself. (check-in: 6d3a3d4e51 user: drh tags: branch-3.48)
2025-01-29
19:02
Fix bug in sessions handling of FK constraints introduced by [e09a0c02] (released in 3.48.0). Bug was preventing a changeset containing FK violations from being applied even when the xConflict(CHANGESET_FOREIGN_KEY) returned OMIT. (check-in: 946f33cd45 user: dan tags: branch-3.48)
18:53
Fix bug in sessions handling of FK constraints introduced by [e09a0c02] (released in 3.48.0). Bug was preventing a changeset containing FK violations from being applied even when the xConflict(CHANGESET_FOREIGN_KEY) returned OMIT. (check-in: d7c0758120 user: dan tags: trunk)
17:26
Consolidate memory allocations made while loading stat4 data in a way that may be more efficient on systems under load. (check-in: af65a902d1 user: dan tags: bedrock)
15:11
If SQLITE_ENABLE_WAL2NOCKSUM is defined, then SQLite calculates the frame checksums used in wal2 mode based on the previous checksum and the frame header only, not the frame body only. This risks corruption following a OS crash or power failure, but also speeds up writes in wal2 mode. (check-in: dc74bd8915 user: dan tags: bedrock)
11:28
Simplify how OpfsSAHPoolUtil.unpauseVfs()'s returned promise is handled. (check-in: d651b8da5a user: stephan tags: opfs-sahpool-pause)
11:08
Add experimental support to pause/unpause an SAHPool OPFS VFS, as discussed in forum post fe8cdb8431c32455, the intent being enable a page to relinquish, perhaps temporarily, the VFS such that the VFS's storage can be accessed by another page/tab. (check-in: 1d2683fe9e user: stephan tags: opfs-sahpool-pause)
2025-01-28
20:32
Enhance the if() and iif() SQL functions so that they support any number of arguments greater than or equal to two. Suggested by forum post 40f7867f75f80. (check-in: fb76d184ee user: drh tags: trunk)
19:03
Fix sessions module handling of tables with generated columns. (check-in: 437fb31638 user: dan tags: trunk)
18:05
Fix a copy/paste typo in the output of vfstrace for xDlClose(). (check-in: ceafa92e7f user: drh tags: branch-3.48)
18:03
Fix a copy/paste typo in the output of vfstrace for xDlClose(). (check-in: 1d57b57c85 user: drh tags: trunk)
12:50
Simplify the IdList object to remove unnecessary fields. Performance increases by about 0.8%. (check-in: a4625bb995 user: drh tags: trunk)
10:56
Fix typo in speedtest.md. (check-in: 984a9cc22c user: drh tags: trunk)
01:37
The new SQLITE_USE_W32_FOR_CONSOLE_IO macro causes Win32 APIs to be used for console I/O and for stdio to be used otherwise. This is reported to be necessary for builds that use a C-language runtime other than the one provided by Microsoft. This changes if for Windows only. It is a bug fix, though we don't have a test case that will demonstrate a malfunction. (check-in: bfb7f49954 user: drh tags: branch-3.48)
01:10
Apparently I got the logic of [abfe488ed67e2e35] confused, even backwards. Change it so that the SQLITE_USE_W32_FOR_CONSOLE_IO macro causes Win32 APIs to be used for console I/O and for stdio to be used otherwise. This is reported to be necessary for builds that use a C-language runtime other than the one provided by Microsoft. This changes if for Windows only. It is a bug fix, though we don't have a test case that will demonstrate a malfunction. (check-in: 925e97e6f4 user: drh tags: trunk)
00:48
Remove an ALWAYS() in the star-query heuristic that is sometimes false if you have a corrupt database. dbsqlfuzz c37ba7728d79859b79c8341b59297e88fba017d3. Test case in TH3. (check-in: 6b9a339628 user: drh tags: trunk)
2025-01-27
21:18
Use hashing to accelerate column matching on INSERT statements. Code is smaller and about 1.8% faster overall according to test/speedtest.tcl. (check-in: 8be956383e user: drh tags: trunk)
17:48
Enhance ./configure to issue an unambiguious error if the pathname to either the source tree or the build directory contains any space characters. (check-in: 614ae5c74f user: drh tags: trunk)
14:12
Avoid splitting a hyperlink across lines in the documentation comment for sqlite3_serialize(). (check-in: 74b770bd44 user: drh tags: trunk)
11:50
Add the sqlite3_setlk_timeout() API. For setting the timeout used by SQLITE_ENABLE_SETLK_TIMEOUT blocking locks without also setting the regular retry-based busy-timeout. (check-in: 4a7eb49279 user: dan tags: win32-enable-setlk)
2025-01-26
23:34
Make two private routines in FTS "static" so that they are not callable from outside of SQLite itself. (check-in: 9b11bed044 user: drh tags: trunk)
20:09
Further comment improvements in the star-query heuristic. Add an ALWAYS() on an unreachable branch to achieve MC/DC. (check-in: 5e18ce68fb user: drh tags: trunk)
17:29
Small size and complexity reduction on the star-query heuristic. Improved comments for the star-query heuristic. (check-in: a7ecb2f4b7 user: drh tags: trunk)
2025-01-25
23:04
Revise the strategy used by the star-query heuristic: Instead of decreasing the cost of all fact-table WhereLoops, increase the run-cost of WhereLoops that are SCANs of dimension tables. (check-in: 1bc09c9e8b user: drh tags: trunk)
14:30
Improvments to debug output on the star-query heuristic. (check-in: b3ebeb0682 user: drh tags: trunk)
00:07
Avoid calling computeMxChoice() after an OOM as some assert()s can fail in that routine if a prior OOM occurred while building the WhereLoop array. (check-in: 8b9e621dbf user: drh tags: trunk)
2025-01-24
20:59
Remove an incorrect ALWAYS() added in check-in [7cfbe14d199bb631]. (check-in: 431a1a29f9 user: drh tags: trunk)
18:37
Clarify handling of a NULL for the 2nd argument to sqlite3_serialize(), as pointed out in forum post 3df7168b90. (check-in: 340edbe554 user: stephan tags: trunk)
16:37
Improve the star-query heuristic so that it does a better job of identifying actual star queries. Also includes improved diagnostic output from the query planner. (check-in: 7cfbe14d19 user: drh tags: trunk)
16:27
The debugging output for WhereLoop objects now shows cost estimate changes due to the star-query heuristic. (Closed-Leaf check-in: a280f5f548 user: drh tags: star-query-heuristic)
15:55
Minor tweaks to the star-query detection and processing. (check-in: 61f76a45ac user: drh tags: star-query-heuristic)
15:49
Fix a race condition causing SQLite to use a busy-handler for an operation that should not. (check-in: 6ab9ed8eef user: dan tags: win32-enable-setlk)
15:41
Correct a version number in autosetup/README.md. (check-in: c338caf0fd user: stephan tags: trunk)
14:51
When looking for star-queries, do not count a table as a dimension table if that table is separated from the fact table by an OUTER or CROSS join or if the table is a self-join. (check-in: 5aebd7df0d user: drh tags: star-query-heuristic)
14:13
Update autosetup/README.md to reflect recent refactoring. (check-in: 601636829b user: stephan tags: trunk)
12:54
Replace a handful of hard tabs in string literals with \t in mkwasmbuilds.c. (check-in: e8e4d497a7 user: stephan tags: trunk)
09:21
Minor additions to ext/wasm/README.md. (check-in: 85747ea165 user: stephan tags: trunk)
09:18
Update ext/wasm/README.md to reflect simplifications permitted by the current configure script behavior. (check-in: 9abb56c6ac user: stephan tags: trunk)
08:58
Remove extraneous are-we-making-clean guards from the generated wasm build rules, as that guard is set at a higher level. Rename a makefile call()able for consistency. (check-in: 7f9074e2a7 user: stephan tags: trunk)
2025-01-23
22:23
wasm: de-list demo-worker1-promiser-esm.html from the test pages because (per Chrome 131) "Module scripts don't support importScripts()", where "don't" means "they used to but no longer do". Edit: this was caused by a build bug, introduced in [0a426a549577b883], which was fixed in [65798c09a00662a3]. (check-in: 4aa025a943 user: stephan tags: trunk)
21:06
Fix a possible infinity loop in debugging-printf logic in the query planner. No changes to production code. (check-in: 9a20b94080 user: drh tags: trunk)
19:44
When running wasm-opt, ignore any failure because it will fail for unknown flags and the set of legal flags will change from version to version. Document the size-reduction effect (or non-effect) of a dozen-odd wasm-opt flags and retain those which demonstrate a wasm file size reduction in -Oz builds (our production build mode). Total size savings: roughly 13kb. (check-in: c9dc581e02 user: stephan tags: trunk)
16:11
Remove some now-dead makefile code, rename a var for consistency, and fix a recipe bug introduced in the previous checkin in the bundler-friendly build. (check-in: 0acd4ef3ad user: stephan tags: trunk)
15:58
Initial support for post-processing wasm files with wasm-opt (if it's available). This currently shaves 12kb off of the release-mode build of sqlite3.wasm but there are many dozens of wasm-opt flags left to try. (check-in: 5d16e3f283 user: stephan tags: trunk)
14:09
Move small parts of ext/wasm/GNUmakefile into ext/wasm/config.make.in and have the configure script populate that, rather than dynamically determining those values on each 'make' invocation. Add a configure-time check for the optional wasm-opt binary in prep for pending experimentation with using it to reduce the wasm file sizes. (check-in: 0a426a5495 user: stephan tags: trunk)
11:42
Have fts5 better handle OOM errors from sqlite3_blob_close(). (check-in: 7ffa7e0244 user: dan tags: branch-3.48)
11:21
Remove unnecessary --minify 0 emcc flag from the wasm build, as -g3 implies that capability along with other anti-minification features we rely on. (check-in: 10c91f9cd0 user: stephan tags: trunk)
06:12
Do not strip binaries during 'make install', for consistency with the legacy build and per request from package maintainers. (check-in: 92b06a4c91 user: stephan tags: branch-3.48)
06:10
Do not strip binaries during 'make install', for consistency with the legacy build and per request from package maintainers. (check-in: cd3fed5c20 user: stephan tags: trunk)
2025-01-22
21:34
Replace the use of the Autools in ./autoconf/ with Autosetup and extend its configure script to include many of the flags available in the canonical build. (check-in: 8c60d4c901 user: stephan tags: trunk)
19:37
Add two new sqlite3_db_config() options that enable the ATTACH command to create new database files and to open databases read/write. Both default to on for backwards compatibility. (check-in: fe0c58d00b user: drh tags: extra-security)
17:18
Add the -q/--quiet option to test/speedtest.tcl. Automatically enable -DSQLITE_OMIT_LOAD_EXTENSION and -DSQLITE_THREADSAFE=0 so that no extra libraries are required. (check-in: c20d21b473 user: drh tags: trunk)
2025-01-21
17:41
Fix date/time computations to deal with the sub-millisecond rounding problem. (check-in: 55091181cc user: drh tags: branch-3.48)
17:37
Fix date/time computations to deal with the sub-millisecond rounding problem identified in forum post 766a2c9231. (check-in: afb0a5923a user: drh tags: trunk)
16:30
Performance improvements to the (debug-use only) Mem.pScopyFrom logic, resulting in about 8x faster performance under -DSQLITE_DEBUG for the query in from forum post 0025389d0860af82. This change only affects builds that use -DSQLITE_DEBUG. (check-in: 7fb1ae25d1 user: drh tags: trunk)
15:45
Explain the lack of docs in autoconf/Makefile.in and refer interested readers to main.mk in canonical tree. Minor cleanups and fixes in tool/mkautoconfamal.sh. (Closed-Leaf check-in: e5bbc2428f user: stephan tags: autoconf-to-autosetup)
15:21
Increase the version number to 3.48.1. (check-in: 3e006d23a5 user: drh tags: branch-3.48)
15:16
Remove an assert() in the unix file locking logic that is not true if alternative VFS "unix-excl" is used for a read-only connection. (check-in: 2fec6aa948 user: drh tags: branch-3.48)
15:12
The FuncDev.nArg field values -3 and -4 now have special meansing of 1 or more or 2 or more arguments, respectively. This saves space in the built-in function table, resulting in slightly faster performance and a reduced binary size. (check-in: 753fd747f2 user: drh tags: trunk)
14:40
Remove now-extraneous autoconf/INSTALL and autoconf/configure.ac and update autoconf/README.* to account for the port to autosetup. (check-in: 646667af8c user: stephan tags: autoconf-to-autosetup)
14:34
Have fts5 better handle OOM errors from sqlite3_blob_close(). (check-in: f418350f3f user: dan tags: trunk)
12:33
Demonstration of how to extend the if() and iif() SQL functions to support more than 3 arguments. (Leaf check-in: f13ef59184 user: drh tags: if-many-args)
11:10
Use Tcl_GetString() instead of Tcl_GetCharLength() to test for a zero-length string in the TCL interface, since that is much more efficient. (check-in: a8d9dcfd23 user: drh tags: trunk)
2025-01-20
20:50
configure script: work around msys's inability to 'exec' a '.sh' file by prefixing the call with an explicit 'sh', as reported in forum post befb352a42a7cd6d. (check-in: 4cc2dc31a3 user: stephan tags: branch-3.48)
20:48
configure script: work around msys's inability to 'exec' a '.sh' file by prefixing the call with an explicit 'sh', as reported in forum post befb352a42a7cd6d. (check-in: 25b01f1c9a user: stephan tags: autoconf-to-autosetup)
19:57
Add 'dist' and missing 'install' pieces to the autoconf bundle. (check-in: 16fa20413e user: stephan tags: autoconf-to-autosetup)
19:19
Remove an assert() in the unix file locking logic that is not true if alternative VFS "unix-excl" is used for a read-only connection. (check-in: bd5dc92368 user: drh tags: trunk)
18:34
Fix an assert() that could fail if a virtual table called sqlite3_step() from within the xSync() method while committing a "PRAGMA defer_foreign_keys=1" transaction. (check-in: 9303e66340 user: dan tags: branch-3.48)
18:26
Fix an assert() that could fail if a virtual table called sqlite3_step() from within the xSync() method while committing a "PRAGMA defer_foreign_keys=1" transaction. (check-in: 39bdbb3f6d user: dan tags: trunk)
16:14
configure script: remove an overzealous is-a-file check in the tclsh search which fails to account for implicit .exe extensions on Windows builds. Reported in forum post c27403ef974df9f1. (Same change as [89306d1a4905] but to a different file, as that content was moved since the 3.48 release.) (check-in: 239a3d1573 user: stephan tags: trunk)
16:11
configure script: remove an overzealous is-a-file check in the tclsh search which fails to account for implicit .exe extensions on Windows builds. Reported in forum post c27403ef974df9f1. (check-in: 89306d1a49 user: stephan tags: branch-3.48)
2025-01-19
21:47
Get libsqlite3.so and .a building in the autoconf bundle. (check-in: 88cee3fc7c user: stephan tags: autoconf-to-autosetup)
19:51
Get the CLI shell building in the autoconf bundle. (check-in: 241cdbc40a user: stephan tags: autoconf-to-autosetup)
19:14
Add an SQLITE_TESTCTRL_OPTIMIZATION mask that can disable the query planner heuristics that are designed to help with star queries. (check-in: fec4ff185a user: drh tags: trunk)
18:58
Initial work towards converting the autoconf bundle to autosetup. Currently non-functional. (check-in: d7708372ff user: stephan tags: autoconf-to-autosetup)
18:32
Further refactoring of auto.def to simplify creation of variant builds like the autoconf bundle. (check-in: f806c563a2 user: stephan tags: trunk)
16:26
Minor internal refactoring of auto.def to support the pending autoconf subdir port to autosetup. No functional changes. (check-in: 01ff375847 user: stephan tags: trunk)
14:53
Move some of the auto.def functions into autosetup/sqlite-config.tcl for re-use in the pending migration of the autoconf bundle to autosetup. This is just reorg, no functional changes. (check-in: 2f1e94994f user: stephan tags: trunk)
2025-01-18
23:44
Enable automatic query-time indexes for WITHOUT ROWID tables. (check-in: 8534af5b94 user: drh tags: trunk)
21:19
Add a simple test case (many more are coming soon to TH3). Fix an obsolete assert(). (Closed-Leaf check-in: aa829a131a user: drh tags: without-rowid-autoidx)
21:00
Add support for automatic query-time indexes on WITHOUT ROWID tables. (check-in: 89c4cbd952 user: drh tags: without-rowid-autoidx)
16:06
When cross-compiling, change the CFLAGS default to exclude -g, per /chat discussion prompted by forum post 9a67df63eda9925c. (check-in: 675582481c user: stephan tags: branch-3.48)
16:05
When cross-compiling, change the CFLAGS default to exclude -g, per /chat discussion prompted by forum post 9a67df63eda9925c. (check-in: 4309da2ca5 user: stephan tags: trunk)
13:52
When running make install, avoid the -s (strip) flag when cross-compiling, as it only works for the build platform. Reported in forum post 9a67df63eda9925c. (check-in: cc29664f97 user: stephan tags: branch-3.48)
13:51
When running make install, avoid the -s (strip) flag when cross-compiling, as it only works for the build platform. Reported in forum post 9a67df63eda9925c. Also remove the undocumented and unused --soname=auto option. (check-in: 230e49c10e user: stephan tags: trunk)
2025-01-17
23:49
For the purpose of the query planner heuristic added by [38db9b5c83], a query should only count as a star query if the fact tables are connected to the dimension table by an INNER JOIN. If a LEFT JOIN is used, then the fact tables are constrained to be in inner loops anyhow and so the heuristic does not make any sense. But it does interfere with AUTOMATIC index creation, which causes the performance regression reported by forum post d87570a1455. (check-in: 0852c57ee2 user: drh tags: trunk)
17:09
Enhance a comment on a test case to add recent context. (check-in: c2647d1bd1 user: drh tags: trunk)
15:56
Typo fix in speedtest.md. (check-in: 36027cf340 user: stephan tags: trunk)
15:39
Improvements to the speedtest.tcl script. Add documentation on how to use the script. (check-in: eb3853d081 user: drh tags: trunk)
12:32
Add the test/speedtest.tcl script to simplify performance and size testing. (check-in: ad7b386726 user: drh tags: trunk)
10:42
Fix a potential one-byte buffer overrun when reading from the Windows console in the CLI. (check-in: 42bcc7c115 user: drh tags: branch-3.48)
10:39
Fix a potential one-byte buffer overrun when reading from the Windows console in the CLI. Forum post 95e17b8f5c. This problem was introduced by check-in [abfe488ed67e2e35], which was an attempt to get the Windows build working on MingGW. (check-in: 4d96759694 user: drh tags: trunk)
2025-01-16
20:46
speedtest1: further improvements to the "json" testset. (check-in: c4750f7cf7 user: drh tags: trunk)
20:08
speedtest1: Improvements to the "json" testset. Better balance in "mix1". (check-in: 2cc73c5e08 user: drh tags: trunk)
17:19
Revamp the "json" testset in speedtest1. (check-in: d33508836b user: drh tags: trunk)
14:37
Add the "json" test case to speedtest1 and include it in "mix1". (check-in: 2db3a3ee37 user: drh tags: trunk)
14:06
Speedtest1 enhancements: (1) Add the ability to scale performance of tests sets using "/NNN" after the testset name, even for testsets in a comma-separated list. (2) Add the "mix1" macro testset. (check-in: 85667b3a57 user: drh tags: trunk)
13:10
wasm: after generating the .js/.mjs file, strip out all of the generated pieces which create Emscripten call() bindings for the sqlite3 APIs, as we don't use those binding, so both the setup time and the memory they use installing WASM proxy bindings is wasted. This eliminates some 200 superfluous/unused bindings from the init process. (check-in: 020d2c7528 user: stephan tags: trunk)
12:15
When generating the autoconf snapshot, replaces the Libs.private line from sqlite3.pc.in with one compatible with the legacy build, as reported in forum post e40b9b424a. (check-in: fe47154799 user: stephan tags: trunk)
09:27
Replace use of Emscripten's Module.postRun() with a custom callback so that we get consistent library init timing with both Emscripten 3.1.x and 4.0.x. Details and discussion are in Emscripten ticket #23420. (check-in: 4863a70ac6 user: stephan tags: trunk)
01:47
When two indexes have the same cost, use the narrower one (the one with the smaller average on-disk row width). (check-in: 398559678f user: drh tags: trunk)
2025-01-15
22:58
Check-in [da9124fee28c155c] broken the new SQLITE_IOCAP_SUBPAGE_READ mechanism for inhibiting direct-overflow-read. This check-in fixes the problem. (check-in: f741ffc01e user: drh tags: branch-3.48)
21:13
Check-in [da9124fee28c155c] broken the new SQLITE_IOCAP_SUBPAGE_READ mechanism for inhibiting direct-overflow-read. This check-in fixes the problem. (check-in: 113078d555 user: drh tags: trunk)
21:11
Re-enable comment-stripping in the JS dist builds. (check-in: 5decfea379 user: stephan tags: branch-3.48)
21:09
Teach tool/stripccomments.c that a backslash immediately preceeding a forward slash means that that forward slash cannot be the start of a comment. This is intended to allow JavaScript regular expressions containing \/* (like the one introduced in emsdk 4.0.0) to pass through properly. Re-enable comment-stripping in the JS dist builds. (check-in: db21d6cc9d user: stephan tags: trunk)
21:00
Work around a behavior change in emsdk 4.0.0 which breaks the load/init timing of the wasm module. (check-in: c0f0d26331 user: stephan tags: branch-3.48)
20:53
Work around a behavior change in emsdk 4.0.0 which breaks the load/init timing of the wasm module. (check-in: 00a750184b user: stephan tags: trunk)
20:23
When choosing between two indexes with the same cost, pick the one with the smaller predicted number of bytes per row. (Closed-Leaf check-in: d4bd0d4214 user: drh tags: consider-idx-width)
19:30
Variable names and conditional logic simplified in where.c. These changes are cosmetic only and do not affect the resuling machine code. (check-in: dbc2d6a244 user: drh tags: trunk)
15:27
Fix a typo in a wasm makefile var name, noting that this doesn't actually fix anything because the var in question is not used when building 'clean' or 'distclean'. (check-in: 7cfc75a625 user: stephan tags: trunk)
14:31
Disable the C-style comment stripper in the JS dist build, as explained in forum post 529c20d344. (check-in: 76ffc70f13 user: stephan tags: branch-3.48)
14:28
Disable the C-style comment stripper in the JS dist build, as explained in forum post 529c20d344. (check-in: a9475e7614 user: stephan tags: trunk)
13:35
Fix another problem that was causing underestimates of index size. (Later:) Closed this branch as I don't think it is the correct approach to the problem. Maybe I'll change my mind later, but that's the decision for now. (Closed-Leaf check-in: a1690ecd00 user: drh tags: analyze-row-size)
12:45
Have windows SQLITE_ENABLE_SETLK_TIMEOUT builds block indefinitely if the busy-timeout is set to 0x7FFFFFFF. (check-in: daefcafe79 user: dan tags: win32-enable-setlk)
12:38
Fix issues with the prior check-ins on this branch. The code seems to work now, though many tests fail because of the new sqlite_stat1.stat text. (check-in: be26698a5e user: drh tags: analyze-row-size)
00:46
Some bug fixes to the previous. Still lots of bugs remaining. (check-in: 76f2beded0 user: drh tags: analyze-row-size)
00:29
Always include the sz=NNN option in the sqlite_stat1.stat field. (check-in: 9c0d6f29df user: drh tags: analyze-row-size)
2025-01-14
20:47
Change the version number to 3.49.0 to begin the next development cycle. Any patches to 3.48.0 will go on a branch. (check-in: 8165a3d3a4 user: drh tags: trunk)
16:10
Trying to remove a warning from some compiler that I do not have access to. (check-in: bc6de90c70 user: drh tags: trunk)
12:43
Version 3.48.0 for the reuse-schema branch. (check-in: 1a031a536b user: drh tags: reuse-schema)
12:28
Version 3.48.0 for the bedrock branch (check-in: fab341c829 user: drh tags: bedrock)
12:21
Version 3.48.0 for the wal2 branch. (check-in: ef970ef037 user: drh tags: wal2)
12:15
Version 3.48.0 for the begin-concurrent branch. (check-in: 56d110b636 user: drh tags: begin-concurrent)
11:05
Version 3.48.0 (check-in: d2fe6b05f3 user: drh tags: trunk, release, major-release, version-3.48.0)
2025-01-13
13:32
Remove a stray tab character from a comment. (check-in: 315079b150 user: drh tags: trunk)
11:28
GCC 13 has become more quite pedantic about the signature of functions matching the type of pointers through which the functions are called. Make adjustments to extension functions and test procedures to work around this. No changes to the core. (check-in: ed83b79100 user: drh tags: trunk)
2025-01-11
16:28
Fix harmless "implicit fall through" warnings that suddenly appeared when I upgraded to gcc-13. (check-in: 3e2875dac2 user: drh tags: trunk)
14:43
Better job at suppressing harmless scan-build warnings. This time testing and working. (check-in: c847973947 user: drh tags: trunk)
13:59
Fix harmless scan-build warnings. Actually, this fixed nothing. The scan-build warnings persist. I should have tested before I checked in. Look for a follow-up shortly. (check-in: b93af6feb7 user: drh tags: trunk)
09:02
Fix an age-old bug in the lower-level wasm/js helper bits which (A) caused removal of customized WASM func arguments/results conversion to silently fail and (B) triggered a legitimate warning in the Google closure toolchain. Reported in jaccwabyt ticket c5c296e85a7c01360820. (check-in: 99917a5bb0 user: stephan tags: trunk)
2025-01-10
18:03
Update log messages on this branch to say "v=22". Also add log message to slow calls to sqlite3_schema_copy(). (Leaf check-in: b0cd8dfcf9 user: dan tags: cf8f1552-commit-instr)
17:36
Add the experimental sqlite3_schema_copy() API, for copying schemas between database handles. (check-in: 04ea435d24 user: dan tags: cf8f1552-commit-instr)
17:09
Minor updates to schemacopy.test. (Closed-Leaf check-in: 1d544b535f user: dan tags: schema-copy)
15:10
Allow ".testctrl schemacopy 1" in the shell tool on this branch. For testing sqlite3_schema_copy(). (check-in: 1edc2e5590 user: dan tags: schema-copy)
11:34
Update test script wal2big2.test to be less sensitive to PRNG output. (check-in: 2a5e7c5cd6 user: dan tags: schema-copy)
2025-01-09
20:41
Run tests with SQLITE_TESTCTRL_SCHEMACOPY for mdevtest and sdevtest on this branch. (check-in: c25dd2dec5 user: dan tags: schema-copy)
19:57
Update the makefile so that it puts the amalgamation files in a subdirectory in the amalgamation-zip. Forum post b8dd1941e1. (check-in: cef8e88bed user: drh tags: trunk)
19:18
Rationalize and add comments to new code on this branch. (check-in: e1603c9cda user: dan tags: schema-copy)
17:12
Fix minor issues on this branch. Remove unused code. (check-in: c2610bb4be user: dan tags: schema-copy)
14:10
When removing an fts5 in secure-delete mode, defer setting the table version to SECUREDELETE until flushing data to disk. This prevents problems that can occur if there is a rollback or statement rollback operation. (check-in: c359e555ce user: dan tags: trunk)
2025-01-08
20:43
Fix another assert() failure in fts5. (check-in: 6da37893f5 user: dan tags: trunk)
17:16
Fix problem in test code on this branch. (check-in: 05d90f8b28 user: dan tags: schema-copy)
15:54
Fix a crash in fts5 that could occur if shadow tables are modified or removed. (check-in: c0b691095a user: dan tags: trunk)
12:51
Cross-link and otherwise improve the various how-to-compile documents. No code changes. (check-in: 5e6ede92af user: drh tags: trunk)
12:25
In the doc/tcl-extension-testing.md document, provide enhanced explanation for why the tcl library needs to be copied into the install directory. (check-in: cff70c859f user: drh tags: trunk)
10:55
Ensure that integrity-check processes tables in the same order when using a copied schema as it does when using one loaded directly from the db. (check-in: 961af94442 user: dan tags: schema-copy)
2025-01-07
21:04
Fix many problems in the sqlite3_schema_copy() function. (check-in: ac9ca88590 user: dan tags: schema-copy)
18:50
Further refinement to the Tcl extension testing procedure. (check-in: 32b8b078d1 user: drh tags: trunk)
16:36
Improvements to [14b38ae6ab86a314] so that the Tcl interface is better able to work with boolean values in both Tcl86 and Tcl90. (check-in: 4e85343d61 user: drh tags: trunk)
15:39
Fix a memory error in test logic introduced by [8704034254938662]. (check-in: 8a56e98d25 user: drh tags: trunk)
15:00
Typo in the previous check-in. (check-in: 5872d7a0a7 user: drh tags: trunk)
14:55
Enhancements to the Tcl SQLite extension testing procedures so that they install a full-featured SQLite and so that Tcl is build statically so that there is no need to worry with LD_LIBRARY_PATH. (check-in: c8972e652e user: drh tags: trunk)
12:14
Make the TCL extension aware of the booleanString type within TCL. (check-in: 14b38ae6ab user: drh tags: trunk)
11:54
Fix a typo in the previous check-in. (check-in: 7d41885e85 user: drh tags: trunk)
00:17
Minor fixes to tclsqlite.c to promote portability. (check-in: dd934f032f user: drh tags: trunk)
2025-01-06
23:33
Enhance the makefile to make it easier to build from a read-only source tree. (check-in: f99a70eca2 user: drh tags: trunk)
21:36
Fix a problem with tool/mksqlite3h.tcl that prevents it from running out of a read-only check-out. (check-in: cb54f0063e user: drh tags: trunk)
20:39
Implemenation of experimental API sqlite3_schema_copy(), for copying a database schema between connections. More testing to come. (check-in: 65ede04d21 user: dan tags: schema-copy)
20:12
Merge all the latest trunk changes into the reuse-schema branch. (check-in: 3703a84437 user: drh tags: reuse-schema)
18:32
Fix a minor problem with the sqlite3_get_table_printf() test interface. No core changes. (check-in: a0df29c7a3 user: drh tags: trunk)
17:01
Add test case for using both SQLITE_CHANGESETAPPLY_IGNORENOOP and SQLITE_CHANGESETAPPLY_FKNOACTION. (check-in: b1cc53fa3f user: dan tags: trunk)
2025-01-05
19:58
Further refactoring of the TCL extension test procedure document, for improved clarity and usability. (check-in: bcdaef4341 user: drh tags: trunk)
17:16
Refactor the TCL extension test procedure to deal with TCL8.6 and TCL9.0 separately, to simplify the procedures and reduce cognative stress on the tester. (check-in: 5281536327 user: drh tags: trunk)
11:40
Fix typo in the tcl-extension-testing.md document. (check-in: 28150c615c user: drh tags: trunk)
11:19
Improvements to TCL extension test procedure description. Improvements to the tclextension-list and tclextension-verify makefile targets to suppress unnecessary output. (check-in: 3e92fea09a user: drh tags: trunk)
2025-01-04
20:50
Improvements to testing and validation of the SQLite TCL extension. (check-in: 9d7597cad4 user: drh tags: trunk)
20:13
Show the values of $(JIM_TCLSH) and $(VISUALSTUDIOVERSION) in the output of "nmake tcl-env". (check-in: 4270abc071 user: drh tags: trunk)
19:50
Allow the 2nd argument to ".param set" to use previously bound parameters, as suggested by forum post 823e1bd746. (check-in: 13a35ad792 user: drh tags: trunk)
16:30
Fix a problem in the sessions extension allowing changesets containing foreign key violations to be committed under some circumstances. (check-in: e09a0c0229 user: dan tags: trunk)
15:52
Add the document describing test procedures for the TCL extension build process. Update the Windows makefile so that it builds the TCL extensions successfully with a default installation of Tcl8.6. (check-in: 3263db9249 user: drh tags: trunk)
15:51
Adjust the Windows Makefile.msc so that it can build the tclextension with Tcl8.6 successfully. Updates to the tcl-extension test procedure document. (Closed-Leaf check-in: 0c2cdc632f user: drh tags: test-procedures)
14:10
Add new tcl-extension-testing.md document. The Windows side is not yet working. (check-in: 9dc805df1b user: drh tags: test-procedures)
2025-01-03
15:21
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 3b485202da user: drh tags: reuse-schema)
15:15
Merge the latest trunk enhancements into the bedrock branch. (check-in: 4b9497cffa user: drh tags: bedrock)
15:12
Merge the latest trunk enhancements into the wal2 branch. (check-in: 0992237cd4 user: drh tags: wal2)
15:07
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: 99293f4f72 user: drh tags: begin-concurrent)
11:51
Add comment to the columnIsGoodIndexCandidate() routine to record the results of a failed experiment. No changes to code. (check-in: 9ee57a30a4 user: drh tags: trunk)
11:22
Avoid using Int32x32To64() with a 64-bit argument in fileio.c - this level of micro-optimization is not really necessary there. (check-in: 1291b013a8 user: dan tags: trunk)
2025-01-02
21:23
Improve the treeview output for CteUse objects. (check-in: 2b16d6947c user: drh tags: trunk)
18:43
Improvements to the display of subqueries in the FROM clause for treeview output. (Debug and analysis code only - does not affect production builds.) (check-in: 4a2d65cdcd user: drh tags: trunk)
17:56
Close database connections in test/dbpage.test, for Windows. (check-in: 322d255ed8 user: drh tags: trunk)
15:39
Fix recent test cases so that they work even when auto_vacuum defaults to on. (check-in: 41f6e46695 user: drh tags: trunk)
15:27
Add a test case for ROLLBACK TO of database truncate operations made through the sqlite_dbpage vtab. (check-in: eb335beb1e user: dan tags: trunk)
15:03
Improvements to the way that truncation is implemented in sqlite_dbpage(). (check-in: ac4bb2e4ec user: drh tags: trunk)
12:14
Update the build instructions for Windows to note that VS2015 or later is required to avoid the need to install tclsh.exe. (check-in: da0ef0567b user: drh tags: trunk)
2025-01-01
18:18
Fix the tool/omittest.tcl script, broken by [d8c0e0184226bdae]. (check-in: 4f6c36a61c user: drh tags: trunk)
12:24
Fix the vfstrace.c extension so that it supports xFetch and xUnfetch. (check-in: c7132b7e62 user: drh tags: trunk)
2024-12-30
21:23
Add the convenience makefile target (unix-only) "src-archives" that builds the various tarballs and ZIP archives that go on the download page. This is intended to make it easier and less error prone to put up new "draft" download pages for testing. (check-in: 2b17bc4965 user: drh tags: trunk)
13:54
New assert() statements to show that the sqlite3_value.db field is initialized for MemArrays. (check-in: 7cd8ccf57d user: drh tags: trunk)
12:29
Add an extra assert() to releaseMemArray() just to prove that the sqlite3_value.db field is never NULL. (check-in: b969ef1def user: drh tags: trunk)
2024-12-29
11:54
Four new assert() statements to help with static analysis. (check-in: e7f7c9d22b user: drh tags: trunk)
2024-12-28
13:04
Show ETC in fuzzcheck with the --spinner option when there is only one input file. (check-in: 809699aeaa user: drh tags: trunk)
12:32
Fixes to the substr() SQL function so that it can handle ridiculously large numbers in its 2nd and 3rd arguments without signed integer overflows. (check-in: c1de8f916e user: drh tags: trunk)
2024-12-26
16:10
Omit code to link all winShm objects open on a single node into a list. This is no longer required. (check-in: b400ab4ba9 user: dan tags: win32-enable-setlk)
14:40
Merge trunk changes into this branch. (check-in: 3e2893097c user: dan tags: win32-enable-setlk)
2024-12-24
14:44
Properly wait for asynchronous results for calls to LockFileEx() on FILE_FLAG_OVERLAPPED files even if LOCKFILE_FAIL_IMMEDIATELY, which usually causes LockFileEx() to return synchronously, is specified. (check-in: 35b3e73c5a user: dan tags: win32-enable-setlk)
01:05
Merge the latest trunk changes into the reuse-schema branch. (check-in: 5149d50f34 user: drh tags: reuse-schema)
2024-12-23
11:31
Up logs to "v=21". (check-in: dc3a24a784 user: dan tags: cf8f1552-commit-instr)
11:23
Experimental: If SQLite is compiled with SQLITE_WAL_BIGHASH defined, use hash tables large enough to fit 128K, instead of 4K, entries in the *-shm file. (check-in: 6e800b7035 user: dan tags: cf8f1552-commit-instr)
2024-12-22
21:17
In the (debugging) rtreenode() function, do not override an error coming out of sqlite3_result_text(). (check-in: 286559dfb3 user: drh tags: trunk)
2024-12-20
19:37
When loading stat4 data, make a single large allocation for all Index.aSample[] arrays, instead of a separate allocation for each. (check-in: b40cd7395c user: dan tags: cf8f1552-commit-instr)
2024-12-19
20:29
Fix a test case in sqllimits1.test so that it works with the Apple configuration which changes the default SQLITE_MAX_LENGTH. (check-in: 536fff14ac user: drh tags: trunk)
19:52
Correction to check-in [a9759fc78d6cb0df] - printf() parameters values must be integers. (check-in: 2db531d191 user: drh tags: trunk)
19:02
The BTree mutex must be held when calling sqlite3BtreeLastPage(). This check-in fixes a bug introduced by [cf8b99e17872c054]. (check-in: e6c30ee52c user: drh tags: trunk)
14:20
Fix the sort4.test module so that the first two test cases are omitted when SQLite has been compiled using SQLITE_MAX_WORKER_THREADS=0. (check-in: 5b96dcf5f6 user: drh tags: trunk)
14:09
configure script: only set the SQLITE_TEMP_STORE feature flag if --with-tempstore is explicitly set, to avoid colliding with that flag being set by other means via the test fixture scripts. (check-in: c7839b8097 user: stephan tags: trunk)
14:08
Fix the Microsoft makefile so that it does not set SQLITE_TEMP_STORE unnecessarily. (check-in: f9b92f9513 user: drh tags: trunk)
13:36
Enhance lemon so that it accepts the -U command-line option that undefines a preprocessor macro. (check-in: e2188a3edf user: drh tags: trunk)
12:08
Fix additional integer overflow problems in the substr() function. (check-in: 472abb492f user: drh tags: trunk)
2024-12-18
20:29
Fix possible integer oveflow in the second and third argument to substr(). (check-in: b04b4006f3 user: drh tags: trunk)
20:23
Experimental: If SQLite is compiled with SQLITE_WAL_BIGHASH defined, use hash tables large enough to fit 128K, instead of 4K, entries in the *-shm file. (Leaf check-in: 0cb853ea1d user: dan tags: bedrock-bighash)
18:29
Avoid 32-bit roundoff error on the second argument to round(). Forum post 170aeab92a. (check-in: a9759fc78d user: drh tags: trunk)
03:41
Rename some var refs in ext/lsm1/Makefile for the new build process. (check-in: 0ce42fa586 user: stephan tags: trunk)
2024-12-17
14:32
Do not attempt to truncate a database in sqlite_dbpage if the database is not larger than the requested truncation size. (check-in: cf8b99e178 user: drh tags: trunk)
2024-12-16
20:30
Optimize deferred allocation of pages on this branch by avoiding BTALLOC_LE. (check-in: b1e8046859 user: dan tags: bedrock)
19:31
Fix release test errors on winrt. (check-in: 39bebd50b8 user: dan tags: win32-enable-setlk)
18:35
Merge recent trunk changes into the reuse-schema branch. (check-in: ebbc6752bb user: drh tags: reuse-schema)
18:29
Merge divergence-reduction changes into the bedrock branch. (check-in: ec5d7025cb user: drh tags: bedrock)
18:16
Sync wal2 with trunk. (check-in: caadbe0c0c user: drh tags: wal2)
18:13
Further reduction in divergence from trunk. (check-in: e4406a6e26 user: drh tags: wal2)
18:04
Code formatting changes to make trunk more like wal2. (check-in: 8f725472b0 user: drh tags: trunk)
17:46
Reduce divergence of wal2 from trunk. (check-in: 90d744d674 user: drh tags: wal2)
15:13
Fix a problem on this branch causing a file-handle to be leaked following an OOM condition. (check-in: 5ca12dc964 user: dan tags: win32-enable-setlk)
14:06
Merge all the latest trunk changes and enhancements into the reuse-schema branch. (check-in: 58563686eb user: drh tags: reuse-schema)
13:38
Merge all the latest trunk/wal2 enhancements and fixes into the bedrock branch. (check-in: a0cf2621c4 user: drh tags: bedrock)
13:32
Sync with trunk. (check-in: eab619453a user: drh tags: wal2)
13:25
Changes for better alignment with the wal2 branch. (check-in: 4fab85b3d0 user: drh tags: trunk)
13:05
Synchronize the WASM code with trunk. (check-in: 3619baa19e user: drh tags: wal2)
12:41
Merge all the latest trunk enhancements and fixes into the wal2 branch. (check-in: 011ce4ae69 user: drh tags: wal2)
12:19
Resynchronize the begin-concurrent branch with trunk. (check-in: e4718a04be user: drh tags: begin-concurrent)
12:09
Remove unnecessary divergence from trunk. (check-in: 019b043428 user: drh tags: begin-concurrent)
12:08
Remove unnecessary end-of-line whitespace. (check-in: ae580443d2 user: drh tags: trunk)
11:19
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: faef90eac3 user: drh tags: begin-concurrent)
07:03
Tiny makefile/configure script doc tweaks. No functional changes. (check-in: ed5e912622 user: stephan tags: trunk)
2024-12-14
17:36
Merge changes from wal2, including the fix to prevent non-PASSIVE checkpoints from ever taking the writer lock. (check-in: eb8449ea9a user: dan tags: bedrock)
17:19
Update to walRestartLog() function to make it shorter easier to merge with branch "bedrock". (check-in: 88d7fb2aef user: dan tags: wal2)
16:50
Fix a problem with non-PASSIVE wal2 checkpoints sometimes taking the WRITER lock. (check-in: 11d7865a56 user: dan tags: wal2)
16:41
Do not attempt to switch wal files when writing if the current transaction read from both wal files. This fix is already on branch 'bedrock'. (check-in: 693cc8e8db user: dan tags: wal2)
2024-12-13
20:18
Fix a problem with the output of "PRAGMA wal_checkpoint" introduced long ago by [63483e22c775183e]. (check-in: c5f7bba868 user: dan tags: wal2)
18:13
Avoid a memset() when loading stat4 data. Add instrumentation to the same code. (check-in: fa87355f62 user: dan tags: cf8f1552-commit-instr)
17:01
Merge all recent trunk enhancements and fixes into the wal2 branch. Addendum: This was part of an attempt to reduce divergence. I'm still trying to figure out the best way to do that. (Closed-Leaf check-in: be32067a2a user: drh tags: mistake)
16:37
Try to reduce incidental divergence between trunk and wal2. (Leaf check-in: 01c8ebfb1f user: drh tags: wal2-conflict-reduction)
01:29
Fix a harmless compiler warning that comes up when using SQLITE_DEBUG in separate compilation mode. (check-in: 52e0f8cab9 user: drh tags: trunk)
2024-12-12
20:59
Fix a buffer overread in test code. Add test configurations for ENABLE_SETLK=1 and FOR_WINRT=1 builds to release testing. (check-in: b558db5db7 user: dan tags: win32-enable-setlk)
20:39
Increase the maximum number of arguments on an SQL function to 1000 with the capability to increase it further up to 32767 using a compile-time option. (check-in: 3c25c69c93 user: drh tags: cf8f1552-commit-instr)
19:20
Add extra logging for alternative stat4 code. (check-in: 9dde0365cb user: dan tags: cf8f1552-commit-instr)
19:15
Experimental code to load stat4 data using a single pass. (check-in: e0bcd30581 user: dan tags: cf8f1552-commit-instr)
15:11
Increase the maximum number of arguments on an SQL function to 1000 with the capability to increase it further up to 32767 using a compile-time option. (check-in: e8d7d68ba0 user: drh tags: trunk)
2024-12-11
20:42
When a writer initializes a new *-shm file hash table, zero only the hash-table slots, not the array of page numbers. (check-in: ac5401c62b user: dan tags: cf8f1552-commit-instr)
15:30
Ensure that all win32 API functions invocations in os_win.c are made via the function table. Fix asan error in test code. (check-in: 2ffdc799c6 user: dan tags: win32-enable-setlk)
2024-12-10
21:24
Fix a problem with walsetlk.test on windows. (check-in: 704e6567c1 user: dan tags: win32-enable-setlk)
19:00
Ensure windows may block on a SHARED (but not EXCLUSIVE) DMS lock. (check-in: 55e4e7bb00 user: dan tags: win32-enable-setlk)
18:12
Fix walsetlk.test to work on unix. (check-in: 798dff041b user: dan tags: win32-enable-setlk)
17:36
Merge latest trunk changes into this branch. (check-in: d67a42d625 user: dan tags: win32-enable-setlk)
14:56
Fix a problem with the formatting of "slow schema" log messages. Also change logging version to v=17. (check-in: df4183ace9 user: dan tags: cf8f1552-commit-instr)
12:32
Fix harmless typo in a comment describing the columnMallocFailure() function. (check-in: 0f3b484fd7 user: drh tags: trunk)
2024-12-09
21:26
Fix a problem with non-PASSIVE wal2 checkpoints sometimes taking the WRITER lock. (check-in: 1a59cae3c3 user: dan tags: cf8f1552-commit-instr)
21:01
Bring all the latest trunk fixes and enhancements into the commit-and-continue branch. (Leaf check-in: 19e47df37a user: drh tags: commit-and-continue)
20:46
Make the TCL interface more rebust against very large strings coming out of TCL9. (check-in: e2bae4143a user: drh tags: trunk)
20:37
Enhance the ".import" command of the CLI so that it is able to insert into a view that has an instead-of trigger. Forum post 3e03c73150f8b9f8. (check-in: 7dcc3731a9 user: drh tags: trunk)
20:36
Enhance the ".import" command of the CLI so that it is able to insert into a view that has an instead-of trigger. (Originally checked into the wrong branch.) (check-in: c71acee1cf user: drh tags: commit-and-continue)
17:30
Test the case where a db connection blocks for a while and then successfully obtains the lock. (check-in: 9cbc97ff84 user: dan tags: win32-enable-setlk)
16:01
Enhance tests to ensure that blocking locks, and not calls to xSleep(), are being used by SQLITE_ENABLE_SETLK_TIMEOUT builds when they should be. (check-in: c892242bb6 user: dan tags: win32-enable-setlk)
13:02
Add NEVER() around branches that seems to have been made obsolete by [a350ea7c6b89725b]. (check-in: cb5bad5c74 user: drh tags: trunk)
11:47
Further improvements to the decimal-to-float conversion for values close to LARGEST_UINT64. (check-in: 453c949914 user: drh tags: trunk)
11:37
Fix an obscure problem with multiple outer joins, ON clauses and query flattening. Forum thread 5c8a069d23. (check-in: a350ea7c6b user: dan tags: trunk)
11:12
Fix an obscure problem with multiple outer joins, ON clauses and query flattening. Forum thread 5c8a069d23. (Closed-Leaf check-in: 289daf6cee user: dan tags: forum-5c8a069d23-fix)
10:57
Add a note in Makefile.msc about EXTRA_SRC files possibly requiring manual editing. (check-in: a0a36bad45 user: drh tags: trunk)
10:52
Resynchronize autoconf/Makefile.msc (Closed-Leaf check-in: 8f9c640818 user: drh tags: makefile-fix)
2024-12-08
18:38
Add a note in Makefile.msc about EXTRA_SRC files possibly requiring manual editing, as discussed in forum thread 903f721f3e7c0d25. (check-in: 229c2f013c user: stephan tags: makefile-fix)
2024-12-07
23:29
Merge the latest trunk fixes and enhancements into the bedrock branch. (check-in: 08cfa7e8b3 user: drh tags: bedrock)
23:24
Update the wal2 branch with the latest trunk enhancements and fixes. (check-in: d3ce95f7e0 user: drh tags: wal2)
21:20
Version 3.47.2 for the reuse-schema branch. (Leaf check-in: 96428a5137 user: drh tags: reuse-schema-3.47)
21:16
Version 3.47.2 for wal2 (Leaf check-in: 11fd09dbb7 user: drh tags: wal2-3.47)
21:14
Version 3.47.2 for begin-concurrent (Leaf check-in: e725fe5aec user: drh tags: begin-concurrent-3.47)
20:39
Version 3.47.2 (Leaf check-in: 2aabe05e2e user: drh tags: release, branch-3.47, version-3.47.2)
20:01
Yet another iteration of the solution to the floating-point conversion problem. This one avoids complaints about oversize double values from -fsanitize. (check-in: 07bd06b13c user: drh tags: branch-3.47)
19:57
Yet another iteration of the solution to the floating-point conversion problem - this what avoids complaints about oversize double values from -fsanitize. (check-in: fc6904a508 user: drh tags: trunk)
19:12
A cleaner and more robust solution to the floating-point conversion problem originally fixed earlier today. (check-in: 18b20494ce user: drh tags: branch-3.47)
19:06
A cleaner and more robust solution to the floating-point conversion problem originally fixed by [81342fa6dd03fffb]. (check-in: 351de57f80 user: drh tags: trunk)
17:08
Fix more harmless compiler warnings. (check-in: f5b8fd7763 user: drh tags: trunk)
16:53
Fix harmless compiler warning caused by the previous check-in. (check-in: 462700aeb7 user: drh tags: trunk)
14:53
Increment the version number to 3.47.2 (check-in: 42aa7157f8 user: drh tags: branch-3.47)
14:51
On x64 hardware, round-trip uint64_t→double→uint64_t conversions fail for values greater than UINT64_MAX-2047. This caused the SQLite text-to-float converter routine to give incorrect results for values between '1.8446744073709550592eNNN' and '1.8446744073709551609eNNN' for any exponent NNN. Fixed by this check-in. (check-in: 17537a98cb user: drh tags: branch-3.47)
14:48
On x64 hardware, round-trip uint64_t→double→uint64_t conversions fail for values greater than UINT64_MAX-2047. This caused the SQLite text-to-float converter routine to give incorrect results for values between '1.8446744073709550592eNNN' and '1.8446744073709551609eNNN' for any exponent NNN. This problem was introduced by check-in [761d8fd18b0ee868] and first appeared in version 3.47.0 and was reported by forum post 569a7209179a7f5e. Fixed by this check-in. (check-in: 81342fa6dd user: drh tags: trunk)
2024-12-06
18:35
Add the SQLITE_PREPARE_DONT_LOG option for sqlite3_prepare_v3(), that prevents errors in the compilation of the SQL from being sent to sqlite3_log(). (check-in: 8704034254 user: drh tags: trunk)
17:52
Update logging (now v=16) to more closely analyze all attempts to load the main db schema. (check-in: 65b753735b user: dan tags: cf8f1552-commit-instr)
09:36
Guard the x64 assembler in wal.c with "ifdef __x86_64__". (check-in: 5fa1699e31 user: dan tags: cf8f1552-commit-instr)
00:12
Minor doc update in auto.def. No functional changes. (check-in: d324be296d user: stephan tags: trunk)
00:09
Ensure that the post-config checks for @UNEXPANDED_VARS@ pass even if --disable-tcl is used, as reported in forum post 74ef8059fc. (check-in: a38606bf44 user: stephan tags: trunk)
2024-12-05
23:53
Fix the build of sqlite3_analyzer.exe on Windows that was broken by check-in [80f3bf8c2ee31ba1]. (check-in: 223f47b2db user: drh tags: trunk)
19:45
Add logging to report on occasions when loading the ANALYZE data is slow. (check-in: 5f9f6764e9 user: dan tags: cf8f1552-commit-instr)
16:52
Use an inline asm "ret stosp" instruction instead of a memset() when a writer is required to zero a hash table. (check-in: c10fa6af8b user: dan tags: cf8f1552-commit-instr)
2024-12-04
19:32
Fix filectrl.test so that it works with winrt builds. (check-in: 70b0cfb049 user: dan tags: win32-enable-setlk)
18:27
Assume an NT-based OS when running tests if sqlite_os_type is not set. (check-in: 22e4aeded0 user: dan tags: win32-enable-setlk)
16:01
Minor doc correction in ext/misc/shathree.c, as reported in the forum. No functional changes. (check-in: 3b82d2c6b7 user: stephan tags: trunk)
11:01
Temporarily enable zeroing of wal2-mode hash tables within PASSIVE, as well as non-PASSIVE, checkpoints. (check-in: a97a2b0da1 user: dan tags: cf8f1552-commit-instr)
2024-12-03
19:41
Back out minor changes not required by this branch. (check-in: 68c34ffd23 user: dan tags: win32-enable-setlk)
19:30
Merge latest trunk into this branch. (check-in: eb13b8b3ef user: dan tags: win32-enable-setlk)
19:09
Further test file tweaks to run with SQLITE_OS_WINRT builds. (check-in: 54853421ba user: dan tags: win32-enable-setlk)
15:19
Fix the lock_win32_file test command so that it works with winrt builds. (check-in: 5994656074 user: dan tags: win32-enable-setlk)
2024-12-02
20:48
Fix a problem with SQLITE_OS_WINRT builds. (check-in: baf43e8c7d user: dan tags: win32-enable-setlk)
19:55
Improve the output from the ".testctrl opt" command in the CLI. (check-in: de7064d118 user: drh tags: trunk)
19:32
Ensure that the query flattener does not change an ON clause term to a WHERE clause term. (check-in: e487d3b3c0 user: drh tags: branch-3.47)
17:21
Ensure that the query flattener does not change an ON clause term to a WHERE clause term. Forum post 3f676b1196. Follow-up to [f1eae192315335d7]. (check-in: bdd408a255 user: dan tags: trunk)
16:38
Add the SVG version of the SQLite logo. (check-in: a2061fe09f user: drh tags: branch-3.47)
16:24
Fix a comment typo on the sqlite3ExprIsSingleTableConstraint() routine. (check-in: 346a845bf1 user: drh tags: trunk)
16:07
Fix a harmless typo in debugging output. (check-in: 578f76cfb2 user: drh tags: trunk)
14:14
Reformulate [9e09d5d6] so that memsys5 shows up in the late-config summary as being enabled and does the right thing if both --debug and --memsys3 are used. (check-in: 447db1cd0a user: stephan tags: trunk)
13:47
Enable MEMSYS5 with the --dev configure option. (check-in: 9e09d5d60a user: drh tags: trunk)
13:29
Slighly less confusing output from treeview during debugging. (check-in: 7aef0b9305 user: drh tags: trunk)
2024-12-01
16:19
Fix the percentile extension so that works as an independent extension. Forum post ab25469a350e0488 (check-in: 86256f2cd4 user: stephan tags: branch-3.47)
15:23
Trim a bit more from the sqlite370.svg border to get it closer in scaled size to the logo currently on the docsrc site. (check-in: 81c7277fc5 user: stephan tags: trunk)
14:20
Correct the fill color for the background of sqlite370.svg - it was slightly darker than it should have been. (check-in: 732132407b user: stephan tags: trunk)
14:14
Re-export sqlite370.svg to retain the gradient part and clip the size using the cutting guides in sqlite370.eps. (check-in: 12017b01c8 user: stephan tags: trunk)
14:02
Export a clipped copy of sqlite370.eps as sqlite370.svg, based on discussion in forum post 1bbd6d17ca. (check-in: dd3a13c120 user: stephan tags: trunk)
2024-11-30
20:00
On windows, use a separate handle for each connection for xShmLock() locks. (check-in: 272d552f12 user: dan tags: win32-enable-setlk)
17:48
At the end of the configure script ensure that none of the files which are filtered for @VARS@ contain any unresolved @VAR@ placeholders, failing fatally if any do. (check-in: 301df5c2be user: stephan tags: trunk)
14:13
In sqlite_dbpage, cancel any pending truncate operation if there an error occurs later in the transaction. (check-in: 1abab10f85 user: drh tags: trunk)
12:00
A NEVER() that was added by [eb5ac9e5b9a4f9c8] is violated by the ifnull() in-line function. This check-in fixes that problem. (check-in: 2220ccf4d6 user: drh tags: trunk)
2024-11-29
11:49
Fix a NEVER() in the iif() logic that can be true if compiled with SQLITE_ENABLE_UNKNOWN_SQL_FUNCTIONS. Problem introduced by [eb5ac9e5b9a4f9c8]. (check-in: 3ec2df5a6c user: drh tags: trunk)
2024-11-28
23:55
Remove some outdated docs from Makefile.in. (check-in: cc2c5fc98b user: stephan tags: trunk)
20:46
Typo fixes and cleanups in autosetup/README.md. (check-in: 7f366565f4 user: stephan tags: trunk)
19:14
Update logging version to "v=13". (check-in: 442167b86a user: dan tags: cf8f1552-commit-instr)
18:58
In wal2 mode, attempt to zero old *-shm hash table pages within non-PASSIVE checkpoints. This saves writers from having to do it. (check-in: 40aafd4585 user: dan tags: cf8f1552-commit-instr)
16:14
Configure script doc updates and cleanups. Skip check for EMSDK when doing an out-of-tree build, as ext/wasm does not support that build mode. (check-in: 9d2f4148db user: stephan tags: trunk)
15:52
ext/icu/README.txt: clean up EOL whitespace and add a mention of the --with-icu-... configure flags available as of version 3.48. (check-in: 4976ac717b user: stephan tags: trunk)
11:52
Improvements to sqlite3ExprImpliesExpr() so that it recognizes that expressions like "iif(X,Y)" and "CASE WHEN X THEN Y END" imply X. (check-in: eb5ac9e5b9 user: drh tags: trunk)
02:09
Simplification to the fix in the prior check-in. (Closed-Leaf check-in: f79cb748c9 user: drh tags: expr-implies-expr)
01:47
The sqlite3ExprCompare() routine should always compare the same variables as equal to one another, regardless of whether or not QPSG is set. (check-in: df95d5209a user: drh tags: expr-implies-expr)
00:58
Add two NEVER() conditions. (check-in: 4f358ad20d user: drh tags: expr-implies-expr)
00:34
Enhancements to sqlite3ExprImpliesExpr() so that it realizes that "iif(A,B)" implies "A". (check-in: d96ecbee59 user: drh tags: expr-implies-expr)
2024-11-27
18:01
Fix an inaccuracy in the documentation in fts5.h. (check-in: ec3ca6f179 user: dan tags: trunk)
14:41
Use the P5 rather than the P3 parameter of OP_AutoCommit to avoid an unnecessary conflict in the begin-concurrent branch. Fix some comments. (check-in: e6f6352618 user: drh tags: commit-and-continue)
14:16
Merge the latest trunk enhancements into the commit-and-continue branch. (check-in: adaddf4948 user: drh tags: commit-and-continue)
2024-11-26
23:40
Allow the iif() function to work with two arguments. The third argument is then assumed to be NULL. Also allow if() as an alternative spelling for iif(). (check-in: 1e405c39a8 user: drh tags: trunk)
23:30
New test cases. (Closed-Leaf check-in: f1cb1a815a user: drh tags: two-argument-iif)
20:56
Provide a two-argument version of the iif() function, plus an alternative spelling that only requires a single "i". (check-in: a251ee645e user: drh tags: two-argument-iif)
20:46
Update fts5 so that the xInstToken() extension API works with prefix queries. (check-in: 41b79bde4a user: dan tags: trunk)
20:16
Update documentation in fts5.h. (Closed-Leaf check-in: f1e44f703a user: dan tags: fts5-tokendata-prefix)
19:19
Patch autosetup to rename --debug to --autosetup-debug so we can use --debug/--enable-debug for its historical purpose. Update autosetup/README.md with details of the patch. (check-in: 00dffd10f0 user: stephan tags: trunk)
19:02
Patch autosetup to rename --debug to --autosetup-debug so we can use --debug/--enable-debug for its historical purpose. --with-debug is now an alias for --enable-debug but can be removed entirely if all scripts which have been adjusted for the autosetup build are edited to (re)use the older flag name. (Closed-Leaf check-in: 3296c8d305 user: stephan tags: autosetup-debug-flag)
17:30
Avoid ever logging times for ROLLBACK commands. (check-in: bc7f7986ec user: dan tags: cf8f1552-commit-instr)
16:12
Move some of the in-comment configure script help text into the --help text. No functional changes. (check-in: ee8449c482 user: stephan tags: trunk)
16:04
Minor tweak to ./configure --help output. (check-in: 7e634d0569 user: drh tags: trunk)
03:15
Replace some outdated docs re. soname with a link to the soname forum post. (check-in: 9225701cb8 user: stephan tags: trunk)
2024-11-25
18:47
Ensure that file-handle winShmNode.hFile.h is used in a thread-safe manner. (check-in: 7a32b497ab user: dan tags: win32-enable-setlk)
17:07
Correct duplicated soname linker flags, one of them mis-named. (check-in: 87dfd92d3a user: stephan tags: trunk)
16:54
Fixes for code on this branch. Now appears to work, but is not tested well. (check-in: 0568fc6dde user: dan tags: win32-enable-setlk)
14:16
Version 3.47.1 for the reuse-schema branch. (check-in: 83e95cf3ed user: drh tags: reuse-schema-3.47)
12:07
Version 3.47.1 (check-in: b95d11e958 user: drh tags: release, branch-3.47, version-3.47.1)
2024-11-22
21:24
Supports SQLITE_ENABLE_SETLK_TIMEOUT on windows. Does not work properly yet. (check-in: 737ca8a9fb user: dan tags: win32-enable-setlk)
18:50
Fix a problem handling OOM errors in fts3 that could occur when parsing multi-token strings. (check-in: c8dcac3340 user: drh tags: branch-3.47)
17:45
Fix two problems with argument expansion in sqlite-tclsh on Windows. (check-in: dcef1992d5 user: drh tags: branch-3.47)
17:41
Fix another issue in argument expansion on Windows for tclsqlite3.c in interpreter mode. Problem introduced by check-in [9b87ea219bce5689] and unfixed by [cd942dce148c9d8f]. (check-in: 0fe1622cec user: drh tags: trunk)
16:52
Remove a flaky JS test which has a result depending on unrepredictable context. That same feature is more reliably tested at a later point in the same script. (check-in: 540a4a1624 user: stephan tags: branch-3.47)
16:45
Remove a flaky JS test which has a result depending on unrepredictable context. That same feature is more reliably tested at a later point in the same script. (check-in: 3d6ae13805 user: stephan tags: trunk)
16:24
In order to support package builds, like OpenBSD's, which set a custom soname on libsqlite3.so, extend the --soname configure flag to allow arbitrary soname values. (check-in: 9c1c1b9983 user: stephan tags: trunk)
14:18
Move handling of the tempstore feature flag into the OPT_FEATURE_FLAGS list and remove the CFLAGS.libsqlite3 makefile var which exists solely to account for the tempstore being tracked separately from the other feature flags. (check-in: 2df5065d11 user: stephan tags: trunk)
14:12
Makefile doc cleanups. No functional changes. (check-in: 64add0ac70 user: stephan tags: trunk)
13:47
Remove the libsqlite3.so.3 link from the installation process, as it now serves no functional purpose. We retain libsqlite3.so.0 (A) for compatibility with clients linked against legacy builds and (B) 0 is still valid as the library's ABI version. (check-in: 91bd9813e0 user: stephan tags: trunk)
13:22
Add links to the SONAME discussion at relevant places in auto.def and the makefiles. No functional changes. (check-in: c78dcc318a user: stephan tags: trunk)
12:29
Fix harmless scanbuild warnings caused by the introduction of the ".dbtotxt" command into the CLI by check-in [b43acf5a8cd4a5ef]. (check-in: 554d8fbd86 user: drh tags: trunk)
12:12
Fix some harmless scanbuild warnings in the shell. (check-in: 04d6124d34 user: drh tags: branch-3.47)
12:07
Fix some harmless scanbuild warnings in the shell. (check-in: 9ba1c9b505 user: drh tags: trunk)
12:00
Fix harmless compiler warning caused by [c77a4a42f2e3d164]. (check-in: 063690d2c5 user: drh tags: trunk)
11:27
Document that -nofollow does not work on Windows. Fix Windows symlink test cases for when the test suite is run as administrator. (check-in: 3f76388a47 user: drh tags: branch-3.47)
11:18
Bump the version number to 3.47.1 (check-in: b6942a0b2f user: drh tags: branch-3.47)
2024-11-21
20:57
Make ".scanstatus" an undocumented alternative name for ".scanstats" in the CLI. (check-in: f20688efc2 user: drh tags: trunk)
20:10
Fix a bug-in-waiting (one too few list elements) in [b6bd25bd769e]. (check-in: e527dcd016 user: stephan tags: trunk)
20:07
Add the --scanstatus configure flag to set -DSQLITE_ENABLE_STMT_SCANSTATUS. (check-in: b6bd25bd76 user: stephan tags: trunk)
15:53
Fix a JS test which was broken when OMIT_PROGRESS_CALLBACK was _not_ used. (check-in: fba23150b5 user: stephan tags: trunk)
01:50
Document that -nofollow does not work on Windows. Fix Windows symlink test cases for when the test suite is run as administrator. (check-in: 4de8a75ec5 user: drh tags: trunk)
2024-11-20
21:45
Cherrypick a couple of changes requested by Mozilla onto the 3.47 branch. (check-in: b50d20d795 user: drh tags: branch-3.47)
20:39
Fix compiler warnings caused by variable shadowing. (check-in: 211b305791 user: dan tags: fts5-tokendata-prefix)
20:26
Logging enhancements. And mark logs v=12. (check-in: 853f9cf453 user: dan tags: cf8f1552-commit-instr)
20:24
Merge the latest trunk fixes and makefile enhancements into the commit-and-continue branch. (check-in: 34cb6029cc user: drh tags: commit-and-continue)
18:49
Experimental change to omit writing frame checksums to the wal file. (check-in: 4d37067270 user: dan tags: cf8f1552-commit-instr)
17:47
Update logging version to "v=11". This should have been part of the previous commit. (check-in: e6663fab61 user: dan tags: cf8f1552-commit-instr)
16:21
New configuration option --dynlink-tools causes some command-line tools like sqldiff and sqlite3_analyzer to link against the libsqlite3.so system library rather than being built-in. Caution: sqlite3_analyzer requires the SQLITE_ENABLE_DBSTAT_VTAB compile-time option on its SQLite library in order to work, so do not use --dynlink-tools to build sqlite3_analyzer without it. (check-in: 314c606dd3 user: drh tags: trunk)
16:17
Use shared-library flags, not shared-object flags, to create shared libraries. This makes no difference on Linux, but is required for Mac. (Closed-Leaf check-in: bfaa3ee758 user: drh tags: link-tools-dynamically)
15:02
If a subquery is copied and then changes are made to the copy, be sure to give the copy a unique Select.selId value so that the original will not be substituted in place of the modified copy. (check-in: 16d46e1160 user: drh tags: branch-3.47)
14:59
Bug fix in the SubrtnSig logic from [c9a3498113074bbc], if a subquery is copied and then changes are made to the copy, be sure to give the copy a unique Select.selId value so that the original will not be substituted in place of the modified copy. Forum post 0b9ded2f8428ac00. (check-in: 19d1bede56 user: drh tags: trunk)
14:19
Provide the sqlite3ShowWhereTerm() interface callable interactively from a debugger, when compiling with SQLITE_DEBUG. (check-in: c77a4a42f2 user: drh tags: trunk)
11:37
Do not report an sqlite3_error_offset() for errors that occur inside of views or triggers, since the text of those elements is not part of the original query. (check-in: cb5ddebf79 user: drh tags: branch-3.47)
11:34
Do not report an sqlite3_error_offset() for errors that occur inside of views or triggers, since the text of those elements is not part of the original query. (check-in: bf66c6dfc2 user: drh tags: trunk)
2024-11-19
21:19
Add fix from [bfab759611b0] to sqltclsh. Remove some now-unneeded has_tclsh84/5 checks in cases where jimsh can be used. (check-in: 9d389b9983 user: stephan tags: link-tools-dynamically)
21:14
Add missing $TCL_LIBS to the link for sqlite3_analyzer. (check-in: bfab759611 user: drh tags: link-tools-dynamically)
20:23
Didn't work out; broke the build. Was: Add the ability to build certain tools dynamically linked to libsqlite3 instead of embedding their own copy of sqlite3.c. (Closed-Leaf check-in: 84bd96a6f1 user: stephan tags: mistake)
20:21
Rename --link-tools-dynamically to --dynlink-tools, per discussion. (check-in: 50b9f6fde4 user: stephan tags: link-tools-dynamically)
20:14
Move the in-comment-code commentary about --with-debug, from [7b14309be4], into the --help text for that flag, where it's readily visible. (check-in: c938e5d783 user: stephan tags: link-tools-dynamically)
19:47
Get sqlite3_analyzer optionally linking against libsqlite3.so instead of embedding sqlite3.c. Patch mkccode.tcl to accept digits in its IFDEF/IFNDEF checks and sqlite3_analyzer.c.in to only include sqlite3.c if -DINCLUDE_SQLITE3_C is passed to mkccode.tcl. (check-in: 80f3bf8c2e user: stephan tags: link-tools-dynamically)
19:16
Merge trunk into this branch. Fix a small jimtcl/tclsh regex incompatibility in mkccode.tcl. (check-in: 7fb3ebfec6 user: stephan tags: link-tools-dynamically)
18:26
Enhancements to tool/mkccode.tcl such that it recognizes -D command line arguments and can use them in internal IFDEF and IFNDEF macros. Update the tool/sqlite3_analyzer.c.in script such that it omits the SQLite amalgamation if -DSQLITE_ENABLE_DBSTAT_VTAB is defined. (check-in: 7fec209290 user: drh tags: trunk)
17:41
Revert linking the shell to the dll for reasons explained in new makefile comments. Move the --with-debug configure flag into the developer options set and add commentary about why it should never be used for production builds. (check-in: 7b14309be4 user: stephan tags: link-tools-dynamically)
17:32
Extra logging for the freelist and hash table components of COMMITs of BEGIN CONCURRENT transactions. (check-in: 2ba41da8c4 user: dan tags: cf8f1552-commit-instr)
16:40
Reformulate sqldiff deps and rules so that the target matches the resulting file name, to avoid rebuilding it on every make invocation. Apply the same treatment to the sqlite3 CLI shell. (check-in: 9a17b83f85 user: stephan tags: link-tools-dynamically)
15:20
Initial configure support for linking certain binaries to libsqlite3.so instead of embedding it dynamically (which they typically do). This currently applies only to sqldiff, but support for adding the same for other tools is planned. This requires disabling the soname because setting it causes the build to link to whatever libsqlite3.so.0 is installed system-wide, so the soname now defaults to off. (check-in: 9192c146e2 user: stephan tags: link-tools-dynamically)
11:58
Fix a problem handling OOM errors in fts3 that could occur when parsing multi-token strings. (check-in: 4c4d1db00b user: dan tags: trunk)
2024-11-18
21:15
Merge recent trunk changes into the reuse-schema branch. (check-in: 63bac8dd71 user: drh tags: reuse-schema)
20:44
Merge the divergence reduction into the bedrock branch. (check-in: e03dd0bd31 user: drh tags: bedrock)
20:30
Continue to reduce divergence between wal2 and trunk. (check-in: 9591ab7c6b user: drh tags: wal2)
18:49
Realignment of begin-concurrent with trunk. (check-in: 3823295299 user: drh tags: begin-concurrent)
18:45
Reduce divergence from trunk. (check-in: c5d77671c4 user: drh tags: begin-concurrent)
18:45
Reduce divergence from begin-concurrent. (check-in: 84d41e9d04 user: drh tags: trunk)
18:27
Realign trunk and wal2. (check-in: dcf2768720 user: drh tags: wal2)
18:03
Attempt to reduce divergence from trunk. (check-in: ffe9f9ccd7 user: drh tags: wal2)
17:05
Attempt to reduce divergence with the wal2 branch. (check-in: e0d8f9916c user: drh tags: trunk)
16:52
Realign the begin-concurrent branch with trunk. (check-in: b92c9a66ba user: drh tags: begin-concurrent)
16:44
Attempt to reduce divergence from trunk. (check-in: ae863439e8 user: drh tags: begin-concurrent)
16:44
Attempt to reduce divergence with begin-concurrent. (check-in: f783d90187 user: drh tags: trunk)
15:51
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 00d021eda4 user: drh tags: reuse-schema)
15:34
Merge the latest trunk changes into the bedrock branch. (check-in: 59a7eb297c user: drh tags: bedrock)
15:30
Merge the latest trunk changes into the wal2 branch. (check-in: d19aeff609 user: drh tags: wal2)
15:18
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: 680a2eaabb user: drh tags: begin-concurrent)
14:54
Disable commit-and-continue tests under the inmemory-journal and journaltest permutations. (check-in: 2f31c2b0a1 user: drh tags: commit-and-continue)
14:15
Remove the .POSIX entries from the makefiles because they cause portability problems rather than solve them. (check-in: e1330ecf17 user: stephan tags: trunk)
14:08
Fix a "applying zero offset to null pointer" usan error in the fts5 trigram tokenizer. (check-in: 9b79b999d4 user: dan tags: trunk)
13:29
Fix minor problems in testrunner.tcl that pop up when the command-line arguments are such that no tests are run. (check-in: 321ded32f6 user: drh tags: trunk)
11:49
The COMMIT AND CONTINUE TRANSACTION syntax is disabled by default. Enable it using the SQLITE_DBCONFIG_CONTINUE_TRANSACTION configuration option. (check-in: a2b784cb87 user: drh tags: commit-and-continue)
11:14
Fix a typo in a variable name. (check-in: 9c7f569acd user: drh tags: commit-and-continue)
2024-11-17
23:53
Fix an uninitialized variable that appears to be the cause of the problems with check-in [80b98446fc070d9a]. (check-in: 22393c3a08 user: drh tags: commit-and-continue)
11:46
Merge the latest trunk enhancements into the commit-and-continue branch. (check-in: 1742af1215 user: drh tags: commit-and-continue)
11:42
Make the --vfstrace output from the CLI go to the same output channel as everything else. (check-in: f71d490020 user: drh tags: trunk)
09:51
buildtclext.tcl: add docs explaining the DESTDIR check and break out of the auto_path search loop early if the DESTDIR is not writable, rather than re-checking that repeatedly. (check-in: 322be94569 user: stephan tags: branch-3.47)
09:49
buildtclext.tcl: add docs explaining the DESTDIR check and break out of the auto_path search loop early if the DESTDIR is not writable, rather than re-checking that repeatedly. (check-in: d07be336ea user: stephan tags: trunk)
2024-11-16
23:32
Add simple test cases. In doing so I found that the feature does not work on a Linux ramdisk, nor on Win11. Gotta fix that. (check-in: 80b98446fc user: drh tags: commit-and-continue)
18:59
Merge all the latest trunk enhancements into the commit-and-continue branch. (check-in: d217b4847e user: drh tags: commit-and-continue)
18:54
Call fflush() on ".echo" output from the shell, so that the output to stdout is aligned with output to stderr. (check-in: c38b9db3c4 user: drh tags: trunk)
18:37
Clean up the implementation now that it only has to deal with the much simplier concept of COMMIT AND CONTINUE TRANSACTION. (check-in: 17360660bb user: drh tags: commit-and-continue)
17:39
Fix argument expansion in sqlite-tclsh on Windows such that if an argument does not match a filename even after glob expansion, it is appended to the argument list verbatim. (check-in: cd942dce14 user: drh tags: trunk)
17:12
Handle DESTDIR at an earlier phase in buildtclext.tcl to account for the is-writable-dir check and to filter out //zipfs: dirs as (im)possible installation targets. (check-in: 2f6e5946cf user: stephan tags: branch-3.47)
17:09
Handle DESTDIR at an earlier phase in buildtclext.tcl to account for the is-writable-dir check and to filter out //zipfs: dirs as (im)possible installation targets. (check-in: d2e8c161a1 user: stephan tags: trunk)
14:40
Simplify the new syntax to be just "COMMIT AND CONTINUE TRANSACTION". (check-in: 61797109a2 user: drh tags: commit-and-continue)
14:33
Add DESTDIR support to the tclextension-install target, via [67a3ca0c013b] and [d1663cf05f7d]. (check-in: 38136b33f9 user: stephan tags: branch-3.47)
14:30
Add the --destdir flag to the tclextension-install makefile target. (check-in: d1663cf05f user: stephan tags: trunk)
14:29
Add --destdir flag support to buildtclext.tcl, but do not yet add that to the makefile (so that this change can be cherrypicked to the 3.47 build). (check-in: 67a3ca0c01 user: stephan tags: trunk)
10:42
Rename tool/tclConfigShToTcl.sh to tool/tclConfigShToAutoDef.sh in the name of pedantic correctness. (check-in: a7dd196d99 user: stephan tags: trunk)
09:00
configure: tiny simplification of proj-assert. (check-in: bfdc416b56 user: stephan tags: trunk)
2024-11-15
20:42
Load all the latest trunk enhancements, and especially the enhancements to vfstrace, into the commit-and-begin branch. (check-in: 605889b021 user: drh tags: commit-and-continue)
20:39
Enhance the vfstrace extension such that the output can be controlled using the "PRAGMA vfstrace('...');" statement. See header comment on the source code for details. (check-in: 96105d3359 user: drh tags: trunk)
19:42
In the interest of minimizing downstream disruption, set the soname of libsqlite3.so to (by default) its legacy value of libsqlite3.so.0 and unconditionally create (or replace) a symlink with that name at install-time, in addition to the newer-named symlinks. (check-in: 0773677b55 user: stephan tags: trunk)
17:28
Another approach at implementing COMMIT AND BEGIN. (check-in: a905bd5dd6 user: drh tags: commit-and-continue)
16:35
Generic auto.def cleanups. No functional differences. (check-in: 02aceb8c13 user: stephan tags: trunk)
15:31
buildtclext.tcl: work around a case, reported in forum post 0683a49cb0, in which package maintainers edit their copy of tclConfig.sh to change the TCL_SHLIB_LD command. (check-in: e24a3efec8 user: stephan tags: trunk)
10:53
configure: add optional pkg-config support for detecting ICU. (check-in: 3e5b8077c6 user: stephan tags: trunk)
10:47
When checking pkg-config for ICU support use icu-io instead of icu-uc, as that contains all requires libs on Linux and BSD. (Closed-Leaf check-in: 6ca457542e user: stephan tags: autosetup-icu-pkg-config)
10:12
configure script doc additions for the ICU feature check. (check-in: 1925a68fc2 user: stephan tags: trunk)
10:07
An experiment in optionally using pkg-config to determine the libs to link in for ICU support, but its ldflags is missing one required lib on both Linux and OpenBSD. Keeping this for later reference, as it demonstrates how to use pkg-config from autosetup. (check-in: 09caa94c9e user: stephan tags: autosetup-icu-pkg-config)
2024-11-14
22:59
Attempt to hold a lock across the COMMIT AND BEGIN boundary so that no other process can start a new transaction in between the COMMIT and the BEGIN. (check-in: bc8bcc53ff user: drh tags: commit-and-continue)
19:59
Fix assertion faults in the COMMIT AND BEGIN path. (check-in: a9a4ac17c2 user: drh tags: commit-and-continue)
19:36
Merge more makefile enhancements from trunk into the commit-and-begin branch. (check-in: 098400d361 user: drh tags: commit-and-continue)
19:34
Fix typo in the handling of the new --dev flag which caused it to set the --debug flag instead of the --with-debug flag (the former is for autosetup's internal use). (check-in: 81202d2ab5 user: stephan tags: trunk)
19:25
Remove $prefix/include from the default -I path because it can cause the build to pick up an unintended copy of sqlite3.h. Extend the ICU configure support (the origin of -I$prefix/include) to enable fetching the -I path from icu-config and apply it only to those objects which need it. (check-in: f778dfdd6d user: stephan tags: trunk)
19:08
Merge makefile enhancements from trunk into the commit-and-begin branch. (check-in: b5dd11e0ac user: drh tags: commit-and-continue)
19:06
Add new makefile target "sqlite3d" (where the "d" means either "development" or "debug") that always uses separate source files, regardless of the --disable-amalgmation setting. (check-in: 91da205beb user: drh tags: trunk)
17:52
Add --enable-dev configure flag which sets various other flags. (check-in: ea79c363a4 user: stephan tags: trunk)
17:25
Merge the latest trunk enhancements and fixes into the commit-and-begin branch. (check-in: 05fb5d3075 user: drh tags: commit-and-continue)
16:06
Remove unused sqlite_cfg.h.in from the build. (check-in: bba54e26de user: stephan tags: trunk)
16:00
Fix a state makefile dependency which refered to the now-removed sqlite_cfg.h.in. (Closed-Leaf check-in: 9a726b4be8 user: stephan tags: makefile-simplification)
15:55
Remove some obsolete macros from the CLI. (check-in: 5c4eb62570 user: drh tags: trunk)
15:25
Remove unused sqlite_cfg.h.in (sqlite_cfg.h gets generated without an input template). (check-in: 6148f2d392 user: stephan tags: makefile-simplification)
14:38
Fix a problem with window functions min() and max() when used with a FILTER clause. Forum post e9126d554a. (check-in: d15fb0f75e user: dan tags: trunk)
12:23
Document the if block at the end of sqlite-check-tcl. (check-in: 6bfd09408b user: stephan tags: trunk)
12:09
configure: avoid performing multiple checks for -lm on behalf of --enable-fts4 and --enable-fts5. (check-in: 6940caa192 user: stephan tags: trunk)
12:03
Early prototype code for COMMIT AND BEGIN. Does not currently work. (check-in: ddac597321 user: drh tags: commit-and-continue)
2024-11-13
18:23
Enhance the vfstrace.c extension to show symbolic names for the various SHM locks. (check-in: c0dd7de8f1 user: drh tags: trunk)
18:04
Fix a memory leak in the ".dump" command of the CLI that can occur if an error other than database corruption is seen while trying to query the database. (check-in: 2560cc7072 user: drh tags: trunk)
16:08
Add the test/fork-test.c test program. (check-in: 0611e2b0cf user: drh tags: trunk)
14:58
Add the SQLITE_FCNTL_NULL_IO file-control. (check-in: f0e917fcf5 user: drh tags: trunk)
14:42
Increase maximum length of sqlite3_log() messages to 700 bytes. Mark log messages as v=10. (check-in: 35aa893d45 user: dan tags: cf8f1552-commit-instr)
11:12
Optimize deferred allocation of pages on this branch by avoiding BTALLOC_LE. (check-in: e0c0176793 user: dan tags: cf8f1552-commit-instr)
2024-11-12
13:37
Ensure that the sqlite3_index_info.idxStr string coming back from FTS5 is always zero-terminated, even if the xBestIndex call fails with an SQLITE_CONSTRAINT error. (check-in: a4e976a030 user: drh tags: trunk)
2024-11-11
21:11
Clarify the documentation to make it clear that rows inserted by a CREATE TABLE AS SELECT statement are not counted by sqlite3_count64(). Forum post 1e6cde5648. (check-in: 5c5982e393 user: drh tags: trunk)
21:07
Adjust the behavior of sqlite3_changes64() so that it counts INSERTs into a new table created using "CREATE TABLE name AS SELECT ...". It has never done this before. The documentation is a little ambiguous about whether or not it actually should. This check-in is on a branch because it will probably never make it to trunk for fear of breaking some legacy program. (Closed-Leaf check-in: b741608cd3 user: drh tags: chngcnt-create-as)
19:49
Fix the fts5 trigram tokenizer so that it handles non-nul-terminated strings. (check-in: 84f4e37178 user: dan tags: trunk)
19:07
Add the ".dbtotxt" command to the CLI. (check-in: b43acf5a8c user: drh tags: trunk)
18:15
Wrap some exceptionally long lines in main.mk. Add option to override LDFLAGS on the sqlite3.dll target. Audit: all targets for which it is hypothetically relevant can now inherit user-supplied LDFLAGS, but only those provided to the configure script, not at make-time, in order to mimic the historical build's restriction in that regard. (check-in: 073080cae3 user: stephan tags: trunk)
18:11
Optimize deferred allocation of pages on this branch by avoiding BTALLOC_LE. (check-in: 0812161025 user: dan tags: begin-concurrent)
17:03
Update this branch with latest changes and build system updates from trunk. (check-in: 52bd7953f1 user: dan tags: begin-concurrent)
17:02
Use Win32 APIs to read/write the console in Windows unless the SQLITE_USE_STDIO_FOR_CONSOLE option is defined. This is an attempt to get the build working on MinGW. (check-in: abfe488ed6 user: drh tags: trunk)
13:17
Add an -fsanitize=fuzzer compatibility mode to the CLI. (Leaf check-in: d85f14c713 user: drh tags: cli-fuzz)
09:53
Doc update to account for [05073350087b]. (check-in: b81976c520 user: stephan tags: trunk)
09:37
Rename proj-define-if-opt-truthy to the more accurate, and less verbose, proj-define-for-opt. (check-in: 0507335008 user: stephan tags: trunk)
2024-11-09
18:17
Fix a case in fts3 where a corrupt database record was not being handled correctly. (check-in: 17bc57fa16 user: drh tags: branch-3.47)
17:54
Fix a case in fts3 where a corrupt database record was not being handled correctly. (check-in: cbcb53759b user: dan tags: trunk)
14:34
Fix a deps problem, introduced in [1bd9de719], which breaks the build on systems where HAVE_TCL=0. (check-in: 7953a8bdcb user: stephan tags: trunk)
10:23
Simplify usage of proj-assert by making the expr prefix implicit. Add an optional description arg to proj-assert, defaulting to the body of the assertion script. (check-in: ada7b36c37 user: stephan tags: trunk)
09:19
Remove three unused files from autosetup/. (check-in: 906563a7e0 user: stephan tags: trunk)
06:35
Remove an unused lib import from auto.def. (check-in: 53a71981ab user: stephan tags: trunk)
2024-11-08
20:57
Increase the minimum SQLITE_LENGTH_LIMIT from 1 to 30 to avoid problems doing simple things like converting strings into integers. See also [8fd5b8ec4ab9b555]. (check-in: 6aa01707af user: drh tags: trunk)
20:44
Fix an assert() failure in sqlite3recover.c. (check-in: f52bb19281 user: dan tags: trunk)
17:09
Even more detailed logging of slow COMMIT statements. (check-in: 3a45387a09 user: dan tags: cf8f1552-commit-instr)
14:34
Remove one dep from .tclenv.sh which is only valid for configure-driven builds, not static makefiles. (check-in: 22986767da user: stephan tags: trunk)
13:37
Add 'tcl' makefile target which builds all but tclextension (which does not have a well-defined name and dependencies). Improve the deps for .tclenv.sh to avoid getting a stale tclsh when re-configuring with a different --with-tcl(sh). (check-in: 1bd9de719b user: stephan tags: trunk)
08:01
Add missing CFLAGS.intree_includes to T.compile.tcl to fix build of tclsqlite3. (check-in: bb3c6dc126 user: stephan tags: trunk)
07:37
More closely emulate the legacy build's handling of LDFLAGS, permitting them to be passed to configure but not to make. We cannot 100% enforce that because main.mk is not filtered by the configure script, so we instead add a level of indirection to make passing of LDFLAGS=... to make a no-op. (check-in: d1af9f3183 user: stephan tags: trunk)
06:22
Support clients passing in LDFLAGS to configure/make, but in a more limited form than the legacy build it (i.e. only to select targets rather than all targets). Rename make-side internal uses of CFLAGS to CFLAGS.env for consistency with the new LDFLAGS.env. See discussion in forum thread 5fcbea40f3. (check-in: a5e07e8063 user: stephan tags: trunk)
05:26
Disable setting of the SONAME (enabled by [2a2419ef742]), as it's not clear whether blindly setting the SONAME, which now differs from its historical value, will cause more grief than it solves. Add a (disabled) experiment which permits setting (or not) the SONAME to the legacy or current values. This change is up for further change as experimentation proves whether we truly need/want the SONAME. See discussion in/around forum post 0c6fc6f46b2cb3. (check-in: d931456805 user: stephan tags: trunk)
2024-11-07
18:06
Fix an OOB write that could occur in fts3 when dealing with corrupt database records. (check-in: 521b873be7 user: drh tags: branch-3.47)
17:34
Fix an OOB write that could occur in fts3 when dealing with corrupt database records. (check-in: 108863ec79 user: dan tags: trunk)
16:59
Extend the set of --flags which get cleared/unset when using --with-wasi-sdk. Enable the soname linker option for libsqlite3.so. (check-in: 2a2419ef74 user: stephan tags: trunk)
15:23
Doc touchups in the line-editing feature check code. (check-in: bb5656bdc9 user: stephan tags: trunk)
15:04
tcl configuration: --with-tcl=prefix is equivalent to passing the --prefix dir to it. If --with-tcl or --enable-tcl are explicitly passed in and tclConfig.sh is not found, fail fatally. When TCL is either explicitly disabled or default search for it fails non-fatally, be more explicit about which components are not available. (check-in: c5389d39a9 user: stephan tags: trunk)
12:03
Further improvements to the ".mode json" output in the CLI. (check-in: 6201b5707f user: drh tags: trunk)
10:07
Autosetup doc touchups. (check-in: 5745152900 user: stephan tags: trunk)
09:36
Extend the list of "truthy" config values to include "true". Related doc updates. (check-in: 4455718e48 user: stephan tags: trunk)
08:57
Add some internal docs to auto.def explaining certain passages. (check-in: 4749967e1b user: stephan tags: trunk)
08:29
Document the purpose of a global auto.def var added in [0d558318172d]. (check-in: f5b6604716 user: stephan tags: trunk)
07:31
When --with-linenoise refers to the msteveb flavor and jimsh is the TCL used for code generation, enable linenoise in jimsh. Remove some dead auto.def code. (check-in: 0d55831817 user: stephan tags: trunk)
06:02
Add mention of file-isexec in autosetup/README.md. (check-in: f469356749 user: stephan tags: trunk)
06:00
Change several 'file exists' checks for tclsh to file-isexec because that checks for .exe extensions on Windows. (check-in: 052a1b4d7c user: stephan tags: trunk)
05:26
For platforms where tclsh is found but tclConfig.sh is not, set HAVE_TCL to 0. We can't build the TCL components on those. Problem reported in forum post 5106aee3a8. (check-in: 04d2576b2e user: stephan tags: trunk)
2024-11-06
19:19
Fix an FTS3 corruption test case that depends on the specific pseudo-random byte sequence generated by sqlite3_randomness(), which is different on big-endian platforms than it is on little-endian platforms. (check-in: 6216bfcb74 user: drh tags: trunk)
17:31
Merge latest trunk changes into this branch. (check-in: edb8423493 user: dan tags: fts5-tokendata-prefix)
16:20
Add tests for xInstToken() and prefix queries with various fts5 configurations. (check-in: 9cc04331a0 user: dan tags: fts5-tokendata-prefix)
12:58
Re-phrase some (#if !SQLITE_CORE) to (#ifndef SQLITE_CORE), as discussed in forum post cea40371c5e34b09. (check-in: 5495b12569 user: stephan tags: trunk)
12:13
Elaborate on how autosetup selects a tclsh to use. (check-in: d3887895a3 user: stephan tags: trunk)
10:09
Fix typo in the LICENSE.md file. (check-in: 0588cc5c2f user: drh tags: trunk)
08:29
Minor doc tweaks. (check-in: 2919a61bd4 user: stephan tags: trunk)
07:20
When constructing the auto-reconfigure commands, only quote args which look like they need it. Minor doc updates. (check-in: d4fbd34f7a user: stephan tags: trunk)
06:44
Minor doc tweaks and typo fixes. (check-in: 406d9122b7 user: stephan tags: trunk)
06:06
Split the motivation of the makefile var naming convention into its doc own section. (check-in: bf42b93cc7 user: stephan tags: trunk)
05:54
Add a section to autosetup/README.md describing the motivations for the more glaring design decisions. (check-in: c0940a822a user: stephan tags: trunk)
04:38
Add autosetup/README.md - maintenance-related docs for SQLite developers (e.g. how to update autosetup). Start marking up the proj.tcl APIs with autosetup's doc markup so that they appear in the ./configure --reference output. (check-in: aa6213767f user: stephan tags: trunk)
02:59
Enhance the --with-emsdk flag to use a default value of 'auto', meaning to search the environment for it, and to fail fatally if --with-emsdk is explicitly provided but the SDK is not found. (check-in: 9724b747ca user: stephan tags: trunk)
2024-11-05
23:26
Improve the ".mode json" output of the CLI so that it encodes U+007f using an escape sequence. (check-in: 8b58cf9bbd user: drh tags: trunk)
18:53
Have the xBestIndex method of the generate_series virtual table ignore contraints on the "value" column with usable=0. (check-in: 1333e54422 user: dan tags: branch-3.47)
18:25
Have the xBestIndex method of the generate_series virtual table ignore contraints on the "value" column with usable=0. (check-in: f5113a2ef8 user: dan tags: trunk)
13:34
Work around a TCL {list-quoting} quirk when escaped/deferred var derefs are passed in as values to the autotools-conventional --XYZdir flags (as seen in a downstream package build script). (check-in: 6adfca7e85 user: stephan tags: trunk)
13:03
Remove the --enable-rbu flag from the configure script, per /chat discussion, because it's a highly niche feature not in active use. (check-in: 77db0cd736 user: stephan tags: trunk)
11:59
Ensure that the one-line running status output from testrunner.tcl does not exceed the 80-char line width of a standard terminal. (check-in: 1eae0f9ed3 user: drh tags: trunk)
09:49
auto.def: remove an extraneous global var, some dead tcl/makefile code/comments, and some extraneous output. Rename an internal-use proc. Disable the ext/wasm cleanup in the top-level (dist)clean because the noise from gmake is irritating. (check-in: ee9eb8b157 user: stephan tags: trunk)
08:21
Enhance the rpath configure check to honor --exec-prefix=... Remove some debugging code and move other debugging code around. (check-in: a8c1a82b56 user: stephan tags: trunk)
08:14
Roll back [47e50fa84dacf83c] for consistency with the legacy build. sqlite3.pc is now generated equivalently to prior versions. (check-in: af79d11e38 user: stephan tags: trunk)
07:55
Add the --enable-rbu configure flag and building of the commented-out rbu binary. (check-in: 6c6fa3adfe user: stephan tags: trunk)
07:29
Remove some dead makefile code. (check-in: b69ce89d22 user: stephan tags: trunk)
02:38
Change a (#define HAVE_FCHMOD) to (#define HAVE_FCHMOD 1) per user request in forum post 24cf6020c6. There's no semantic change for this tree, but this is consistent with how auto-config tools would define it and the empty #define interferes with some downstream code. (check-in: 9c46d84f3b user: stephan tags: trunk)
02:14
sqlite3_stdio.c now uses sqlite3_malloc()/sqlite3_free() instead of malloc()/free(). Reported in forum post 6b6cb3dd. (check-in: 1982471da1 user: stephan tags: trunk)
2024-11-04
20:16
Fix the percentile extension so that works as an independent extension. Forum post ab25469a350e0488 (check-in: 27b829c344 user: drh tags: trunk)
19:18
Fix harmless compiler warnings. (check-in: bc93e17924 user: drh tags: trunk)
19:08
Ensure that the database encoding is detected before the code generator gets too far down into byte-code generation and execution, but not so early that it interferes with initialization. Forum thread bc75a4d20b756044. (check-in: af7173a10e user: drh tags: trunk)
17:33
Avoid loading the entire record into memory for an sqlite3_preupdate_old() call that retrieves an IPK value. (Leaf check-in: f9a90a0d2c user: dan tags: branch-3.46)
16:59
Avoid loading the entire record into memory for an sqlite3_preupdate_old() call that retrieves an IPK value. (check-in: 7f4de43733 user: dan tags: trunk)
13:59
Fix two mismatched uses of malloc() and sqlite3_free() in sqlite3_stdio.c, as reported in forum post 7dd7c70038. (check-in: 5238959d05 user: stephan tags: branch-3.47)
13:57
Fix two mismatched uses of malloc() and sqlite3_free() in sqlite3_stdio.c, as reported in forum post 7dd7c70038. (check-in: af0a345b3b user: stephan tags: trunk)
12:11
Fix typo of --libexec ==> --libexecdir, discovered via audit of a downstream build script. Unrelated doc touchups. (check-in: a60e5d76d0 user: stephan tags: trunk)
10:16
Ensure that the ext/wasm fiddle build undefines certain shell feature flags which it cannot use but might be inherited from the top-level makefile. (check-in: 99bb5d9b68 user: stephan tags: trunk)
08:29
When installing the shared lib, re-activate the accommodation of legacy-style .so links (removed in [80584e165e4]) based on two reports that not having those will cause all clients linked against the legacy naming convention to fail to dynamically link (which would preclude an update of a system-level libsqlite3 package). Set up the infrastructure needed for adding an SONAME to the library but do not yet activate it. See discussion in/around forum post 046133a7da. (check-in: 1586eaceb1 user: stephan tags: trunk)
06:38
Minor internal doc additions. (check-in: 9edc8582c9 user: stephan tags: trunk)
05:27
Latest upstream autosetup to get handling of (==ignoring) autotools' x-includes and x-libraries flags and stop leakage of some autosetup-init-level vars into auto.def's global scope. (check-in: 307349bf91 user: stephan tags: trunk)
04:12
Latest upstream jimsh0.c, which accounts for the problem patched locally by [29b944959568]. (check-in: c7a5b7d2db user: stephan tags: trunk)
03:43
Minor doc correction and proj.tcl-internal API renaming. (check-in: c8b24c590e user: stephan tags: trunk)
2024-11-03
21:32
Move the .default-CFLAGS handling into a utility function, rename the corresponding file to .env-VAR, and apply that lookup to a couple more places. (check-in: f01b61f21d user: stephan tags: trunk)
20:15
Fix a CFLAGS.jimsh typo in Makefile.in. Change default jimsh flags to include -O1, which slows down its build but speeds up its runtime considerably. (check-in: a912c16915 user: stephan tags: trunk)
19:42
If any autotools-conventional dir names are explicitly overridden via ./configure --dirname=X then export those names as-is to the makefile, otherwise derive them from $prefix. This is, at least in part, a compromise to provide package maintainers a way to specify a libdir which will be incorporated into the -rpath link flag (which we can only determine at configure-time). (check-in: 832abe8a8a user: stephan tags: trunk)
18:30
Workaround for a compiler-specific jimsh compilation error reported in forum post 18e420d0. Reported upstream as ticket #322. (check-in: 29b9449595 user: stephan tags: trunk)
07:45
Minor doc updates. Remove two outdated todos. (check-in: ad19237845 user: stephan tags: trunk)
05:33
Fix another T.exe typo and remove an outdated TODO. (check-in: 02208e6bfa user: stephan tags: trunk)
01:31
Fix T.exe typos in main.mk which break installation on platforms where that value is not empty. Also some unrelated doc tweaks. (check-in: ab97ff44e6 user: stephan tags: trunk)
2024-11-02
19:10
Allow an fts5 table or query to be configured to collect xInstToken data for any prefix terms as part of the first parse of the main index, if any. (check-in: 46929ae92b user: dan tags: fts5-tokendata-prefix)
05:50
An experiment in hybridizing overriding of autotools-conventional XYZdir vars, the goal being to be able to provide both overrriding of them at configure-time and make-time with sensible semantics. Based on notes from forum post 00d12a41f7. (Closed-Leaf check-in: cc259bf5f1 user: stephan tags: autosetup-dir-overrides)
03:34
Add autotools-compatible overridable dir name vars for the various installation targets, calculated at make-time instead of exported at configure-time for reasons explained at length in the accompanying comments. (check-in: 24aba7ee58 user: stephan tags: trunk)
2024-11-01
19:41
Merge latest trunk changes into this branch. (check-in: 790c56d493 user: dan tags: fts5-tokendata-prefix)
15:25
Update log messages to say "v=8" instead of "v=7". (check-in: 492a0a8543 user: dan tags: cf8f1552-commit-instr)
15:20
Still more logging, this time focused on the sqlite3WalFrames() function. (check-in: 52d332f0c7 user: dan tags: cf8f1552-commit-instr)
09:50
Merge the readonly-ignore-wal-jrnl enhancement into the reuse-schema branch, so that it can be found there in all future releases. Other recent trunk enhancements are also part of that change and are merged as well. (check-in: 4e4885a067 user: drh tags: reuse-schema)
01:56
When configuring with --with-wasi-sdk, ensure that we use that SDK's 'ar' tool instead of whatever is in the PATH. When pushing/popping the define var scope for the jimsh compatility check, include more defines per consultation with autosetup's creator. (check-in: 2dcc465a70 user: stephan tags: trunk)
2024-10-31
18:29
In testrunner.tcl, only show the ETC on the status line if it will fit within the 80-character line limit. (check-in: 45a3213d23 user: drh tags: trunk)
17:38
Fix the clean-autosetup target in Makefile.in so that it does not fail even in cases where gmake is unavailable. (check-in: 207ca21bd7 user: drh tags: trunk)
17:23
Extra defenses against UAF when failing to allocate a transient cursor. No known path to a UAF currently exists. This change just helps with the static analysis to prove it. (check-in: bae0581111 user: drh tags: trunk)
15:59
Update this branch so that it works with ZipVFS. (Closed-Leaf check-in: 68eb7a64d0 user: drh tags: reuse-schema-ro-waljrnl)
15:40
Update this branch so that it works with ZipVFS. (Closed-Leaf check-in: bc71b0a0b3 user: dan tags: readonly-ignore-wal-jrnl)
11:53
When building a shared library on Mac, one must specify the original *.o files that go into that library. It does not work to specify a prior shared library containing a subset of the files to be included. (check-in: 5adc7d5dab user: drh tags: trunk)
11:21
Omit unnecessary bold text in ./configure output. (check-in: d1368dc12b user: drh tags: trunk)
11:19
Improved differentiation between antirez and msteveb linenoise. (check-in: cfb4bfcf14 user: drh tags: trunk)
11:04
The presence or absence of the linenoise-ship.c source file is sufficient to differentiate Antirez linenoise from MSteveB linenoise. (Closed-Leaf check-in: 28cc77b916 user: drh tags: linenoise-detection)
09:25
Add a missing 'close' call to proj-file-content-list. (check-in: 005702f334 user: stephan tags: trunk)
08:12
Add -trim flag to proj-file-content. (check-in: babf66f5c7 user: stephan tags: trunk)
08:03
Remove some proj-assert checks which are not valid on OpenBSD. Ensure that queued up notices about TCL warnings are displayed before leaving sqlite-check-tcl. (check-in: 3447308f3f user: stephan tags: trunk)
07:30
When reading in .default-CFLAGS, trim it. (check-in: a62a5171ac user: stephan tags: trunk)
07:20
Add the .POSIX special target to the main makefiles to hint to the make impl that it should behave POSIXly-correct. Fix the default file extension for static libs in main.mk. (check-in: 2c615d3a32 user: stephan tags: trunk)
07:01
Add more deps to T.tcl.env.sh so that it gets rebuilt if configure is run with a different --with-tcl value. Remove all references to the superfluous XYZdir makefile vars conventionally set by the autotools (they're just noise in this build). (check-in: 831665101e user: stephan tags: trunk)
06:52
If a file named .default-CFLAGS exists in the build dir, use its contents as the default value of the CFLAGS unless it's overridden by being passed in or in the environment. (check-in: 731d333c22 user: stephan tags: trunk)
06:38
When --with-wasi-sdk is active, temporarily swap CC and CC_FOR_BUILD for purposes of looking for APIs required by B.cc. (check-in: 435f2ee818 user: stephan tags: trunk)
05:47
Change default CFLAGS to {-g -O2} to match the legacy build. (check-in: 5117749429 user: stephan tags: trunk)
01:51
Fix a corner case in automatic TCLLIBDIR detection: if the $auto_path list is not empty but none of them refer to an existing dir, the last dir in that list would have been accepted as the TCLLIBDIR. It will now error out instead. (check-in: 1d2ecae130 user: stephan tags: trunk)
00:56
Reimplement how the TCL-related environment vars are made available to make recipes which need them, reducing the console noise and consolidating it with the has_tclconfig flag file. It now uses a generated shell snippet which it sources, rather than inlining all of that shell code. (check-in: 0cdfd142e1 user: stephan tags: trunk)
2024-10-30
23:10
Minor cleanups to the linenoise flavor detection test. (check-in: 3be32de162 user: stephan tags: trunk)
22:49
Move the linenoise flavor check from auto.def to proj.tcl for re-use in downstream projects. (check-in: 84e503dc1e user: stephan tags: trunk)
22:41
Expand [c0048e4482e9] to determine the linenoise API flavor via a compile test rather than guessing based on the filename. (check-in: dbf0079190 user: stephan tags: trunk)
22:09
proj.tcl/main.mk doc updates. No functional changes. (check-in: e06574c6b4 user: stephan tags: trunk)
19:13
Adjust Makefile.in to honor the CC environment variable. Add the "show-variables" target to main.mk, for debugging. (check-in: e5f1a01f9f user: drh tags: trunk)
18:24
Add extra logging to analyze COMMIT commands. (check-in: 7dbb43bd30 user: dan tags: cf8f1552-commit-instr)
14:24
Merge the readonly-ignore-wal-jrnl feature into a sub-branch of reuse-schema. (check-in: 67087fe433 user: drh tags: reuse-schema-ro-waljrnl)
14:03
Fix the CLI so that it can use either the canonical Antirez linenoise (with HAVE_LINENOISE=1) or Steve Bennett's enhanced linenoise that works on the Win32 console as well as on Unix (with HAVE_LINENOISE=2). The ./configure script detects which one to use and sets HAVE_LINENOISE accordingly. (check-in: c0048e4482 user: drh tags: trunk)
13:47
Require the SQLITE_ENABLE_READONLY_WALJOURNAL pre-processor macro to activate the new feature on this branch. (check-in: 21ed4e7886 user: dan tags: readonly-ignore-wal-jrnl)
11:21
Merge latest trunk changes into this branch. (check-in: 403e01b03c user: dan tags: readonly-ignore-wal-jrnl)
11:21
Fix a problem that could occur if a read-only connection switches its journal mode from "persist" to "off" or "memory" when the file-system contains a hot-journal created by a "PRAGMA journal_mode = wal" command. (check-in: 85b5ed0253 user: dan tags: readonly-ignore-wal-jrnl)
05:07
Clean up and add docs to the TCL vetting steps. Make warning and error messages bold if stdout isatty. (check-in: 47157dcf9e user: stephan tags: trunk)
04:07
Remove accommodation of the legacy-named shared libraries from the installation rules, per discussion. Rename install-includes to install-headers. Quote installation target dir names "just in case". (check-in: 80584e165e user: stephan tags: trunk)
03:51
Generic makefile cleanups. (check-in: 6f86ff2e8c user: stephan tags: trunk)
02:06
Re-enable exporting of TCLLIBDIR at configure-time so that clients can override it once there rather than having to override it on an arbitrary number of make invocations (which they can still do, but now need not). Based on feedback in forum post 38f6988e57b. (check-in: ee6e15f12e user: stephan tags: trunk)
01:47
When calculating the TCLLIBDIR in main.mk, allow the user to override it using an environment var or make var assignment, per feedback in forum post 38f6988e57b. (check-in: 838633182c user: stephan tags: trunk)
00:35
Replace 3 instances of the == 'test' shell command operator with =, as == is apparently not as portable across shells. Problem reported in forum post 14274389fb2. (check-in: 68199c40fe user: stephan tags: branch-3.47)
2024-10-29
23:42
Split the core-most CFLAGS, which should not be overridable (like -fPIC), into CFLAGS.core, so that went CFLAGS=... is passed on in a make invocation the -fPIC flag is not lost (as reported in forum post 39f8c543). (check-in: f5899d22c6 user: stephan tags: trunk)
23:19
Try to detect if --with-readline-cflags is passed a non-cflags value, e.g. readline/readline.h, and fail loudly if it is. The legacy configure accepted that formulation but silently did nothing useful with it and that formulation now causes the auto-completion test to fail, as reported in forum post f13b8e8f38402367. (check-in: c97f34d064 user: stephan tags: trunk)
20:27
General auto.def cleanups and docs. (check-in: e2f41c2540 user: stephan tags: trunk)
20:27
Add fault-injection tests for the new code on this branch. (check-in: 349b2d8957 user: dan tags: readonly-ignore-wal-jrnl)
19:34
Allow read-only connections to ignore hot journals created by "PRAGMA journal_mode = wal". (check-in: d003480db7 user: dan tags: readonly-ignore-wal-jrnl)
19:03
Reformulate the readline completion signature compatibility test so that -Wunused-variable in the CFLAGS does not cause it to fail. Problem reported via email. (check-in: 3891669a3f user: stephan tags: trunk)
18:50
Rename an almost-name-colliding auto.def function. Fix a refactoring-induced change which broke implicit lookup of tclConfig.sh. Add msg-debug proc to enable toggling of developer-level debug messages via a configure argument. (check-in: 265ba15df1 user: stephan tags: trunk)
17:55
Remove some extraneous configure output. (check-in: 2234569edb user: stephan tags: trunk)
14:22
Fix a typo in LICENSE.md (check-in: decc600348 user: drh tags: trunk)
08:42
When either --readline or --editline are explicitly provided but the corresponding feature is not found, fail fatally. If not explicitly requested, simply disable that feature if the lib is not found. (check-in: 1d24a29c6e user: stephan tags: trunk)
08:18
Minor --help text tweak. (check-in: 80ac10ed8d user: stephan tags: trunk)
08:14
Add proj-assert proc and add a couple of asserts to the editline/readline checks. (check-in: db9870caa8 user: stephan tags: trunk)
08:01
Teach configure --editline to report itself to shell.c as either HAVE_EDITLINE or HAVE_READLINE, depending on which headers are available (editline/readline.h or readline/readline.h, both of which work and some systems only have the latter), but then link against libedit regardless of which one shell.c thinks it is using. (check-in: 85077b20e6 user: stephan tags: trunk)
04:21
Remove LDFLAGS_LIBZ from sqlite3.pc.in (pkg-config) because it's not needed by the library, only the shell. Re-enable the notice about --disable-static only being partially true. (check-in: e03c564aff user: stephan tags: trunk)
03:29
Remove some dead auto.def code. Link tclsqlite3 shell against the .so instead of .a, analog to [45315f8f275d]. Move some header file tests which are only needed for jimsh into the jimsh compilability check block. (check-in: 9a259026ae user: stephan tags: trunk)
2024-10-28
22:35
Enclose the generated "sqlite3.c" and "sqlite3.h" in a single big #ifdef so that if they get truncated by more than a little whitespace, they will not compile and the truncation can be easily detected. (check-in: c3b624e2a9 user: drh tags: trunk)
19:19
Remove unnecessary install-sh and spec.template files. (check-in: 3acb6d789e user: drh tags: trunk)
18:41
Minor makefile formatting cleanups. No functional changes. (check-in: 10b2cfdccd user: stephan tags: trunk)
18:30
Calculate TCLLIBDIR in the makefile targets which use it, rather than via the configure script. This enables its use in static makefiles. (check-in: 6b1494cecb user: stephan tags: trunk)
17:30
Remove the ltmain.sh autotools remnant. (check-in: dad5eb9393 user: stephan tags: trunk)
17:27
Remove the never-used and never-documented and long-ago deprecated user-authentication feature option. [65884d4f81a4705b]. (check-in: 3a3f7bf430 user: drh tags: trunk)
17:20
Perform some makefile acrobatics to get the tclConfig.sh state applied for static makefiles. (check-in: 9b141d108b user: stephan tags: trunk)
16:31
The async extension was superseded by WAL mode about 11 years ago, and has long been deprecated. Remove it from the source tree. (Anybody who really needs it can still dig it out of the historical records.) (check-in: f98da150a9 user: drh tags: trunk)
16:28
Have sqlite3_rsync avoid write-locking the origin database. (check-in: b7eb653050 user: dan tags: trunk)
15:38
Omit the antiquated and long-unsupport async extension since it has been superseded by WAL mode for over a decade. (Closed-Leaf check-in: 10b1b86821 user: drh tags: omit-async)
14:53
Omit ext/consio from the tree. No longer needed or supported. (check-in: 1ce8507f73 user: drh tags: trunk)
14:46
Update Makefile.linux-generic to account for recent var renaming. (check-in: 6cb7cb7e33 user: stephan tags: trunk)
14:24
Link libtclsqlite3.so to libsqlite3.so, not libsqlite3.a. (check-in: 45315f8f27 user: stephan tags: trunk)
14:16
Rename the 'hwaci' auto.def utility API to the more generic 'proj' API, per /chat discussion. Fix a function name typo which caused readline detection to kill the configure in one code path. (check-in: e20610f06b user: stephan tags: trunk)
13:16
Remove the long-unused, legacy vsixtest/ logic from the source tree. (check-in: 45ec9415b2 user: drh tags: trunk)
11:13
Simplify how hwaci-xfer-options-aliases figures out whether flags are provided. (check-in: f06122a543 user: stephan tags: trunk)
10:39
Merge latest trunk changes into this branch. (check-in: bce9a524de user: dan tags: fts5-tokendata-prefix)
02:49
Document why -IPREFIX/include is now part of T.cc.sqlite. (check-in: d64dcb1a89 user: stephan tags: trunk)
02:46
Correct the default config value for HAVE_TCL (0 until proven otherwise) and fix the starting dir for SQLITE_AUTORECONFIG (formerly SQLITE_AUTOREMAKE), as reported in forum post 8ab69387008f2f6c. (check-in: 55f78b6396 user: stephan tags: trunk)
02:11
Have --enable-editline fail rather than emit a warning which would easily be overlooked by automated builds. The error message explains a potential workaround for activating libedit. (check-in: 2bd1b9557a user: stephan tags: trunk)
01:13
Docs and small code cleanups in hwaci-common.tcl. (check-in: 1353d4b600 user: stephan tags: trunk)
00:56
Add --with-icu-config flag to use the icu-config binary to find the required ldflags for linking the ICU libraries. (check-in: 64f33bb125 user: stephan tags: trunk)
2024-10-27
22:34
Expand the 'make help' target and clean up some overly-noisy configure output. (check-in: c895766ed3 user: stephan tags: trunk)
22:18
Re-order the auto.def flags logical groups. Add some discrete bold formatting to select configure output. Remove some dead code. Account for behavior misunderstanding of user-notice. Add the start of a 'make help' target. General cosmetic cleanups. (check-in: ab95ee33df user: stephan tags: trunk)
20:46
Generic cleanups in auto.def and hwaci-common.tcl. (check-in: 428e542452 user: stephan tags: trunk)
20:14
Doc additions and minor cleanups in the --flag alias handling. (check-in: 37a1da0381 user: stephan tags: trunk)
20:04
Rename --with-readline-lib/inc to --with-readline-ldflags/cflags, for clarity, but retain the older names as aliases using autosetup's "hidden alias" feature. Rename the newly-added --with-icu-lib to --with-icu-ldflags (with no backwards compatibility). (check-in: e50a03f9f2 user: stephan tags: trunk)
19:26
When ICU is enabled, ensure that the CLI shell build enables its feature flag and include LDFLAGS_ICU in sqlite3.pc. (check-in: abec913c00 user: stephan tags: trunk)
19:22
Add --with-icu-inc=CFLAGS, but its justification (based on examination of a downstream build script) as iffy, so this needs to be considered more closely before committing to it. (Edit: no, we don't want to pass on any ICU-side CFLAGS when building the library, especially not the one provided by icu-config --clflags.) (Closed-Leaf check-in: 5fc0b460a1 user: stephan tags: configure-with-icu-inc)
18:46
When readline is enabled, attempt to determine whether the completion API is compatible and, if it's not, disable it in the shell app. (check-in: 4564dbe4ac user: stephan tags: trunk)
16:12
Fix build errors in fts5_tcl.c on Mac. (check-in: 133fff8bd7 user: drh tags: trunk)
15:58
Fix test code added by [ba358d26]. (check-in: b7da7980d3 user: dan tags: trunk)
14:41
Merge latest trunk into this branch. (check-in: 740a37c5d5 user: dan tags: fts5-tokendata-prefix)
10:48
Improvements to the PATTERN option of the "testrunner.tcl joblist" command. The pattern match is case insensitive and applies to the state and displaytype in addition to displayname. (check-in: 63a8f60f98 user: drh tags: trunk)
10:33
Help systems still using Tcl8.6 to compile tclsqlite.c by changing a typedef into a #define. (check-in: 82ab8ff399 user: drh tags: trunk)
09:28
Remove some incorrect code comments. (check-in: 6dfda7f579 user: stephan tags: trunk)
08:52
Re-add the --disable-static flag to (mostly) disable static lib build. Some components require the static lib and will trump this preference if they are activated. Delete temp files created by mksqlite3h.tcl. (check-in: e296cd11a2 user: stephan tags: trunk)
08:29
Generic auto.def cleanups. (check-in: 19a5377e60 user: stephan tags: trunk)
08:10
Ensure that --disable-tcl is honored. Move LDFLAGS.icu from the CLI shell target to LDFLAGS.libsqlite3. (check-in: 39ce3f6350 user: stephan tags: trunk)
07:06
configure: add --with-icu-lib=LDFLAGS and --enable-icu-collations. Fix auto-reconfigure when flags contain spaces. (check-in: 2a881a2e1b user: stephan tags: trunk)
06:03
Makefile.in: include CPPFLAGS in the CFLAGS, as the legacy Makefile.in did, because some downstream scripts rely on that. Remove a duplicated TCLLIBDIR assignment. (check-in: 8e352f4199 user: stephan tags: trunk)
05:28
configure: document why --enable-editline does not work and emit a warning with a potential alternative/workaround if it's used. Various cosmetic cleanups. (check-in: ccb8f16f8a user: stephan tags: trunk)
04:27
Bring the automated readline detection up to parity with the legacy configure script. (check-in: 2ddeb7a8f5 user: stephan tags: trunk)
02:27
Rename --with-readline-ldflags/cflags to --with-readline-lib/inc because it turns out that ldflags/cflags have (when passed an explicit value) the same semantics the legacy lib/inc flags. Still to-fix is that the no-flag-given readline search behavior differs, and is much more limited, from the legacy configure behavior. (check-in: 8f6897b92c user: stephan tags: trunk)
02:08
Correct sqlite3.pc to represent the library, not the CLI shell. Remove the half-baked an unused READLINE_H config define. Internal tcl doc fixes. (check-in: c8c70353bb user: stephan tags: trunk)
2024-10-26
21:51
Get --with-linenoise=DIR configure flag working. (check-in: 66ce47e5de user: stephan tags: trunk)
19:16
Remove the install-lib makefile dep from install-tcl, as it breaks non-root-user invocations of 'make install-tcl' when the --prefix is left at its default and --with-tcl is explicitly provided. (check-in: e7eabfb61f user: stephan tags: trunk)
18:34
configure flag --disable-readline now trumps --with-readline-... (check-in: b66076e51b user: stephan tags: trunk)
18:17
Add new configure --with-readline-ldflags/cflags/header flags as brute-force method for clients to tell configure how to compile and link against readline. (check-in: eaa3a8053e user: stephan tags: trunk)
18:09
Add test case for fts5 trigram tokenizer. (check-in: ba358d265b user: dan tags: trunk)
17:47
In Makefile.msc, build jimsh0.exe locally, not in the source directory. (check-in: 1b9eb4564b user: drh tags: trunk)
16:04
Remove LDFLAGS_ZLIB from sqlite3.pc.in because -lsqlite3 already includes that. (check-in: 47e50fa84d user: stephan tags: trunk)
16:03
Patch bundle accumulated via /chat: add missing --enable/disable-shared flag to configure script and update testrunner.tcl for other configure script flag changes. (check-in: 32fc9c3f62 user: stephan tags: trunk)
11:18
Fix a bug in the computation of LDFLAGS.libsqlite3 introduced by [63218898ed0a6d46]. (check-in: 58373d523c user: drh tags: trunk)
04:31
Add missing B.exe extension to src-verify, as reported in the forum. (check-in: 2801fb6507 user: stephan tags: trunk)
03:30
Doc typo fix. (check-in: da50e85d9a user: stephan tags: trunk)
03:22
Rephrase 'older' as 'legacy' in the docs from [0a50e33051] and [2b2ca7dec18d]. (check-in: d212cc3682 user: stephan tags: trunk)
03:19
Expand the libtool-style link support from [0a50e33051] such that if INSTALL_SO_086_LINKS=1 is passed to 'make install' then the libtool-style names are always linked in, regardless of whether they already existed or not. In either case, we unconditionally remove libsqlite3.la because it cannot work with the newly-installed non-libtool .so file. (check-in: 2b2ca7dec1 user: stephan tags: trunk)
03:05
Disable generation of config.defines.json until/unless it proves interesting. Honor the --disable-largefile flag. When installing libsqlite3.so and an older-style libtool installation is found, re-link the libtool-generated files to the newly-installed ones to retain their historical names. (check-in: 0a50e33051 user: stephan tags: trunk)
2024-10-25
23:45
Correct unresolved @LIBS@ placeholder in sqlite3.pc.in. (check-in: 63218898ed user: stephan tags: trunk)
23:25
Use (cc-with {-includes stdint.h}) when checking for the various int types because, despite it being C99, it turns out that we do indeed use it if it's available. (check-in: 51a9278134 user: stephan tags: trunk)
23:13
When --with-tclsh=X is used, use X for all TCL purposes, including in-tree code generation, per developer request. (check-in: 12498e55c0 user: stephan tags: trunk)
23:04
Fix BUILD_CFLAGS (for B.cc) to not inherit CFLAGS (which are only for T.cc). (check-in: ffdce13deb user: stephan tags: trunk)
23:03
Experimentally: when ./configure CC=foo is used in a non-cross-compilation build and CC_FOR_BUILD is not explicitly provided, force CC_FOR_BUILD to default to CC. This is debatable - see the code comments for the justification. (check-in: a49bee6841 user: stephan tags: trunk)
22:44
Rename VERSION_XYZ to the more conventional PACKAGE_VERSION and remove the unused VERSION_XY. (check-in: 2d2f6dfdeb user: stephan tags: trunk)
20:21
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 12fc5fd5e0 user: drh tags: reuse-schema)
20:06
Merge the latest trunk enhancements and especially autosetup into the bedrock branch. (check-in: 86a305b900 user: drh tags: bedrock)
19:40
Merge the latest trunk enhancements and especially the autosetup changes into the wal2 branch. (check-in: 4ddea432bb user: drh tags: wal2)
19:32
Merge the latest trunk enhancements and especially the new autosetup changes from trunk into the begin-concurrent branch. (check-in: af43791d47 user: drh tags: begin-concurrent)
18:37
Update special logging messages on this branch to say "v=6" instead of "v=5". (check-in: af4e778bd3 user: dan tags: cf8f1552-commit-instr)
18:24
Reduce the number of malloc()/free() calls that may occur when a BEGIN CONCURRENT transaction is committed. (check-in: fcd68bebf2 user: dan tags: cf8f1552-commit-instr)
16:20
Merge the latest trunk enhancements into the lateral-join branch. (Leaf check-in: e7f27bbdf4 user: drh tags: lateral-join)
15:28
Update the compile-for-*.md documents. (check-in: c4da7fa279 user: drh tags: trunk)
14:39
Rework the configure+make system to use autosetup rather than autoconf. Autosetup runs faster and is easier to maintain, and it allows for common targets (such as "sqlite3" and "sqlite3.c") to be built within having to install "tclsh". (check-in: d8c0e01842 user: drh tags: trunk)
14:36
Restore the amalgamation-tarball and snapshot-tarball targets, at least for now. (Closed-Leaf check-in: 1baf4b9488 user: drh tags: autosetup)
13:56
Minor auto.def cleanups and doc addtions. (check-in: ea53aba82b user: stephan tags: autosetup)
12:22
New jimsh0.c file for autosetup. (check-in: cfacf86411 user: drh tags: autosetup)
12:06
Update the LICENSE.md file to describe BSD-licensed code that is included in the repository as a convenience to developers but which is not itself actually a part of SQLite. (check-in: deb5994bb1 user: drh tags: autosetup)
05:53
Ensure that jimsh is built in the proper dir in an out-of-tree build and that jimsh0 is cleaned up by distclean. (check-in: e0286e258b user: stephan tags: autosetup)
04:48
Rename config-defines.json to config.defines.json for consistent with other generated config.* files. Rename --defs-json-include-lowercase to the even less wieldy --defines-json-include-lowercase. (check-in: 131a2a7ef8 user: stephan tags: autosetup)
04:39
Add --defs-json-include-lowercase configure flag to cause config-defs.json to include lower-case defines, which are primarily the various build-related system paths. (check-in: 0f2555ea3c user: stephan tags: autosetup)
04:16
Internal cleanups and docs in hwaci-common.tcl. (check-in: 30699b57d2 user: stephan tags: autosetup)
03:56
Docs related to the -array defs-dump option. Rename some internal-use hwaci-common.tcl APIs after discovering that a - as a symbol suffix fails for var derefs (but works for procs calls). (check-in: 0d5da3888e user: stephan tags: autosetup)
03:35
Experimentally add the -array formatting option to hwaci-dump-defs-json and emit OPT_FEATURE_FLAGS/OPT_SHELL in both flat string and array forms. (check-in: ce6bc4603c user: stephan tags: autosetup)
03:18
./configure now emits config-defs.json, a JSON-formatted counterpart of the DEFS=... info which the pre-built autotools bundles emit. (check-in: 800b083c3a user: stephan tags: autosetup)
2024-10-24
19:56
The "WITHOUT_JIMSH=1" option on the nmake command-line forces the use of standard TCL for building, instead of jimsh0. (check-in: 9f861f66e2 user: drh tags: autosetup)
19:31
Patch sqlite3_rsync.c to disable undesirable automatic line ending conversions on Windows. (check-in: e3c27c6d8a user: drh tags: branch-3.47)
19:17
Basic builds now appear to work using jimsh0 on Windows. (check-in: d8f5193970 user: drh tags: autosetup)
17:16
Fix a bug in jimsh0.c for when it is compiled using MSVC. (check-in: f7def0be74 user: drh tags: autosetup)
16:02
Add missing ZERO_ARGUMENT_GENERATE_SERIES checks to ext/misc/series.c. (check-in: 31e104cc40 user: stephan tags: branch-3.47)
15:58
Add missing ZERO_ARGUMENT_GENERATE_SERIES checks to ext/misc/series.c, as reported via support mail. (check-in: 5a8e3915ee user: stephan tags: trunk)
15:57
Add missing ZERO_ARGUMENT_GENERATE_SERIES checks to ext/misc/series.c, as reported via support mail. (Closed-Leaf check-in: cd82e4c0f5 user: stephan tags: ifdef-SQLITE_CORE)
15:57
Fix the new tool/cp.tcl so that it works with older TCL versions, such as jimtcl. (check-in: 61f18c9618 user: drh tags: autosetup)
15:36
Fix harmless compiler warnings. One of the warnings was code that deliberately committed memory errors to test the systems ability to cope. But compilers don't allow that any more, so we'll have to leave that capability untested. (check-in: 7e7b3b2edb user: drh tags: autosetup)
15:14
Add the tool/cp.tcl script and use it to simplify Makefile.msc. (check-in: b7db2146a8 user: drh tags: autosetup)
14:33
Back out [bd66222721] because it causes conflicts with test runs, apparently due to .o files being built with different flags. This means that the CLI shell currently does not honor --disable-amalgamation. (check-in: b063317352 user: stephan tags: autosetup)
13:27
Tweaks to help make jimsh0 usable to build using nmake. Does not quite work yet, but getting closer. (check-in: e911303b8d user: drh tags: autosetup)
12:57
Minor makefile tweaks to account for customizations via a custom hand-built makefile. (check-in: 7f92e820e6 user: stephan tags: autosetup)
12:18
Fix jimsh0.c so that it compiles using MSVC: "cl jimsh0.c" (check-in: f531825d4e user: drh tags: autosetup)
12:06
Fix an inconsistency in the way SQLITE_CORE is used in fts3.c. (check-in: d4816e534a user: dan tags: trunk)
12:03
Fix the sqlite3(.EXE) build to honor --disable-amalgamation. (check-in: bd66222721 user: stephan tags: autosetup)
11:20
Merge all the latest trunk enhancements into the autosetup branch. (check-in: d0554ac468 user: drh tags: autosetup)
11:11
Update the version number for the TEA extension. (check-in: 56353bcffa user: drh tags: autosetup)
07:44
Beginnings of rephrasing #if SQLITE_CORE to #ifdef/ifndef for consistency, as discussed in forum post cea40371c5e34b09. (check-in: 58d91abf0c user: stephan tags: ifdef-SQLITE_CORE)
07:31
Various build cleanups centered around straightening out various uses of CFLAGS and its cousins. Teach Makefile.linux-generic to figure out the TOP dir on its own (a GNU Make-ism, but it's a Linux-specific makefile). (check-in: 58a0f7e79c user: stephan tags: autosetup)
05:33
More potentially-controversial makefile symbol renaming. This is simply more readable to my eyes. (check-in: 6d4d1d5fef user: stephan tags: autosetup)
05:03
Bump version number to 3.48.0 (in this branch only - in trunk, doing so requires a specific autoconf version) and rename the RELEASE and VERSION makefile symbols for clarity's sake. (check-in: 4193d90f21 user: stephan tags: autosetup)
04:56
Potentially controversial/unconventional makefile symbol renamings and docs explaining them. (check-in: 7eceb7539d user: stephan tags: autosetup)
04:34
Generic build cleanups. (check-in: be7b32a77f user: stephan tags: autosetup)
03:50
Get Makefile.linux-generic (formerly Makefile.linux-gcc) working with jimsh in out-of-tree builds. Pass on -DHAVE_READLINE=1 to the sqlite3 shell if configure detects it. (check-in: a555ff6dbc user: stephan tags: autosetup)
03:14
General make cleanups. Start adding a sanity-check mechanism to main.mk which does basic validation of the vars it expects to be set by the file which includes it. Get Makefile.linux-gcc working for the core-most rules. (check-in: 85b2c73ccb user: stephan tags: autosetup)
01:26
Rename some build vars for legibility. Fix hwaci-make-from-dot-in when the input file list is multi-line. (check-in: fdb5844215 user: stephan tags: autosetup)
00:02
Fix out-of-tree builds configured with --disable-amalgamation. (check-in: 182dac1c46 user: stephan tags: autosetup)
2024-10-23
17:40
Remove unused configure check for clang-18. (check-in: d73ac7286a user: stephan tags: autosetup)
17:17
Remove three autotools files which are not needed in the autosetup port. (check-in: fc20861443 user: stephan tags: autosetup)
17:16
Extra logging to debug slow commit statements. (check-in: 9cafae1fff user: dan tags: cf8f1552-commit-instr)
16:59
Fix a #define typo in jimsh0.c, eliminating the need to explicitly pass -DJIM_COMPAT when building it. This fix has since made its way upstream. (check-in: 9b105abf6f user: stephan tags: autosetup)
16:46
After compiling jimsh, run sanity tests on it to ensure that it is built with -DJIM_COMPAT and one of (-DHAVE_REALPATH, -DHAVE__FULLPATH). (check-in: ea6a14a6e6 user: stephan tags: autosetup)
16:03
Work around a minor JimTCL regexp incompatibility in tool/vdbe-compress.tcl. Summary: it thinks that backslash-escaped octal values are back-references, which it does not like. (check-in: aeac23359b user: stephan tags: autosetup)
15:13
Remove the configure-script VERSION check from tool/srctree-check.tcl, as it's not relevant in the autosetup build. (check-in: 6c5826d752 user: stephan tags: autosetup)
15:05
Add missing export of LDFLAGS_DLOPEN to Makefile.in. (check-in: d18af84bf7 user: stephan tags: autosetup)
11:33
Reorder conditions in sqlite3PagerDirectReadOk() for coverage. (check-in: da9124fee2 user: drh tags: trunk)
11:06
Fix harmless compiler warnings in wherecode.c. One such warning was identified by forum post 721675f007 and the other was found by tool/warnings.sh. (check-in: 987b96aa63 user: drh tags: trunk)
10:36
Add two new #include statements to the composite "fts5.c" file that is constructed as part of the build process. These #includes are no-ops in the SQLite amalgamation (and are commented out automatically by the amalgamation builder) but are needed if the FTS5 extension is built separately, it seems. Enhancement request. (check-in: 1bf8daeb24 user: drh tags: trunk)
02:36
Another fix for autosetup/autosetup-find-tclsh for the case where a tclsh is found on the system. (check-in: 19d78fcef4 user: stephan tags: autosetup)
02:22
Latest autosetup/autosetup-find-tclsh from autosetup ticket #67. (check-in: 0e33f6cd48 user: stephan tags: autosetup)
02:17
Reorder some auto.def code to avoid breaking --help. (check-in: 151d7dfc8d user: stephan tags: autosetup)
02:11
Minor cleanups in the --with-wasi-sdk bits. (check-in: d952c17981 user: stephan tags: autosetup)
01:59
Get auto.def handling the case that no tclsh is installed in a default location. If not, use jimsh if we can find realpath(), else bail out. (check-in: 359741bc76 user: stephan tags: autosetup)
01:33
Fix /dev/null and stderr redirection ordering in autosetup/autosetup-find-tclsh so that the extraneous strlcpy()/snprintf()/rand() warning output from ld on OpenBSD does not break detection of jimsh0. (check-in: cd447e50d1 user: stephan tags: autosetup)
01:18
Use pkg-config for readline detection, if available. Unrelated minor tcl cleanups. (check-in: 3a41ac08a4 user: stephan tags: autosetup)
2024-10-22
20:16
Changes to EXPLAIN QUERY PLAN to identify covering index plan that use indexes on expressions. (check-in: 29fb4919b6 user: dan tags: trunk)
20:09
Add the "halt" command to testrunner.tcl (check-in: 2cc25d5dbb user: drh tags: trunk)
19:33
Add the SQLITE_IOCAP_SUBPAGE_READ bit to the possible returns values from xDeviceCharacteristics method of the system-IO abstract class. The direct-overflow-read optimization is disabled for any VFS that does not set this bit. The bit is set for standard VFSes. (check-in: 6e7d498cda user: drh tags: trunk)
18:26
Rename to SQLITE_IOCAP_SUBPAGE_READ. (Closed-Leaf check-in: dd446ef181 user: drh tags: bypass-iocap)
18:00
Add the SQLITE_IOCAP_BYPASS device characteristic. Do not allow the SQLITE_DIRECT_OVERFLOW_READ optimization if that capability is missing. (check-in: f50ae00ce9 user: drh tags: bypass-iocap)
17:57
Minor build docs and cleanups. (check-in: 0eb96ea2d1 user: stephan tags: autosetup)
16:26
Add still more logging to determine why schema loads are so slow in some circumstances. (check-in: d02ec06e5b user: dan tags: cf8f1552-commit-instr)
16:19
Do not typedef Tcl_Size if it is already #defined. (check-in: 53491688cf user: drh tags: trunk)
13:02
Minor cleanups to how configure generates tool/emcc.sh. (check-in: 4484b46236 user: stephan tags: autosetup)
12:56
Teach ext/wasm/GNUmakefile to use tool/emcc.sh and fix a syntax error in tool/emcc.sh.in. Work around a JimTCL incompatibility in tool/mkshellc.tcl. (check-in: 24e0f6ecc6 user: stephan tags: autosetup)
10:29
Further changes to sqlite3_rsync.c to work around Windows issues. (check-in: e2bd3219d9 user: drh tags: trunk)
09:43
Set I/O mode to binary in Windows in sqlite3_rsync. (check-in: 6717528744 user: drh tags: trunk)
03:56
After discussing [4d4423df8d14] with Steve Bennett, do not prepend $prefix/bin to the search path for binaries, as that path is commonly used for cross-compiled targets and we want binaries which will run on the build host. (check-in: f2008a7d79 user: stephan tags: autosetup)
03:33
Touch configure-generated files at configure-time even if autosetup does not update them because their contents would not be changed. Works around wonky deps causing too-frequent rebuilds. (check-in: 339b48af17 user: stephan tags: autosetup)
03:12
Rename hwaci-error to the more descriptive hwaci-fatal. Use autosetup's file-isexec instead of [file executable] for portability. Remove the binary file lookup cache - unnecessary complexity. When searching for tools like tclsh, check under $prefix/bin before checking the $PATH. This seems like the right thing to do, but the fact that autosetup's file-search API's do not do that by default leaves some room for doubt about the wisdom of this change. (check-in: 4d4423df8d user: stephan tags: autosetup)
2024-10-21
22:45
In testrunner.tcl: Better estimates for ETC (Estimated Time to Completion). Show the ETC even for the single-line status reports. (check-in: 2a2f5f4e37 user: drh tags: trunk)
22:15
Bring checksymbols target up to date and add a TODO based on a feature request from the forum. (check-in: c00a03256b user: stephan tags: autosetup)
21:53
Add sqlite3rebaser_... to the API symbols accepted by the 'checksymbols' makefile target. (check-in: 0284590f21 user: stephan tags: trunk)
21:32
Resolve two build FIXMEs. (check-in: 4de51c165c user: stephan tags: autosetup)
21:22
Get most of the numerous misc tool binaries building. (check-in: fa74cbb40c user: stephan tags: autosetup)
20:12
Simplify how the targets which may or may not be enabled, depending on config flags, are formulated in main.mk. (check-in: 7bea793ce4 user: stephan tags: autosetup)
19:51
More build doc tweaks and get ./startup building. (check-in: cee285029c user: stephan tags: autosetup)
17:50
Start moving most Makefile.in docs over to main.mk. Fix compilation of tclsqlite.c. (check-in: 5b154e08ab user: stephan tags: autosetup)
17:13
Update the reuse-schema branch to version 3.47.0 (check-in: d49d282795 user: drh tags: reuse-schema)
17:10
Update the bedrock branch to version 3.47.0 (check-in: d2d954d43a user: drh tags: bedrock)
17:05
Update the wal2 branch to version 3.47.0 (check-in: d34b6a9138 user: drh tags: wal2)
17:00
Update the begin-concurrent branch to version-3.47.0 (check-in: 457bb035e3 user: drh tags: begin-concurrent)
16:30
Version 3.47.0 (check-in: 03a9703e27 user: drh tags: trunk, release, major-release, version-3.47.0)
16:06
Add docs introducing how to define and use autosetup configure flags. Use -DJIM_COMPAT when building jimsh to force its expr command to be syntax-compatible with canonical TCL. (check-in: a6a275de3d user: stephan tags: autosetup)
14:24
Add a case to testrunner.tcl so that mdevtest can run on openbsd. (check-in: e904b37fb2 user: dan tags: trunk)
13:11
Merge trunk into autosetup branch. (check-in: 347a50e66f user: stephan tags: autosetup)
11:49
Add extra logging to SQL statements used to load the database schema on this branch. This requires SQLITE_ENABLE_STMT_SCANSTATUS. (check-in: 08e1dea9c0 user: dan tags: cf8f1552-commit-instr)
10:47
Avoid using LIKE in sqlite3expert.c, in case "PRAGMA case_sensitive_like" has been used or the "like" UDF replaced by something unexpected. (check-in: 9f642b3dbc user: dan tags: trunk)
2024-10-20
07:19
Fix another problem with ".expert" and virtual tables. Forum post 49d6a19ec. (check-in: 7a7162293c user: dan tags: trunk)
02:47
Build doc touchups. (check-in: 109d441bf1 user: stephan tags: autosetup)
02:35
A possible fix for some as-yet-unused configure code which looks for a module loader. (check-in: c6c799a54b user: stephan tags: autosetup)
01:41
Cosmetic tweaks to auto.def. (check-in: 476d2407e5 user: stephan tags: autosetup)
01:34
Minor doc updates. (check-in: 6578a8d59e user: stephan tags: autosetup)
01:14
Do not check for Emscripten when doing a --with-wasi-sdk build. (check-in: 111cff2cf3 user: stephan tags: autosetup)
01:09
Generic build cleanups and reorgs. (check-in: 365a3d71cf user: stephan tags: autosetup)
2024-10-19
22:45
Add sqlite3_rsync to the docs at the top of mktoolzip.tcl. No code changes. (check-in: 10f5c4a2fc user: stephan tags: trunk)
20:53
More build cleanups and get it working with BSD make (which apparently does not support $<). (check-in: dcf4fc78fb user: stephan tags: autosetup)
20:26
Move most of the makefile code into the static main.mk. (check-in: 09905ed094 user: stephan tags: autosetup)
18:31
Factor out all autosetup-processed @if/@else blocks from Makefile.in in prep for moving most of the makefile code into main.mk (which has, so far, been completely overlooked in this port but will now become the main basis for the static parts of the build). The idea is that all build configuration goes into a platform-dependent makefile which then includes main.mk. (check-in: 707e0f5857 user: stephan tags: autosetup)
16:58
Generic build cleanups. (check-in: 510afccf02 user: stephan tags: autosetup)
13:51
Merge trunk into autosetup branch. (check-in: 2923a8924c user: stephan tags: autosetup)
13:44
Get tool-zip target, and its prerequisites, building. (check-in: 38cc5db3a8 user: stephan tags: autosetup)
13:38
Add missing TEXE suffixes in the tool-zip makefile target. (check-in: 5a594dbcd5 user: stephan tags: trunk)
13:20
Move the #include of hwtime.h from the bottom of util.c to the top of vdbe.c so that it will be available when needed, even for non-amalgamation builds. (check-in: 5f23036a87 user: drh tags: trunk)
13:19
Get more of the test/utility targets building. (check-in: 24c81c6c52 user: stephan tags: autosetup)
13:18
Work around a JimTCL regsub incompatibility in mkccode.tcl. (check-in: c2e5dd791c user: stephan tags: autosetup)
12:47
Get the spell-checking targets working. Rename some symbols. (check-in: e389ef9c14 user: stephan tags: autosetup)
12:39
An assortment of comment typo fixes discovered by aspell. Add several new words to tool/custom.txt. No code changes. (check-in: 59b76a99e4 user: stephan tags: trunk)
11:02
Remove unnecessary VACUUMs from the previous check-in to sqlite3_rsync. (check-in: ad8d481242 user: drh tags: trunk)
00:49
Get mptest(er) building. (check-in: f740f6a444 user: stephan tags: autosetup)
00:16
Fix the sqlite3_rsync utility so that it is able to synchronize a database using a UTF16 text encoding. Forum post e055d50821. (check-in: 981347009c user: drh tags: trunk)
2024-10-18
23:54
Minor doc cleanups in SQLTester.mjs and confirm that the tests pass with both OPFS VFSes. (check-in: ac747d57c2 user: stephan tags: trunk)
23:36
Fix three bugs in SQLTester.mjs which caused --tableresult tests, escaping of SQL values to incorrectly fail, and the --column-names setting to not be reset between tests. (check-in: 779368dd9b user: stephan tags: trunk)
23:10
Fix a var reference typo in SQLTester.mjs. (check-in: 31179fa78e user: stephan tags: trunk)
16:50
Remove the unused dbfuzz2-asan/msan makefile targets. Fix a comment typo in a makefile. (check-in: 07843ac245 user: stephan tags: trunk)
16:47
Remove the problematic dbfuzz2-asan/msan targets, which Richard says are not used anymore. (check-in: 503ce205a1 user: stephan tags: autosetup)
16:39
Get most of the fuzzing-related apps building, sans dbuzz2-asan/msan, both of which refuse to link with clang v18 because it's trying to use -lstdc++ despite the app being only C. (check-in: 3e84345292 user: stephan tags: autosetup)
12:31
Remove a not-strictly-necessary 'undefine' invocation from ext/wasm/GNUmakefile, as it is not compatible with too-old versions of gmake. Resolves the problem reported in forum post e57932e3ccdc2c9c. (check-in: a31a946441 user: stephan tags: trunk)
10:51
Minor enhancements to the compile-for-windows.md document. (check-in: 5f0cc7f264 user: drh tags: trunk)
10:42
Fix typo in the README.txt for the amalgamation autoconf tarball. (check-in: 62d24a69fe user: drh tags: trunk)
01:14
New assert() statements to validate OP_OpenEphemeral logic. (check-in: 6d55c3e238 user: drh tags: trunk)
2024-10-17
23:14
Fix obsolete M4 macro in the configure script for the TEA extension within the autoconf tarball. (check-in: 360613a224 user: drh tags: trunk)
22:20
Merge current trunk into the autosetup branch. (check-in: 352da23b46 user: stephan tags: autosetup)
22:19
General cleanups. Rename BTCL to BTCLSH for some clarity. (check-in: 83eaef7d62 user: stephan tags: autosetup)
18:12
Fixes from code inspection: (1) Extra paranoid defense against integer overflow. (2) Remove a stray blank line in an FTS5 comment. (check-in: 8563728dee user: drh tags: trunk)
16:22
Fix a typo in compile-for-unix.md. Simplify hyperlinks in the compile-for-* documents. (check-in: 8cd7d15774 user: drh tags: trunk)
13:29
Improved README.txt file in the amalgamation-autoconf tarball. (check-in: b781435038 user: drh tags: trunk)
13:00
Attempt to get the TEA builder in the amalgamation-autoconf tarball working using hints from Jan Nijtmans. (check-in: ad9d7bdef9 user: drh tags: trunk)
12:17
Fix the OPFS VFS's xOpen() to honor the read-only flag. Fix the OPFS SAHPool VFS to enable re-installation of the VFS after calling OpfsSAHPoolUtil.removeVfs(). (check-in: 63ee358420 user: stephan tags: branch-3.46)
12:14
Ensure that the OPFS VFS's xOpen() writes back the read-only flag to the output flags. Resolves the problem reported in forum post cf37d5ff1182c31081. (check-in: 0a32624015 user: stephan tags: trunk)
11:12
When calling OpfsSAHPoolUtil.removeVfs(), ensure that the cached result the VFS init is also removed so that the VFS may later be registered again with the same name. Set up test code for the regression reported in forum post cf37d5ff11 (which uncovered the removeVfs() shortcoming) but that test is currently only known to fail with the "opfs" VFS and is not currently set up to fail. (check-in: b7f7a5deea user: stephan tags: trunk)
2024-10-16
15:14
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 93f0febab4 user: drh tags: reuse-schema)
15:09
Merge the latest trunk enhancements into the bedrock branch. (check-in: d5289de411 user: drh tags: bedrock)
15:03
Merge the latest trunk enhancements into the wal2 branch. (check-in: 2e96c8bb7a user: drh tags: wal2)
14:52
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: 92cd032aa9 user: drh tags: begin-concurrent)
14:05
Add has_tclconfig to the tidy makefile target. (check-in: 309e6d6f07 user: stephan tags: trunk)
14:04
Get testfixture building. (check-in: 9a7e56a017 user: stephan tags: autosetup)
13:02
Merge trunk into this branch. (check-in: 9c3bb3dc4f user: stephan tags: autosetup)
11:05
Change the name of the new utility program from sqlite3-rsync to sqlite3_rsync - dash changed to underscore - for consistency with the preexisting sqlite3_analyzer. (check-in: 86e794cbaa user: drh tags: trunk)
10:20
In the unix Makefile, strip compiled binaries prior to adding them to the tool ZIP archive. (check-in: cd8ae6fd71 user: drh tags: trunk)
2024-10-15
22:22
Fix harmless compiler warning in flockCheckReservedLock(). (check-in: f369de3d8f user: drh tags: trunk)
18:45
Fix the "tool-zip" makefile target so that it includes sqlite3-rsync. (check-in: ecdbedb16b user: drh tags: trunk)
14:28
Fix a typo in a comment used to generate document. No code changes. (check-in: 9b4bc5c4c1 user: drh tags: trunk)
14:00
Cross-reference the sqlite3_backup_init() function to the documentation for VACUUM INTO and sqlite3-rsync. Comment changes only. No changes to code. (check-in: 405c23ce02 user: drh tags: trunk)
2024-10-14
18:43
Avoid the possibility of buffer overrun in the READ_UTF8 macro by using an less-than operator rather than not-equal-to. (check-in: 20e60bf058 user: drh tags: trunk)
11:48
There is no need to DELETE the content of sqlite_sequence in the output of the CLI ".dump" command because that table will initially be empty if it exists at all. Forum post 2e31f49d004 (check-in: 8d7fe903d0 user: drh tags: trunk)
10:45
The CLI now default to ".crlf ON" in Windows. CSV output always uses CRLF on all platforms. (check-in: 84d19f03b1 user: drh tags: trunk)
09:19
Be consistent about using "CRLF" instead of "CRNL". (check-in: ec4f4cfd5f user: drh tags: trunk)
09:08
Fix a harmless compiler warning in the CLI. (check-in: 31c46e84ff user: drh tags: trunk)
2024-10-12
19:33
Fix a problem with the ".expert" command and queries that use virtual tables. (check-in: 43787b8ec5 user: dan tags: trunk)
18:33
Ensure that test file ext/expert/expert1.test works with non-fts5 builds. (Closed-Leaf check-in: 933dfd0618 user: dan tags: expert-vtab-fix)
18:00
Allow the ".expert" command to analyze statements that use built-in virtual tables. (check-in: a201906cd3 user: dan tags: expert-vtab-fix)
2024-10-11
23:31
Additional clarification in the comments to sqlite3_stdio.c. No changes to code. (check-in: 2db24c5364 user: drh tags: trunk)
20:36
Experimental change to explain query plan to identify covering indexes on expressions. (Closed-Leaf check-in: 3bb03a2891 user: dan tags: eqp-covering-index-on-expr)
19:57
Update comments in ext/misc/sqlite3_stdio.c to reflect the latest enhancements. No changes to code. (check-in: 9621c3b527 user: drh tags: trunk)
19:33
Add the doc/compile-for-unix.md document. (check-in: a3e16e478b user: drh tags: trunk)
19:22
Avoid a segfault when calling src-verify without any arguments. (check-in: c0c4e6f111 user: stephan tags: trunk)
19:18
Add two missing $(BEXE) suffixes, as reported in forum post 9ad28680d3. Problem introduced by [1218a203483cecdc] being incomplete in where it added that suffix. (check-in: de9663c0aa user: stephan tags: trunk)
19:13
Improved instructions in the TEA readme for building the TCL extension. (check-in: bf996f7102 user: drh tags: trunk)
19:08
Update the README for the TEA extension in the amalgamation tarball. (check-in: acc866c8f1 user: drh tags: trunk)
18:59
Avoid running some new tests in lock5.test with the inmemory_journal permutation. (check-in: 0b12e2e55c user: dan tags: trunk)
17:43
Update the autoconf Makefile.msc (check-in: 911ab32997 user: drh tags: trunk)
17:02
An improved method for statically linking sqlite3_analyzer.exe using Tcl9. Enable wildcard expansion of arguments to testfiture on Windows. (check-in: 9b87ea219b user: drh tags: trunk)
14:30
Fix the CSV output mode in the CLI such that the line ending is NL by default but goes to CRLF if ".crnl on" is set. Make the .crnl command available on non-Windows builds. Update the .crnl command such that if it has no arguments it shows the current setting. (check-in: da750e39df user: drh tags: trunk)
14:02
Avoid undesirable NL to CRLF translation when doing binary output to the Windows console. (check-in: d25bdce36a user: drh tags: trunk)
2024-10-10
15:28
Fix a typo in the previous commit. (check-in: 6deb4794f8 user: dan tags: cf8f1552-commit-instr)
14:31
Add extra logging points to the code on this branch. (check-in: f29ff2f308 user: dan tags: cf8f1552-commit-instr)
10:47
Improvements to TCL9 support. Fixes to the Makefiles so that the "install" targets are consistent and so that they work better with TCL9. (check-in: bcfae7183e user: drh tags: trunk)
10:33
For compatibility, allow the TCL interfact to continue working with TCL 8.5. (Closed-Leaf check-in: 69346e9d47 user: drh tags: make-install-fixes)
09:59
Adjustments to the Makefile.msc to get static builds of sqlite3_analyzer.exe working with TCL9. Update the compile-for-windows.md document for TCL9. (check-in: df16d07d8d user: drh tags: make-install-fixes)
2024-10-09
20:05
Improvements to Makefile.msc: (1) Attempt to find sane values for key variables based on the value of TCLDIR. (2) Default to TCLVERSION 90 instead of 86. (3) Add the "tcl-env" target that shows the values of key variables associated with TCL. (check-in: 6b7a789a41 user: drh tags: make-install-fixes)
17:47
Add quotes around $(CC) in tclextension-related targets so that a CC of "ccache cc" works. (check-in: e8f719d13f user: stephan tags: make-install-fixes)
16:32
Fix a problem in the generate_series() extension introduced by [d50b784807333c54]. (check-in: 41d58a014c user: drh tags: trunk)
16:28
Fix the xCheckReservedLock() method of the flock VFS to avoid dropping the file lock. (check-in: f7acb189d8 user: dan tags: trunk)
15:40
Fix the xCheckReservedLock() method of the flock VFS to avoid dropping the file-lock. (Closed-Leaf check-in: 8ffaf85249 user: dan tags: flock-vfs-fix)
13:54
Change the makefile to prefer the use of tclsh9.0 if it is available. (check-in: 28e2b9a23f user: drh tags: make-install-fixes)
13:40
Make it so that the TCL extension installed using "make install" has the same name as the one installed by "make tclextension-install". (check-in: e21fc1ba44 user: drh tags: make-install-fixes)
13:26
Add sqlite3rc.h build. (check-in: 8d5f99f7e3 user: stephan tags: autosetup)
13:20
More work on the tcl build parts. (check-in: 292ad7d519 user: stephan tags: autosetup)
13:19
Changes to the TCL extension and how it is built, suggested by Jan Nijtmans. (check-in: 9c06901932 user: drh tags: make-install-fixes)
11:52
Improved handling of unicode characters in the LIKE optimization. Follow-up to [bce52ce2a6e7f3d3]. (check-in: 9d0eb39804 user: drh tags: trunk)
08:05
Remove extra layer of quotes around install target dirs. (check-in: f2e3cf219e user: stephan tags: autosetup)
07:12
More work on the tcl build bits. (check-in: f00988a909 user: stephan tags: autosetup)
05:28
Generic build cleanups. (check-in: 2cd213b387 user: stephan tags: autosetup)
05:20
Add a few missing $(BEXE) suffixes on makefile targets which are apparently never run on platforms where that var is non-empty. (check-in: 1218a20348 user: stephan tags: trunk)
04:27
More work on the --with-tcl bits. (check-in: 4d4cc49b6a user: stephan tags: autosetup)
04:01
Get much of the --with-tcl-related bits working. (check-in: 4e4a740369 user: stephan tags: autosetup)
2024-10-08
17:27
Enable the ".crnl" command on Windows builds of the CLI even if the SQLITE_U8TEXT_ONLY or SQLITE_U8TEST_STDIO compile-time options are used. (check-in: 6364a2f044 user: drh tags: trunk)
16:33
Fix build portability problems discovered on an ARM OpenBSD system. (check-in: ef5348dc3f user: stephan tags: autosetup)
16:06
Get some basic install rules working. (check-in: e9ab211f82 user: stephan tags: autosetup)
16:05
Make tool/emcc.sh.in Bourne-friendly. (check-in: a69ab88474 user: stephan tags: autosetup)
15:11
Additional improvements to the behavior of ".crnl" in the CLI. The default output mode is O_BINARY so that results are identical on Windows and non-Windows systems. On Windows you can optionally do ".crnl on" to enable NL-to-CRLF conversion on output. Output to Windows console is always O_U8TEXT and so is unaffected by the .crnl setting. (check-in: dbfc10b898 user: drh tags: trunk)
15:08
Add logging to help analyze slow "PRAGMA cache_size = ?" statements. (check-in: cd6f585cad user: dan tags: cf8f1552-commit-instr)
14:07
Fix the .crnl command in the shell so that it does not get undone by calls to print a quoted string or CSV output. (check-in: 6b932337c8 user: drh tags: trunk)
10:10
Allow expressions with subtypes to be read from indexes unless they are being used as direct or indirect parameters to SQLITE_SUBTYPE functions. (check-in: 39a56a23fe user: drh tags: trunk)
00:15
Add an ALWAYS() on a branch in the new indexed-subtype logic. (Closed-Leaf check-in: f150c3c5b8 user: drh tags: indexed-subtype-expr)
2024-10-07
21:04
Add a NEVER() to an unreachable branch in the new indexed-subtype logic. Mark the pi() function as deterministic. (check-in: 50be8f5091 user: drh tags: indexed-subtype-expr)
18:06
The (undocumented) subtype() SQL function should have the SQLITE_SUBTYPE flag. (check-in: c361dd9184 user: drh tags: indexed-subtype-expr)
16:53
Merge the latest trunk enhancements into the indexed-subtype-expr branch. (check-in: 2fe2f37458 user: drh tags: indexed-subtype-expr)
16:11
Add logging to help analyze commit performance. (check-in: c5391f2cc9 user: dan tags: cf8f1552-commit-instr)
12:48
Add the undocumented test/debug function parseuri(), useful for fuzzing. Only appears when compiling with SQLITE_DEBUG. (check-in: 011fab70cb user: drh tags: trunk)
12:24
Fix handling of U+fffd in the LIKE optimization. (check-in: 242cb4bbee user: drh tags: branch-3.46)
12:19
Fix handling of U+fffd in the LIKE optimization. dbsqlfuzz eee57fb9eea1dfa5aa40dfa87865cf8c84d12f96. (check-in: bce52ce2a6 user: drh tags: trunk)
12:15
Check-in to the wrong branch. (Closed-Leaf check-in: 13addee687 user: drh tags: mistake)
11:47
Fix an assert() failure in "PRAGMA integrity_check" that could occur when checking a corrupt database. (check-in: d218993be5 user: dan tags: trunk)
2024-10-06
21:26
Origin should not send content for the lock-byte page to the replica, in sqlite3-rsync. Forum post d14b55e5fa19c25f. (Closed-Leaf check-in: aa9bd711cc user: drh tags: parseuri)
15:01
New SQL function for testing/debugging use only: parseuri(). (check-in: 37d3b6b17e user: drh tags: parseuri)
2024-10-05
22:28
Fix minor problem with error recovery after OOM in the parser. (check-in: aafab58453 user: drh tags: lateral-join)
22:02
Merge the Makefile fix from trunk. (check-in: 9403bbaaff user: drh tags: lateral-join)
21:44
Back out [2f7eab381e16] because the stderr output on systems without gmake causes grief in the testing tools. (check-in: cc6f3de032 user: stephan tags: trunk)
18:10
Allow expressions with subtypes to be read from indexes unless they are being used as direct or indirect parameters to SQLITE_SUBTYPE functions. (check-in: aa440e78e9 user: dan tags: indexed-subtype-expr)
17:37
Experimental change to allow expressions with subtypes to be read from indexes in situations where they are not used as function parameters. (check-in: ac63f98ad8 user: dan tags: indexed-subtype-expr)
15:51
Merge latest trunk changes into this branch. (check-in: a92bb48a48 user: dan tags: lateral-join)
12:06
Merge trunk into autosetup branch. (check-in: 6cbb05fde1 user: stephan tags: autosetup)
12:02
Add ext/wasm to the top-level clean/distclean rules in such a way that any error due to a lack of gmake are ignored. (check-in: 2f7eab381e user: stephan tags: trunk)
2024-10-04
17:02
Fix typo in documentation for SQLITE_SUBTYPE. No code changes. (check-in: 6733893f45 user: dan tags: trunk)
14:49
Ensure that logging is only performed for COMMIT operations that take 2 seconds or longer. (Leaf check-in: 14186d1e8d user: dan tags: bedrock-commit-instr)
14:11
Add further logging intended for use in analyzing COMMIT performance. (check-in: bbbd3d9be8 user: dan tags: bedrock-commit-instr)
2024-10-03
21:00
Add logging to help analyze COMMIT performance. (check-in: 72404dfc0d user: dan tags: bedrock-commit-instr)
16:31
Unconditionally include <ctype.h> in sqliteInt.h, even in builds where it is not needed. (check-in: 825f01d7e2 user: drh tags: trunk)
10:06
Fix to the previous: The dbpageRollbackTo() method should return SQLITE_OK. (check-in: 4dea722112 user: drh tags: trunk)
09:53
Fix missing return value from the new dbpageRollbackTo() callback. (check-in: d1e0992e1f user: drh tags: trunk)
2024-10-02
18:54
Modify the behavior of sqlite_dbpage so that the null-INSERT that truncates a database must be the very last INSERT operation within a transaction in order to be effective. This simplifies the code and also makes the behavior easier to document and understand. (check-in: b869a7d9ce user: drh tags: trunk)
17:43
Fix a typo in fts5delete.test. (check-in: b1f001435e user: dan tags: trunk)
17:04
Add the contentless_unindexed=1 option to fts5. This causes the values of any UNINDEXED columns of a contentless fts5 table to be stored persistently in the database. (check-in: 58313ac59e user: dan tags: trunk)
16:55
Adjust the new truncation behavior of sqlite_dbpage(N,null) such that it causes the database to be truncated to N-1 pages. This makes more since. An error is raised if N is less than 2. (check-in: 7d5ff86ef7 user: drh tags: trunk)
13:26
Remove all use of the "long double" data type from SQLite, as hardware support for long double is increasingly rare and the use of long double creates challenges for some compilers. (check-in: 761d8fd18b user: drh tags: trunk)
11:34
Remove a few more traces of long double from the code. (Closed-Leaf check-in: 11d6a89e4a user: drh tags: omit-long-double)
11:15
Ensure that if sqlite3_snapshot_get() is called immediately after a "BEGIN", then it locks the database such that the returned snapshot object may not be invalidated by a writer or checkpointer until after the sqlite3_snapshot_get() caller has closed its transaction. (check-in: eb5277e490 user: dan tags: trunk)
11:11
Merge latest trunk changes into this branch. (Closed-Leaf check-in: 2b3945e6a5 user: dan tags: snapshot_get-locking)
11:11
Update docs for sqlite3_snapshot_get(). (check-in: 78c3892ab7 user: dan tags: snapshot_get-locking)
2024-10-01
20:38
Rationalize code further. And add tests. (check-in: 0ca002a4ab user: dan tags: fts5-tokendata-prefix)
20:29
Remove all code that makes use of the C-language "long double" datatype. (check-in: f622b52024 user: drh tags: omit-long-double)
19:10
New #ifdefs to omit code that is unused when SQLITE_USE_LONG DOUBLE is defined. (check-in: 98066e2d22 user: drh tags: trunk)
17:57
Another comment about the LONGDOUBLE wasm topic. No code changes. (check-in: 1755831cb1 user: stephan tags: trunk)
17:08
Use the new SQLITE_USE_LONG_DOUBLE to disable long-double support in WASM builds, as they cannot be represented in JS and this saves approximately 5.5kb in the resulting wasm file. (check-in: fa7b56f776 user: stephan tags: trunk)
16:55
Add compile-time option -DSQLITE_USE_LONG_DOUBLE=0 to omit all attempts to use "long double". Or =1 to omit attempts to use the Dekker algorithms to achieve high-resolution floating point. (check-in: ca5964ef70 user: drh tags: trunk)
13:40
Get more of the CLI utils building. (check-in: 6838b7b5d6 user: stephan tags: autosetup)
11:09
Correct missing LDFLAGS_ZLIB for libsqlite3.so. (check-in: 98bbba3a05 user: stephan tags: autosetup)
11:04
Fix reversed logic in the build/target/host names in several hwaci-* functions. (check-in: fde7257ad9 user: stephan tags: autosetup)
10:49
Add an #if'd-out block to sqlite3-wasm.c mentioning the LONGDOUBLE_TYPE, as brought up in forum post cbfb0d0ac. No functional changes. (check-in: 0b83e8f1ef user: stephan tags: trunk)
2024-09-30
19:01
Add static library build. Get build working (for a given value of working) with the --disable-amalgamation flag. (check-in: ddfda58004 user: stephan tags: autosetup)
18:19
Fix the character width tables for the CLI such that all unicode code-points less than 0x300 have a width of 1. This is in fact the case for Mac, Ubuntu, and Windows. (check-in: f0c5a86fef user: drh tags: trunk)
17:57
Merge the latest trunk enhancements, via the wal2 branch, into the bedrock branch. (check-in: fd6ff55141 user: dan tags: bedrock)
17:53
Fix a usan warning in test_hexio.c on this branch. (check-in: 59fba0288d user: dan tags: wal2)
17:44
More generic build tinkering. (check-in: 433bfc7902 user: stephan tags: autosetup)
17:32
Merge the latest trunk enhancements, including fix for assert() failure in fts5, into the wal2 branch. (check-in: ab63561812 user: dan tags: wal2)
17:28
In fts5, avoid starting a new merge of level L if there exists already an ongoing merge of a level less than L. (check-in: 350c6e75ce user: dan tags: trunk)
15:17
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 1ba833743d user: drh tags: reuse-schema)
14:41
Merge the latest trunk enhancements into the wal2 branch. (check-in: 0f9e2fceec user: drh tags: wal2)
14:33
Generic build tinkering. (check-in: b6c1772ce0 user: stephan tags: autosetup)
12:39
Merge all the latest trunk enhancements into the begin-concurrent branch. (check-in: 1bf073d7c0 user: drh tags: begin-concurrent)
2024-09-28
20:45
Rationalize some of the new code on this branch. (check-in: 66f209ba40 user: dan tags: fts5-tokendata-prefix)
19:52
Fix the CLI so that the --bom option only outputs a single BOM, not two. (check-in: 76b6331e6a user: drh tags: trunk)
15:20
Merge trunk changes into this branch. (Closed-Leaf check-in: 81d48df62c user: dan tags: fts5-contentless-unindexed)
15:13
Add another missing mkdir to the wasm build process. (check-in: e815055b32 user: stephan tags: trunk)
15:09
Add tests for DELETE on contentless, contentless-delete and contentless-unindexed fts5 tables. (check-in: 74832fffb6 user: dan tags: fts5-contentless-unindexed)
14:51
Get libsqlite3.so building. (check-in: c65e3679e0 user: stephan tags: autosetup)
13:51
Complete a line of documentation which was interrupted mid-sentence. (check-in: c9cbbeda3d user: stephan tags: trunk)
12:01
wasm: move the makefile-eval-generated fiddle rules into mkwasmbuilds.c. Squelch some warnings from grep when running 'make clean' on a clean tree. (check-in: 0485d1360b user: stephan tags: trunk)
11:23
Ensure that the temporary build dir is mkdir'd by wasm deps which depend on it. (check-in: cabdf97972 user: stephan tags: trunk)
11:03
For wasm builds: automatically use higher optimization (but slower build) levels when a target related to deliverables (as opposed to dev mode) is explicitly invoked. (check-in: 45361ab974 user: stephan tags: trunk)
00:41
Latest upstream autosetup for a --help fix on QNX. (check-in: b9faebbb54 user: stephan tags: autosetup)
00:39
Minor makefile doc fixes. No functional changes. (check-in: b3ad58e1fc user: stephan tags: trunk)
00:37
Merge trunk into autosetup branch for latest wasm pieces. (check-in: c3877d1241 user: stephan tags: autosetup)
00:02
Merge wasm-build-rework branch into trunk. Summary: 1) add optional bare-bones build, stripped of many optional library features, 2) replace much of the hyper-spaghetti wasm-specific makefile code with a more legible static code generator. (check-in: 208c277146 user: stephan tags: trunk)
2024-09-27
23:45
Fix fiddle build broken by recent build-level reworks. Remove a stale reference to an old CSS file. (Closed-Leaf check-in: f904b3b784 user: stephan tags: wasm-build-rework)
19:21
Extra test cases for UPDATEs of contentless tables. (check-in: 4d11d844de user: dan tags: fts5-contentless-unindexed)
19:10
Fix a problem with UPDATE statements that modify the rowid of contentless_delete=1 tables. (check-in: d69abca821 user: dan tags: fts5-contentless-unindexed)
18:32
Fix a problem with UPDATEs that do not modify all UNINDEXED columns of a contentless_delete=1, contentless_unindexed=1 table. (check-in: b6b1db8d34 user: dan tags: fts5-contentless-unindexed)
16:43
Merge trunk into the autosetup branch. (check-in: 9586ea204c user: stephan tags: autosetup)
16:20
Squash sign-comparison warnings reported in forum post 5e605a763a65c3f8. (check-in: e74fce93c5 user: stephan tags: trunk)
13:29
Add basic libreadline detection and build CLI shell. (check-in: 2ba7ab5625 user: stephan tags: autosetup)
12:15
General tinkering and cleanups in the autosetup bits. (check-in: a290e3b15d user: stephan tags: autosetup)
11:35
Merge trunk changes into this branch. (check-in: 4a26a4e001 user: dan tags: fts5-contentless-unindexed)
10:57
Allow UPDATEs of unindexed columns in fts5 contentless_unindexed=1 tables. Testing to come. (check-in: cd36d66c88 user: dan tags: fts5-contentless-unindexed)
09:40
Rename TCL_GENERATOR to BTCL for consistency with BCC/TCC. (check-in: a7ff8f3c2c user: stephan tags: autosetup)
03:16
Disable the optional extending of JimTCL on the grounds of YAGNI. (check-in: f395c269d5 user: stephan tags: autosetup)
03:04
General auto.def cleanups, mostly around JimTCL. Swap out impl for the sqlite_cfg.h generator - this approach is lower-maintenance (requires no hand-maintained template) but may not be compatible with expectations. (check-in: da197946db user: stephan tags: autosetup)
02:35
Tweak build to fall back to system-side tclsh if we cannot find realpath() or _fullpath() for JimTCL (needed for some of the code generator scripts to work). (check-in: b31dbb9945 user: stephan tags: autosetup)
01:42
Run all of the TCL-based code generators using JimTCL. (check-in: 3193b86a91 user: stephan tags: autosetup)
01:30
Generate sqlite3.h/.c with jimsh, somewhat to my surprise. (check-in: c365d8e1f7 user: stephan tags: autosetup)
01:25
Experimentally build shell.c using the autosetup-provided JimTCL. (check-in: 5bd62cdbc4 user: stephan tags: autosetup)
01:04
Remove some gratuitous overengineering before it can spread. (check-in: 94340011ed user: stephan tags: autosetup)
01:00
Get the generated .c/.h files generating. (check-in: e890c8508d user: stephan tags: autosetup)
2024-09-26
22:25
Fix a harmless compiler warning in the CLI. (check-in: 27ef1909bb user: drh tags: trunk)
21:09
Re-indent some tcl code. (check-in: 34ea629a07 user: stephan tags: autosetup)
21:08
Latest hwaci-common.tcl after refactoring to facilitate including a copy in the libfossil tree. (check-in: feea65bcd5 user: stephan tags: autosetup)
19:38
Add the ext/misc/sqlite3_stdio.c portability interface and incorporate it into the CLI, sqldiff, and sqlite3_analyzer. Enhance the CLI with the new ".www" dot-command and related options on .once and .output. (check-in: f97f9944b8 user: drh tags: trunk)
19:16
Provide SQLITE_U8TEXT_ONLY and SQLITE_U8TEXT_STDIO compile-time options to the sqlite3_stdio.c module. (Closed-Leaf check-in: f31588520e user: drh tags: cli-stdlib)
18:40
Get lemon building. Re-indent hwaci-common.tcl for consistency. (check-in: 53dc33d5e2 user: stephan tags: autosetup)
18:13
Resolve a harmless compiler warning in QNX builds. (check-in: 2916460179 user: stephan tags: trunk)
18:02
When possible, avoid taking wal file read-lock 0 in sqlite3_snapshot_get(). (check-in: 34b6ac3d76 user: dan tags: snapshot_get-locking)
14:09
Do not remove *.def in the cleanup rules because auto.def is a required part of autosetup. Remove the .o vs .obj detection/distinction because the Unix-like Windows environments use .o. (check-in: 65eb1072e2 user: stephan tags: autosetup)
13:12
Clarification of the meaning of the nByte parameter to sqlite3_prepare(). Comment and documentation change only - no changes to the code. (check-in: 92d71eee4f user: drh tags: trunk)
12:16
Cleanups of the --with-wasi-sdk bits. Straighten out VERSION vs RELEASE. (check-in: 7638f3ad15 user: stephan tags: autosetup)
08:53
Merge current trunk into this branch. (check-in: 683a9e1e2f user: stephan tags: autosetup)
08:25
Remove a misled acrobatics related to cross-compilation, based on suggestions from Steve Bennett. Add a quick-n-dirty placeholder check for tclsh to move that part along. (check-in: c419168938 user: stephan tags: autosetup)
01:29
Fix shell test cases to account for recent additions to the ".help" output. (check-in: 54c22bc616 user: drh tags: cli-stdlib)
2024-09-25
23:09
Time for a break. (check-in: 1d29cd9095 user: stephan tags: autosetup)
22:13
Integrate the configure-time Emscripten bits. (check-in: 456125a144 user: stephan tags: autosetup)
18:55
Change the way tokendata indexes are collected for prefix queries. (check-in: 204ddf4e72 user: dan tags: fts5-tokendata-prefix)
18:03
Further streamlining of auto.def. (check-in: 74d1243359 user: stephan tags: autosetup)
16:11
Always show HTML table headers in ".www" output mode. (check-in: 660ca5ce66 user: drh tags: cli-stdlib)
15:55
Add the --plain option to the ".www" dot-command. (check-in: a9209519f6 user: drh tags: cli-stdlib)
15:26
Have the zipfile and fileio extensions use sqlite3_stdio.c when it is available - such as when those extensions are preloaded into the CLI. (check-in: 74bbb2b2b4 user: drh tags: cli-stdlib)
14:58
Improve common feature flag handling a bit. (check-in: 8716c35eaa user: stephan tags: autosetup)
14:38
Lots of work on auto.def and the utility tcl lib. Still lots more to do. (check-in: 2141527a38 user: stephan tags: autosetup)
14:09
Redirect timer output just like any other text. (check-in: 3b5ae21074 user: drh tags: cli-stdlib)
13:56
Improvements to ".www" and ".output -w" so that text that is not part of query output is shown using <pre>. (check-in: f8ef65c523 user: drh tags: cli-stdlib)
13:29
Add the "www" output mode that include <table> in the HTML output. Add the ".www" command and the "-w" option to ".once". (check-in: b06fd9e6bc user: drh tags: cli-stdlib)
12:56
Always include a UTF-8 BOM at the beginning of the output CSV when using the ".excel" command on Windows, as the actual Excel program requires the BOM in order to work correctly. (check-in: 04727fc002 user: drh tags: cli-stdlib)
12:16
Change --enable-tempstore to --with-tempstore to avoid the uphill (and losing) battle with autosetup's built-in handling of the --enable/--disable prefixes. (check-in: 8bea45fbbf user: stephan tags: autosetup)
12:03
Prevent regular DELETE and UPDATE statements from running against contentless_unindexed=1 tables that are not also contentless_delete=1. (check-in: 21539e9d0d user: dan tags: fts5-contentless-unindexed)
11:38
Fix stray fputs() calls in the CLI. (check-in: 1ee3fa0f0e user: drh tags: cli-stdlib)
11:27
Use sqlite3_fgets() instead of fgetc() to end the startup debugging pause in the CLI. (check-in: 869b3c05e8 user: drh tags: cli-stdlib)
09:43
Merge trunk enhancements, and especially the zero- and double-width character processing for columnar outputs into the cli-stdlib branch. (check-in: d6262a4bcd user: drh tags: cli-stdlib)
09:39
In the CLI, for columnar output formats, try to account for the presence of zero-width and double-width characters in the output and adjust column widths accordingly. (check-in: 9592b9ba3a user: drh tags: trunk)
09:33
Improvements to comments on data structures and subroutines. (Closed-Leaf check-in: b217e3004b user: drh tags: variable-width-char)
08:04
Baby steps towards a working auto.def. (check-in: c223dbb4fb user: stephan tags: autosetup)
07:30
Add --enable-tempstore support and document some of the weirdness of trying to use an explicit prefix of --enable with non-boolean flags (autosetup unconditionally handles --enable and --disable prefixes on its own and always treats them as boolean flags). (check-in: fe6fa4ce52 user: stephan tags: autosetup)
06:25
Re-enable the --enable-all bits after figuring out that autosetup(options) is not a dict, but a list. (check-in: beb2a12045 user: stephan tags: autosetup)
06:07
Disable with --enable-all bits, as the helper function it uses is dying for reasons beyond my meager tcl-fu. (check-in: d2b883120e user: stephan tags: autosetup)
04:34
Correct some copy/paste errors in the previous checkin. (check-in: 9752768d8a user: stephan tags: autosetup)
04:20
Get --enable-all flag essentially working. (check-in: 0a49436c98 user: stephan tags: autosetup)
03:37
Get several of the --enable/--disable configure flags working. (check-in: fd16d53d3a user: stephan tags: autosetup)
02:00
Testing libfossil checkin fix for inheritance of privateness. Edit: the test passed but this branch was subsequently made non-private because working with private branches is tedious. (check-in: 4b104926bf user: stephan tags: autosetup)
01:39
Get skeleton auto.def running, but it doesn't really do much except some standard boilerplate stuff. (check-in: e707634cf7 user: stephan tags: autosetup)
2024-09-24
21:54
Minor wasmfs speedtest1 build tweaks. Disable one wasmfs demo which was broken by Emscripten-side changes. (check-in: 5ccc85d8f5 user: stephan tags: wasm-build-rework)
21:08
Initial pristine autosetup bits. (check-in: dfb1e7f0cc user: stephan tags: autosetup)
19:47
Fix over-length lines in the shell source code. (check-in: f3fdf76a0d user: drh tags: cli-stdlib)
19:19
Fix error messages in the shell. (check-in: aeef82e974 user: drh tags: cli-stdlib)
18:01
Get fiddle working again on this branch. (check-in: 0f228317c6 user: drh tags: cli-stdlib)
17:49
Port sqlite3_analyzer.exe to use sqlite3_stdio. (check-in: 7c1c1226d8 user: drh tags: cli-stdlib)
17:40
Port sqldiff over to use sqlite3_stdio. (check-in: 18f784c47d user: drh tags: cli-stdlib)
16:09
Get output redirection working again in the CLI. (check-in: 086034c350 user: drh tags: cli-stdlib)
15:43
Merge trunk changes into this branch. (check-in: 9945206e6e user: dan tags: fts5-tokendata-prefix)
15:11
Fix a memory leak in sqlite3expert.c introduced by [f1d76c86]. (check-in: 42bb941584 user: dan tags: trunk)
13:46
Add the sqlite3_stdio.h library for Windows console I/O. (check-in: fcd0ecffc9 user: drh tags: cli-stdlib)
13:00
Minor tweaks in mkwasmbuilds.c. (check-in: cee4328072 user: stephan tags: wasm-build-rework)
12:16
Wasm build cleanups. Fix the wasm speedtest1 builds broken by yesterday's refactoring. (check-in: 5d4a090230 user: stephan tags: wasm-build-rework)
11:26
Avoid an error in sqlite3expert if the database has existing indexes on expressions. (check-in: f1d76c8636 user: dan tags: trunk)
10:30
Use _wfopen() instead of fopen() on Windows in the CLI. (check-in: 21a8cac5e9 user: drh tags: cli-stdlib)
09:51
Always use fputws() for output to a Windows command-line prompt. (check-in: 33950a8c3f user: drh tags: cli-stdlib)
00:53
Remove an ALWAYS() that can sometimes be false, with wildly incorrect SQL inputs. dbsqlfuzz 707afcf73930de2624cdeca0ad1f0deea982dfea (check-in: 766cf5535b user: drh tags: trunk)
00:31
Further wasm build cleanups and tweaks. No functional changes. (check-in: 3b72a14343 user: stephan tags: wasm-build-rework)
00:01
In the CLI, when displaying results in a columnar format, take into account zero-width and double-width Unicode characters. (check-in: 47cfad71ed user: drh tags: variable-width-char)
2024-09-23
22:56
Typo fix in makefile comments. (check-in: a4a1287fe8 user: stephan tags: wasm-build-rework)
21:22
wasm: replace much of the eval makefile spaghetti with equivalent code generated from a small C app. It turns out that's easier to read and write than doing the same thing from shell or tcl code, due entirely to C's lack of need for escaping dollar signs. (check-in: 5440de4890 user: stephan tags: wasm-build-rework)
20:23
CLI uses only lib-c for I/O on Windows. No calls to Win32. Works on Win11, at least. Reads and writes unicode to/from the console and UTF-8 to/from files. Prototype code only - must testing and additional work required. (check-in: 5c54530d5a user: drh tags: cli-stdlib)
19:32
Fix a couple of problems with the sessions streaming interfaces. (check-in: 9a1fc8d36b user: dan tags: trunk)
17:06
Merge current trunk into this branch. (check-in: ed47d7f9a4 user: stephan tags: wasm-build-rework)
2024-09-21
17:27
Add the run-fuzzcheck target to the MSVC makefile. (check-in: 2e5194407a user: drh tags: trunk)
15:57
If the database filename pointer passed to sqlite3_open() is a null pointer change it into ":memory:". (check-in: 62e11a3a78 user: drh tags: trunk)
2024-09-20
17:41
Fix comment typo in the fileio.c extension. No changes to code. (check-in: bf2c5b368a user: drh tags: trunk)
17:38
Passing shell tests on Linux and Windows. A number of FILE* API content transfer calls are diverted to the consio library via macros. (Leaf check-in: 1546546287 user: larrybr tags: win-dupe-crt-fio)
14:18
Fix flub in cfWrite(). (for Win32) (check-in: 3884ddb4dc user: larrybr tags: win-dupe-crt-fio)
13:13
Sync with trunk. Buildable. (A WIP, to be further tested) (check-in: 187f1d0a1c user: larrybr tags: win-dupe-crt-fio)
12:58
New assert()s to help verify union access. No logic changes. Testing and validation code only. (check-in: b7b64c53f5 user: drh tags: trunk)
02:08
Move non-console FILE* I/O to {Read,Write}File() on Win32. (This is a WIP. It builds but needs more testing.) (check-in: b769ed0027 user: larrybr tags: win-dupe-crt-fio)
2024-09-19
15:44
Fix harmless compiler warning in the vfstrace extension. (check-in: c8b4d092a2 user: drh tags: trunk)
13:39
Improved rebustness to malformed UTF-16 inputs to sqlite3_prepare16_v2(). (check-in: 7b3a517b3e user: drh tags: trunk)
00:05
Remove a stray newline. (check-in: 77f587dc3b user: mistachkin tags: trunk)
2024-09-18
18:04
Improvements to the scope of valueFromFunction(). (Leaf check-in: b021399a6e user: drh tags: branch-3.28)
16:33
Improvements to the scope of valueFromFunction(). (check-in: a0f39419cb user: drh tags: trunk)
15:52
Fix the preupdate hook so that it works when the "old.*" row has a column with a non-NULL default value that was added by ALTER TABLE ADD COLUMN after the current record was created. (check-in: 6a8c687904 user: dan tags: trunk)
15:38
Fix sqlite3-rsync so that it recognizes drive-letters on the front of pathnames in Windows, and does not misinterpret them as hostnames. (check-in: 54a3bbd578 user: drh tags: trunk)
15:02
Fix the preupdate hook so that it works when the "old.*" row has a column with a non-NULL default value that was added by ALTER TABLE ADD COLUMN after the current record was created. (Closed-Leaf check-in: 00a398cf90 user: dan tags: preupdate-hook-fix)
2024-09-17
22:57
Fix harmless static analyzer warning in sqlite3-rsync. (check-in: a63e412b6b user: drh tags: trunk)
21:42
Add assert() statements to some of the sqlite3_bind() APIs that help human readers and static analyzers, both, reason about the code and verify that it is memory safe. (check-in: 9752878814 user: drh tags: trunk)
10:36
In sqlite3-rsync, do not allow the '/' character to appear anywhere in the USER@HOST: prefix to one of the argument databases. (check-in: 6089a90463 user: drh tags: trunk)
2024-09-16
20:53
Fix a typo in an error message in sqlite3-rsync. (check-in: 3f25d6c8ea user: drh tags: trunk)
14:11
Cleanup the sqlite3-rsync executable as part of "make clean" (check-in: 8c5e481b49 user: drh tags: trunk)
10:58
In sqlite3-rsync, open the replica database using ATTACH since the sqlite3_dbpage virtual table is technically a part of "main". This avoids locking problems. (check-in: 39c56c836a user: drh tags: trunk)
09:12
Improved error message in sqlite3-rsync if the SQL statement for ORIGIN_TXN fails. (check-in: 73bde71ed1 user: drh tags: trunk)
2024-09-15
18:37
Provide more opportunity for the remote side in sqlite3-rsync to send error messages back to the local side. Be sure to invoke pclose2() when done. (check-in: 23a6350515 user: drh tags: trunk)
2024-09-14
20:30
Fix the fts5 xInstToken() API for prefix queries that do not use prefix-indexes. This is experimental. (check-in: 97c2824f47 user: dan tags: fts5-tokendata-prefix)
16:52
Merge subsequent changes to sqlite-rsync that were accidentally missed by the prior check-in. (check-in: 50762ba078 user: drh tags: trunk)
16:39
Enhancements to sqlite_dbpage() so that it accepts INSERT statements that can extend or truncate the database. Add the sqlite3-rsync utility program that make a copy of a live database over SSH. (check-in: b7a8ce4c8c user: drh tags: trunk)
16:30
CLI arg handling robustness improvements. (Leaf check-in: 129aca54f6 user: stephan tags: sqlite3-rsync)
16:28
Add the --version option. (check-in: 9961334c80 user: drh tags: sqlite3-rsync)
16:03
New debugging options: --logfile, --errorfile, --remote-errorfile. If page 1 changes, always send it last. (check-in: 2d8cd76691 user: drh tags: sqlite3-rsync)
11:38
Always show the -v traffic message even if there are multiple -v options. (check-in: fc05a5b7f7 user: drh tags: sqlite3-rsync)
11:23
Add the --logfile FILE option for debugging. (check-in: 30e1b92d56 user: drh tags: sqlite3-rsync)
10:59
Improved error messages coming out of sqlite3-rsync. (check-in: 452fb6de39 user: drh tags: sqlite3-rsync)
10:48
Make the output from sqlite3-rsync with a single -v option the same as it is with regular rsync. Only show the SSH command with two or more -v options, or if there is an error in popen2(). (check-in: 105ec44b47 user: drh tags: sqlite3-rsync)
2024-09-13
23:41
Merge sqlite_dbpage fixes into the sqlite3-rsync branch. (check-in: dff76b7a34 user: drh tags: sqlite3-rsync)
21:47
Bug fix in the enhanced sqlite_dbpage for when truncating two or more ATTACH-ed databases within the same transaction. (Leaf check-in: 6aa9c8e79b user: drh tags: dbpage)
16:30
Require that the contentless_unindexed=1 option be specified before storing the values of fts5 UNINDEXED column belonging to contentless tables. (check-in: c51dc2a5e7 user: dan tags: fts5-contentless-unindexed)
16:15
Fix the hanging problem. (Closed-Leaf check-in: d57903f7fd user: drh tags: sqlite3-rsync-consio)
16:12
Fix harmless compiler warning on Windows. (check-in: 86e0219d97 user: drh tags: sqlite3-rsync)
16:10
Close the db as sqlite3_analyzer exits. (See forum post, "sqlite3_analyzer not closing WAL-mode db cleanly" .) (check-in: 94ceac9884 user: larrybr tags: trunk)
16:08
Changes so that the -consio sub-branch of sqlite3-rsync will compile on Win11. It compiles, but it does not work. The process just hangs. (check-in: b4eff1fd6e user: drh tags: sqlite3-rsync-consio)
15:37
Merge latest trunk changes, including the changes to the fts5 locale=1 feature, into this branch. (check-in: d2f0d19936 user: dan tags: fts5-contentless-unindexed)
14:40
Merge sqlite3-rsync branch into sqlite3-rsync-consio branch. (check-in: c9bdbe21fe user: stephan tags: sqlite3-rsync-consio)
13:53
Improved informational output from sqlite3-rsync. (check-in: e55e3e8ec2 user: drh tags: sqlite3-rsync)
12:35
Preveious check-in was actually doing an 8-round KeccakF1600. This one corrects that to just 6 rounds. (check-in: 3c36f5814f user: drh tags: sqlite3-rsync)
12:28
Change the hash algorithm from SHA1 to a 6-round KeccakF1600 with a rate of 160. This uses about 1/3rd fewer CPU cycles. (check-in: 96c7f47a8f user: drh tags: sqlite3-rsync)
12:01
Merge sqlite3-rsync branch into sqlite3-rsync-consio branch. (check-in: 983979cc78 user: stephan tags: sqlite3-rsync-consio)
11:14
Further enhancement to PTRMAP display in showdb: Show the details of invalid entries that are within the range of the database file. Continue to ignore invalid entries beyond the end of the database file. (check-in: 4cad385b90 user: drh tags: trunk)
2024-09-12
23:30
Better initialization of new database files in sqlite3-rsync. (check-in: 75d5a8eb3d user: drh tags: sqlite3-rsync)
21:58
Enhancement to the "showdb" utility such that the "ptrmap" command shows PTRMAP entries that extend off the end of the database, as long as they appear to be well-formatted. (check-in: a9f95fe5ce user: drh tags: trunk)
21:33
A slight tweak to consio to enable it to build both (A) directly embedded in shell.c and (B) as a separately-compiled .c file for use with sqlite3-rsync.c. (check-in: 6ffb392f92 user: stephan tags: sqlite3-rsync-consio)
21:03
Add RSYNC_OPT to the sqlite3-rsync build flags. (check-in: b2a3497e55 user: stephan tags: sqlite3-rsync)
20:50
Convert sqlite3-rsync.c to use the ext/consio I/O library. The caveat is that it requires direct inclusion of the consio source code, making sqlite3-rsync.c no longer a standalone file. (check-in: 62a9b6fd55 user: stephan tags: sqlite3-rsync-consio)
18:15
Port some of the shell's CLI flag-handling code into sqlite3-rsync to make the arg handling more robust. (check-in: 53fb9b1180 user: stephan tags: sqlite3-rsync)
17:06
Replica must be in writable_schema mode. (check-in: e385525793 user: drh tags: sqlite3-rsync)
16:54
Improved --commcheck. Add the infoMsg() function which is useful for debugging. (check-in: b979d02ffd user: drh tags: sqlite3-rsync)
15:51
Pass the names of both the origin and the replica databases to the remote side, so that if the remote is the replica, it will have access to the origin database name in case the replica name is really a directory. (check-in: 435c30171d user: drh tags: sqlite3-rsync)
15:36
Add a protocol version number to the first message, and give the two sides an opportunity to negotiate a suitable protocol number, for future compatibility. Send the page size as a power-of-two. (check-in: df0623aae1 user: drh tags: sqlite3-rsync)
14:43
Add sha1() functions to the CLI. Fix sha1b() such that it actually returns a BLOB. (check-in: fe65821a3b user: drh tags: sqlite3-rsync)
12:04
Improved debugging output. (check-in: 80461e0d72 user: drh tags: sqlite3-rsync)
2024-09-11
17:02
Progress on the sqlite3-rsync utility. This is an incremental check-in. It does compile, but it does not work. (check-in: fa06977b6d user: drh tags: sqlite3-rsync)
12:17
Disable the debug-use-only functions sqlite3_mutex_held() and sqlite3_mutex_notheld() when compiling with TSAN in as much as those routines cause TSAN to complain. Response to https://issues.chromium.org/issues/41427446. (check-in: db702dd785 user: drh tags: trunk)
2024-09-10
22:14
Improved SSH infrastructure. The foundation is now in place to begin working on the actual sync protocol. Still experimental. Still a work in progress. (check-in: 9a1a95f523 user: drh tags: sqlite3-rsync)
20:32
Alternative implementation of fts5 locale=1 feature that allows blobs to be stored in indexed columns of fts5 locale=1 tables. (check-in: 198305de92 user: dan tags: trunk)
18:38
Remove a stray "breakpoint" from a test script. (Closed-Leaf check-in: 7d87a27a01 user: dan tags: fts5-locale-alternate)
17:05
Initial infrastructure for the sqlite3-rsync utility. Prototype only. Does not work. (check-in: 397b2d37b7 user: drh tags: sqlite3-rsync)
16:40
Fix a test in fts3corrupt4.test that would fail if SQLITE_ENABLE_FTS5 was not defined. (check-in: 437849c808 user: dan tags: trunk)
16:19
Alternative implementation of fts5 locale=1 feature that allows blobs to be stored in indexed columns of fts5 locale=1 tables. (check-in: 55c5c119a0 user: dan tags: fts5-locale-alternate)
12:09
Add the ability for sqlite_dbpage to truncate the database file by writing a NULL page. Experimental. (check-in: eb3c89ee2e user: drh tags: dbpage)
2024-09-09
19:12
Fix an OOM-handling problem affecting locale=1 fts5 tables. (check-in: d8103684f6 user: dan tags: trunk)
18:45
Generalize the sqlite3_dbpage virtual table so that it is able to write new pages onto the end of the database file using INSERT. (check-in: fe0d67e72d user: drh tags: trunk)
15:39
Move the vfstrace extension out of src/ and into ext/misc/. Make it a standard part of the CLI. Improve its output. Also fix some unrelated comment typos. (check-in: 123cb1f579 user: drh tags: trunk)
15:33
Fix dependencies in makefiles to include ext/misc/vfstrace.c as necessary. Improved xFileControl() output from vfstrace.c. (Closed-Leaf check-in: e8f2d63130 user: drh tags: vfstrace)
15:19
Fix harmless compiler warnings in the vfstrace.c extension. (check-in: f23954e604 user: drh tags: vfstrace)
15:12
Fix harmless compiler warnings in FTS5. (check-in: aa75e701de user: drh tags: trunk)
14:50
Move the vfstrace extension out of src/ over into ext/misc/ where it belongs. Make it part of the standard build for the CLI. Bring some of the vfstrace output up-to-date. (check-in: 055b97de8d user: drh tags: vfstrace)
2024-09-07
16:22
Fix a problem with fts5 locale=1 tables and UPDATE statements that may affect more than one row. (check-in: 70e42f941c user: dan tags: trunk)
16:04
Fix an off-by-one error in the routines that bind the special $test_TTT and $int_NNN parameters for fuzz testing. Fix to testing logic only - no changes to the SQLite core. (check-in: 6206b90a4e user: drh tags: trunk)
2024-09-06
20:12
Add tests for an fts5 NEAR() expression with a single argument phrase. (check-in: e319d43bfd user: dan tags: trunk)
15:52
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: f9ce1ababb user: drh tags: reuse-schema)
15:45
Update the bedrock branch to include all the latest enhancements from trunk. (check-in: 4a3386ccb8 user: drh tags: bedrock)
15:42
Merge the latest trunk enhancement into the wal2 branch. (check-in: f3e3ad6945 user: drh tags: wal2)
15:39
Merge all the latest trunk enhancements into the begin-concurrent branch. (check-in: 2a87a969e7 user: drh tags: begin-concurrent)
15:01
Resolve the "No rule to make target '0'" error when building with --disable-tcl. (check-in: d94541ae76 user: stephan tags: trunk)
14:01
Fix a harmless stray carriage-return character. (check-in: 84a6c5f975 user: drh tags: trunk)
13:13
In testrunner.tcl, correctly capture and display information about the system under test: hostname, OS, pointer size, byte-order. (check-in: ec75cfc5d4 user: drh tags: trunk)
11:21
Fix harmless compiler warnings. (check-in: 60fb8ee153 user: drh tags: trunk)
10:35
A testcase() macro added to help ensure that the fix to the omit-noop-join optimization from yesterday does not regress. (check-in: 224628b103 user: drh tags: trunk)
09:49
Clarification and simplification to the README.md file and to the instructions for building on Windows. (check-in: f69ef1a37b user: drh tags: trunk)
2024-09-05
23:44
Ensure that the WhereInfo.revMask bitmap is adjusted when tables are removed from the FROM clause by the Omit-Noop-Join optimization. (check-in: 2b543fbc28 user: drh tags: branch-3.46)
23:40
Fix a testrunner status reporting problem introduced by [aa5f10f21dbfb24e]. (check-in: d20c65c3b4 user: drh tags: trunk)
23:22
Ensure that the WhereInfo.revMask bitmap is adjusted when tables are removed from the FROM clause by the Omit-Noop-Join optimization of [0cd82ee9a8413cf1]. Fix for the issue described by format post 8a1e467e905b8d27. (check-in: 22ca5a2ffb user: drh tags: trunk)
15:55
Update notes on build procedures in the README.md file. (check-in: 1d12744fe7 user: drh tags: trunk)
15:28
Testrunner.tcl enhancements: (1) Attempt to build the SQLite tcl extension if it is not already available. (2) testrunner target "devtest" is added as an alias for "mdevtest". (3) Try to keep summary information at the end of a test below 80-characters per line. (4) Update the Makefile.in so that the "clean" target removes the tcl extension built by item 1 above. (check-in: aa5f10f21d user: drh tags: trunk)
12:06
Enhance testrunner.tcl to keep track of the platform and SQLite version as reported by individual test cases and to report that information in the summary at the end of each test run. (check-in: 80ebb7c7e6 user: drh tags: trunk)
11:46
Faster implementation of the aggregate_test_counts procedure inside of testrunner.tcl. (check-in: a01d869520 user: drh tags: trunk)
2024-09-04
18:51
Make the default TCLDIR be C:\Tcl in the Makefile.msc. (check-in: c2c0a9176a user: drh tags: trunk)
17:15
Merge all the latest branch-3.46 fixes into the bedrock-3.46 branch. (Leaf check-in: 69b3791e17 user: drh tags: bedrock-3.46)
16:54
Update the bedrock branch to include all of the latest trunk enhancements. (check-in: cf8f155280 user: drh tags: bedrock)
16:46
Merge all the latest trunk enhancements into the wal2 branch. (check-in: 9f53034371 user: drh tags: wal2)
16:45
Fix a bug in the parsing of some corner-case JSON PATH strings that contain escaped double-quotes. (check-in: c49c2a8c00 user: drh tags: branch-3.46)
16:01
Fix a bug in the parsing of some corner-case JSON PATH strings that contain escaped double-quotes. (check-in: 60ac55c4b7 user: drh tags: trunk)
13:42
Put a proper shebang at the start of the testrunner.tcl script and make the script executable. (check-in: c0c6e9abeb user: drh tags: trunk)
13:09
Make extra efforts to delete the over-size directory names created by the win32longpath.test module. (check-in: 3c8035ed3f user: drh tags: trunk)
11:22
Add the "joblist" command to testrunner.tcl (check-in: f64469f480 user: drh tags: trunk)
2024-09-03
18:55
Store the values of any UNINDEXED columns of a contentless fts5 table persistently in the database. Warning: This currently creates a (technically) incompatible file-format for contentless fts5 tables that have UNINDEXED columns. (check-in: dcacb1a8ef user: dan tags: fts5-contentless-unindexed)
17:01
Add SQLITE_USE_ONLY_WIN32 to the Default configuration for testing on Windows. Take it off of Stdcall. (Leaf check-in: 8ace3f15e4 user: drh tags: new-win32-test-config)
16:04
Enhance the "errors" command in testrunner.tcl so that it accepts the "-s" or "--summary" argument to see a list of failed jobs, and so that an additional argument is a GLOB pattern that restricts the output to jobs whose names match that pattern. (check-in: dcbebe30f5 user: drh tags: trunk)
14:15
Fix ext/consio so that it works correctly with SQLITE_USE_ONLY_WIN32. (check-in: efc6f3d7e9 user: drh tags: trunk)
14:00
In testrunner.tcl, compile the Windows Default configuration using SQLITE_ENABLE_STMT_SCANSTATUS. (check-in: 49e8b1635f user: drh tags: trunk)
12:41
Fix harmless compiler warnings in the percentile extension. (check-in: c5557f281c user: drh tags: trunk)
10:53
In testrunner.tcl, allow setting njob to zero, which causes no new jobs to be launched and for the process to shut down once all current jobs are completed. (check-in: 0ef65fd4ba user: drh tags: trunk)
02:09
Cause cfGets() (under SQLITE_USE_ONLY_WIN32) to better emulate fgets(). (check-in: 2d783524d1 user: larrybr tags: win-dupe-crt-fio)
2024-09-02
21:59
Fix possible NULL pointer dereference following OOM in the new error reporting logic of the percentile extension. (check-in: 7891a266c4 user: drh tags: trunk)
18:41
Fix a technically undefined signed integer overflow in fts5. (check-in: e6bec37ea1 user: dan tags: trunk)
17:27
Make the percential extension easier to incorporate as a built-in on Windows applications. (check-in: 831e2be411 user: drh tags: trunk)
14:46
Remove some debug/test code from percentile. Make the extension easier to statically link. (check-in: 6e5f146e27 user: drh tags: trunk)
12:07
Enhance the percentile extension to support percentile_cont() and percentile_disc(). Add support for ordered-set aggregate notation in the parser when compiling with SQLITE_ENABLE_ORDERED_SET_AGGREGATES. A new function property SQLITE_SELFORDER1 must appear on any aggregate function that wants to take advantage of the ordered-set aggregate notation. (check-in: 557bd245ef user: drh tags: trunk)
11:17
Improved error messages on percentile functions. More tests cases for percentile and for ordered-set aggregates. (Leaf check-in: e1bca168e7 user: drh tags: ordered-set-agg)
09:40
Change the name of the enabling compile-time macro to SQLITE_ENABLE_ORDERED_SET_AGGREGATES. (check-in: 3b1cdddf83 user: drh tags: ordered-set-agg)
2024-09-01
23:56
More internal documentation improvements. (check-in: 8b91b74931 user: drh tags: ordered-set-agg)
23:47
Improved documentation of recent enhancements to the percentile extension. (check-in: 51e7b4c9cf user: drh tags: ordered-set-agg)
23:27
The WITHIN GROUP (ORDER BY ...) syntax is now a compile-time option: SQLITE_ENABLE_ORDERED_SET_FUNCS. There is no increment in the code size if the option is omitted. (check-in: c9367e2532 user: drh tags: ordered-set-agg)
20:24
Implement percentile_cont() and percentile_disc(). (check-in: b1a93f67d6 user: drh tags: ordered-set-agg)
19:19
No prepare-time penality for ordered-set aggregates for applications that do not use them. (check-in: e070c16d21 user: drh tags: ordered-set-agg)
18:57
Merge fixes from trunk into the ordere-set-agg branch. (check-in: 7528ddcfdf user: drh tags: ordered-set-agg)
18:54
Improved sort function in the percentile extension. (check-in: 9f84e8d59b user: drh tags: trunk)
10:52
Fix to the quicksort algorithm in the percentile extension. (check-in: 54313f74b2 user: drh tags: trunk)
2024-08-31
22:22
Add error checking: Do not allow functions other than those in the percentile extension to use the ordered-set aggregate notation. (check-in: 317d901429 user: drh tags: ordered-set-agg)
20:09
Demonstration of how ordered-set aggregates might be parsed and integrated into the existing parse tree, should we decide to support them. (check-in: ef97778900 user: drh tags: ordered-set-agg)
19:24
Include percentile() and merge() in the fuzzcheck test utility. (check-in: d1d0942a94 user: drh tags: trunk)
18:35
Omit the percentile_cont() function added by [095c22e62248f8ef] (and not yet released) since its usage conflicts with the PG percentile_cont() function. (check-in: 3fe0a85297 user: drh tags: trunk)
18:08
Allow percentile() and median() to act as window functions. (check-in: 94cf96af8f user: drh tags: trunk)
17:50
Still more test cases. (Closed-Leaf check-in: f099046081 user: drh tags: percentile-window)
17:27
Add more test cases. (check-in: 0d0e545679 user: drh tags: percentile-window)
16:55
Avoid unnecessary sort operations when running one of the percentile aggregates as a window function. (check-in: 5d31153621 user: drh tags: percentile-window)
15:02
Test cases added. (check-in: 25e6822984 user: drh tags: percentile-window)
14:31
Enhance the percentile() and median() extension functions so that they can be window functions. (check-in: 4d0e3df4b9 user: drh tags: percentile-window)
2024-08-30
17:33
Do not fail the omittest if ICU libraries are not installed. (check-in: ddc55efd2d user: drh tags: trunk)
16:51
New makefile target: "tidy". The "tidy" target removes all build products be leaves behind test results. The "clean" target has been enhanced to do a better job. The tool/omittest.tcl script is rewritten to work on the configure-generated Makefile and to require no arguments. (check-in: e48add0269 user: drh tags: trunk)
16:43
A couple of #defines so that the build work with SQLITE_OMIT_FLOATING_POINT. (Closed-Leaf check-in: be768f80c7 user: drh tags: makefile-improvements)
16:24
Rework the tool/omittest.tcl script so that it works with the configure-generated Makefile, and requires no arguments. Update the configure-generated Makefile with a new "tidy" target which is like "clean" except that is preserves test logs. Use "make tidy" to force everything to be recompiled from scratch without destroying logs. (check-in: 99491df19d user: drh tags: makefile-improvements)
12:10
Improvements to "make clean" on unix. (check-in: a1d775f075 user: drh tags: makefile-improvements)
01:11
In the testrunner.tcl status report, try to provide a rough estimate of the time remaining. (check-in: 90bc616d20 user: drh tags: trunk)
2024-08-29
23:43
Merge the latest trunk enhancement into the bedrock branch through the wal2 intermediary. (check-in: ff94464cec user: drh tags: bedrock)
23:33
Merge all the latest trunk enhancements into the wal2 branch. (check-in: dfecc79c8f user: drh tags: wal2)
23:32
Sync the autoconf/Makefile.msc with the main ./Makefile.msc (check-in: 9de47c3611 user: drh tags: trunk)
23:26
Sync the amalgamation makefile for MSVC with the main makefile. (check-in: fcc4c3b484 user: drh tags: begin-concurrent)
23:24
Merge all the latest trunk enhancements into the begin-concurrent branch. (check-in: b05d30bec1 user: drh tags: begin-concurrent)
22:05
Fix a problem in winOpen(). Merge the makefile enhancements from trunk. (check-in: bd247ae7f9 user: drh tags: reuse-schema)
19:37
Fix tests cases for SQLITE_ENABLE_SHARED_CACHE so that they work on Windows. (check-in: 60795a30c6 user: drh tags: reuse-schema)
18:32
All makefiles are responsive to OPTIONS=... command-line arguments, and add the RHS value of OPTIONS= to builds and to lemon and other build steps that might respond to -D or -U options. (check-in: 854b3776ee user: drh tags: trunk)
17:42
Merge all the latest trunk enhancements into the reuse-schema branch. (check-in: 87aa6fc212 user: drh tags: reuse-schema)
17:18
Fix a case where the BTCF_AtLast flag was being left set incorrectly. This was causing obscure window function queries to fail. (check-in: 45778b0bb8 user: drh tags: branch-3.46)
16:27
Fix a case where the BTCF_AtLast flag was being left set incorrectly. This was causing obscure window function queries to fail. (check-in: e042eb0247 user: dan tags: trunk)
2024-08-28
19:13
Do not allow sqlite3_blob_open() to work on a any table that contains generated columns, even columns of the table which are not generated themselves, because such columns might be part of the expression of a STORED column. This restriction could be relaxed some, but that would be a lot of code for something that nobody ever uses. (check-in: 6e84947123 user: drh tags: trunk)
15:54
Fix a dropped error code in fts5. (check-in: df55502e4f user: dan tags: trunk)
13:55
Update the README.md file to recommend running "devtest" instead of "mdevtest". (check-in: eb016f66ea user: drh tags: trunk)
13:51
Maybe [7420b13238da4e6b] was not such a good idea. Restore "make test" so that it works as before - running a single-threaded test over the source tree with options specified by ./configure and similar. Instead, change the "make devtest" target so that runs the automated multi-threaded tests on a standard configuration. (check-in: dc9fee980d user: drh tags: trunk)
13:34
Minor wording change on testrunner output. (check-in: 115e685979 user: drh tags: trunk)
12:10
Update the "make test" target so that it is really just "mdevtest" with "srctree-check" and "sourcetest". (check-in: 7420b13238 user: drh tags: trunk)
11:03
Further improvements to the status display in order to maximum the amount of information shown on the limited screen realestate available when running via "watch" or in continuous monitoring mode. All details are still shown when doing a stand-alone "status". (check-in: 557a2c65f5 user: drh tags: trunk)
10:36
Only limit the number of failures reported by testrunner status if using VT100 cursor movement. For a straight-up "status" command, show everything. (check-in: 791237e0f4 user: drh tags: trunk)
10:25
In the testrunner status display, limit the number of reported failed jobs to avoid overflowing the terminal when there are many failures. (check-in: ffeaa4d5d7 user: drh tags: trunk)
09:47
Disable shell test cases that require virtual tables when testfixture is built using SQLITE_OMIT_VIRTUALTABLE. (check-in: 8c73d54fd1 user: drh tags: trunk)
09:31
Reenable SQLITE_OMIT_VIRTUALTABLE on the Device-One alignment for testrunner. (check-in: 8f2cb35763 user: drh tags: trunk)
2024-08-27
22:28
Changes to the way "release" tests were constructed in [d03d35eebaf82709] were incorrect. Fixed here. Also enhance --explain to chose permutation configurations and so that PATTERNS on the the command line can match against permutation configurations. (check-in: 1f962ffc9e user: drh tags: trunk)
21:44
Improvements to --status overwrite in testrunner. (check-in: 26372762ab user: drh tags: trunk)
20:37
Avoid reading the structure record from within the fts5 xConnect method. (check-in: 6a6ce343b2 user: dan tags: trunk)
19:49
Further minor improvements and tweaks to the testrunner --status display. (check-in: 7d1ccc6dfc user: drh tags: trunk)
19:48
Fix typo in the previous check-in. Ensure that --status header lines do not overflow and wrap. (Closed-Leaf check-in: 2eaea67495 user: drh tags: testrunner-fix)
19:43
In testrunner, when doing the --status updates to the screen, be sure to overwrite dead text at the end of each line with spaces. (check-in: 7c195f132c user: drh tags: testrunner-fix)
19:28
Further improvement to the status display in testrunner.tcl. Show the number of errors and the number of test cases on the status summary. (check-in: dbc1ac8692 user: drh tags: trunk)
19:27
Modify the implementation of "wrapper" tokenizers to make them more robust in the case where the database connection is closed before the tokenizers are deleted. (check-in: 7c0001d6eb user: dan tags: trunk)
19:17
Improvements to testrunner.tcl: Show elapse time in MM:SS or HH:MM:SS. Keep track of the total number of tests and the total number of errors and report those values on a summary line at the end. (check-in: 40b232924c user: drh tags: trunk)
18:25
Add test code to drop an fts5 table with corrupt records in its shadow tables. (check-in: ca21c942c3 user: dan tags: trunk)
17:38
Updates to testrunner: (1) Omit all testing of User-Auth. (2) Automatically add the "*" wildcard before and after all pattern arguments. (3) Build the sqlite3 CLI for release tests. (check-in: d03d35eeba user: drh tags: trunk)
14:35
Merge the SQLITE_USE_ONLY_WIN32 flag for consio into trunk. (check-in: e9b03b082d user: drh tags: trunk)
14:25
Only avoid all C-runtime I/O if the SQLITE_USE_ONLY_WIN32 flag is defined. (check-in: 164b1e1962 user: drh tags: win-dupe-crt-fio)
13:57
Merge all the latests trunk enhancements into the win-dupe-crt-fio branch. (check-in: 2d52db98f4 user: drh tags: win-dupe-crt-fio)
2024-08-26
23:32
Earlier error detection while processing complex aggregate queries. dbsqlfuzz 5242c2f07f4aa031aa3c80461f18e9b7619ede9b (The previous check-in on this branch really should have been this cherrypick.) (check-in: f9c6cbc1d3 user: drh tags: branch-3.46)
23:19
Early termination of updateAccumulators() after error detection. (check-in: faecd4505d user: drh tags: branch-3.46)
19:08
Changes to documentation comments in fts5.h. (check-in: 886545a8d0 user: dan tags: trunk)
17:35
Randomize the name of the attached database used to do VACUUM. (check-in: 0f4e65d73a user: drh tags: trunk)
16:15
Bind the new debug parameters in fuzzinvariants.c. (check-in: 29e9bcfa2e user: drh tags: branch-3.46)
14:20
Remove redundant #ifdef accidentally inserted into mkkeywordhash.c. Update 2024-08-27: This branch demonstrates that FROM-first queries can be achieved by simply adding new production rules to the LALR(1) grammar. We do not wish to go down that path at this time. But we might revisit that idea in the future. For now, this branch is closed. (Closed-Leaf check-in: b08f3b7449 user: drh tags: sql-pipes)
14:06
Add the AGGREGATE clause to the pipeline. (check-in: 16d32676e2 user: drh tags: sql-pipes)
13:20
Working better now. (check-in: 4bdcc18d2c user: drh tags: sql-pipes)
12:26
Reduce rules added to the grammar. Kinda works, but there are still bugs. (check-in: 3c7a5cc6d0 user: drh tags: sql-pipes)
02:53
Another version of the parser with a slightly richer syntax. The ghastly pipe operator is now optional, but is never required. Pipelines cannot be initiated from an arbitrary SELECT unless the arbitrary SELECT is a subquery on the initial FROM. (check-in: 8781d7352b user: drh tags: sql-pipes)
00:15
Proof-of-concept grammar rules to parse Google-style "pipe" syntax for SQL, without the ghastly "|>" operator. The grammar rules are not connected to working code. They just parse the syntax. Pipelines that begin with an ordinary SELECT statement must have the keyword "INTO" (rather than the "|>" operator) separating the SELECT from the start of the pipeline, to avoid syntactic and semantic ambiguity. (check-in: 2c4bae3e68 user: drh tags: sql-pipes)
2024-08-25
12:04
Merge trunk into the wasm-build-rework branch. (check-in: a1cf3095a8 user: stephan tags: wasm-build-rework)
11:59
shell.c.in: use eputz/oputz() instead of eputf/oputf() where appropriate to avoid compilation errors in -std=c99 mode (namely wasm builds). (check-in: 9ef8317fae user: stephan tags: trunk)
2024-08-24
20:05
Fix harmless compiler warnings in fts5V2toV1Tokenize(). (check-in: df65d00f10 user: drh tags: trunk)
20:01
Fix compiler warnings in the CLI detected by MSVC. (check-in: 23ae505cbf user: drh tags: trunk)
19:06
Improved help message for the --enable-test-status configuration option. Fix the build for when that option is omitted. (check-in: b404a5fe3f user: drh tags: trunk)
19:02
New ./configure option --enable-test-status causes testrunner.tcl to be run with the --status option for targets like mdevtest and releasetest. (check-in: 9ca8513c26 user: drh tags: trunk)
18:42
Remove a term from an assert() that is no longer relevant. (check-in: 8b4766252b user: drh tags: trunk)
17:37
Avoid a stack overflow that could be caused by a recursively defined WINDOW() with a strategically embedded error. (check-in: 074002718b user: drh tags: branch-3.46)
15:54
Avoid a stack overflow that could be caused by a recursively defined WINDOW() with a strategically embedded error. (check-in: bada54bd6b user: dan tags: trunk)
11:48
Ensure that the WhereLoop.u.btree.pOrderBy field added by the order-by-subquery optimization [7a0cdc7edb704a88] is correctly initialized. dbsqlfuzz 437be171a98687082a31ea6efc2fd5c5d64481c8. (check-in: b75f8b2252 user: drh tags: trunk)
2024-08-23
21:20
Eliminate use of strcpy() in shell.c.in to squelch an unwarranted link-time warning on OpenBSD. (check-in: 32e9bf7f97 user: stephan tags: trunk)
17:40
Fix a problem in the ext/fts5/extract_api_docs.tcl script. (check-in: 9a9d0f6301 user: dan tags: trunk)
15:18
Add fts5 auxiliary function fts5_get_locale(). For querying the locale of a stored value. (check-in: 396f720f36 user: dan tags: trunk)
2024-08-22
18:12
Enhance the generate_series() table-valued function such that it is able to recognize equality and inequality constraints on the "value" column and optimize its operating accordingly. (check-in: d50b784807 user: drh tags: trunk)
16:22
Add the SQLITE_INDEX_SCAN_HEX bit to the sqlite3_index_info.idxFlags bitmask. When set, this bit causes the EXPLAIN QUERY PLAN output to show the idxNum value in hex rather than in decimal. This is purely a debugging aid. (check-in: 6c00e88ebd user: drh tags: trunk)
2024-08-21
20:25
Add SQLITE_TESTCTRL_GETOPT. Use it to implement improvements to the ".testctrl opt" dot-command in the CLI, and similar enhancements to TH3. (check-in: 6500baa991 user: drh tags: trunk)
18:57
Add the new SQLITE_TESTCTRL_OPTGET that retrieves the current optimization setting. Use this in the CLI to provide symbolic fine-grain control over optimization settings using the ".testctrl opt" dot-command. (Closed-Leaf check-in: 0ea4e1e8fc user: drh tags: optimization-onoff)
17:38
Improved comments on byte-code subroutine calls to materialize subqueries. Should not affect production builds. (check-in: 6b024c85ef user: drh tags: trunk)
13:57
README.md: a markup link fix and use the canonical URL for Fossil. (check-in: c49bfee6b8 user: stephan tags: trunk)
13:44
Updates and enhancements to the README.md file. No code changes. (check-in: 3161b80289 user: drh tags: trunk)
12:01
Add code comments for a "table-of-contents" and various milestone marks in the 1300+ line long sqlite3Select() function, to help improve readiability and maintainability. Comment changes only - no functional changes. (check-in: 00cfbb9fa5 user: drh tags: trunk)
10:37
Fix a minor typo in a comment. (check-in: 92c80af112 user: drh tags: trunk)
10:32
Improvements to treetrace output for subqueries. Debug code only. (check-in: 0a835d18d9 user: drh tags: trunk)
09:56
De-duplicate some error-output code in shell.c.in as part of tracking down the cause of forum post 5647ca2af1. (check-in: fd5904495e user: stephan tags: trunk)
07:38
Remove incorrect assert() statements in the SrcItem invariant validator. dbsqlfuzz 7f908865436ce531b0ace55c97a1c71d05c4e76c. (check-in: 81a1ede388 user: drh tags: trunk)
2024-08-20
23:11
Refactor the SrcItem object to move fields associated with subqueries out into a separate object named Subquery. This reduces the size of the SrcItem object by about 1/3rd and provides improved performance. (check-in: 484bcd75bc user: drh tags: trunk)
22:44
Fix a name resolution issue with CTEs. (Leaf check-in: 4fa8235dd5 user: drh tags: srcitem-opt)
22:05
Fix minor comment issues. (check-in: c1bbed19f4 user: drh tags: srcitem-opt)
20:01
Remove unreachable code. (check-in: 17699329aa user: drh tags: srcitem-opt)
19:09
Tighter checking of access constraints on union members in SrcItem. Improved invariant checking. (check-in: fd72d3400a user: drh tags: srcitem-opt)
17:41
Fix some stray SrcItem field name fixes. (check-in: bc5f5ce59e user: drh tags: srcitem-opt)
17:24
Fix a memory leak so that now all dev tests (including TH3) are passing. (check-in: 3995c45fff user: drh tags: srcitem-opt)
16:50
Memory issues fixes so that mdevtest now passes. (check-in: b249516f6a user: drh tags: srcitem-opt)
14:16
When the database encoding is UTF-16LE and the GLOB optimization is used, it is ok to use the range search over an index, but it is not ok to disable the actual GLOB function call. (check-in: db917d50fd user: drh tags: branch-3.46)
14:12
When the database encoding is UTF-16LE and the GLOB optimization is used, it is ok to use the range search over an index, but it is not ok to disable the actual GLOB function call. (check-in: 3399698376 user: drh tags: trunk)
12:15
The LIKE/GLOB optimization restricts its attention to the pattern prefix that is all ASCII. (check-in: 5815f13263 user: drh tags: branch-3.46)
12:09
Fix for the UTF-16LE problem reporte by forum post dc7e1b7527e84343. Because of the unexpected ordering of characters using the default collation (memcmp() order) in UTF-16LE, the LIKE/GLOB optimization restricts its attention to the pattern prefix that is all ASCII, which is the common case. (check-in: a5797ebdea user: drh tags: trunk)
2024-08-19
23:43
Earlier error detection while processing complex aggregate queries. dbsqlfuzz 5242c2f07f4aa031aa3c80461f18e9b7619ede9b (check-in: 70f4973078 user: drh tags: trunk)
22:48
Refactor the SrcItem object so that information about subqueries is stored in a separately allocated Subquery object. This reduces the memory requirements for SrcItem and makes the code run faster. It also provides an expansion path for subquery processing that does not burden simple queries. The current checking mostly works, but there are still issues that need to be tracked down and fixed. (check-in: 8ff5dda844 user: drh tags: srcitem-opt)
20:35
Update some comments that are processed into the fts5.html webpage. (check-in: 3e06ab218b user: dan tags: trunk)
14:33
Add the fts5_locale() function and related functionality to fts5. (check-in: b963290010 user: dan tags: trunk)
14:23
Fix leap-year handling for dates prior to 0400-03-01. (check-in: 6767bf1c67 user: drh tags: branch-3.46)
14:20
Fix leap-year handling for dates prior to 0400-03-01. Forum post eaa0a09786c6368b. (check-in: 474b7e34b8 user: drh tags: trunk)
13:53
New date/time test cases to validate ancient dates. (Closed-Leaf check-in: 82719074f0 user: drh tags: ancient-date-fix)
12:54
Attempt to fix date/time calculations for days earlier than 0400-03-01. See forum thread eaa0a09786c6368b. (check-in: 00cae11fff user: drh tags: ancient-date-fix)
10:40
Merge trunk changes into this branch. (Closed-Leaf check-in: 6787603bd0 user: dan tags: fts5-locale)
2024-08-18
14:46
Fix a problem with detail=none, content='' tables. (check-in: 4b8070816a user: dan tags: fts5-locale)
09:53
Automatically disable directory fsync when compiling for AIX. (check-in: 8d170e07e2 user: drh tags: trunk)
2024-08-17
23:23
Give unique names to fields in the SrcItem object, to facilitate analysis of how those fields are used using "grep". (check-in: 9f5aeef3cb user: drh tags: srcitem-opt)
19:46
Reduce the size of the SrcItem object by combining fields into a union. (check-in: a4c59ac3c6 user: drh tags: srcitem-opt)
19:40
Fix a broken assert() in fts5_storage.c. (check-in: 01116e3279 user: dan tags: fts5-locale)
19:11
Merge trunk changes into this branch. (check-in: 6a8ff9ba5e user: dan tags: fts5-locale)
19:07
Tests to improve coverage of fts5_expr.c. (check-in: f4b839e526 user: dan tags: fts5-locale)
17:22
Add tests to restore coverage of fts5_tokenizer.c. (check-in: 8f9257361b user: dan tags: fts5-locale)
16:17
Adjust Makefile.in so that it outputs a slightly better error message on an attempt to build something that requires TCL libraries when HAVE_TCL is false. (check-in: a4043cbeb8 user: drh tags: trunk)
15:52
Adjust the "configure" script so that it just disables the ability to run tests rather than erroring out if tclsh is unable to recommend a suitable tclConfig.sh. (check-in: 793ff83d09 user: drh tags: trunk)
14:59
Fix a typo in an "ifdef" that broke SQLITE_OMIT_ANALYZE builds. (check-in: c09da26cb6 user: dan tags: trunk)
2024-08-16
19:05
Add tests to restore coverage of fts5_config.c. (check-in: 9d971b31df user: dan tags: fts5-locale)
19:04
Merge all the latest trunk enhancements, and especially the order-by-subquery optimization, into the bedrock branch, via wal2. (check-in: d0591db3bb user: drh tags: bedrock)
18:58
Merge the latest trunk enhancements into the wal2 branch. (check-in: a78208b597 user: drh tags: wal2)
18:51
If a subquery has an ORDER BY clause and that ordering is helpful in satisfying the ORDER BY or GROUP BY of the outer query without doing an extra sort, then omit or reduce the sort in the outer query. Call this the "order-by-subquery optimization". (check-in: 7a0cdc7edb user: drh tags: trunk)
17:54
Add tests to restore coverage of fts5_storage.c. (check-in: 38841881a0 user: dan tags: fts5-locale)
16:20
Add tests to restore coverage of fts5_main.c. (check-in: 681edd08ab user: dan tags: fts5-locale)
15:35
Ensure that memory allocations in ANALYZE are always 8-byte aligned in order to satisfy a new assert() added by [539e4f661767ef90]. (check-in: a1915cbdec user: drh tags: trunk)
11:26
Fix handling of COLLATE. Add test cases for the same. Code cleanup for improved understandability and maintainability. (Closed-Leaf check-in: 41a41c173a user: drh tags: order-by-subquery)
02:19
Bug fix in the subquery ORDER BY propagator. (check-in: 5a9a3b8af7 user: drh tags: order-by-subquery)
00:37
Improvements to the subquery ORDER BY decision algorithm. Fewer false-negatives. (check-in: b82421e3f5 user: drh tags: order-by-subquery)
2024-08-15
23:38
If a subquery is materialized due to an ORDER BY and that ordering is useful in helping to satisfy the ORDER BY or GROUP BY in the order query without doing an extra sort, then omit the extra sort. (check-in: 2fbb4dc232 user: drh tags: order-by-subquery)
20:33
Extra tests. (check-in: fb257540d3 user: dan tags: fts5-locale)
18:50
Further tests and fixes for this branch. (check-in: d27985245a user: dan tags: fts5-locale)
15:31
Improved help message for --disable-tcl on the configure script. (check-in: 96e6cfb211 user: drh tags: trunk)
15:23
Reinstate the --disable-tcl option on ./configure. Forum thread 845d4a57becc7f3c. (check-in: de927016aa user: drh tags: trunk)
2024-08-14
20:00
Doc typo correction reported in the forum. (check-in: 48900a867c user: stephan tags: trunk)
17:58
Improved documentation for the sha3() SQL functions in the shathree.c extension in ext/misc. (check-in: 0ce609103e user: drh tags: trunk)
15:04
Add a compile-time option that enables setting the encryption key. (Leaf check-in: dafc517415 user: drh tags: iotester)
14:50
incremental improvements to iotester. (check-in: 51f5d3d991 user: drh tags: iotester)
14:26
Fix an assert() in fts5 that might fail with an expression like "... NOT ''". (check-in: 317c91edfc user: dan tags: trunk)
14:12
More incremental improvements to the iotester program. (check-in: 30a383fc3d user: drh tags: iotester)
13:31
Further improvements to the new iotester program. (check-in: dd71dde547 user: drh tags: iotester)
2024-08-13
21:15
More tests for the new code on this branch. (check-in: 00792e807f user: dan tags: fts5-locale)
21:04
Add the sha3_agg() aggregate to the shathree extension. (check-in: c4d7f9996c user: drh tags: trunk)
20:16
Use the xDelete method of the VFS rather than direct interation with the filesystem. (check-in: 96df5aa656 user: drh tags: iotester)
19:30
Infrastructure for a new test program named "iotester" that strives to verify the operation of a VFS object. (check-in: b46d86c22b user: drh tags: iotester)
15:04
Add tests and fix minor issues with the code on this branch. (check-in: def5243a7b user: dan tags: fts5-locale)
09:16
Version 3.46.1 (check-in: c9c2ab54ba user: drh tags: release, branch-3.46, version-3.46.1)
2024-08-12
18:39
Add extra documentation comments to fts5_main.c. (check-in: 1a7a9bd3f6 user: dan tags: fts5-locale)
17:28
Fix problem with some fts5 aux function APIs with (locale=, detail=none/column) tables. (check-in: bf116dec6f user: dan tags: fts5-locale)
17:03
Fix further issues to do with fts5 locale support. (check-in: e626123580 user: dan tags: fts5-locale)
13:31
Merge current trunk into this branch. (check-in: 900a593ddf user: stephan tags: wasm-build-rework)
11:46
Update the porter tokenizer to use locales. (check-in: 3291ce3a33 user: dan tags: fts5-locale)
11:13
Update the auxiliary function API to include xTokenize_x2() instead of xSetLocale(). (check-in: f7d56a1f21 user: dan tags: fts5-locale)
09:49
Resolve parameters Bind $int_N and $test_T in fuzzcheck inputs. (check-in: 9c10664416 user: drh tags: trunk)
2024-08-10
20:24
Merge the latest trunk enhancements into main reuse-schema branch. (check-in: 31a71a79bf user: drh tags: reuse-schema)
20:22
Merge all the branch-3.46 patches into the reuse-schema as a new sub-branch called reuse-schema-3.46. (Leaf check-in: a27b12ee22 user: drh tags: reuse-schema-3.46)
20:16
Merge all the latest branch-3.46 changes into the bedrock-3.46 branch via the wal2-3.46 intermediary. (check-in: cfb334dc53 user: drh tags: bedrock-3.46)
20:03
Merge trunk changes into this branch. (check-in: b243007525 user: dan tags: fts5-locale)
20:02
Merge the latest branch-3.46 changes into wal2 as a new sub-branch called wal2-3.46. (Leaf check-in: b917d07fc6 user: drh tags: wal2-3.46)
19:59
Merge all of the latest branch-3.46 into the begin-concurrent branch as a new sub-branch called begin-concurrent-3.46. (Leaf check-in: 6cc144624d user: drh tags: begin-concurrent-3.46)
19:57
Prevent the fts5 xPhraseNext() or xPhraseFirst() APIs from returning an out-of-range column number, even if the database is corrupt. (check-in: d4014c87ba user: dan tags: trunk)
19:18
Fix an uninitialized variable in fts5_tcl.c. (check-in: 924d3467ce user: dan tags: fts5-locale)
18:59
Update the fts5_tokenizer_v2 API so that the locale is passed as parameter to xTokenize(), instead of via a separate call to xSetLocale(). (check-in: 03e63ed24e user: dan tags: fts5-locale)
16:29
Revision to check-in d9f726ade6b258f8 so that OOM and other unrelated failures are not overridden by a syntax error in the tokenizer spec. (check-in: fc956353d3 user: drh tags: branch-3.46)
15:46
Revision to check-in [d9f726ade6b258f8] so that OOM and other unrelated failures are not overridden by a syntax error in the tokenizer spec. (check-in: 3778b2a9ca user: drh tags: trunk)
15:05
Fix harmless compiler warning related to the TCL8-to-TCL9 transition. This change in testing code only and is not relevante to the core SQLite. (check-in: c86ef65545 user: drh tags: trunk)
14:56
Fix behavior change in the offset() SQL function introduced by check-in f0b671183f44d0ae. (check-in: d6fc6e5f0a user: drh tags: branch-3.46)
14:53
Fix behavior change in the offset() SQL function introduced by check-in [f0b671183f44d0ae]. (check-in: c2ac17f183 user: drh tags: trunk)
13:45
Cherrypick ALTER TABLE fixes from trunk so that ALTER TABLE no longer returns SQLITE_INTERNAL instead of SQLITE_ERROR after malformed input. (check-in: 6decf00f7c user: drh tags: branch-3.46)
11:02
Cherrypick various minor fixes from trunk into branch-3.46. (check-in: 6047b18ee3 user: drh tags: branch-3.46)
10:14
Enhancements to covering-index prediction. Add early detection of over-prediction of covering-indexes so that sqlite3_prepare() will return an error rather than just generate bad bytecode. (check-in: 4afe3201f0 user: drh tags: branch-3.46)
10:05
Enhancements to covering-index prediction. In particular, avoid the false-positive prediction described by forum post e60e4c295d22f8ce. Add early detection of over-prediction of covering-indexes so that sqlite3_prepare() will return an error rather than just generate bad bytecode. (check-in: f0b671183f user: drh tags: trunk)
09:56
Add an assert() to fix a harmless compiler warning in the recovery extension. (check-in: 2502339339 user: drh tags: trunk)
2024-08-09
22:48
Fix a few minor TCL9 compatibilities issues. (check-in: 69eed19914 user: drh tags: trunk)
20:59
Ensure tokenizers registered with xCreateTokenizer_v2() can be accessed using xFindTokenizer(), and that those registered with xCreateTokenizer() work with xFindTokenizer_v2(). (check-in: a3ef7d47b5 user: dan tags: fts5-locale)
18:53
Import the second ALTER TABLE fix from trunk. (Closed-Leaf check-in: 1de3e58836 user: drh tags: covering-index-patch)
18:42
Fix another instance where ALTER TABLE was returning SQLITE_INTERNAL instead of SQLITE_ERROR one malformed input. (check-in: b416756320 user: drh tags: trunk)
18:22
Merge the error code fix from trunk. (check-in: 81dfb8cd5d user: drh tags: covering-index-patch)
18:18
Fix the internal routine sqlite3ResolveExprListNames() so that it returns SQLITE_OK or SQLITE_ERROR instead of WRC_Continue or WRC_Abort. Without this fix, some times of obscure syntax errors end up returning SQLITE_INTERNAL rather than SQLITE_ERROR. (check-in: 9052187efd user: drh tags: trunk)
17:09
Do not attempt to use a covering index based purely on columns-used when doing an UPDATE or DELETE of a WITHOUT ROWID table. Raise an SQLITE_INTERNAL error if there is ever a situation where a table reference cannot be converted into an index reference when the query planner thinks that a covering index is appropriate. (check-in: fae39ae932 user: drh tags: covering-index-patch)
13:56
Add SQLITE_TESTCTRL_EDITSTMT for making rogue changes to the statement bytecode, to test the death-cursor error detection mechanism. (Closed-Leaf check-in: 58ffd5d97e user: drh tags: death-cursor)
12:35
Bind the new debug parameters in fuzzinvariants.c. (check-in: 7e1dc26305 user: drh tags: trunk)
12:20
Remove unused static var cBadGroup from ext/consio/console_io.c to resolve a compiler warning reported in the fossil forum. This is a build fix, not a functional change. (check-in: be3de2e600 user: stephan tags: branch-3.46)
12:19
Remove unused static var cBadGroup from ext/consio/console_io.c to resolve a compiler warning reported in the fossil forum. This is a build fix, not a functional change. (check-in: fa047c3ea7 user: stephan tags: trunk)
10:56
Fix some signed/unsigned compiler warnings on this branch. (check-in: 681d228023 user: dan tags: wal2)
10:50
Fix some signed/unsigned compiler warnings on this branch. (check-in: d615d52918 user: dan tags: bedrock)
10:37
Remove two unnecessary int casts, as reported in forum post 84fe63b7b3. (check-in: 137cc3e9e8 user: dan tags: begin-concurrent)
09:49
Remove two unnecessary int casts, as reported in forum post 84fe63b7b3. (check-in: 1de0c1b574 user: stephan tags: bedrock)
02:10
Change the null-cursor in the previous check-in into a death-cursor. Any access of the cursor causes the prepared statement to return an SQLITE_INTERNAL error. We'll need to add a way to edit the bytecode using sqlite3_test_control() in order to test the death-cursor code path. (check-in: 8894b243ef user: drh tags: death-cursor)
01:38
If there is any question about whether or not the WHERE_IDX_ONLY flag in the query planner is correct, create a backup null-cursor for the table, so that we never try to run an OP_Column against an unopened cursor. (check-in: 7f1617f7bf user: drh tags: death-cursor)
2024-08-08
19:45
Do not allow the WHERE_IDX_ONLY query planner result in cases where a partial index is used on an UPDATE or a DELETE, since the code might still need to access the original table due to parameterized terms in the WHERE clause of the partial index. (Closed-Leaf check-in: 7058d93b09 user: drh tags: partial-index-terms-patch)
16:04
In the vdbe_addoptrace output, show OP_Column opcodes that fail to translate from table to index. This is an aid to testing and analysis only. No changes to production code. (Closed-Leaf check-in: 7f464793fc user: drh tags: extra-debug)
15:42
Ensure sqlite3expert.c unregisters any SQL user-functions it registers with the database handle before returning. (check-in: 2708314448 user: dan tags: branch-3.46)
15:26
Ensure sqlite3expert.c unregisters any SQL user-functions it registers with the database handle before returning. (check-in: 123b154ce3 user: dan tags: trunk)
15:07
Add assert() statements and reorganize code slightly in fts3 and fts5 to make it easier to follow. (check-in: 797b0a13fd user: dan tags: trunk)
14:49
Do not let the number of terms on a VALUES clause be limited by SQLITE_LIMIT_COMPOUND_SELECT, even if the VALUES clause contains elements that appear to be variables due to the use of double-quoted string literals. (check-in: 05dbfad70c user: drh tags: branch-3.46)
14:45
Do not let the number of terms on a VALUES clause be limited by SQLITE_LIMIT_COMPOUND_SELECT, even if the VALUES clause contains elements that appear to be variables due to the use of double-quoted string literals. Chromium issue 358174302. (check-in: 670beb133e user: drh tags: trunk)
12:14
Back out the --memory option to ".parameter init" in the CLI, as the capability is no longer needed for testing due to the new "$int_N" and "$text_T" automatic bindings, and the "init --memory" is hence just added complication. (check-in: 3b1b0c1419 user: drh tags: trunk)
12:08
In the CLI, recognize magic parameter names "$int_NNN" and "$text_TTT" and bind them with integer value NNN and text value TTT respectively. Intended for testing and debugging use only. (check-in: a929cdb00f user: drh tags: trunk)
10:55
Move a misplaced va_end, as reported in forum post 702c79e9da. (check-in: 569824c7ff user: stephan tags: branch-3.46)
10:51
Move a misplaced va_end, as reported in forum post 702c79e9da. (check-in: daa25fb35f user: stephan tags: trunk)
10:10
Add the --memory option to the ".parameter init" CLI command. When present, the --memory option causes the sqlite_parameters table to be created in a completely independent :memory: database. This can be done to avoid parameter binding queries from being affected by debug settings such as ".wheretrace", ".treetrace", "PRAGMA vdbe_addoptrace=on", and similar. (check-in: 4e69dce209 user: drh tags: trunk)
2024-08-07
21:20
Fix a broken assert in fts5_expr.c. (check-in: 08cc548840 user: dan tags: trunk)
15:17
Add a new assert() to help static analyzers understand that a pointer is never NULL. (check-in: 433f2b942e user: drh tags: trunk)
14:54
Fix a harmless compiler warning in an assert(). (check-in: 5e4c9a74b2 user: drh tags: trunk)
2024-08-06
23:09
Remove unused test cases from FTS5, as they interfere with "grep". (check-in: 048a71bae4 user: drh tags: trunk)
22:54
Improved robustness of parsing of tokenize= arguments in FTS5. (check-in: 7a65ac42c2 user: drh tags: branch-3.46)
22:49
Improved robustness of parsing of tokenize= arguments in FTS5. Forum post 171bcc2bcd. (check-in: d9f726ade6 user: drh tags: trunk)
20:00
Improvements to ./configure that will hopefully break fewer builds. (check-in: 769e32a69b user: drh tags: trunk)
10:29
Change the AggInfoColumnReg() and AggInfoFuncReg() macros for compilers that cannot parse empty elements of a comma expression. Forum post 8fd21998dc. (check-in: 533a6251f1 user: drh tags: trunk)
2024-08-04
10:13
Restore legacy "tcl_install" makefile target, as an interim measure until I can figure out what is going on. (check-in: 931ad7d9e3 user: drh tags: trunk)
2024-08-03
23:00
Fix to the previous checkin: The colUsed parameter should have high-order bit set if any of the 64-th or greater columns of the virtual table is used. The lower 63 bits of colUsed always show the usage of the first 63 columns of the virtual table. (check-in: 90ac845775 user: drh tags: trunk)
21:45
Ensure that the sqlite3_index_info.colUsed mask always includes the PK fields of WITHOUT ROWID virtual tables. (check-in: ff4ac279b0 user: drh tags: trunk)
18:58
Fix a typo in [c327c0c0] preventing the shell tool from running ".dump" scripts that feature virtual tables. (check-in: 10e97abb87 user: dan tags: trunk)
18:45
Ensure the sqlite3_index_info.colUsed mask always includes the PK fields of WITHOUT ROWID vtabs in cases where they may be used. (Closed-Leaf check-in: c327c0c02c user: dan tags: vtab-pk-colUsed-fix)
15:55
Add the --status option to the test runs using testrunner.tcl. Only works on Unix platforms. The "exec" command appears to interfere with VT100 escape codes on windows. (check-in: 94015cda4c user: drh tags: trunk)
2024-08-02
21:06
Change things so that locale=1 is required to write fts5_locale() values to an fts5 table, and so that blobs may not be stored in indexed (i.e. not UNINDEXED) columns of these tables. (check-in: c98ccc1216 user: dan tags: fts5-locale)
18:20
Make sure the input buffer is big enough for an memcpy() when doing the restore autodetection in the shell. (check-in: 1637d29d51 user: drh tags: trunk)
17:36
Add the "-d SECS" option to the "status" command of testrunner.tcl (check-in: 2151ea3163 user: drh tags: trunk)
15:28
New MSVC makefile targets: tclextension, tclextension-install, tclextension-uninstall, and tclextension-list. (check-in: c38734f575 user: drh tags: trunk)
13:56
Fix typo in a progress message in the builttclext.tcl script. (check-in: 5e7c946456 user: drh tags: trunk)
11:32
Fix problems in the configure/Makefile system caused by recent enhancements and report by forum post 242ebd0c81. (check-in: a59319fe4a user: drh tags: trunk)
00:59
New configuration option: --with-tclsh=FILE. New makefile targets: tclextension, tclextension-install, tclextension-uninstall, tclextension-list. (check-in: 888284d1d4 user: drh tags: trunk)
00:56
Previous Makefile.in change broke the tclextension-install target. (Closed-Leaf check-in: 7748367c78 user: drh tags: autoconf-revamp)
00:51
Continuing refinements of the tclextension-install makefile target. (check-in: 871c20a848 user: drh tags: autoconf-revamp)
00:19
Extra robustness for the SQLite Tcl Extension builder, so that it works on Debian Linux. (check-in: 2f0738daaf user: drh tags: autoconf-revamp)
2024-08-01
23:30
Simplification the ./configure script. Carry Makefile CFLAGS and OPTS through into builttclext.tcl. Fix a bug in tclsqlite.c introduced by the previous check-in. (check-in: 72a80aa0ab user: drh tags: autoconf-revamp)
23:00
Add the tclextension-list makefile target. The the makefile running on Mac. (check-in: 2f667cc8e5 user: drh tags: autoconf-revamp)
20:26
New makefile targets: tclextension-install and tclextension-uninstall. Seem to work on Linux. (check-in: 534f8344ab user: drh tags: autoconf-revamp)
20:18
Work on a TCL script that will compile and install the TCL extension. Works on Linux only, so far. This is an incremental check-in. (check-in: 58babd2aa4 user: drh tags: autoconf-revamp)
18:10
Clean up and restructure the TCL configuration sections in autoconf. The new --with-tclsh=FILE option lets you select the specific tclsh that you want to run. (check-in: 8fafc679d9 user: drh tags: autoconf-revamp)
17:15
Clarify the role of Fts5Storage.pSavedRow in the new feature on this branch. (check-in: e8a61d5c48 user: dan tags: fts5-locale)
14:43
Include a test case summary in the output of "errors" in testrunner.tcl. (check-in: 173df1478e user: drh tags: trunk)
14:16
Add the "errors" command to testrunner.tcl. (check-in: 03b7f99229 user: drh tags: trunk)
01:06
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: ff9fdd07d2 user: drh tags: reuse-schema)
00:47
Merge the latest trunk enhancements into the bedrock branch. (check-in: c1f616ce80 user: drh tags: bedrock)
00:38
Merge the latest trunk enhancements into the wal2 branch. (check-in: eac582056f user: drh tags: wal2)
00:02
Merge all the latest trunk enhancements into the begin-concurrent branch. (check-in: 3b131bd9aa user: drh tags: begin-concurrent)
2024-07-31
23:49
Merge the latest trunk enhancements into the lateral-join branch. (check-in: ac6ae84626 user: drh tags: lateral-join)
23:46
Merge all the latest trunk enhancements into the exists-to-join branch. (Leaf check-in: 9084a4c872 user: drh tags: exists-to-join)
22:36
Fix the tclsqlite.c TCL interface module so that it works with both Tcl8 and Tcl9. Make changes across the TCL-based test harness to enable SQLite to be tested with either Tcl8 or Tcl9. Get the --with-tcl= argument on the configure script working. Testing changes only - no changes to the SQLite core. I believe the previous merge attempt didn't work because of errors in the merge itself, not because of faults in the code. Trying again... (check-in: ea9d88f9ca user: drh tags: trunk)
22:26
testrunner.db should be in WAL mode for improved concurrency while running "watch sqlite3 test/testrunner.tcl status". (Leaf check-in: f23ad09798 user: drh tags: tcl9)
22:25
Make the #include section of tclsqlite.c the same as tclsqlite.h. (check-in: 2afadbeb12 user: drh tags: tcl9)
22:17
Fix typo in testrunner.tcl for the "status" command that was causing it to fail if any errors were seen. (check-in: 8327c5ed53 user: drh tags: tcl9)
21:59
Use `<tcl.h>` instead of `"tcl.h"` to include the TCL interface. (check-in: 4e32d4aed7 user: drh tags: tcl9)
21:46
Changed: Move this back onto the branch. It isn't ready for trunk yet. Fix the tclsqlite.c TCL interface module so that it works with both Tcl8 and Tcl9. Make changes across the TCL-based test harness to enable SQLite to be tested with either Tcl8 or Tcl9. Get the --with-tcl= argument on the configure script working. Testing changes only - no changes to the SQLite core. (check-in: 2a04b1bea1 user: drh tags: tcl9)
20:49
Fix various problems with the code on this branch. (check-in: 8bd4ae7e95 user: dan tags: fts5-locale)
19:57
More tweaks to testfixture-implemented TCL commands to make them safe for Tcl9. (check-in: 67897ca97d user: drh tags: tcl9)
19:56
Under Tcl9, the %x format letter truncates to 32-bits. Must use %llx in order to get a 64-bit rendering. (check-in: a3044e0ae6 user: drh tags: tcl9)
17:15
Fixes to testfixture routines needed to test snapshots. (check-in: 66f61c3b35 user: drh tags: tcl9)
16:37
Fix a typo in testrunner_data.tcl that prevented --with-tcl specifications from being carried through into sub-builds. Adjust test cases to account for new floating-point differences discovered when --with-tcl was fixed. (check-in: b8f8135191 user: drh tags: tcl9)
15:46
Add missing documentation for new features to fts5.h. (check-in: fa0da3b28e user: dan tags: fts5-locale)
15:04
Remove obsolete testfixture TCL commands formerly required by Windows but now handled by Tcl itself. Update tests case accordingly. (check-in: 4f065fb638 user: drh tags: tcl9)
13:00
Fix problems uncovered while testing Tcl9 on Windows. (check-in: d5523c77fd user: drh tags: tcl9)
12:19
Minor adjustments to get Tcl9-based testing working on Macs. (check-in: 066c8672ee user: drh tags: tcl9)
11:42
Adjust the configure script so that the --with-tcl option is used to find the appropriate tclsh. (check-in: 6fb9e37c75 user: drh tags: tcl9)
11:12
Patch to testrunner.tcl so that it works with Tcl9's pedantic UTF-8 checking. (check-in: 8d4a23d32d user: drh tags: tcl9)
10:59
Fixes to tclsqlite.c to facilitate TEA installs. (check-in: 7157c3c910 user: drh tags: tcl9)
10:52
Merge latest changes from trunk into this branch. (check-in: ff64939ec8 user: dan tags: fts5-locale)
02:01
Fix a problem with strictly conforming UTF8 in shell1.test. (check-in: 8ee187f98d user: drh tags: tcl9)
01:53
Adjust a few tests that don't work even with the new floating point comparison routine. (check-in: 895125a489 user: drh tags: tcl9)
01:45
Implement a new comparison routine to compare text renderings of floating point values. This gets the number of failures down to just 5. But the routine needs work, and probably refactoring. (check-in: 71f2ee5db0 user: drh tags: tcl9)
2024-07-30
20:39
Fix cases surrounding blob values being stored in locale=1 fts5 tables. (check-in: ae435aff17 user: dan tags: fts5-locale)
20:39
All tests in "make test" now pass with Tcl9, except for about 198 cases where the error involves small differences in the rendering to floating point values. (check-in: 8e27f5326c user: drh tags: tcl9)
18:49
More adjustments to the incrblob channel: Apparently you need to wait until the close2Proc is called with a flag of 0 before actually shutting down the channel. (check-in: fa549a5507 user: drh tags: tcl9)
18:42
Adjustments to test cases for session so that they work with Tcl9. (check-in: d417415b96 user: drh tags: tcl9)
18:15
Tcl_ChannelType implementations for Tcl9 apparently require that wideSeekProc be implemented. Also adjust minor test script issues for fts5 tests so that they can be run sequentially and so that they do not depend on the specific floating point output formats generated by Tcl. (check-in: 19fda979c5 user: drh tags: tcl9)
17:09
Get rid of "-encoding binary" across all test cases, as that is no longer supported in Tcl9. Use "-translation binary" instead. (check-in: e0d9670dd9 user: drh tags: tcl9)
16:59
Use the SQLite format() function to format floating point values for test results, to avoid inconsistences in TCL versions. (check-in: 6a63c47219 user: drh tags: tcl9)
16:51
Fix the incrblob channel so that partial close works with Tcl9. (check-in: d54ec2de78 user: drh tags: tcl9)
15:55
Update the highlight() and snippet() functions to use locales when available. (check-in: 569ae56a67 user: dan tags: fts5-locale)
15:49
First attempt at getting the build to work with Tcl 9.0. (check-in: 6e5bb48a74 user: drh tags: tcl9)
2024-07-29
20:31
Fix xColumnText() and xColumnSize() APIs. Add xColumnLocale() and xTokenizeSetLocale(). (check-in: 14006711d8 user: dan tags: fts5-locale)
17:59
The idea here was to simply an expression like "(a=5) IS TRUE" into "(a=5)=TRUE". But that does not work, since the original form is FALSE if y is NULL whereas the second form is NULL. Patch save for historical reference only. (Closed-Leaf check-in: d029e94399 user: drh tags: broken-istrue-opt)
15:00
Fix a couple of asan problems on this branch. (check-in: 4e3e529313 user: dan tags: fts5-locale)
2024-07-27
20:28
Fix documentation typo. Forum post 993cb82402 (check-in: 86de4e755e user: drh tags: trunk)
19:46
Ensure that an fts5 UPDATE does not strip the locale from columns that it does not write to. (check-in: 69205264de user: dan tags: fts5-locale)
2024-07-26
20:50
Add the fts5_locale() function, and begin adding the related functionality to fts5. (check-in: 8839ef7cfb user: dan tags: fts5-locale)
2024-07-25
16:28
Fix a non-bare-bones-mode test case broken by the previous checkin. (check-in: 3be729493b user: stephan tags: wasm-build-rework)
16:21
Strip progress handlers and window functions from the wasm bare-bones (formerly 'minimal') JS bits, noting that we can't yet use OMIT_WINDOWFUNC (for the C parts) without a custom amalgamation. Currently at 604kb. (check-in: ec02e9237e user: stephan tags: wasm-build-rework)
14:00
More work on the minimal-mode wasm build (now 603kb uncompressed). Remove the hard-coded feature-enable flags from sqlite3-wasm.c and rely on the build to provide them. Some wasm build cleanup, but attempts to completely overhaul it have been thwarted by my inability to make script-generated makefile code more legible/maintainable than the current eval spaghetti. (check-in: b029c40679 user: stephan tags: wasm-build-rework)
10:50
Start work on an overhaul of the wasm build process, with an eye towards less over-engineering. (check-in: ed746b3dd3 user: stephan tags: wasm-build-rework)
2024-07-24
23:58
wasm minimal build: strip authorizers and JSON support (saves approx 35kb). Strip vtab support from the JS bits but cannot yet strip it from the C bits because that requires a custom-configured sqlite3.c. (check-in: eb64d10655 user: stephan tags: trunk)
22:07
Restructuring of the wasm build to support an experimental 'minimal' build mode which elides all non-core APIs. (check-in: ee2191f730 user: stephan tags: trunk)
13:53
Add the percentile extension to the CLI by default. (check-in: bcc3184696 user: drh tags: trunk)
13:41
Add the percentile_cont(Y,P) variant of percentile() to the percentile extension. (check-in: 095c22e622 user: drh tags: trunk)
12:12
JNI SQLTester: fix --new command to force-replace db if it already exists. Add no-op impls for --stmt-cache and --jsonglob commands. (check-in: f1185dc349 user: stephan tags: trunk)
2024-07-23
16:23
Enhance the percentile() extension function to include the median() variant. Update the implementation to implement its own sorting algorithm, so that the extension no longer depends on qsort(). (check-in: 6e31b1bab1 user: drh tags: trunk)
2024-07-22
21:46
Doc typo fix. No code changes. (check-in: 8d558ad25b user: stephan tags: trunk)
21:21
Move a block of JS code which was inadvertently (and harmlessly) moved in the previous checkin. Clarify the semantics of an internal-use-only API. Add another WAL-related JS test. (check-in: 6cd9f55a97 user: stephan tags: trunk)
20:58
OPFS VFSes: remove the on-open() pragma calls, as those (A) already reflected the build-time default settings and (B) they made it illegal to run locking_mode=exclusive, which is a requirement for WAL mode without shared memory. Modify part of the test suite to demonstrate that the SAHPool VFS can run in WAL mode so long as locking_mode=exclusive is used. (check-in: 19cd8e2b05 user: stephan tags: trunk)
19:52
wasm build: resolve a circular dep and do some minor tidying up. (check-in: 9df3f1f24c user: stephan tags: trunk)
19:31
Fix undesirable C++-style comments in the parser. (check-in: e330596aed user: drh tags: lateral-join)
17:09
Do not abort the resolver early if a LIMIT expression does not resolve, as that can result in a memory leak. (check-in: ac6dc8c605 user: drh tags: lateral-join)
16:59
Only allow variables in LIMIT clauses if the LIMIT is within a LATERAL subquery and the variable resolves to another FROM clause term to the left of the subquery. We cannot allow variables from outer contexts because the LIMIT value is computed before the cursors in the outer context have been initialized. (check-in: 0a2531c3a3 user: drh tags: lateral-join)
16:15
Allow LIMIT expressions to appear in any outer context. (check-in: c9d3427de5 user: drh tags: lateral-join)
13:55
Do not allow LIMIT and OFFSET to be expressions except for in a LATERAL. (check-in: 1034782137 user: drh tags: lateral-join)
00:46
Allow LIMIT and OFFSET to contain variables from prior terms of the FROM clause in a LATERAL subquery. Forum post dfe2cd37ca3a9a80 (check-in: 4f0515138a user: drh tags: lateral-join)
2024-07-21
23:36
Merge debugging output fixes from trunk into the lateral-join branch. (check-in: 9182e99952 user: drh tags: lateral-join)
23:34
Fixes to TreeView debugging output for VALUES clauses. (check-in: b6aed8bcb0 user: drh tags: trunk)
23:10
Improved debugging output when using PRAGMA vdbe_addoptrace: Show the range of opcodes being checked for Column-to-Copy conversion. (check-in: 2c122026db user: drh tags: trunk)
21:37
Fix to the case of a LATERAL subquery that references a prior table that uses a covering index. Forum post fc29fa4f14. (check-in: 6d863172dc user: drh tags: lateral-join)
18:03
Assert added to ensure that LATERAL subqueries are materialized instead of implemented as a co-routine. (check-in: 6c14b94fb6 user: drh tags: lateral-join)
10:35
Fix LATERAL subqueries so that they are able to reference other subqueries to their left that are implemented as co-routines. See Forum post dfe2cd37ca3a9a80. (check-in: 31e175fcd0 user: drh tags: lateral-join)
2024-07-20
17:38
Fix rule (1c-ii) of the fromClauseTermCanBeCoroutine() decision so that it work with LATERAL. Add testcase() macros to verify bitmask conditions are all checked. (check-in: 23d83a41ea user: drh tags: lateral-join)
16:11
Fix an oversized allocation in sqlite3ExprCodeIN(). (check-in: d7be326a80 user: dan tags: trunk)
14:06
Add testcase() macros to bitmap tests in the new code. (check-in: 874bc7bc25 user: drh tags: lateral-join)
09:36
Remove an unnecessary error offset assignment. (check-in: 4ee74b7224 user: drh tags: lateral-join)
08:31
Optimizations and improved comments. (check-in: 84b80233e7 user: drh tags: lateral-join)
03:57
Do not do an early abort if a lateral subquery is an empty set. (check-in: 9e50d338eb user: drh tags: lateral-join)
03:19
"LATERAL" may not be a keyword, as that would cause problems for legacy databases that have tables named "lateral". It has to be parsed as an identifier. (check-in: 8217bddaf8 user: drh tags: lateral-join)
01:19
Experimental implementation of LATERAL JOIN. (check-in: 3c045a96bc user: drh tags: lateral-join)
2024-07-18
19:17
Minor typo fixes in test-script-interpreter.md. (check-in: bf54b26092 user: stephan tags: trunk)
18:44
Fix a problem in FTS5 where it reports the wrong error code following an OOM. (check-in: 0c1cc4071e user: drh tags: trunk)
2024-07-17
18:38
Fixes for platforms with 32-bit pointers that require 64-bit values to be aligned. (check-in: 539e4f6617 user: dan tags: trunk)
16:27
Add extra assert() statements to the fixes on this branch. (Closed-Leaf check-in: 81b6360050 user: dan tags: alignment-fixes)
2024-07-15
10:13
Slight doc touchup for [af41a1e6fc8b36e9bf65]/[c7519d98ff09e] based on feedback. No code changes. (check-in: a61997c315 user: stephan tags: branch-3.46)
10:11
Slight doc touchup for [af41a1e6fc8b36e9bf65] based on feedback. No code changes. (check-in: be7b1fc0c5 user: stephan tags: trunk)
2024-07-13
18:16
Improve one of the JS test cases. (check-in: 3767d8bef2 user: stephan tags: trunk)
16:53
Fixes for platforms with 32-bit pointers that require 64-bit values to be aligned. (check-in: 2212d7488e user: dan tags: alignment-fixes)
15:42
Add JS binding for sqlite3_column_decltype(). (check-in: 5252d292b1 user: stephan tags: trunk)
15:21
JS doc touchups. No code changes. (check-in: a8e240495f user: stephan tags: trunk)
14:07
Add JS bindings for sqlite3_stmt_busy() and sqlite3_stmt_explain(). (check-in: b772edfb44 user: stephan tags: trunk)
13:22
Add missing sqlite3_bind_parameter_name() binding to JS. (check-in: 6dcfcc7e1c user: stephan tags: trunk)
12:50
Add JS bindings and tests for sqlite3_interrupted(), is_interrupted(), and db_readonly(). (check-in: 5589ba5651 user: stephan tags: trunk)
11:47
Remove a stray/harmless duplicate wasm function export entry. (check-in: 5402e4fb1c user: stephan tags: trunk)
01:40
Add several convenience links to the OPFS VFS concurrency tester app for launching it with various combinations of options. (check-in: 397d6a18f1 user: stephan tags: trunk)
01:02
Add an option to the opfs-sahpool VFS which tells it to ignore a previous init failure and retry, as an opt-in workaround for a browser quirk which occasionally denies OPFS access on the first attempt and permits it on subsequent attempts. This resolves issue #79 of the npm distribution. (check-in: fbf3948a4b user: stephan tags: trunk)
00:55
Rename the new opfs-sahpool init-retry flag to the suitably descriptive, and suitably onerous, forceReinitIfPreviouslyFailed, based on feedback. (Closed-Leaf check-in: c9f0a60902 user: stephan tags: sahpool-reinit-fallback)
2024-07-12
14:41
sqldiff: fail if the 2nd db argument cannot be opened read-only. (check-in: e8b33525fc user: stephan tags: trunk)
13:51
Work around a difficult-to-trigger Atomics API message-passing quirk in the OPFS VFS which appears in rare instances in some browsers when running high I/O loads. This resolves issue #12 of the npm distribution. (check-in: c7519d98ff user: stephan tags: branch-3.46)
13:49
Work around a difficult-to-trigger Atomics API message-passing quirk in the OPFS VFS which appears in rare instances in some browsers when running high I/O loads. This resolves issue #12 of the npm distribution. (check-in: af41a1e6fc user: stephan tags: trunk)
13:45
sqldiff: if the first db argument does not exist, fail instead of creating an empty db. Resolving that for the second argument is trickier, as discussed in forum post ec2d429e32. (check-in: 0547ccf776 user: stephan tags: trunk)
2024-07-11
19:50
Reformulate the forceReinitIfFailed handling based on feedback, to correct the type-checking and resolve a potential race condition. (check-in: c4f4683091 user: stephan tags: sahpool-reinit-fallback)
14:07
Remove the timing and counter metrics from the OPFS VFS, as they're long-since unused so are just wasted CPU cycles. (Closed-Leaf check-in: 67c035c34f user: stephan tags: opfs-errant-op)
12:57
Add some docs explaining [64f4f3cd878b1a72]. (check-in: 4fdf9a322f user: stephan tags: opfs-errant-op)
12:36
Proposed workaround for the "errant op" case in the OPFS VFS, as discussed in issue #12 of the npm distribution. (check-in: 64f4f3cd87 user: stephan tags: opfs-errant-op)
11:04
Add an option to force the opfs-sahpool VFS init to re-run after it fails on a first attempt, as a workaround for flaky environments where initial access to OPFS sync access handles is rejected but then permitted on a second attempt. Reported and discussed in issue #79 of the npm distribution. (check-in: 5286e0f654 user: stephan tags: sahpool-reinit-fallback)
2024-07-10
08:33
Rename some JS files for consistency. This affects only the build process, not the deliverables. (check-in: bcef3f71a2 user: stephan tags: trunk)
2024-07-08
17:39
Fix a use-after-free that could occur following an OOM introduced by [d8cedbe0]. (check-in: 4fabfacfcf user: dan tags: trunk)
16:01
Improve the error message returned when fts5 finds a row is missing from its content table. (check-in: 9b1afd4acb user: dan tags: trunk)
2024-07-05
13:55
Use a mini Bloom filter to help reduce the number of pointless searches for prior SubrtnSig objects when generating code for IN operators with subqueries as their right operand. (check-in: d8cedbe055 user: drh tags: trunk)
10:08
Improved reuse of subqueries associated with IN operators, especially when the IN operator is duplicated due to predicate push-down. (check-in: 2a07caad4a user: drh tags: bedrock-3.46)
10:03
When constructing an ephermeral table to use as the right-hand side of an IN operator, also construct a Bloom filter to speed membership testing. (check-in: 557a14a24a user: drh tags: bedrock-3.46)
09:56
Improved reuse of subqueries associated with IN operators, especially when the IN operator is duplicated due to predicate push-down. (check-in: c9a3498113 user: drh tags: trunk)
01:05
Small performance optimizations. (Closed-Leaf check-in: 99fd34b58a user: drh tags: reuse-subqueries)
2024-07-04
18:56
Add test cases to in7.test. (check-in: 07817efc10 user: dan tags: reuse-subqueries)
18:26
Disable the reuse of IN-clause subqueries if the subquery is an explicit "SELECT ALL". The ALL keyword is almost never used in actual practice (most developers don't even know it can be used) so this should not interfere with the optimization, but it does give us a convenient way to turn it off for testing purposes. (check-in: a81299be2c user: drh tags: reuse-subqueries)
17:49
Update EXPLAIN output to include P4_SUBRTNSIG. (check-in: 61e56923c8 user: dan tags: reuse-subqueries)
16:57
Be more aggressive about reusing subqueries that appear on the RHS of IN operators that have been replicated due to the predicate push-down optimization. (check-in: 2accf32b6e user: drh tags: reuse-subqueries)
11:15
Add comment using the name "predicate push-down optimization" to what we have also called "WHERE-clause push down". No changes to code. (check-in: be77fe701c user: drh tags: trunk)
09:45
For shell completion, use pragma_table_xinfo instead of pragma_table_info, so that generated columns are handled, as reported in forum post f0735e05d8d7e857. (check-in: a204ffc06b user: stephan tags: trunk)
2024-07-03
20:30
When constructing an ephermeral table to use as the right-hand side of an IN operator, also construct a Bloom filter to speed membership testing. (Leaf check-in: 0bb306eb70 user: dan tags: bedrock-3.45-in-bloom)
20:19
When constructing an ephermeral table to use as the right-hand side of an IN operator, also construct a Bloom filter to speed membership testing. (check-in: baa83b460c user: drh tags: trunk)
20:10
Show the creation of IN-operator Bloom filters in the EXPLAIN QUERY PLAN output. (Closed-Leaf check-in: c10a1b99d4 user: drh tags: in-bloom)
18:56
Add a new sqlite3FaultSim() call to OP_NotFound to use for testing purposes. (check-in: 84fd275bfd user: drh tags: in-bloom)
17:51
Use a Bloom filter to improve performance of IN operators when the RHS of the IN operator is a subquery. (check-in: 1933496539 user: drh tags: in-bloom)
2024-07-02
13:54
Add assert() statements to FTS5 to hush-up warnings from scan-build. (check-in: 77a76654e6 user: drh tags: trunk)
12:16
Rework the deliberate_fall_through macro along the lines suggested by forum post 7ec11023dd so that it works better with LLVM, while preserving compatibility with MSVC and older GCCs. (check-in: fc248a4a0a user: drh tags: trunk)
11:30
In the CLI, if the XDG_CONFIG_HOME environment variable is not set, then also search in ~/.config/sqlite3/sqliterc for the initialization file. See forum thread 5cc6d059e9e092ed. (check-in: 33841c9c3c user: drh tags: trunk)
2024-06-29
15:57
Fix a typo in a comment in a test case. No changes to code. (check-in: f501166de4 user: drh tags: trunk)
12:22
Add a NEVER() around a branch in sqlite3ExprAffinity() that is designed to prevent an infinite loop, but which can now never be reached due to recent changes. (check-in: da0b794852 user: drh tags: trunk)
2024-06-28
18:21
Update fts5 comment/docs to include the order matches are visited in by the xPhraseFirst/xPhraseNext API. (check-in: e41930ef5b user: dan tags: trunk)
18:07
Additional steps to make sure calls to sqlite3ExprToRegister() are sane. (check-in: 1c42d7176b user: drh tags: trunk)
17:14
Do not convert an expression node that is already TK_REGISTER into a new TK_REGISTER. This is a follow-up to [663f5dd32d9db832] that fixes a bug discovered by dbsqlfuzz. (check-in: fcb669cfaa user: drh tags: trunk)
2024-06-27
18:18
Avoid 32-bit overflow when calculating ncycle for ".scanstats vm". (Leaf check-in: 78022f90d5 user: dan tags: bedrock-3.45)
15:03
Merge all the latest trunk enhancements into the recursive-cte-orderby-fix branch. (Leaf check-in: 5f159e5425 user: drh tags: recursive-cte-orderby-fix)
14:54
Merge the latest trunk enhancements into the exists-to-join branch. (check-in: fc643f8a12 user: drh tags: exists-to-join)
2024-06-26
16:33
Do not use integer constants like 100_000 in the shell code on this branch. They are not supported until 3.46. (check-in: 8362edb45b user: dan tags: bedrock-3.45)
2024-06-24
18:06
Fix an incorrect tcl comment that appeared in many fts5 test files. (check-in: d07085e203 user: dan tags: trunk)
16:08
Fix some problems with calling fts5 api functions from within non-full-text queries. (check-in: 56d265f956 user: dan tags: trunk)
15:05
Enhance the output of ".scanstats vm" to include the absolute number of ticks for each VM instruction, instead of just the percentage of the total. (check-in: d826236e22 user: dan tags: bedrock-3.45)
14:53
Enhance the output of ".scanstats vm" to include the absolute number of ticks for each VM instruction, instead of just the percentage of the total. (check-in: 1535828335 user: dan tags: trunk)
2024-06-20
12:07
Do not attempt the exists-to-join optimization if the FROM clause is full. (check-in: 8e3a1d2850 user: drh tags: exists-to-join)
2024-06-19
18:54
Revert Lemon so that it only shows -D options that are actually used. Though the change to display the options in sorted order is retained. (check-in: e54eb217c9 user: drh tags: trunk)
18:46
In lemon, show all the -D options in the generated header, even if none of them are used. (check-in: 2aa009c38b user: drh tags: trunk)
16:38
Enhance lemon.c so that when it shows the compile-time options in the header comment of the generated output file, it shows all options, even those not used, and it shows them in sorted order. (check-in: eed76e6698 user: drh tags: trunk)
11:08
Remove some extraneous flags from the fiddle-debug build. Internal doc tweaks in the main wasm makefile. (check-in: afae2c9e6f user: stephan tags: trunk)
2024-06-18
22:03
Minor cleanups in the new fiddle build code. (check-in: d356aebdd4 user: stephan tags: trunk)
21:50
Rework the fiddle build to build separate debug and non-debug bundles, with the latter in ./fiddle-debug. (check-in: a9f1758f1c user: stephan tags: trunk)
20:47
Remove an extraneous CSS file and import its CSS into the one HTML file which uses it. (check-in: 66085ca423 user: stephan tags: trunk)
20:40
Add fiddle-debug make target to ext/wasm. It builds the same target files as a non-debug build, as opposed to a new copy, but adds various debug-related flags. (check-in: 993143c5c3 user: stephan tags: trunk)
19:36
Add instructions for how to do debugging builds of the CLI on Windows. (check-in: abe81c1861 user: drh tags: trunk)
12:19
Update sqlite3_analyzer to report on the number of WITHOUT ROWID tables and to provide separate aggregate statistics for WITHOUT and WITH ROWID tables. (check-in: 4152894433 user: drh tags: trunk)
09:58
Internal doc typo fixes, as reported in the forum. No code changes. (check-in: ea16b286b4 user: stephan tags: trunk)
2024-06-17
13:06
Improve the JS-exception-to-C-result-code conversion to account for the case of a file disappearing while the OPFS VFS is waiting to acquire a lock on it. (check-in: d34e788044 user: stephan tags: branch-3.46)
2024-06-16
17:06
Remove some dead JS code. (check-in: 754e6e059b user: stephan tags: trunk)
2024-06-14
23:13
Do not omit the ORDER BY clause from a recursive CTE just because the query that contains the CTE also contains an ORDER BY clause. Plus other changes imported from the recursive-cte-orderby-fix branch. (check-in: 13242289c5 user: drh tags: trunk)
19:27
Fix harmless comment typo. (check-in: ca06380233 user: drh tags: recursive-cte-orderby-fix)
18:33
Improvement to treeview.c: Show the DESC and BIGNULL flags when printing out ExprList objects. (check-in: e87966cf63 user: drh tags: recursive-cte-orderby-fix)
18:06
Add tests for the change on this branch. (check-in: ae19ff9ba8 user: dan tags: exists-to-join)
17:16
Do not omit the ORDER BY clause from a recursive CTE just because the outer query that uses the CTE also contains an ORDER BY clause. (check-in: 5e700f2cc2 user: drh tags: recursive-cte-orderby-fix)
2024-06-12
22:15
Remove some dead JS code. Improve the exception-to-C-result-code conversion to account for the case of a file disappearing while the OPFS VFS is waiting to acquire a lock on it. (check-in: 5bd9fd5f61 user: stephan tags: trunk)
21:08
Fix a potential db corruption case triggered by the OPFS VFS's xCheckReservedLock() implementation. (check-in: a7cd07d96e user: stephan tags: branch-3.46)
21:01
Remove some JS docs which no longer apply. No code changes. (check-in: f253cab335 user: stephan tags: trunk)
17:01
Do not attempt the exists-to-join optimization for expressions from the ON clause of joins. (check-in: 4666433cbd user: dan tags: exists-to-join)
15:50
Fix a problem with rolling back hot journals using the unix-dotfile VFS. (check-in: a44703135e user: dan tags: trunk)
15:29
Omit tests that depend on sqlite3_release_memory() in lock5.test when running the memsubsys1 or memsubsys2 permutations. (Closed-Leaf check-in: 9d63033bf4 user: dan tags: unix-dotfile-fix)
12:36
Fix a potential db corruption case triggered by the OPFS VFS's xCheckReservedLock() implementation, as discussed in forum thread a2f573b00cda1372. (check-in: c298b8ba2d user: stephan tags: trunk)
12:17
Doc updates in JS code. No functional changes. (check-in: 587ed3a5d2 user: stephan tags: trunk)
11:41
Do not attempt to run hot journal rollback tests in lock5.test with the "inmemory_journal" permutation, which cannot generate hot journals. (check-in: 1e6fa95b88 user: dan tags: unix-dotfile-fix)
11:39
Slight API doc tweak for xCheckReservedLock(), based on forum feedback. No code changes. (check-in: 2af7a96f68 user: stephan tags: trunk)
10:17
Improvements to the layout and comments for the new round() implementation. (Leaf check-in: d6b1df1a22 user: drh tags: round-up-2)
00:30
Test cases for the round() function for values within one epsilon of the 5 round-up threshold. (check-in: 552b1b1066 user: drh tags: round-up-2)
2024-06-11
22:47
A second approach to working on the round() function so that it gives a small boost to numbers that are ...49999999 such that they round up. (check-in: 44dd632896 user: drh tags: round-up-2)
20:28
Handle the case where unix-dotfile is used with URI parameter nolock=1. (check-in: 3925a5b904 user: dan tags: unix-dotfile-fix)
20:03
Fix a problem with rolling back hot journals using the unix-dotfile VFS. (check-in: 4ae3300b79 user: dan tags: unix-dotfile-fix)
18:22
Provide the ability to disable the exists-to-join optimization using SQLITE_TESTCTRL_OPTIMIZATIONS. Provide tree-trace output for the optimization. (check-in: 33a3f32785 user: drh tags: exists-to-join)
17:37
Merge trunk enhancements into the exists-to-join branch. (check-in: 5f25a9518a user: drh tags: exists-to-join)
17:04
Remove some dead JS code and update some JS docs. (check-in: 6935ac71ba user: stephan tags: trunk)
17:04
When compiling shell.c in SQLITE_SHELL_FIDDLE mode, ensure that the shell_main_exit goto label is reachable. (check-in: 06e6f64533 user: stephan tags: trunk)
14:36
Change constant expressions to pre-computed constants, because apparently MSVC on ARM requires that. Forum thread 4feb1685cced0a8e. (check-in: 6c103aee6f user: drh tags: trunk)
2024-06-10
19:45
Add missing calls to sqlite3exprSkipCollateAndLikely() to the enchancement on this branch. (check-in: 078537d057 user: dan tags: exists-to-join)
19:31
Fix a crash that could occur when the SELECT in an EXISTS(SELECT ...) used an unknown collation sequence. (check-in: f3009a6d7f user: dan tags: exists-to-join)
18:30
The aggressive rounding behavior is now only accessible using the internal sqlite3MPrintf() function. The round() SQL function uses that internal function so it can access the aggressive rounding. But ordinary extensions and the format() SQL function cannot. Update: Superseded by round-up-2 branch (Closed-Leaf check-in: 3dec4b35ec user: drh tags: round-up)
18:10
More aggressive rounding behavior for the round() function only. Format() still uses the classic behavior, and the same behavior exhibited by printf() in glibc. (check-in: a1b57288d7 user: drh tags: round-up)
14:31
Change the rounding behavior of float point to decimal conversions such that if the next digit is 4 but the value is within one epsilon of the next digit being 5 and if the epsilon is small compared the number of digits to be rendered, then go ahead and round up anyhow, even though the correct behavior would be to round down. (check-in: 4a790d3b28 user: drh tags: round-up)
12:43
Improved header comment on the sqlite3FpDecode() implementation. For the fpdecode() SQL function (available in debug builds only) limit the value of the third parameter (mxRound) to be positive. (check-in: 56af06fa12 user: drh tags: trunk)
12:29
Check-in contained undesired test code. (Leaf check-in: 43f376ce92 user: drh tags: mistake)
2024-06-09
18:02
Disable the omit-noop-join optimization when there are 64 or more terms in the ORDER BY clause. (Leaf check-in: d2d37e6d2b user: drh tags: branch-3.45)
17:58
Disable the omit-noop-join optimization when there are 64 or more terms in the ORDER BY clause. (check-in: a7fe90c158 user: drh tags: branch-3.46)
17:34
Disable the omit-noop-join optimization when there are 64 or more terms in the ORDER BY clause. (check-in: 40de393979 user: drh tags: trunk)
2024-06-08
18:13
Add extra tests for the changes on this branch. (check-in: a6365c778f user: dan tags: exists-to-join)
2024-06-07
21:00
Experimental optimization to rewrite a SELECT with an EXISTS(...) expression in the WHERE clause as a join. (check-in: 972a33db0b user: dan tags: exists-to-join)
19:48
At attempt at improving the performance of unixRead(). Partly successfuly, but the improvement is not that much and there is question whether or not the improvement is worth the extra complication and code space. (Leaf check-in: aebc790a16 user: drh tags: fast-read)
00:20
Allow the query planner access to the argument of LIMIT even if that argument is a bound parameter. (check-in: 148d505ca0 user: drh tags: branch-3.28)
2024-06-06
23:56
Allow the query planner access to the argument of LIMIT even if that argument is a bound parameter. (check-in: c4a9dda280 user: drh tags: trunk)
23:22
Omit bogus tests accidentally added by the privious commit. (Closed-Leaf check-in: e94dfe9928 user: drh tags: var-in-limit)
16:06
Better optimize queries that use parameters in the LIMIT clause. (Closed-Leaf check-in: b44f267671 user: drh tags: branch-3.28-var-in-limit)
15:03
Better optimize queries that use parameters in the LIMIT clause. (check-in: e58cb304d1 user: drh tags: var-in-limit)
12:22
Re-enable [dcc2bb2c562e97e090174], as [296eeb26c816bc73] corrects the wasi-sdk build problem the former check-in triggered. Reported in forum post 143e40d7f4e79c66. (check-in: f66608bd35 user: stephan tags: trunk)
01:21
Adjust the parser so that the value of TK_ISNOT is similar to the value of TK_IS. This helps the compiler generate faster switch() statements on the Expr.op fields when there are cases for TK_ISNOT and other common operators. (check-in: 34f05c3d89 user: drh tags: trunk)
01:00
Small performance optimization in the operatorMask routine of the WHERE clause analysis logic. (check-in: 9d69fc1c87 user: drh tags: trunk)
00:49
Small performance optimization in the allowedOp() routine of the WHERE clause analysis code. (check-in: 4ba8be5447 user: drh tags: trunk)
2024-06-05
20:54
Harmonize function names. (Leaf check-in: db43d7aa5d user: mistachkin tags: concatb)
20:52
Add an experimental concatb() function. (check-in: 07d8420285 user: mistachkin tags: concatb)
20:50
Fix harmless compilation issues seen with MSVC. (check-in: 816d474938 user: mistachkin tags: trunk)
20:41
Small performance optimization in the codeEqualityTerm() routine of the code generator. (check-in: 8080c6eafd user: drh tags: trunk)
16:50
Fix an fts5 problem with secure-delete mode causing integrity-check to erroneously report a corrupt index. (check-in: 0a7fa0a434 user: drh tags: branch-3.46)
14:47
Fix an fts5 problem with secure-delete mode causing integrity-check to erroneously report a corrupt index. (check-in: 80bef4d60b user: dan tags: trunk)
11:36
Fix a very obscure issue where the name resolver could get confused if aliases like "sqlite_schema" or "sqlite_master" were used in a query involving the sqlite_temp_schema table. (check-in: a096eb7554 user: dan tags: trunk)
2024-06-04
19:21
Fix harmless compiler warnings seen with MSVC. (check-in: 93ac8573ee user: mistachkin tags: trunk)
17:26
Better handle WHERE terms that are common to two or more OR branches when planning virtual table queries. Fix for ticket [6e3ace1270f29930]. (check-in: 1976c3f7e1 user: dan tags: trunk)
16:24
Merge 11a4178f0e6cd760303a587, from the bedrock branch just after the 3.45 release, into this branch. This is to pick up test cases only. (check-in: 66c885814e user: dan tags: bedrock-3.45)
15:47
Fix another problem with the sqlite3_log() message identifying the table or index that a conflicting page belongs to. (check-in: 885e01ae35 user: dan tags: bedrock-3.45)
15:33
Fix a problem in SQLITE_DIRECT_OVERFLOW_READ builds that could allow a concurrent transaction to be committed even if it read from an overflow page that was modified concurrently, in cases where the overflow page was written without also writing the b-tree page to which it is linked. (check-in: f1d17258f4 user: dan tags: bedrock-3.45)
15:33
Improve the log message emitted when a BEGIN CONCURRENT transaction cannot be committed due to conflicts so that it identifies the conflicting table in a few more cases. (check-in: eed5aa7cdf user: dan tags: bedrock-3.45)
15:07
Fix a couple of memory leaks in the shell tool code that could occur when processing errors. (check-in: e84f09d469 user: dan tags: trunk)
14:32
Allow shell command "testctrl pending_byte" to be used in unsafe-testing mode only. (check-in: afa45c4f5a user: dan tags: trunk)
2024-06-03
18:04
Address a corner-case associated with the call-function-once optimization of check-in [663f5dd32d9db832] that was causing a (harmless) use of an uninitialized bytecode register. dbsqlfuzz 8a44f675401a8b1f68a43bf813c4f4f72ad8f0ea (check-in: b37ac2d020 user: drh tags: trunk)
12:36
Omit an unused #define. (check-in: 9c2de28a14 user: drh tags: trunk)
07:22
Modify three #if checks in os_unix.c to improve handling of SQLITE_OMIT_WAL on WASI builds. Based on the discussion in/around forum post 57e918431735128a. (check-in: 296eeb26c8 user: stephan tags: trunk)
2024-06-02
10:52
Be more aggressive about freeing memory associated with the sqlite3_index_info.idxStr field. (Closed-Leaf check-in: 85dcd0a847 user: drh tags: xbestindex-or-terms)
2024-06-01
17:56
Have fts5.xBestIndex return SQLITE_CONSTRAINT, instead of a large cost, when no usable plan can be found. (check-in: 7c47094537 user: dan tags: xbestindex-or-terms)
2024-05-31
20:32
Further tests for OR constraints on virtual tables. (check-in: ff4a30056f user: dan tags: xbestindex-or-terms)
19:26
Better handle WHERE terms that are common to two or more OR branches when planning virtual table queries. (check-in: 4edd9b29f5 user: dan tags: xbestindex-or-terms)
15:39
Do not even try star-schema detection if the join has fewer than 5 tables, since 5 is the minimum for a positive detection. (check-in: a07ec16bbc user: drh tags: trunk)
14:39
Document the OP_Explain opcode. Add the WhereLoop.rRun value as P3 in OP_Explain opcodes associated with WhereLoops, for testing purposes. (check-in: 996c46e61d user: drh tags: trunk)
2024-05-30
21:54
Back out [dcc2bb2c562e97e090174], as it breaks the --with-wasi-sdk builds. (check-in: 62199562c2 user: stephan tags: trunk)
17:56
Remove the unconditional SQLITE_OMIT_WAL when building in wasi-sdk mode, per requests in the forum. (check-in: dcc2bb2c56 user: stephan tags: trunk)
13:27
Ensure that the second pass call to wherePathSolver() always reports a positive value for the estimated number of output rows. This fixes a long-standing (though exceedingly minor) problem that was only revealed by a new assert() added yesterday. dbsqlfuzz 545d6debc2da496ab2b915e33ea34d9a35a935df (check-in: a47c644fef user: drh tags: trunk)
11:25
Experimentally enable linenoise multiline mode in shell.c. (Closed-Leaf check-in: 33ad9d8a3c user: stephan tags: linenoise-multiline)
11:14
Update shell.c to use the msteve fork of linenoise, per /chat discussion. (check-in: ee92fa8366 user: stephan tags: trunk)
2024-05-29
15:16
Remove an unused parameter from fts5ConfigParseSpecial(). Compiler-warning fix only - no functional changes. (check-in: c08dd245f7 user: drh tags: trunk)
15:08
Use a heuristic of artifically lowering the cost of fact tables in a star-schema query in order to prevent plans where the fact tables are in outer loops from being trimmed by the path limiter. This helps to generate better (faster) query plans in those particular cases. (check-in: 38db9b5c83 user: drh tags: trunk)
14:32
Change an assert() (incorrectly) added by the previous check-in into a testcase(). (Closed-Leaf check-in: 5e64b541d1 user: drh tags: star-schema)
14:04
Small performance enhancement in wherePathSolver() (check-in: bdab69641d user: drh tags: star-schema)
13:29
Improvements to comments and debugging output. (check-in: 85164ee155 user: drh tags: star-schema)
10:40
Remember the amount of the heuristic cost adjustment associated with star schemas and compensate when computing whether or not to use Bloom filters. (check-in: 21daf2463e user: drh tags: star-schema)
09:53
Fix typos in the star-schema test cases. (check-in: 4080937353 user: drh tags: star-schema)
03:35
Fix sqldiff out-of-bounds char classification error mentioned in the forum. (check-in: b31933d873 user: larrybr tags: trunk)
00:38
Use a heuristic in the query planner to help it better cope with large star schema queries. (check-in: a98be0f548 user: drh tags: star-schema)
2024-05-28
19:08
Fix a couple of assert() statements so that they cannot fire when the SQLITE_TESTCTRL_INTERNAL_FUNCTIONS debugging capability is activated. dbsqlfuzz f5b347cf167a62fbe08062b2feee65cb9306e363. (check-in: 273504b74c user: drh tags: trunk)
18:53
Tweaks to the query planner so that it is better able to deal with star queries with many dimensions and bad indexes. (check-in: 1e49081001 user: drh tags: trunk)
18:41
Fix another problem with the sqlite3_log() message identifying the table or index that a conflicting page belongs to. (check-in: 19d5fd8a48 user: dan tags: bedrock)
18:35
Fix another problem with the sqlite3_log() message identifying the table or index that a conflicting page belongs to. (check-in: d033d94350 user: dan tags: begin-concurrent)
15:37
For query planning purposes, assume every table holds at least 100 rows, as this seems to give better worst-case performance if the table row count estimate turns out to be inaccurate. Park this change on a branch for now and consider it for a future enhancement. (Leaf check-in: 76c7d9334f user: drh tags: min-row-estimate)
12:41
Increase the number of parallel paths in the query solver from 12 to 20. In the .wheretrace output, sort the parallel paths in order of increasing cost. (check-in: 8ba2c2f5cb user: drh tags: trunk)
11:24
Documentation typo fix. Forum post 772d6688f5. (check-in: 1f2f9c709e user: drh tags: trunk)
10:57
Fix a problem with the error message reported by fts5 in some OOM cases. (check-in: c7aaa28f78 user: dan tags: trunk)
00:16
Improve the automatic-index decision such that no attempt is made to create an automatic index on a column that is known to be non-selective because if its use in other indexes that have been analyzed. See ticket [8ff324e120d5e9bd] and forum post b21c2101a559be0a. (check-in: 2a7603c327 user: drh tags: trunk)
00:01
Query planner tuning: Increase the maximum number of simultaneous solutions to track in the solver from 10 to 12. (check-in: fe2e1dadba user: drh tags: trunk)
2024-05-27
21:55
Avoid creating an automatic index on a column that is known to be not very selective. (Closed-Leaf check-in: 70409763f7 user: drh tags: auto-index-improvements)
19:52
The previous check-in was a little two aggressive about skipping the initialization of entries in the CellArray.ixNx array. Fixed here. (check-in: 1b6d1fbcde user: drh tags: trunk)
18:15
Fix typo in comment used to generate parts of the documentation. Forum post da5a2ca4db. (check-in: 428aadf0c7 user: drh tags: trunk)
15:13
Very small performance increase and size reduction by removing unnecessary ALWAYS() macros from the btree balance logic and replacing them with special initialization of CellArray and some assert()s. (check-in: 32b79041d9 user: drh tags: trunk)
13:41
Doc typo fix. No code changes. (check-in: eaf07fe69f user: stephan tags: trunk)
13:24
For compatibility with PostgreSQL, when right-hand side of the ->> operator is negative, it should index from the right side of the JSON array on the left-hand side. (check-in: 82365a45b9 user: drh tags: trunk)
11:38
Fix a possible buffer overwrite in the ".import" command. (check-in: 55eee9f920 user: drh tags: branch-3.46)
11:35
Fix a possible buffer overwrite in the ".import" command. forum post 0c447f0548. (check-in: 0fd958fa9b user: dan tags: trunk)
11:31
Add new assert() statements to help out a static analyzer. Response to forum post 17fe8ac32e0de4f5. (check-in: 857f6d5309 user: drh tags: trunk)
2024-05-25
23:17
Ensure that sqlite3ViewGetColumnNames() returns non-zero on any error. (check-in: 01ead0a2d9 user: drh tags: branch-3.46)
23:13
Ensure that sqlite3ViewGetColumnNames() returns non-zero on any error. dbsqlfuzz d9de2a508f693e5a228d7a01d5341e3c64326fbb. (check-in: 57aeb3a287 user: drh tags: trunk)
2024-05-24
23:44
Ensure that queries like "SELECT func(a) FROM tab GROUP BY 1" only call the func() function once per row. Fix for the issue described in forum thread bf8f43aa522c2299. (check-in: 663f5dd32d user: drh tags: trunk)
21:38
Fix another fts5 problem related to unknown tokenizer modules. (check-in: e78b778304 user: dan tags: trunk)
21:23
Fix a crash in fts5 that could occur within "PRAGMA integrity_check" if the specified tokenizer was unknown. (check-in: 061d7b69e6 user: dan tags: trunk)
20:18
When omitting result columns for the vector-IN optimization, make sure that any result-set column references in both the ORDER BY clause and the GROUP BY clause are updated appropriately. (Closed-Leaf check-in: f890812df0 user: drh tags: group-by-consistency)
18:31
Ensure that queries like "SELECT indeterministic(a) FROM tbl GROUP BY 1" invoke the indeterministic function only once for each row of tbl. (check-in: 4555d66547 user: dan tags: group-by-consistency)
14:16
Add the stmtrand() extension function for use in testing. (check-in: 5c97a5b9d1 user: drh tags: trunk)
13:33
Fix an "ifcapable" expression in values.test. (check-in: b8442d2a60 user: dan tags: trunk)
2024-05-23
23:34
Increase the version number to 3.46.1 (check-in: 170e3a91d5 user: drh tags: branch-3.46)
23:30
Fix the window-function group_concat() so that it returns an empty string if it has one or more empty string inputs. (check-in: 7fe11274fc user: drh tags: branch-3.46)
23:26
Fix the window-function group_concat() so that it returns an empty string if it has one or more empty string inputs. This fixes a bug introduced by [c6da39115d3e2b0f] on 2019-03-26 (version 3.28.0) and reported by forum post bf8f43aa522c2299. (check-in: cec6bb3fc9 user: drh tags: trunk)
15:05
Merge various enhancements that were being held on a branch until after the 3.46.0 release. (1) Allow arbitrary expressions in the second argument to the RAISE() function. (2) Performance optimization to the OP_OpenRead and OP_OpenWrite bytecode operators. (3) Allow FTS5 tables to be dropped even if the associated tokenizer is not available. (4) Performance optimizations in FTS5. (5) Generate better bytecode to improve performance of ONEROW scans. (check-in: 1e5385ffc3 user: drh tags: trunk)
14:58
Increase the version number to 3.47.0 to begin the next development cycle. (check-in: 20e228a22e user: drh tags: trunk)
14:09
Version 3.46.0 for the reuse-schema branch (check-in: 8f6b859413 user: drh tags: reuse-schema)
14:09
Version 3.46.0 for the bedrock branch (check-in: 483d112ab4 user: drh tags: bedrock)
14:05
Version 3.46.0 for the wal2 branch. (check-in: fdc0e1480a user: drh tags: wal2)
14:04
Version 3.46.0 for the begin-concurrent branch (check-in: e3f8c70ef5 user: drh tags: begin-concurrent)
13:25
Version 3.46.0 (check-in: 96c92aba00 user: drh tags: trunk, release, major-release, version-3.46.0)
2024-05-21
17:37
Ensure an sqlite_dbdata cursor is properly reset before being used again, even if it has already encountered database corruption. (check-in: 3210e1ca4d user: dan tags: trunk)
15:24
Merge the latest trunk enhancements into the bedrock branch. (check-in: c65a82f1fa user: drh tags: bedrock)
15:20
Merge the lates trunk enhancements into the reuse-schema branch. (check-in: 97e0af8882 user: drh tags: reuse-schema)
15:20
Merge the latest trunk enhancements into the wal2 branch. (check-in: d4217d9f70 user: drh tags: wal2)
15:17
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: 5c1c8651d1 user: drh tags: begin-concurrent)
14:54
Do not attempt to run mmapcorrupt.test with builds that do not support mmap(). (check-in: 54a49f1847 user: dan tags: trunk)
13:34
Fix harmless compiler warnings. (check-in: aab59f9f7c user: drh tags: trunk)
11:11
Fix the -> and ->> operators so that when the RHS is a string that looks like a number, it is still treated as a string, because that is what PG does. Forum post 9e52cdfe15c3926e. (check-in: de8182cf17 user: drh tags: trunk)
2024-05-20
19:59
Omit a capi3 test from 2007 that depends upon undefined behavior (UAF). (check-in: a60a0b7513 user: drh tags: trunk)
19:51
Do not run the tests in recovercorrupt4.test with the inmemory_journal permutation. (check-in: c13205d66b user: dan tags: trunk)
17:52
Improvements to the documentation of sqlite3_vtab_distinct(). Do not allow sqlite3_vtab_distinct() to return 2 or 3 if the rowid column of the virtual table is used, as doing so might lead to an incorrect answer. (check-in: 08058d66d1 user: drh tags: trunk)
16:00
Improvements to the sqlite3_vtab_distinct() documentation. (Closed-Leaf check-in: 6ee041d34f user: drh tags: vtab-distinct-fix)
2024-05-18
20:00
Fix the definition of sqlite3_vtab_distinct() such that return codes 2 and 3 mean that all rows must be distinct over "colUsed" which is a superset of "aOrderBy". Also, disallow return codes 2 and 3 if the rowid of the virtual table is accessed. (check-in: 922731ce98 user: drh tags: vtab-distinct-fix)
15:21
JS error message and doc typos reported in the forum. No code changes. (check-in: 1a073f9acf user: stephan tags: trunk)
2024-05-17
22:51
Improvements to a VDBE comment. No changes to anything that affects queries. (check-in: c2188da860 user: drh tags: trunk)
14:26
Merge branches "fix-onerow-opt", "faster-openread", "fts5-delay-tokenizer" and "enhanced-raise", each containing minor enhancements prepared for 3.46, into this branch. (Closed-Leaf check-in: 6dc6472175 user: dan tags: pending-3.46)
13:56
Fix a problem in where.c preventing SQLite from identifying some ONEROW scans, leading to (slightly) sub-optimal byte-code. (Closed-Leaf check-in: b41e71208a user: dan tags: fix-onerow-opt)
2024-05-16
16:22
Add extra tests for the error messages generated by sqlite3_declare_vtab() when passed something other than a well-formed CREATE TABLE statement. (check-in: 5fa0c2a026 user: dan tags: trunk)
15:57
The sqlite3_declare_vtab() interface should return SQLITE_ERROR, not SQLITE_MISUSE when a nonsense SQL input is provided, for legacy compatibility. Forum post 4b875d7b2a. (check-in: 1ec2961a03 user: drh tags: trunk)
00:20
Fix a case where an error in the ORDER BY clause of an aggregate function that is part of a trigger body might cause an assert() to fail in an ALTER TABLE command. dbsqlfuzz 899d9255555a07f1fe11a0bb51a2fe197b3150cd (check-in: 953271f29e user: drh tags: trunk)
2024-05-15
23:36
Back out the assert() fixes from [a9443dbfbe25e588] and [3afaeac56dff58db] (but keep the corresponding test cases) because they are both made obsolete by the previous fix on this branch. (Closed-Leaf check-in: 3120c7c8a3 user: drh tags: alter-table-fix)
21:38
Fix a case where an error in the ORDER BY clause of an aggregate function that is part of a trigger body might cause an assert() to fail in an ALTER TABLE command. (check-in: b79a8be37b user: dan tags: alter-table-fix)
15:11
If there is no data available for a field in a corrupted record, but the type is available, have the recovery extension substitute 0, 0.0, '' or X'' instead of a NULL value. (check-in: 7805135925 user: dan tags: branch-3.45)
15:06
If there is no data available for a field in a corrupted record, but the type is available, have the recovery extension substitute 0, 0.0, '' or X'' instead of a NULL value. (check-in: 8eb326c249 user: dan tags: trunk)
2024-05-14
19:41
Optimize queries against fts5vocab(row) tables that do use the "cnt" column. (Closed-Leaf check-in: 96a591c202 user: dan tags: fts5-delay-tokenizer)
19:09
Avoid calculating the value of the "cnt" column for fts5vocab(row) queries that do not use it. (check-in: c0c91e306c user: dan tags: fts5-delay-tokenizer)
17:16
Have fts5 tables delay initializing the tokenizer until it is first used in all cases where the tokenizer is not "trigram". (check-in: ca4fdcb8ae user: dan tags: fts5-delay-tokenizer)
2024-05-13
20:06
Allow existing fts5 tables to be dropped even if the associated tokenizer is not available. (check-in: 69ef47eeee user: dan tags: fts5-delay-tokenizer)
2024-05-12
00:26
Optimization in the implementation of OP_OpenRead and OP_OpenWrite (Closed-Leaf check-in: 3a256a1667 user: drh tags: faster-openread)
2024-05-11
16:44
Add tests to bestindexC.test. No changes to code. (check-in: 58d938c0e0 user: dan tags: trunk)
2024-05-10
18:24
Fix aggregate function processing to correctly deal with OOMs inside of sqlite3ParserAddCleanup(). (dbsqlfuzz b2d11ca70e55ee8bde48ae0b53fa3e9355812f95). Also add improved testing support by causing sqlite3FaultSim(300) to simulate an OOM inside of sqlite3ParserAddCleanup() and by adding improved fault-sim support to the CLI. (check-in: c6fd70b3c2 user: drh tags: trunk)
18:15
Add a test for the fixes on this branch. (Closed-Leaf check-in: 716088d673 user: dan tags: cleanup-testing)
18:10
The sqlite3FaultSim(300) error from [1e8863909ac369e5] must be treated as an OOM, since it simulates an OOM. Also fix deferred deletion of Expr objects from [a53bdd311c4154fd] so that it does not corrupt the AST if an OOM occurs. (check-in: c623d9a51e user: drh tags: cleanup-testing)
17:05
Improvements to the ".testctrl fault_install" command in the CLI. (check-in: 48b34ded82 user: drh tags: cleanup-testing)
16:28
Add an sqlite3FaultSim(300) call to the sqlite3ParserAddCleanup() routine for more precise simulation of OOM errors in that routine. (check-in: 1e8863909a user: drh tags: cleanup-testing)
09:26
Squelch two OMIT-flag-related warnings reported in forum post 388243d9882067a9. No functional changes. (check-in: 1d6716054d user: stephan tags: trunk)
2024-05-09
18:54
Reformulate a for-in loop to a for loop in wasm.xWrap() to work around downstream frameworks modifying the JS Array prototype, as reported in forum post b549992634b55104. (check-in: ce2eb6d89a user: stephan tags: branch-3.45)
18:39
Add a maintenance-reminder comment explaining [dc58ed65492857]. (check-in: 857f5d7fad user: stephan tags: trunk)
18:00
Reformulate a for-in loop to a for loop in wasm.xWrap() to work around downstream frameworks modifying the JS Array prototype, as reported in forum post b549992634b55104. (check-in: dc58ed6549 user: stephan tags: trunk)
17:45
Fix a problem causing the recovery extension to use excessive memory and CPU time in some cases. (check-in: bc394acb6e user: dan tags: branch-3.45)
2024-05-08
17:57
Rename a shadowed local var, as reported in forum post 2ba65af31. No functional changes. (check-in: d030c87c4d user: stephan tags: trunk)
17:42
Allow arbitrary expressions as the second argument to RAISE(). (Closed-Leaf check-in: 003e1c8c27 user: drh tags: enhanced-raise)
11:51
Fix a hyperlink typo in session documentation. (check-in: 42d67c6fed user: drh tags: trunk)
2024-05-07
19:45
Fix bug in test script sessionconflict.test. (check-in: e29decb8b1 user: dan tags: trunk)
17:58
Ensure successive scans of pragma virtual tables return consistent rowids. (check-in: 6838bf3ac1 user: dan tags: trunk)
13:20
Fix a compilation error in test/lemon-test01.y, reported in forum post f0ad095705. (check-in: 576b68c8b5 user: stephan tags: trunk)
2024-05-06
20:21
When extracting links from sqlar archives, clobber any existing file or link, and do not call utimes() to set the timestamp - it looks through the link and operates on the target. (check-in: 2bf8c3f99a user: dan tags: trunk)
20:18
Omit redundant unary + operators from the AST. (check-in: f81cc149e5 user: drh tags: trunk)
19:04
Avoid unnecessary recursion in sqlite3ExprDeleteNN(). This complicates the code, but it is needed to prevent nuisance "stack overflow" reports from OSSFuzz while it is running the latest ASAN. (check-in: 70abc144ca user: drh tags: trunk)
17:55
Add new sessions API sqlite3changegroup_add_change(). (check-in: 5eaab43ce4 user: dan tags: trunk)
17:32
Edit comments in sqlite3session.h. (Closed-Leaf check-in: 49f84878e2 user: dan tags: changegroup-add-change)
17:21
Add tests for sqlite3changegroup_add_change(). (check-in: 9d67bedc20 user: dan tags: changegroup-add-change)
11:27
Fix problem in sqlar_uncompress() when being used to extract symbolic links. (check-in: 4d90c3f179 user: dan tags: trunk)
2024-05-05
10:00
Add comment to the test/lemon-test01.y file indicating that it does not work and is for historical reference only. (check-in: 9bdf73a8d4 user: drh tags: trunk)
2024-05-04
21:10
Add new sessions API sqlite3changegroup_add_change(). (check-in: 73647db1dd user: dan tags: changegroup-add-change)
16:50
Add test cases to test/in7.test. No code changes. (check-in: 8c3086f9fe user: dan tags: trunk)
15:10
Assume that an SQL function is able to return a subtype if any of its arguments are SQL functions that are able to return subtypes. This closes a corner-case hole in the patch at [ba789a7804ab96d8]. (check-in: b36d499e4c user: drh tags: trunk)
15:04
Assume that a function is able to return a subtype if either (1) it is itself marked with SQLITE_RESULT_SUBTYPE, or (2) one of its arguments is a function that is able to return a subtype. This check-in backs out the code changes from the previous two on this same branch, but keeps the test cases from the previous two. (Closed-Leaf check-in: f16b200f25 user: drh tags: func-rw-subtype)
11:31
Functions that pass through the sqlite3_value of one of their arguments must also be marked as SQLITE_RESULT_SUBTYPE, in case one of their arguments has a subtype. (check-in: 2f9fba931d user: drh tags: func-rw-subtype)
2024-05-03
19:35
The coalesce(), ifnull(), and iif() functions pass through subtype values from their arguments, and hence need to have the SQLITE_RESULT_SUBTYPE flag set. (check-in: cdd1610c44 user: drh tags: func-rw-subtype)
2024-05-02
19:22
Fix a problem with queries that use "IN(...) ORDER BY ... NULLS LAST" or similar introduced by [d7648e21605a0b38]. (check-in: 26b2d9390f user: dan tags: trunk)
18:16
Avoid an assert failure accessible only when internal testing features are enabled. dbsqlfuzz crash-66abacda6bca6bd531e25595e8c8068e2c710326.txt. (check-in: fbc446daac user: dan tags: trunk)
17:46
Fix a case where the recovery extension might write uninitialized data to the recovered database. (check-in: 8519b4d039 user: dan tags: trunk)
14:48
Avoid an OP_Next in cases where an IN(...) query against a UNIQUE index may return at most 1 row. (check-in: d7648e2160 user: dan tags: trunk)
12:14
Fix the CREATE TABLE performance issue described by forum thread 4cf69794d9dfff7c in two different ways: (1) Omit the call to PRAGMA integrity_check('X') that was being done after CREATE TABLE "X" because the result was being ignored and the integrity_check was not doing anything other than burning CPU cycles. (2) Do not interpret the argument to PRAGMA integrity_check as a number if it is in fact a string that looks like a number. (check-in: 71f08b9122 user: drh tags: trunk)
12:00
Add a test case to the fix to PRAGMA integrity_check in the previous check-in. (Closed-Leaf check-in: 39a57b596d user: drh tags: faster-create)
11:52
Do not accept a string that looks like a number used as an argument to PRAGMA integrity_check as a number. Treat it as a table name that just happens to look like a number. (check-in: b04e7a2347 user: drh tags: faster-create)
11:51
Omit the OP_SqlExec to "PRAGMA integrity_check" added by [348fa7aaf7958b3f] because it is a no-op. Even if the integrity_check failes, the CREATE TABLE is stull successful. The OP_SqlExec just burns CPU cycles for no reason. (check-in: 532795acd1 user: drh tags: faster-create)
2024-05-01
19:48
Avoid an OP_Next in cases where an IN(...) query against a UNIQUE index may return at most 1 row. (Closed-Leaf check-in: 560f64157d user: dan tags: unique-in-opt)
16:25
Fix another problem in the recovery extension where a corrupt sqlite_schema table could lead to excessive memory consumption. (check-in: 1c7e33a8aa user: dan tags: trunk)
14:42
Fix a problem causing the recovery extension to use excessive memory and CPU time in some cases. (check-in: 8de85170d5 user: dan tags: trunk)
2024-04-30
19:34
Avoid 32-bit overflow when calculating ncycle for ".scanstats vm". (check-in: 2858efa06d user: dan tags: trunk)
2024-04-26
19:10
Fix issues in LIMIT/OFFSET support for virtual tables. The first problem was reported by forum post c243b8f856. That report prompted an enhancement to the generate_series() (also included in this merge) which in turn identified other similar issues. (check-in: 5f6c079d84 user: drh tags: trunk)
18:42
Internal JS doc touchups. No functional changes. (check-in: 626b997b4e user: stephan tags: trunk)
18:24
Additional internal docs in the wasm utilities. (check-in: 5a2245a9eb user: stephan tags: trunk)
18:13
Allow virtual table implementations to handle OFFSET but not LIMIT, but not LIMIT but not OFFSET. (Closed-Leaf check-in: 90e5c8226a user: dan tags: vtab-limit-fix)
17:19
Have where.c ignore any plan from a virtual table that tries to use LIMIT/OFFSET without also using all WHERE constraints. (check-in: 7d30596496 user: dan tags: vtab-limit-fix)
17:09
Further fixes and improvements to the generate_series() enhancements on this branch. (check-in: b7d9bd7ee2 user: drh tags: vtab-limit-fix)
14:36
Use hex flag masks rather than decimals in ext/misc/series.c. (check-in: a94e2cd028 user: drh tags: vtab-limit-fix)
14:32
Fix a problem allowing a LIMIT constraint to be passed to a virtual table in cases where there exist WHERE terms that cannot also be passed. (check-in: 72c8ed9698 user: dan tags: vtab-limit-fix)
13:38
Fix handling of LIMIT and OFFSET in virtual tables that are part of a compound SELECT. (check-in: 40421c1c4e user: drh tags: vtab-limit-fix)
13:30
Enhance the generated_series() table-valued-function to respond to LIMIT and OFFSET. Use this to add new test cases for LIMIT and OFFSET on virtual tables in a compound SELECT. (check-in: 408d47ecaa user: drh tags: vtab-limit-fix)
12:01
Add test demonstrating the problem at forum post c243b8f856. No fix yet. (check-in: 1685495c0a user: dan tags: vtab-limit-fix)
11:32
Fix the TreeView display of a LIMIT clause on a compound query. Debugging code only - not part of production builds. (check-in: 38f1e5ce4e user: drh tags: trunk)
2024-04-25
23:26
Improvement to the way that affinity is determined for columns of a compound subquery. The affinity is the affinity of the left-most arm of the compound subquery that has an affinity other than NONE, adjusted to accommodate the data types coming out of the other arms. (check-in: e6df846f36 user: drh tags: trunk)
17:52
Further improvements to the computation of affinity for compound subqueries: make sure that the selected affinity is compatible with a literal values in arms to the left of the arm that is used to determine affinity. (Closed-Leaf check-in: bbdf22e3d9 user: drh tags: compound-subquery-affinity)
16:55
Back out the previous change on this branch. In its place: Determine the affinity of a subquery by the left-most arm of the subquery that has an affinity other than NONE. In other words, scan from left to right looking for an arm of the compound subquery with an affinity of BLOB, TEXT, INTEGER, or REAL and pick the first one found. Or stay with NONE if no arm has a defined affinity. Test cases added. (check-in: b8ec8511b1 user: drh tags: compound-subquery-affinity)
06:52
wasm: add a makefile comment about the static sqlite3.h/c version info injected into the JS files possibly differing from the runtime-emited version info when a user provides their own sqlite3.c. (check-in: d99a01a0f6 user: stephan tags: trunk)
2024-04-24
19:49
An experimental minor tweak to the way affinities are computed for compound subqueries, when the actual affinity is ambiguous. (check-in: 779723ad79 user: drh tags: compound-subquery-affinity)
16:36
If a RETURNING clause contains a subquery that references the table that is being updated in the statement that includes the RETURNING clause, then mark the subquery as correlated so that it is recomputed for each result and not just computed once and reused. See forum post 2c83569ce8945d39. (check-in: 9ea6bcc8fd user: drh tags: trunk)
14:18
Fix a case where a corrupt stat4 record could go unrecognized due to integer overflow. (check-in: 240a4a48b2 user: dan tags: trunk)
11:51
Add comments linking the assert() added in [cef4d9e3ba586735] to the places where the precondition that the assert() tests are actually required. (check-in: 6f0e7e1952 user: drh tags: trunk)
11:40
Avoid slowdown when exprNodeIsConstant() is called on deeply nested SQL functions. (check-in: 1c0b034545 user: dan tags: trunk)
11:21
Ensure that temporary SrcItem objects created by trigger processing have either SrcItem.zName or SrcItem.pSelect defined. Every SrcItem should have one or the other. (check-in: cef4d9e3ba user: drh tags: trunk)
06:43
Remove an undocumented feature from the JS Worker1.open API because it relies on broken behavior which has no VFS-agnostic workaround. (check-in: 3a640038c7 user: stephan tags: trunk)
2024-04-23
12:02
Fix a problem with vector IN operators used with an index where the affinities and collations for the various vector terms are different. (check-in: 86e8c782e7 user: drh tags: trunk)
11:56
Fix an uninitialized variable problem in the new code on this branch. (Closed-Leaf check-in: 85625b3871 user: dan tags: vector-in-fix)
06:49
Remove some dead WASM-side code. (check-in: 0a07ee27bd user: stephan tags: trunk)
06:36
Minor touchups in JS docs and exception messages. (check-in: 9e7fc9370d user: stephan tags: trunk)
05:38
When running the 'dist' target in ext/wasm for an SEE-capable build, ensure that the resulting zip file and directory name include '-see'. (check-in: 04c552b12e user: stephan tags: trunk)
2024-04-22
20:09
Add extra tests for aborting conflicts in the sessions module. (check-in: b4a6d32662 user: dan tags: trunk)
17:03
Minor cleanups to [8fbda563d2f5]. (check-in: 5ee2594b65 user: stephan tags: trunk)
16:46
Extend the JS/WASM SEE build support by (A) filtering SEE-related bits out of the JS when not building with SEE and (B) accepting an optional key/textkey/hexkey option to the sqlite3.oo1.DB and subclass constructors to create/open SEE-encrypted databases with. Demonstrate SEE in the test app using the kvvfs. This obviates the changes made in [5c505ee8a7]. (check-in: 8fbda563d2 user: stephan tags: trunk)
13:31
Extra robustness in the code that causes cursors to return NULL when they are participating in an OUTER JOIN. (check-in: 672c2869ef user: drh tags: trunk)
11:48
For sqlite3.oo1.DB JavaScript classes, bypass execution of any on-open() SQL in SEE-capable builds because it would necessarily run before the client has an opportunity to provide their decryption key, which would leave the db handle in an unusable state and cause the ctor to throw. This currently affects only the OPFS VFSes. We may want to consider extending the ctor options object to optionally accept an SEE key and apply it when opening the db. (check-in: 5c505ee8a7 user: stephan tags: trunk)
00:42
Continuation of the fix at [8c0f69e0e4ae0a44]: If a viaCoroutine FROM clause term is participating in a RIGHT or FULL JOIN, we have to create an always-NULL pseudo-cursor for that term when processing the RIGHT join. dbsqlfuzz 6fd1ff3a64bef4a6c092e8d757548e95698b0df5. (check-in: e1040e51eb user: drh tags: trunk)
2024-04-21
23:35
Fix an indentation problem in debugging routine sqlite3ShowSrcList(). No changes to production code. (check-in: 5560df2726 user: drh tags: trunk)
2024-04-20
19:19
Slight performance improvement for the new code on this branch. (check-in: 500c67f134 user: dan tags: vector-in-fix)
15:14
Fix a problem where an expression like (a, b) IN (SELECT ...) might not use an index on (a, b) if the affinities and collation sequences of "a" and "b" are not identical. (check-in: 4d870fd8b5 user: dan tags: vector-in-fix)
2024-04-18
16:11
Correct handling of OUTER JOIN when on or the other operand is a subquery implemented using the VALUES-as-coroutine optimization. dbsqlfuzz bde3bf80aedf25afa56e2997a0545a314765d3f8. (check-in: 8c0f69e0e4 user: drh tags: trunk)
2024-04-17
19:48
Prevent tokenize-blobs from being used with non-contentless tables. Fix some other issues with the new code on this branch. (Leaf check-in: 6a640ea4d8 user: dan tags: fts5-tokenize-blob)
2024-04-16
14:23
Add some tests for the fts5 tokenize-blob functionality on this branch. (check-in: c2f9d1259c user: dan tags: fts5-tokenize-blob)
2024-04-15
20:43
The first assert() added in [0ebc65481f4a3e79] is not necessarily true in a corrupt database file. So add a term to make it true. (check-in: 6b21cccdee user: drh tags: trunk)
20:24
Add experimental way to specify an alternative tokenizer when writing to or querying an fts5 table. (check-in: 6c51c9c6a8 user: dan tags: fts5-tokenize-blob)
14:59
Merge version 3.45.3 patches into the reuse-schema-3.45 sub-branch. (Leaf check-in: a1ff415341 user: drh tags: reuse-schema-3.45)
14:45
Merge all of the latest trunk enhancements into the bedrock branch. (check-in: 16dac180b5 user: drh tags: bedrock)
14:39
Merge the latest trunk enhancements into the wal2 branch. (check-in: 4a72acbc4b user: drh tags: wal2)
14:36
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: eedf6bed2a user: drh tags: begin-concurrent)
14:29
Merge from wrong branch. Bedrock should be updated from wal2, not from trunk. (Closed-Leaf check-in: 4c23cad98d user: drh tags: mistake)
14:21
Merge all 3.45.3 changes into the wal2-3.45 branch. (Leaf check-in: 2ccc018546 user: drh tags: wal2-3.45)
14:18
Merge all 3.45.3 changes into the begin-concurrent-3.45 subbranch. (Leaf check-in: 3dda82e001 user: drh tags: begin-concurrent-3.45)
13:34
Version 3.45.3 (check-in: 8653b75887 user: drh tags: release, branch-3.45, version-3.45.3)
2024-04-12
18:46
If a build fails in testrunner.tcl, do not attempt to run the jobs that depend on that build. Instead, report those jobs as having been skipped. (check-in: b40580be71 user: drh tags: trunk)
16:52
Adjustment to EQP output in one test case. (check-in: 08dd2b927b user: drh tags: branch-3.45)
15:15
Mark the BTree cell overflow cache as invalid whenever the rowid goes invalid. (check-in: 0ec6669c84 user: drh tags: branch-3.44)
15:10
Increase the version number to 3.45.3. (check-in: 119b3b3c9c user: drh tags: branch-3.45)
15:06
Mark the BTree cell overflow cache as invalid whenever the rowid goes invalid. (check-in: 5266bb6dc9 user: drh tags: branch-3.45)
15:02
Fixes and new tests logic to ensure that the btree overflow page cache is only used when it is consistent. This resolves the malfunction observed in forum post 284955a3cd454a15. (check-in: 5dede50d9e user: drh tags: trunk)
13:05
Add assert() statements to help verify the overflow page cache. (Closed-Leaf check-in: 0ebc65481f user: drh tags: btree-ovfl-cache)
12:32
New assert() statements to verify the correctness of the BTCF_AtLast flag on btree cursors. (check-in: 4efecd6167 user: drh tags: btree-ovfl-cache)
11:28
Test case for the fix in the previous check-in. (check-in: 0cf4d835da user: drh tags: btree-ovfl-cache)
02:57
Mark the BTree cell overflow cache as invalid whenever the rowid goes invalid. (check-in: 74c9e19c92 user: drh tags: btree-ovfl-cache)
2024-04-11
19:09
Fix handling of the SQLITE_OMIT_WAL check in one place. Resolves forum post 87cc13302de160eb. (check-in: ce86d30d91 user: stephan tags: branch-3.45)
19:08
Fix handling of the SQLITE_OMIT_WAL check in one place. Resolves forum post 87cc13302de160eb. (check-in: 5dae6e6df4 user: stephan tags: trunk)
2024-04-10
16:36
Fix the pragma4.test script so that it works with SQLITE_OMIT_VIRTUALTABLE. (check-in: 61060c7d0d user: dan tags: branch-3.45)
2024-04-09
19:23
Fix a "shift exponent is too large" usan error that could occur in the fts3 snippet() function when a query phrase contains more than 64 tokens. (check-in: 6d2c7ac4ec user: dan tags: trunk)
15:18
Avoid some performance problems in the recover extension when recovering strategically corrupted databases. (check-in: d83b0ffe8b user: dan tags: branch-3.45)
15:09
Avoid some performance problems in the recover extension when recovering strategically corrupted databases. (check-in: e66a834bba user: dan tags: trunk)
14:08
Ignore CHECK constraints when qualifying the xfer optimization while running VACUUM. (check-in: 944d1b6eb3 user: drh tags: branch-3.44)
14:07
Ignore CHECK constraints when qualifying the xfer optimization while running VACUUM. (check-in: bb6f990809 user: drh tags: branch-3.45)
13:57
The read-only CHECK-constraint optimization of [34ddf02d3d21151b] inhibits the xfer optimization for tables with CHECK constraints. However, the xfer optimization is required for correct operation of VACUUM INTO on tables that contain generated columns. Fix this by ignoring CHECK constraints when qualifying the xfer optimization while running VACUUM. Problem reported by forum post 3ec177d68fe7fa2c. (check-in: a6e26e7788 user: drh tags: trunk)
2024-04-08
17:55
Update tests in returning1.test to account for [c7896e88]. (check-in: c02956cd5c user: dan tags: trunk)
12:02
Merge the latest trunk enhancements, and especially the enhancement to the WHERE-clause push-down optimization, into the bedrock branch. (check-in: 0f93b52c77 user: drh tags: bedrock)
11:57
Merge the latest trunk enhancements into the wal2 branch. (check-in: 59ccea7db7 user: drh tags: wal2)
11:50
Enhance the WHERE-clause push-down optimization so that it is able to push down WHERE clause terms that contain uncorrelated subqueries. (check-in: 69ec714b2d user: drh tags: trunk)
11:45
Fix a harmless compiler warning in the ICU extension due to [acddbc489d5231da]. (check-in: 3d8750e885 user: drh tags: trunk)
06:37
Enhancements to the fuzzer invariant checker to turn optimizations on and off. (Closed-Leaf check-in: 6759448137 user: drh tags: pushdown-subquery)
2024-04-07
18:55
Merge trunk testing enhancements into the pushdown-subquery branch. (check-in: 287ff24b26 user: drh tags: pushdown-subquery)
18:36
Omit all rowid-in-view restrictions from the fuzzinvariant.c test module as they are no longer necessary, as of the previous check-in. (check-in: 6431538f0b user: drh tags: trunk)
18:23
If SQLITE_ALLOW_ROWID_IN_VIEW is set to 2, then all rowids for views return a value of NULL. (check-in: 0a53dde214 user: drh tags: trunk)
10:30
Merge trunk enhancements into the pushdown-subquery branch. (check-in: 27865e316f user: drh tags: pushdown-subquery)
10:27
Add comments to note the name abiguity between the MySQL push-down optimization and the WHERE-clause push-down optimization. (check-in: 3d5fb1ec7a user: drh tags: trunk)
2024-04-06
23:09
Add comments to note the name abiguity between the MySQL push-down optimization and the WHERE-clause push-down optimization. (Leaf check-in: 681dfe2dd6 user: drh tags: wrong-branch)
18:30
Do not allow changes to sqlite3ExprIsTableConstant() that support pushdown of subqueries interfere with the hash-join logic. (check-in: 8682931f9c user: drh tags: pushdown-subquery)
17:42
Merge testing logic fixes on trunk into the pushdown-subquery branch. (check-in: a4e1f03dca user: drh tags: pushdown-subquery)
17:37
Improvements to the accurancy of the fuzzinvariants.c testing module when SQLITE_ALLOW_ROWID_IN_VIEW is defined and the test query involves rowids. (check-in: c6e873d4db user: drh tags: trunk)
12:19
Generalize pushdown to allow any uncorrelated subquery to be pushed down. (check-in: 87c45fb0d5 user: drh tags: pushdown-subquery)
11:59
Generalize the pushdown of IN right-hand sides to cover more SELECTs. (Closed-Leaf check-in: 4120bc740a user: drh tags: pushdown-IN-table)
2024-04-05
20:01
Experimental enhancement in which expressions of the form "expr IN table" can be pushed down into subexpressions. (check-in: 2cbd7838fd user: drh tags: pushdown-IN-table)
15:04
Merge all recent trunk enhancements into the reuse-schema branch. (check-in: e556f3d381 user: drh tags: reuse-schema)
14:54
Merge the latest trunk enhancements into the bedrock branch. (check-in: 7a2a64b646 user: drh tags: bedrock)
14:50
Merge the latest trunk enhancements into the wal2 branch. (check-in: a8a8a2db9b user: drh tags: wal2)
14:46
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: 4ff8334241 user: drh tags: begin-concurrent)
14:13
Check-in a9657c87c53c1922 is wrong: the IndexedExpr.bMaybeNullRow flag is required for virtual columns if they are part of an outer join. Add a test case to prove it. (check-in: 083b0f7e77 user: drh tags: branch-3.44)
14:06
Fix obscure issues associated with SQLITE_ALLOW_ROWID_IN_VIEW and indexes on virtual columns in a RIGHT JOIN. (check-in: 4b3a253fc7 user: drh tags: branch-3.45)
13:56
Check-in [a9657c87c53c1922] is wrong: the IndexedExpr.bMaybeNullRow flag is required for virtual columns if they are part of an outer join. Add a test case (derived from dbsqlfuzz b9e65e2f110df998f1306571fae7af6c01e4d92b) to prove it. (check-in: 4484ec6d26 user: drh tags: trunk)
11:28
When compiling with SQLITE_ALLOW_ROWID_IN_VIEW, if the RETURNING clause of an UPDATE of a view specifies a rowid, then return NULL for the value of that rowid. This is version 3.44.3. (check-in: d38cfa6067 user: drh tags: branch-3.44, version-3.44.3)
11:23
When compiling with SQLITE_ALLOW_ROWID_IN_VIEW, if the RETURNING clause of an UPDATE of a view specifies a rowid, then return NULL for the value of that rowid. dbsqlfuzz 7863696e9e5ec10b29bcf5ab2681cd6c82a78a4a. (check-in: c7896e8885 user: drh tags: trunk)
2024-04-04
22:53
Optimize sqlite3.oo1.DB.exec() for the rowMode='object' case to avoid converting the object property keys (column names) from native code to JS for each row. This speeds up large data sets considerably and addresses the report in forum post 3632183d2470617d. (check-in: 8b41ef8690 user: stephan tags: trunk)
14:26
Add the "interstage-heuristic" that attempts to avoid wildly inefficient queries that use table scans instead of index lookups because the output row estimates are inaccurate. (check-in: 7bf49e2c54 user: drh tags: trunk)
13:36
Fix an ASAN problem in part of the test harness. No changes to SQLite itself. (check-in: 797cda7ddc user: drh tags: trunk)
13:07
Fix test cases due to an error message change. (check-in: c49ec239ed user: drh tags: trunk)
12:37
Fix exception propagation when the opfs-sahpool VFS fails to initialize to address report in forum post be0141c639. (check-in: db31d178d6 user: stephan tags: branch-3.45)
12:36
Fix exception propagation when the opfs-sahpool VFS fails to initialize to address report in forum post be0141c639. (check-in: cdb3a90055 user: stephan tags: trunk)
2024-04-02
21:55
Add an optional 3rd argument to the icu_load_collation() function that specifies the "strength" of the comparison. (check-in: acddbc489d user: drh tags: trunk)
18:48
Fix typos in comments. Provided ".wheretrace" debugging output for the interstage heuristic module. Do omit automatic index loops in the interstage heuristic. (check-in: 357d9513d2 user: drh tags: branch-3.28)
18:31
Fix table-valued functions so that they will work as the right table in a LEFT JOIN. Ticket [2ae0c599b735d59e] (check-in: 1f97086d62 user: drh tags: branch-3.28)
14:12
Fix typos in comments. Provided ".wheretrace" debugging output for the interstage heuristic module. Do omit automatic index loops in the interstage heuristic. (Closed-Leaf check-in: 186dcae19e user: drh tags: interstage-heuristic)
11:54
Add a heuristic in between the two solver() passes of the query planner that tries to prevent a very slow query plan in cases where the output row count estimate is imprecise. (check-in: 74b247d958 user: drh tags: branch-3.28)
11:44
Add a heuristic in between the two solver() passes of the query planner that tries to prevent a very slow query plan in cases where the output row count estimate is imprecise. (check-in: 8018417b01 user: drh tags: interstage-heuristic)
2024-04-01
15:38
Improved comments in the query planner logic that computes the cost for a particular step in a query plan. No code changes. (check-in: 0b2ac2cdc7 user: drh tags: trunk)
2024-03-30
14:11
Make explicit that sqlite3_keyword_name()'s index is 0-based, per forum request. Doc changes only. (check-in: 090943dc31 user: stephan tags: trunk)
2024-03-29
18:19
Fix handling of an OOM case broken by [11015b4e]. (check-in: 1f3a805d19 user: dan tags: bedrock)
18:16
Fix handling of an OOM case broken by [49263c91]. (check-in: 9e6b64decb user: dan tags: begin-concurrent)
18:07
Fix a problem in SQLITE_DIRECT_OVERFLOW_READ builds that could allow a concurrent transaction to be committed even if it read from an overflow page that was modified concurrently, in cases where the overflow page was written without also writing the b-tree page to which it is linked. (check-in: 11015b4ed1 user: dan tags: bedrock)
18:04
Improve the log message emitted when a BEGIN CONCURRENT transaction cannot be committed due to conflicts so that it identifies the conflicting table in a few more cases. (check-in: 19ff2d4e1e user: dan tags: bedrock)
17:58
Fix a problem in SQLITE_DIRECT_OVERFLOW_READ builds that could allow a concurrent transaction to be committed even if it read from an overflow page that was modified concurrently, in cases where the overflow page was written without also writing the b-tree page to which it is linked. (check-in: 49263c9136 user: dan tags: begin-concurrent)
17:32
Improve the log message emitted when a BEGIN CONCURRENT transaction cannot be committed due to conflicts so that it identifies the conflicting table in a few more cases. (check-in: 5d30e362cf user: dan tags: begin-concurrent)
2024-03-28
10:58
Document that the order of an update hook call is unspecied vis-a-vis the final result of the operation which triggers that hook. Doc changes only. (check-in: 3d4b1f0791 user: stephan tags: trunk)
2024-03-27
20:34
Update comments in fts5.h. (check-in: 862945d5c4 user: dan tags: trunk)
2024-03-26
18:07
Add extra tests to vtabL.test. (check-in: fe209099f5 user: dan tags: trunk)
11:14
Avoid expanding integer values in columns with real affinity to the full 8-byte representation when editing records as part of a DROP COLUMN command. (check-in: a49296de00 user: dan tags: trunk)
10:48
Merge all recent trunk enhancements into the reuse-schema branch. (check-in: e469b02205 user: drh tags: reuse-schema)
10:45
Merge all recent trunk enhancements into the bedrock branch. (check-in: 33d3453f46 user: drh tags: bedrock)
10:42
Merge all recent trunk enhancements into the wal2 branch. (check-in: c2139d8263 user: drh tags: wal2)
10:42
Merge all recent trunk enhancements into the begin-concurrent branch. (check-in: 9b854e54b0 user: drh tags: begin-concurrent)
2024-03-25
20:35
The RAISE() operator is not a constant expression and cannot participate in the VALUE-as-coroutine optimization. dbsqlfuzz 74cf7c9904360322a6c917e4934b127543d1cd51 (check-in: 6a06dc7384 user: drh tags: trunk)
20:00
Add further tests for sqlite3_declare_vtab(). (check-in: f3c4433f6b user: dan tags: trunk)
19:31
Simplifications to the sqlite3_declare_vtab() implementation. Changes some conditionals into assert() statements, for coverage. (check-in: ff7b898a6f user: drh tags: trunk)
18:30
Fix a theoretical OOB memory access in sqlite3_stmt_scanstatus_v2(). (check-in: 87be958074 user: dan tags: trunk)
18:24
Revert the previous change. Instead, do a pre-check of the CREATE TABLE statement that is the second argument to sqlite3_declare_vtab() and if the first two keywords are not "CREATE" and "TABLE", then raise an SQLITE_MISUSE error. (check-in: 6a2ff83512 user: drh tags: trunk)
17:43
Remove an ALWAYS() from a condition that can be true. (check-in: 715fcf033a user: drh tags: trunk)
14:44
Fix an inaccuracy in automatic indexes that was exposed by the fix at [80c4223098c1827f]. (check-in: fdc9406f1c user: drh tags: trunk)
13:18
Fix the pragma4.test script so that it works with SQLITE_OMIT_VIRTUALTABLE. (check-in: f8fe6fb69c user: drh tags: trunk)
12:28
Fix recent test case changes so that they also work on Windows. (check-in: 38578b5af2 user: drh tags: trunk)
11:34
Use the SQLITE_CONSTRAINT return value from xBestIndex to prohibit bad query plans in the pragma virtual table. (check-in: b1259d4448 user: drh tags: trunk)
10:55
Improvements to the vtablog.c extension: Eliminate memory leaks. More diagnostic output for xBestIndex. (check-in: 92e9a71bc4 user: drh tags: trunk)
10:28
Flag sqlite3_trace() and sqlite3_profile() as deprecated so that the doc generator for funclist.html sees them as such, and add 'Deprecated' to their page's title for consistency with other deprecated APIs. Comment changes only. Addresses forum post 0901025836. (check-in: 87c54f93f5 user: stephan tags: trunk)
00:38
Improvements to the vtablog.c extension, for better logging of virtual table interactions. (check-in: e253bb36a5 user: drh tags: trunk)
2024-03-24
21:18
Fix the xBestIndex method of the pragma virtual table so that it correctly gives a higher cost to plans where the schema hidden parameter is unconstrained. (check-in: ec791413d5 user: drh tags: branch-3.45)
21:15
Fix the xBestIndex method of the pragma virtual table so that it correctly gives a higher cost to plans where the schema hidden parameter is unconstrained. (check-in: d68fb8b5db user: drh tags: branch-3.44)
21:10
Fix the xBestIndex method of the pragma virtual table so that it correctly gives a higher cost to plans where the schema hidden parameter is unconstrained. Fix for the problem reported by forum post 85b6a8b6705fb77a. (check-in: bc516ff520 user: drh tags: trunk)
20:26
Improved "wheretrace" debugging output for calls to xBestIndex. No changes to release code. (check-in: 33966bb06c user: drh tags: trunk)
19:08
Fix the SQLITE_ALLOW_ROWID_IN_VIEW bug-compatibility option so that it works again. Add the SQLITE_CONFIG_ROWID_IN_VIEW sqlite3_config() value to optionally disable the bug-compatibility mode at start-time. Enable testing of SQLITE_ALLOW_ROWID_IN_VIEW. (check-in: 7a3d0027f8 user: drh tags: branch-3.45)
16:42
Do not automatically assume that ROWID is NOT NULL when compiled with SQLITE_ALLOW_ROWID_IN_VIEW. dbsqlfuzz 31b38eeb63a4e1562de665078f52b7b47a7543cf (check-in: b5d2dce18f user: drh tags: branch-3.44)
16:33
Do not automatically assume that ROWID is NOT NULL when compiled with SQLITE_ALLOW_ROWID_IN_VIEW. dbsqlfuzz 31b38eeb63a4e1562de665078f52b7b47a7543cf (check-in: 80c4223098 user: drh tags: trunk)
2024-03-23
15:17
Fix an adverse interaction between CREATE TABLE AS and the new VALUES-as-coroutine optimization. dbsqlfuzz c2c5e7e08b7e489d270a26d895077a03f678c33b (check-in: 84b6fdea0b user: drh tags: trunk)
2024-03-22
10:32
Fix incorrect boundary assert()s on the new OP_IfSizeBetween opcode. (check-in: 8eda4797c5 user: drh tags: trunk)
2024-03-21
22:18
Test case for the assert() problem fixed by [9ba3cff9d48fe8fc]. (check-in: 865f0de7a1 user: drh tags: trunk)
22:12
Fix a assert() that is incorrect, though harmless. Also add a test case. (check-in: 90537ce044 user: drh tags: branch-3.45)
22:08
Fix a assert() that is incorrect, though harmless. Also add a test case. (check-in: 57b0c98460 user: drh tags: branch-3.44)
15:52
Add comments (only, no code) to the JS sqlite3_config() bindings reminding us why SQLITE_CONFIG_ROWID_IN_VIEW is specifically not included. JNI does not need this treatment because it explicitly supports only a very small subset of config options. (check-in: 4fea396221 user: stephan tags: trunk)
11:46
Enhancements to testrunner.tcl: (1) Add the "--config CONFIGS" option, to that only configuration named on the comma-separated list CONFIGS are run. (2) Add the "--omit CONFIGS" to omit configuration on the CONFIGS list (3) Add the Android configuration to "release" (check-in: 4ccb372967 user: drh tags: trunk)
11:37
Have os_unix.c reuse cached file-descriptors in the case when a read-write fd is requested on a read-only file and a read-only fd returned. (check-in: a678e85402 user: dan tags: trunk)
10:35
Fix all test cases so that they work with SQLITE_ALLOW_ROWID_IN_VIEW. (check-in: 66c69e2f20 user: drh tags: trunk)
2024-03-20
16:56
Change EXPLAIN QUERY PLAN output to say "USE TEMP B-TREE FOR LAST TERM OF ORDER BY", or "LAST N TERMS OF ORDER BY", instead of "RIGHT PART OF ORDER BY". (check-in: 7e13a2c758 user: dan tags: trunk)
16:29
Fix test cases for rtree and fts5. No changes to code. (check-in: 633dca9074 user: drh tags: branch-3.44)
16:27
Change EXPLAIN QUERY PLAN output to say "USE TEMP B-TREE FOR LAST TERM OF ORDER BY", or "LAST N TERMS OF ORDER BY", instead of "RIGHT PART OF ORDER BY". (Closed-Leaf check-in: cd547c5004 user: dan tags: eqp-orderby)
16:04
Have rtree avoid keeping a blob handle open following an error. (check-in: 1303716a11 user: drh tags: branch-3.44)
15:26
Following a ROLLBACK that reverts changes to an RTREE, any pending queries against that same RTREE abort with code SQLITE_ABORT_ROLLBACK. dbsqlfuzz de7d17b72d0e842352c998dd86a47b7d0f707be9. (check-in: b26e5a500e user: drh tags: branch-3.44)
12:19
Back port various minor patches (check-in: a1a5c427c2 user: drh tags: branch-3.44)
11:36
Automatically disable the DISTINCT optimization during query planning if the ORDER BY clause exceeds 63 terms. dbsqlfuzz afd1d61fc27d14938a0d78a50970fa1e9fbfee58. (check-in: e8d5caef26 user: drh tags: branch-3.44)
11:30
Ignore COLLATE operators when determining whether the result of a subexpression should be shallow-copied or deep-copied. (check-in: dd58d1178f user: drh tags: branch-3.44)
11:25
Fix a harmless compiler warning in the randomjson.c extension. (check-in: a4c9351234 user: drh tags: branch-3.44)
11:24
If a term of an ORDER BY or GROUP BY contains an aggregate function or column, then it is not an alias that needs to be resolved, so don't try to. This fixes a harmless assertion found by dbsqlfuzz. (check-in: e7ba2af5a1 user: drh tags: branch-3.44)
11:04
Fix the SQLITE_ALLOW_ROWID_IN_VIEW bug-compatibility option so that it works again. Add the SQLITE_CONFIG_ROWID_IN_VIEW sqlite3_config() value to optionally disable the bug-compatibility mode at start-time. Enable testing of SQLITE_ALLOW_ROWID_IN_VIEW. (check-in: acc08353e2 user: drh tags: branch-3.44)
10:45
Fix the SQLITE_ALLOW_ROWID_IN_VIEW bug-compatibility option so that it works again. Add the SQLITE_CONFIG_ROWID_IN_VIEW sqlite3_config() value to optionally disable the bug-compatibility mode at start-time. Enable testing of SQLITE_ALLOW_ROWID_IN_VIEW. (check-in: b6802565df user: drh tags: trunk)
10:40
Fix a typo in a comment. (Closed-Leaf check-in: 54680d0fbe user: drh tags: rowid-in-view)
09:45
Fix typos in the SQLITE_CONFIG_ROWID_IN_VIEW documentation. (check-in: 1ad1ca4982 user: drh tags: rowid-in-view)
2024-03-19
23:01
Change the SQLITE_CONFIG_NO_ROWID_IN_VIEW configuration option to be just SQLITE_CONFIG_ROWID_IN_VIEW (without the "_NO_" in the middle) and give it the ability to turn the option on and off. Otherwise, it is difficult to test. (check-in: 5d412edc2e user: drh tags: rowid-in-view)
19:56
Return the error "ambiguous column name: rowid", instead of "no such column: rowid", when a "rowid" reference is ambiguous. (check-in: 0615bdae2d user: drh tags: rowid-in-view)
19:48
Add the --no-rowid-in-view option to the --help output of the CLI. (check-in: 134da9c348 user: drh tags: rowid-in-view)
19:42
Make sure the new u1.nRow value is copied when making a copy of a SrcItem object. This fixes a problem in [ac6f095e13e43d66] from yesterady. (check-in: 262f8f9d80 user: drh tags: trunk)
16:51
Update test scripts to account for [8fcea4cd]. (check-in: 0c543c51a8 user: dan tags: rowid-in-view)
16:34
In the name resolver when SQLITE_ALLOW_ROWID_IN_INDEX is enabled, if there are multiple views that might resolve to the "rowid" but only one real table, then use that one real table and ignore the views. (check-in: 8fcea4cdfc user: drh tags: rowid-in-view)
15:27
Update tests to work with SQLITE_ALLOW_ROWID_IN_VIEW. (check-in: 495b8c7b08 user: dan tags: rowid-in-view)
14:55
Return the error "ambiguous column name: rowid", instead of "no such column: rowid", when a "rowid" reference is ambiguous. (Closed-Leaf check-in: 021f34fcfe user: dan tags: ambiguous-rowid-error)
14:38
Fix the fuzzinvariants.c test module so that it does not generate invariants that depend on rowid when SQLITE_ALLOW_ROWID_IN_VIEW is used, since rowid values can be unreliable in that context. (check-in: 0d711aaaa1 user: drh tags: rowid-in-view)
14:21
Improvements to the first check-in on this branch, causing less collateral damage. (check-in: 7bc882897b user: drh tags: rowid-in-view)
13:55
On second thought, change SQLITE_TESTCTRL_ROWID_IN_VIEW into a start-time option SQLITE_CONFIG_NO_ROWID_IN_VIEW. (check-in: b8e045c9e1 user: drh tags: rowid-in-view)
13:31
When compiled with SQLITE_ALLOW_ROWID_IN_VIEW, rowid-in-view is on by default but can now be turned off using SQLITE_TESTCTRL_ROWID_IN_VIEW. Without the compile-time option, rowid-in-view is always off. (check-in: 8a6196ab29 user: drh tags: rowid-in-view)
10:58
Fix a problem involving infinities int the Kahan-Babushka-Neumaier summation algorithm. (check-in: 8af5878138 user: drh tags: branch-3.45)
10:46
Fix a problem involving infinities int the Kahan-Babushka-Neumaier summation algorithm. (check-in: 0984e5cd25 user: drh tags: branch-3.44)
10:41
Adjustments to the test cases for the previous check-in to make them cross-platform Linux/Mac/Windows. Test changes only. No change to core code. (check-in: 0dddadbd5b user: drh tags: trunk)
10:16
Fix another problem from [c63e26e705f5e967] involving infinities and the Kahan-Babushka-Neumaier summation algorithm. Problem reported by forum post 23b8688ef4. (check-in: 45d272ef38 user: drh tags: trunk)
02:30
First steps toward getting -DSQLITE_ALLOW_ROWID_IN_VIEW to work again. That compile-time option is untested, undocumented, and unsupported. But it was mentioned in the release notes for version 3.36.0, so I think that means we need to support it forever. (check-in: 7c46ff6402 user: drh tags: rowid-in-view)
2024-03-18
21:08
Fix asan problems in sqlite3rbu.c. Enable RBU for sanitizer release tests. (check-in: ad2ae7717e user: dan tags: trunk)
20:52
Avoid spurious SQLITE_IOERR_DATA errors when reading partial pages from a cksumvfs database using a SQLITE_DIRECT_OVERFLOW_READ build. (check-in: 0f485dbece user: dan tags: trunk)
18:56
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: c2d4adabb9 user: drh tags: reuse-schema)
18:55
Merge the latest trunk enhancements into the bedrock branch. (check-in: 10ab5e8570 user: drh tags: bedrock)
18:51
Merge the latest trunk enhancements into the wal2 branch. (check-in: c0af1242d8 user: drh tags: wal2)
18:47
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: 50b43b02da user: drh tags: begin-concurrent)
18:03
Remove unnecessary blank lines from build commands in the default Makefile.in. (check-in: 76fb3a908f user: drh tags: trunk)
18:00
Add the "VALUES-as-coroutine" optimization. Large VALUES clauses on an INSERT, for example, prepare and run in about half the time and with half the memory. This check-in also includes enhancements to the internal sqlite3ExprIsConstant() routine to recognize pure SQL functions as constant if they have constant arguments. (check-in: a120c9235f user: drh tags: trunk)
17:13
Fix harmless compiler (scan-build) warnings. (Closed-Leaf check-in: c86f9f2a15 user: drh tags: exp-values-clause2)
16:30
Allow the VALUES-as-coroutine optimization to be applied to later rows of a VALUES clause even if earlier rows do not qualify. (check-in: 9a47ea7f0f user: drh tags: exp-values-clause2)
15:10
Change a test case to use a window function rather than random() to disable the VALUES clause optimization. (check-in: c589149a13 user: drh tags: exp-values-clause2)
13:31
Add assert() statements to validate access to the SrcItem.u1.nRow union member. (check-in: 21f616d9b9 user: drh tags: exp-values-clause2)
13:10
Fix the patch at [10ee6fcba08ab128] so that it works on reduced-size Expr nodes. (check-in: 260bd764c3 user: drh tags: exp-values-clause2)
12:49
Improvements to EXPLAIN QUERY PLAN output for multi-row VALUES claues. (check-in: ac6f095e13 user: drh tags: exp-values-clause2)
11:12
Ensure the database schema has been loaded and the database encoding gleaned before beginning to code a multi-row VALUES clause. (check-in: 2ff476eb3d user: dan tags: exp-values-clause2)
10:54
Fix a problem caused by a non-aggregate function with an OVER clause in a multi-row VALUES clause. (check-in: 10ee6fcba0 user: dan tags: exp-values-clause2)
2024-03-17
16:01
Omit the "noop(X)" test SQL function. Accomplish the same thing using the idiom: "coalesce(X,random())". (check-in: 0eb2fbb891 user: drh tags: exp-values-clause2)
00:13
Add an ALWAYS on an unreachable branch. (check-in: 0dce621169 user: drh tags: exp-values-clause2)
2024-03-16
21:12
Recognize when an SQL function is constant and can occur inside an optimized VALUES clause. (check-in: c0e5ceb87d user: drh tags: exp-values-clause2)
21:04
Fix a assert() that is incorrect, though harmless. (Closed-Leaf check-in: 9ba3cff9d4 user: drh tags: enhanced-expr-is-const)
20:15
Further expand the scope of usage for the enhacement to expr-is-constant. (check-in: d7eadcf7dd user: drh tags: enhanced-expr-is-const)
19:48
Assert that the eCode is always non-zero upon entry into exprNodeIsConstant(). (check-in: f71b28f671 user: drh tags: enhanced-expr-is-const)
19:36
Activate the enhanced constant-expression for the [constant propagation optimization](/info/f4229707ac08d66c). (check-in: 92afea3888 user: drh tags: enhanced-expr-is-const)
17:04
Extend the scope expr-is-constant for function to cover the IN-to-EQ optimization. (check-in: dae669245c user: drh tags: enhanced-expr-is-const)
14:27
Fix exprNodeIsConstantFunction() so that it returns WRC_Continue, not WRC_Abort, if the function really is constant. (check-in: d85dd4de2d user: dan tags: enhanced-expr-is-const)
13:18
Enhance the sqlite3ExprIsConstant() function so that it recognizes constant functions. So far the enhancement only applies to the multi-row VALUES clause, but it could possibly be applied in many other places. (check-in: c9e0488c6c user: drh tags: enhanced-expr-is-const)
2024-03-15
17:57
New options for testrunner.tcl: --stop-on-error and --stop-on-coredump. (check-in: 82035b9cfd user: drh tags: trunk)
17:04
Fix (totally harmless) memory leaks in Lemon to avoid warnings during ASAN builds. (check-in: ce009205a8 user: drh tags: trunk)
13:16
Tweaks to the func4.test test module (which tests the rarely used totype.c extension) so that it works on i586 compiled using gcc-13 with -O0. Details at forum post 0a7553b0f734c033. (check-in: d0fbe779bc user: drh tags: trunk)
12:59
Attempt to use the Dekker high-precision floating point algorithm in the ext/misc/totype.c extension. This check-in should have been derived from trunk, not the exp-values-clause2 branch. But that's ok, because both trunk and the branch are the same in all aspects that relate to this check-in and this check-in is just parking the proposed enhancement for future consideration - it is not a serious proposal at this point. (Leaf check-in: dd41db3b10 user: drh tags: totype-dekker)
2024-03-14
20:39
Fix testcase to account for new behaviors with this branch. (check-in: 823e579362 user: drh tags: exp-values-clause2)
19:31
Fix a problem with ALTER TABLE and correlated multi-row VALUES clauses. (check-in: d543c829ef user: dan tags: exp-values-clause2)
19:01
Fix a problem handling "INSERT INTO ... SELECT ... UNION VALUES(...), (...)" and similar statements. (check-in: e8a2a8198a user: dan tags: exp-values-clause2)
17:04
Avoid some OP_SCopy instructions in "INSERT INTO .. VALUES" statements that insert more than one row in cases where the VALUES clause contains a value for all columns of the table. (check-in: 988f0ea70c user: dan tags: exp-values-clause2)
13:18
JS: remove an unused function argument and some debug-related comments. No functional changes. (check-in: f15709430d user: stephan tags: trunk)
11:45
Add further tests for VALUES clauses in various contexts. (check-in: 973d197d96 user: dan tags: exp-values-clause2)
2024-03-13
20:04
Change the way parse.y handles multi-row VALUES clauses to save a few cycles. (check-in: 88d5bc91a5 user: dan tags: exp-values-clause2)
18:41
Remove unreachable code from this branch. (check-in: 657c7b4f9d user: dan tags: exp-values-clause2)
18:00
Merge the latest trunk enhancements into the bedrock branch. (check-in: 5c8e80f435 user: drh tags: bedrock)
17:55
Merge the latest trunk enhancements into the wal2 branch. (check-in: 2b12da7234 user: drh tags: wal2)
17:51
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: 238fa84a9a user: drh tags: begin-concurrent)
17:33
Fix some OOM handling problems on this branch. (check-in: 2085c7f12a user: dan tags: exp-values-clause2)
16:49
Do not automatically activate SQLITE_ENABLE_SHARED_SCHEMA in the Makefile. Instead, enhance the mdevtest and sdevtest targets of testrunner.tcl to set that option sometimes and sometimes not. (check-in: 693b8f9307 user: drh tags: reuse-schema)
16:35
Merge the testrunner.tcl enhancement from trunk. (check-in: da47151561 user: drh tags: reuse-schema)
16:32
Minor change to the "mdevtest" and "sdevtest" in testrunner.tcl, to make it easier to add configurations in branches. (check-in: 9349d94e05 user: drh tags: trunk)
15:59
Merge the latest trunk enhancements into the reuse-schema branch. Fix the reuse-schema build of the CLI so that it works again. (check-in: 70ef3784f6 user: drh tags: reuse-schema)
15:47
Merge trunk into this branch. (check-in: 38635651f0 user: dan tags: exp-values-clause2)
15:44
Ensure that if a multi-row VALUES cannot be coded while being parsed, the SF_MultiValue flag is correctly set. (check-in: 94791824a6 user: dan tags: exp-values-clause2)
15:34
Avoid creating a co-routine incrementally for a VALUES clause that has affinities other than NONE. (check-in: 4229b12b32 user: dan tags: exp-values-clause2)
13:43
If the NJOB environment variable is a positive integer, it causes testrunner.tcl to run that many jobs. (check-in: 924281b94d user: drh tags: trunk)
13:27
Document the testrunner.tcl --explain option in doc/testrunner.md. (check-in: 5a7b5fc99a user: drh tags: trunk)
13:09
Add the --explain option to testrunner.tcl. (check-in: f0c9eb0326 user: drh tags: trunk)
11:46
Improve one of the error messages from testrunner.tcl. (check-in: 233155c174 user: drh tags: trunk)
11:29
Minor tweaks to the testrunner documentation. (check-in: 3128b98d26 user: drh tags: trunk)
10:55
Improvements to the "help" message generated by testrunner.tcl. Add the special "list" permutation that does nothing but list all allowed values for the PERMUTATION argument to testrunner.tcl. (check-in: 1f5bfc6a90 user: drh tags: trunk)
10:54
Add pointer to documentation to testrunner.tcl help message. (check-in: eff855102f user: dan tags: trunk)
10:47
Have testrunner.tcl set SQLITE_TMPDIR on windows as well. (check-in: 64f4dad1f9 user: dan tags: trunk)
00:37
On testrunner.tcl: (1) Add the "help" command. (2) Add the "script" command to the help message. (3) Improve the error message generated by "script" when an incorrect CONFIG option is provided. (check-in: 1b7f0be440 user: drh tags: trunk)
2024-03-12
20:10
Correctly initialize the SrcItem.iCursor field to -1 when creating a co-routine from a multi-values VALUES clause. (check-in: c32953ff6d user: dan tags: exp-values-clause2)
18:33
Have testrunner.tcl have each test store its temp files in its working directory. To avoid unlikely, but possible, collisions. (check-in: 18842d0d72 user: dan tags: trunk)
18:04
Have testrunner.tcl have each test store its temp files in its working directory. To avoid unlikely, but possible, collisions. (Closed-Leaf check-in: 775a10d10b user: dan tags: testrunner-tmpdir-fix)
12:12
Merge all version-3.45.2 patches into the reuse-schema-3.45 subbranch. (check-in: 20d9618da3 user: drh tags: reuse-schema-3.45)
12:00
Merge all 3.45.2 pages into the bedrock-3.45 subbranch. (check-in: 33b9cf7c10 user: drh tags: bedrock-3.45)
11:55
Merge all 3.45.2 patches into the wal2-3.45 subbranch. (check-in: 64d740c594 user: drh tags: wal2-3.45)
11:51
Merge all version 3.45.2 patches into the begin-concurrent-3.45 subbranch. (check-in: f0723258aa user: drh tags: begin-concurrent-3.45)
11:06
Version 3.45.2 (check-in: d8cd6d49b4 user: drh tags: release, branch-3.45, version-3.45.2)
10:47
First attempt at version 3.45.2, but failed to set the version number correctly in the source tree. (Closed-Leaf check-in: 78bed2b0c7 user: drh tags: mistake)
2024-03-11
23:28
Merge the latest branch-3.45 patches into the reuse-schema-3.45 subbranch. (check-in: e22e0e1e4e user: drh tags: reuse-schema-3.45)
23:26
Merge the latest branch-3.45 changes into the bedrock-3.45 subbranch. (check-in: 516b7e1380 user: drh tags: bedrock-3.45)
23:23
Merge the branch-3.45 patches into the wal2 branch. (check-in: f8cee91f5d user: drh tags: wal2-3.45)
23:18
Merge the latest branch-3.45 changes into the begin-concurrent branch. (check-in: 98ea2ca21a user: drh tags: begin-concurrent-3.45)
20:34
Fix another testrunner.tcl problem on windows. (check-in: 7805844bc4 user: dan tags: trunk)
19:43
Fix a missing brace problem in testrunner.tcl introduced by the previous commit. (check-in: 1f5e334d98 user: dan tags: trunk)
19:33
Update mdevtest and sdevtest to do shell builds in parallel. And only if one or more of the tcl scripts run requires it. (check-in: 6eae4547d4 user: dan tags: trunk)
18:21
Run shell*.test modules with "make mdevtest". (check-in: 76c4710618 user: drh tags: trunk)
17:27
Attempt to reduce the memory used by VALUES clauses in as many statements as possible, not just INSERT. This branch still has problems. (check-in: 17d1f7cfab user: dan tags: exp-values-clause2)
11:26
Fix the ".import" command in the CLI so that it works correctly with tables that contain computed columns. (check-in: b26f24441f user: drh tags: branch-3.45)
11:24
Fix the ".import" command in the CLI so that it works correctly with tables that contain computed columns. forum post ca014d7358. (check-in: 95a9c88b25 user: drh tags: trunk)
09:39
Add more docs for the OPFS delete-before-open feature. (check-in: cb8d9c269c user: stephan tags: trunk)
09:34
Add delete-before-open=1 URI flag to the 'opfs' VFS to tell it to xDelete the db file before opening it, primarily to enable users to work around a corrupt db without having to reach into OPFS-specific APIs to remove the db file. (check-in: e87cf0d770 user: stephan tags: trunk)
09:32
Add delete-before-open=1 URI flag to the 'opfs' VFS to tell it to xDelete the db file before opening it, primarily to enable users to work around a corrupt db without having to reach into OPFS-specific APIs to remove the db file. (Closed-Leaf check-in: e83f978863 user: stephan tags: opfs-delete-before-open)
2024-03-09
18:41
Fix the .expert command in the shell so that it does not leak memory if not followed by SQL and so that it works with reverse_unordered_selects. (check-in: 7ead022eda user: drh tags: trunk)
13:31
Fuzzcheck is run automatically by testrunner.tcl, so there is no need to include fuzzcheck as a separate dependency for the releasetest target in the MSVC makefile. (check-in: 76629b2bff user: drh tags: trunk)
13:17
Reenable the use of SQLITE_OMIT_VIRTUALTABLE by fixing a misplaced #endif caused by the merge at [c080560c2d0d753c]. (check-in: 71120ea837 user: drh tags: branch-3.45)
13:10
Fix the rtreeJ.test module to align it with [cd017c28d516399e]. (check-in: 111b3d8270 user: drh tags: branch-3.45)
12:30
Handle an OOM case in fts5 code to query tokendata=1 tables. (check-in: ebf59fa374 user: drh tags: branch-3.45)
00:38
The NOT NULL strength reduction optimization should be applied to the WHERE clause only. (check-in: be266c7139 user: drh tags: branch-3.45)
2024-03-08
21:37
The NOT NULL strength reduction optimization from [de9c86c9e4cdb34f] should be applied to the WHERE clause only. Otherwise, the operand of the IS NULL or IS NOT NULL operator might be a reference to a bare column of an aggregate table, and we can't tell if it is NULL or not based only on its NOT NULL attribute. Forum post 440f2a2f17. (check-in: 51704feae2 user: drh tags: trunk)
19:03
One of the assert()s added by the previous check-in was not quite correct. This commit fixes it. (check-in: d401358329 user: drh tags: trunk)
15:39
Add new assert() statements, which if they had existed three years ago, would have detected the code generator problem fixed by the previous check-in. (check-in: 166d1e5d26 user: drh tags: trunk)
14:16
Silently ignore redundant ON CONFLICT clauses in an UPSERT. (check-in: e546d8c685 user: drh tags: branch-3.44)
14:11
Silently ignore redundant ON CONFLICT clauses in an UPSERT. (check-in: 46245855a0 user: drh tags: branch-3.45)
14:01
Silently ignore redundant ON CONFLICT clauses in an UPSERT. Only the first ON CONFLICT for each index is active. Do not issue an error, since that might break legacy queries. But ignore the redundant ON CONFLICT clauses to prevent problems such as described in forum post 919c6579c8. (check-in: d0ea6b6ba6 user: drh tags: trunk)
13:49
Omit some extra tests for the intck extension in OMIT_VIRTUAL_TABLE or OMIT_PRAGMA builds. (check-in: 29d9eb7d55 user: dan tags: trunk)
11:13
Fix pragma6.test so that it works with ENABLE_OVERSIZE_CELL_CHECK builds. (check-in: a02551de4c user: dan tags: trunk)
11:08
Do not run tests for the intck extension in OMIT_VIRTUAL_TABLE or OMIT_PRAGMA builds. (check-in: de8130c020 user: dan tags: trunk)
03:24
Must use sqlite3IntFloatCompare() for accurate comparisons between very large integer and floating point values in RTREE. Otherwise the comparison does not work on all platforms. Further fix to [027e5336acc26f57]. (check-in: 820f106acf user: drh tags: trunk)
2024-03-07
19:29
Introducing JS worker1 promiser v2, which initializes via Promise (instead of a callback function) and can be loaded as an ESM module. (check-in: 2fbaf2f51d user: stephan tags: trunk)
18:53
Resolve duplicate loading of promiser v2 demo code (a side effect of having done precisely what it was told to do). Consolidate demo-worker1-promiser(-esm).html/(m)js variants into central copies processed with c-pp. (Closed-Leaf check-in: 9347d9b9a6 user: stephan tags: wasm-promiser1-v2)
18:47
Improved error handling. (Leaf check-in: cf2d1ad036 user: drh tags: exp-values-clause)
17:56
wasm promiser.v2 is essentially working but the demo code is double-loading the module for as-yet-undetermined reasons. (check-in: aa877ce0c3 user: stephan tags: wasm-promiser1-v2)
17:11
Simplify the parser changes on this branch. (check-in: 89a6c7b527 user: dan tags: exp-values-clause)
16:25
Merge all the latest trunk enhancements into the exp-values-clause branch. (check-in: c4923f266f user: drh tags: exp-values-clause)
16:04
Initial work at getting sqlite3Worker1Promiser.v2() to return a Promise instead of using an onready() callback, and also creating an ESM build for promiser1 per user request. It seems to work but requires more testing. (check-in: 0e272123ac user: stephan tags: wasm-promiser1-v2)
15:58
Fix harmless compiler warnings in test code for the intck extension. (check-in: 7fbdc1a849 user: drh tags: trunk)
15:44
Add further tests for the code on this branch. (check-in: 5d8065e801 user: dan tags: exp-values-clause)
12:34
Do not allow the query planner to be tricked into thinking that an index on a constant expression might be useful for something. Problem reported on forum post ecdfc02339. This is a follow-up to the fixes at [44200596aa943963] and [2d2b91cc0f6fed8c]. (check-in: 720ce06d93 user: drh tags: trunk)
2024-03-06
21:53
Fix a memory leak in new memdb1.test test cases that were added by [e638d5e408ea2e18]. No changes to SQLite itself. (check-in: f0a49dc8bc user: drh tags: branch-3.45)
21:22
Fix harmless compiler warning seen with MSVC. (check-in: 5aa809bcfe user: mistachkin tags: branch-3.45)
21:08
Fix harmless compiler warnings seen with MSVC. (check-in: c0f6152410 user: mistachkin tags: branch-3.45)
21:06
Fix a minor test file locking issue on Windows. (check-in: a44752806f user: mistachkin tags: branch-3.45)
21:00
Work around obscure floating point issue seen with older versions of MSVC. (check-in: 6055715feb user: mistachkin tags: branch-3.45)
20:59
Fix two -Werror=lto-type-mismatch warnings reported in forum post ef62b57bd5. (check-in: d4e423f3a4 user: mistachkin tags: branch-3.45)
20:58
The quote() SQL function should convert +Inf into 9.0e+999 and -Inf into -9.0e+999. See forum post 6675b25108. (check-in: 07a9ef888d user: mistachkin tags: branch-3.45)
20:58
Make sure key comprisons are done correctly if the index key contains NaN values that have not been shifted into NULLs. That can only happen due to database corruption, but we need to deal with it nevertheless. (check-in: 7ed922d99c user: mistachkin tags: branch-3.45)
20:56
When inserting a 3-byte cell into a btree, ensure that the extra padding byte is 0x00. This is not necessary for security, as far as I can tell, but it seems like a reasonable precaution. (check-in: f3e841873d user: mistachkin tags: branch-3.45)
20:55
Rig sqlite3_serialize() so that it will initialize a previously uninitialized database prior to serializing it, so that it does not have a zero-byte size and does not return NULL (except for OOM). Forum thread 498777780e16880a. (check-in: 22a33f133e user: mistachkin tags: branch-3.45)
20:54
When doing a text-affinity comparison between two values where one or both have both a text and a numeric type, make sure the numeric type does not confuse the answer. This is a deeper fix to the problem observed by forum post 3776b48e71. The problem bisects to [25f2246be404f38b] on 2014-08-24, prior to version 3.8.7. (check-in: 6d385ccda8 user: mistachkin tags: branch-3.45)
20:52
Ensure that the replace() SQL function always returns a TEXT value even when its first argument is numeric and its second argument is an empty string. Fix for the issue reported by forum post 3776b48e71. (check-in: a7c98c8f19 user: mistachkin tags: branch-3.45)
20:49
Add the json_pretty() SQL function. (check-in: ceb51c1cc3 user: drh tags: trunk)
20:38
Add test cases for json_pretty(). (Closed-Leaf check-in: 6448b90708 user: drh tags: json-pretty)
20:34
Avoid making too many calls to sqlite3Select/sqlite3WhereBegin() when processing large VALUES clauses. (check-in: 356158c192 user: dan tags: exp-values-clause)
20:24
Work around obscure floating point issue seen with older versions of MSVC. (check-in: 42d39f9140 user: mistachkin tags: trunk)
14:55
Handle VALUES clauses having different number of values in different rows. Also the case where SQLITE_LIMIT_COMPOUND_SELECT is set to 0. (check-in: f5074b29d9 user: dan tags: exp-values-clause)
14:42
Add a couple of json_pretty() examples to /fiddle. (check-in: d5e1687b1d user: stephan tags: json-pretty)
14:30
Add the json_pretty(J) function for pretty-printing of JSON. An optional 2nd argument is text used for indentation, with a default value being four spaces. (check-in: 39552bd36c user: drh tags: json-pretty)
12:28
Correction to the previous check-in. (check-in: 483fa2969e user: drh tags: trunk)
11:35
Fix handling of "id=?" corner cases in rtree when the value on the RHS is a real value. Problem reported by forum post 1bb055be17. (check-in: 027e5336ac user: dan tags: trunk)
08:45
Wasm build tweaks to attempt to get the node.js-for-node.js build to use Emscripten's nodefs filesystem driver for persistent storage. This is completely untested - validating it requires a nodeist. (Closed-Leaf check-in: 0bcbde7c54 user: stephan tags: wasm-nodefs)
2024-03-05
20:33
Add comments for the new code on this branch. (check-in: 551caba93b user: dan tags: exp-values-clause)
18:41
Remove code that added a P4 parameter to the OP_Variable opcode. This is no longer required. (check-in: dd5977c9a8 user: dan tags: trunk)
18:03
Merge trunk changes into this branch. (check-in: a003fffafd user: dan tags: exp-values-clause)
17:48
Fix a problem with large values clauses and named variables. (check-in: 4784a92e56 user: dan tags: exp-values-clause)
17:39
Reformulate [34439fe3aeea7cbb] slightly to resolve a false-positive OOM reported in forum post 2eadfe94e3. (check-in: 320ccb5d5f user: stephan tags: branch-3.45)
17:33
Reformulate [34439fe3aeea7cbb] slightly to resolve a false-positive OOM reported in forum post 2eadfe94e3. (check-in: 8290646792 user: stephan tags: trunk)
17:23
Simplify changes on this branch by avoiding any special handling until SQLITE_LIMIT_COMPOUND_SELECT rows are reached. (check-in: 9cbceaac8f user: dan tags: exp-values-clause)
16:59
The value returned by the json_each.json field needs to survive longer than the json_each virtual table itself, in the event that the value is used in an aggregate expression. dbsqlfuzz 5120bd0b3bb0b73eebbcb79ac37c6b0663fccad6 (check-in: 040946b342 user: drh tags: branch-3.45)
16:47
The value returned by the json_each.json field needs to survive longer than the json_each virtual table itself, in the event that the value is used in an aggregate expression. dbsqlfuzz 5120bd0b3bb0b73eebbcb79ac37c6b0663fccad6 (check-in: 952ed71b9b user: drh tags: trunk)
12:48
/fiddle: reorder/replace example entries to make them more coherent when tried in order and clear the example selection list when the input area is cleared, both based on forum feedback. (check-in: b4ce270b3f user: stephan tags: trunk)
08:48
/fiddle 'Mandlebrot' typo fix reported in the forum. (check-in: ceefe6ba38 user: stephan tags: trunk)
07:55
Update fiddle.make to account for Makefile changes in [178b7d46f9]. (check-in: 7a5d810549 user: stephan tags: trunk)
06:31
/fiddle: before resetting a db, roll back any transactions (resolves problem reported in forum post 0b41a25d65) and remove an obsolete/broken reference to a long-gone API which could cause initialization to fail prematurely. (check-in: ee164ca73c user: stephan tags: trunk)
2024-03-04
18:50
Fix some problems with "VALUES(...) UNION ..." and similar on this branch. (check-in: 5d6797716d user: dan tags: exp-values-clause)
18:22
Fix a compiler warning in date.c. Update makefiles to include all necessary dependencies for building shell.c. (check-in: 178b7d46f9 user: drh tags: trunk)
18:02
The ability to DROP multiple tables (or views or indexes or triggers) at once, as implemented by this branch, appears to work. However, this branch adds over 1000 bytes to the code footprint. And the changes is significant, adding risk. The benefit of being able to drop multiple tables in a single statement is not seen to be enough to overcome those downsides, and so there are no immediate plans to merge this branch. (Leaf check-in: 1a49788afd user: drh tags: multi-drop)
16:44
Change test results in corruptC.test to account for the added detail in the output of "PRAGMA integrity_check" from [b736519d3d2e93c7]. (check-in: 0d19eeaafb user: drh tags: trunk)
16:18
Fix harmless compiler warnings in the increment integrity_check extension. (check-in: 596668e662 user: drh tags: trunk)
13:58
Adjust date/time functions so that they do a better job of keeping track of whether the current time is UTC or localtime, and no-op the 'utc' and 'localtime' modifiers accordingly. See forum post e7a939e074. Also add the datedebug() function, available only under -DSQLITE_DEBUG, for improved visibility of the DateTime object during debugging and testing. (check-in: dc56968374 user: drh tags: trunk)
11:12
Fix assert() statements in date/time computations: The month and day numbers can be zero if an error has been seen. (check-in: fc773f6c76 user: drh tags: trunk)
09:56
Document why the wasm build does not use Emscripten's -sSTRICT=1 flag and account for a behaviour change in emsdk 3.1.55 regarding the HEAPxyz symbols. (check-in: f6e8872033 user: stephan tags: trunk)
09:23
When warning about multiple invocations of JS's sqlite3ApiBootstrap(), use the warning logger installed by the first invocation, rather than console.warn. (check-in: d162af2d99 user: stephan tags: trunk)
06:54
After wasm bootstrapping has read the optional global-scope config objects, delete those objects because any further changes would not have any useful effect. Expand the docs regarding the sqlite3ApiBootstrap() config object and explain the necessary evil of a separate global-scope object for that configuration. (check-in: e6b14f7313 user: stephan tags: trunk)
2024-03-03
20:15
Back out the previous change. Replace it with new date modifiers "ceiling" and "floor". (check-in: f0831cced2 user: drh tags: trunk)
2024-03-02
21:02
New date/time modifiers "mnth" and "yr" work like "month" and "year" but resolve day-of-month overflow by truncating rather than rolling over into the next month. Forum thread 232d1abb5d (check-in: 5d392c16bb user: drh tags: trunk)
20:50
Change the magic time-interval names that do truncate-to-same-month to be "mnth" and "yr" - "month" and "year" without the vowels. (Closed-Leaf check-in: 296b46c529 user: drh tags: month-truncate)
20:39
Attempt to use less memory when handling a large VALUES clause attached to an INSERT statement. This branch is buggy. (check-in: 6d4f1ae2fc user: dan tags: exp-values-clause)
13:38
Proof-of-concept for new time-interval operator "pg-month" and "pg-year" that use the truncate-to-month algorithm for month overflow instead of the wrap-to-next-month algorithm that is used by SQLite by default. (check-in: b606c09657 user: drh tags: month-truncate)
12:17
Remove an unused line of code. (check-in: 2627259069 user: drh tags: multi-drop)
11:02
Simplifications to multi-DROP logic. (check-in: e70d6be751 user: drh tags: multi-drop)
00:29
Improved rebustness against OOM and corruption. (check-in: 3992f45033 user: drh tags: multi-drop)
2024-03-01
22:42
When doing DROP TABLE or DROP INDEX, use a heap to ensure that the various btrees are dropped in the right order for autovacuum. (check-in: e5bf9556ff user: drh tags: multi-drop)
19:08
RTREE uses multi-DROP to erase shadow tables. (check-in: cf8a58d679 user: drh tags: multi-drop)
18:05
Omit unreachable branches in the parser. (check-in: 90de1f73f9 user: drh tags: multi-drop)
15:56
Fix harmless compiler warning. (check-in: 33d3bb848b user: drh tags: multi-drop)
14:47
Improved handling of foreign-key constraints on a multi-drop of tables. (check-in: 144e332f44 user: drh tags: multi-drop)
12:21
When doing a multi-drop, delete btrees beginning with the largest root page first and working toward smaller root pages, to avoid problems with root page renumbering due to autovacuum. (check-in: 37d4c5e207 user: drh tags: multi-drop)
2024-02-29
19:40
Attempt to fix multi-object DROP. Working better, but still not perfect. (check-in: 02f9fc73ee user: drh tags: multi-drop)
13:44
Add the ability to DROP one or more objects of the same class in a single statement by listing the objects as multiple arguments to the DROP command. (check-in: 2266086cf0 user: drh tags: multi-drop)
10:55
Fix two -Werror=lto-type-mismatch warnings reported in forum post ef62b57bd5. (check-in: 803481f250 user: stephan tags: trunk)
03:45
Fix two -Werror=lto-type-mismatch warnings reported in forum post ef62b57bd5. (Closed-Leaf check-in: 29f94610dc user: stephan tags: lto-type-mismatch)
2024-02-28
19:44
Put NEVER() on a branch in STAT4 that appears to be unreachable. (Closed-Leaf check-in: 0ca35e9278 user: drh tags: mistake)
15:32
Add in a VdbeCoverage() macro needed by STAT4 that should have been part of check-in [63ef234e88857a65]. (check-in: d51c699ae4 user: drh tags: trunk)
01:12
Always convert 32-bit integer literals into EP_IntValue notation, even if they contain "_" separators. (check-in: 2dfc427f67 user: drh tags: trunk)
2024-02-27
20:19
Fix an eputf() macro without its argument in the CLI. (check-in: c2f5e257d2 user: drh tags: trunk)
19:57
Add an assert() to help scan-build recognize that a variable is initialized. (check-in: 10d26f1ee8 user: drh tags: trunk)
16:36
Adjust a VdbeCoverage() macro in PRAGMA integrity_check to account for the fact that arguments to the OP_Eq opcode used are never NULL. (check-in: 759ccea3f6 user: drh tags: trunk)
16:25
Adjust a VdbeCoverage() macro in PRAGMA integrity_check to account for the fact that arguments to the OP_Eq opcode used are never NULL. (Closed-Leaf check-in: 8c788fc4b2 user: drh tags: wrong-branch)
15:56
Fix typo in the help text of the CLI - a typo that prevented the display of help for the ".imposter" command. Turns out the comma is deliberate. The ".imposter" command is deliberately undocumented to avoid confusing non-devs. (Closed-Leaf check-in: 0d9a25962c user: drh tags: mistake)
15:33
Remove unreachable branches from the PRAGMA integrity_check enhancement of [b736519d3d2e93c7]. (check-in: 6d02fb233f user: drh tags: trunk)
14:31
Ensure memory cells are properly freed before they are overwritten by OP_IntegrityCk. (check-in: e50acaf934 user: dan tags: trunk)
11:03
Have "PRAGMA quick_check" compare the number of entries in tables and indexes. (check-in: b736519d3d user: dan tags: trunk)
11:02
Extend sqlite3.c makefile rule to support EXTRA_SRC=list-of-c-files to append to the generated sqlite3.c, as discussed in/around forum post ccda88cf6f1754c5. (check-in: 61676f1e18 user: stephan tags: trunk)
10:52
Allow "_" characters to appear between any two digits in an integer, real or hexadecimal SQL literal. (check-in: 0e6700f43f user: dan tags: trunk)
00:58
Bring the extra-src branch up to date with the trunk. (Closed-Leaf check-in: 12ff5c5c41 user: stephan tags: extra-src)
2024-02-26
22:28
The quote() SQL function should convert +Inf into 9.0e+999 and -Inf into -9.0e+999. See forum post 6675b25108. (check-in: 85dd79a6ed user: drh tags: trunk)
15:27
When inserting a 3-byte cell into a btree, ensure that the extra padding byte is 0x00. This is not necessary for security, as far as I can tell, but it seems like a reasonable precaution. (check-in: 5766f1279d user: drh tags: trunk)
12:16
Add the intck extension. For performing incremental integrity-check on a database. (check-in: 141d8bb059 user: dan tags: trunk)
11:51
Fix header comments on test scripts. (Closed-Leaf check-in: 9fe9670c97 user: drh tags: incr-integrity-check)
11:43
Remove a local variable from sqlite3IntFloatCompare() that was being optimized out anyhow, in order to get back to 100% MC/DC. (check-in: 52b13d6acb user: drh tags: trunk)
10:56
Merge latest trunk changes into this branch. (check-in: b6371ff9f5 user: dan tags: incr-integrity-check)
2024-02-25
21:30
Make sure key comprisons are done correctly if the index key contains NaN values that have not been shifted into NULLs. That can only happen due to database corruption, but we need to deal with it nevertheless. (check-in: 7e4c743f9e user: drh tags: trunk)
2024-02-24
19:58
Add two GIFs that contain the feather logo. (check-in: 5f21e6a8ee user: drh tags: trunk)
16:26
Add further tests for the intck module. (check-in: c253e276b2 user: dan tags: incr-integrity-check)
2024-02-23
20:51
Add tests for the new code on this branch. (check-in: 351d46b237 user: dan tags: incr-integrity-check)
18:21
Add the ".intck ?STEPS_PER_UNLOCK?" command to the shell tool. (check-in: cfd051836b user: dan tags: incr-integrity-check)
18:02
Typo fixes reported in the forum. No code changes. (check-in: 67d8bae0f6 user: stephan tags: trunk)
17:10
Fix detection of surplus index entries when all indexed fields are NULL. (check-in: 5f310fb7be user: dan tags: incr-integrity-check)
15:13
Fix problems with resuming integrity-check operations on indexes with mixed ASC and DESC columns, and on indexes that contain NULL values. (check-in: 0f68b35a00 user: dan tags: incr-integrity-check)
2024-02-22
18:15
Fix harmless compiler warning seen with MSVC. (check-in: e5db089931 user: mistachkin tags: trunk)
00:50
Fix debugging code so that it compiles on MSVC. (check-in: ce5df19dc4 user: drh tags: trunk)
2024-02-21
20:58
Fix various issues in sqlite3intck.c. (check-in: 8a7bfa7452 user: dan tags: incr-integrity-check)
20:21
Fix typo in comment. Fossil forum post cc20266bf2. (check-in: 7e3c46eed1 user: drh tags: trunk)
19:31
Simplify the way the restart key is saved internally by the intck extension. (check-in: 0e39962baa user: dan tags: incr-integrity-check)
19:17
Add documentation to ext/intck/sqlite3intck.h. (check-in: 4cc19bd74f user: dan tags: incr-integrity-check)
16:15
Ensure intck tests are run by testrunner.tcl. (check-in: 11d6816c06 user: dan tags: incr-integrity-check)
16:12
Merge trunk changes into this branch. (check-in: 63e8846ac1 user: dan tags: incr-integrity-check)
2024-02-20
20:18
Have the intck extension better handle corruption at the b-tree layer. (check-in: ecd775d108 user: dan tags: incr-integrity-check)
18:17
Use fewer cycles to generate the "next key" value used by sqlite3_intck_suspend() function in the intck extension. (check-in: 95f01426f9 user: dan tags: incr-integrity-check)
16:04
Consider using "=" and IS operators with even low-quality indexes in cases where they are selected explicitly using an INDEXED BY clause. (check-in: 43cbbea821 user: dan tags: incr-integrity-check)
15:38
Fixes to comments associated with the recent PRAGMA optimize enhancements. No changes to code. (check-in: 27a2113d78 user: drh tags: trunk)
13:11
Remove an unreachable branch from printf(). Change it into an assert(). (check-in: 4c9886b692 user: drh tags: trunk)
13:10
Remove an unused variable from the merge in the previous check-in. (check-in: 5c26bf379e user: drh tags: trunk)
12:48
Enhancements to PRAGMA optimize and ANALYZE. Add the 0x10000 flag to PRAGMA optimize. ANALYZE now records zero-size partial indexes in the sqlite_stat1 table. PRAGMA optimize looks for both growth and shrinkage in table sizes, and uses tighter bounds (10x rather than 25x) to trigger a re-analyze. PRAGMA optimize automatically uses are reasonable analysis_limit to prevent excessive runtimes. (check-in: 63ef234e88 user: drh tags: trunk)
12:14
Another simplification of the PRAGMA optimize logic for improved coverage. (Closed-Leaf check-in: 6c5a0c8545 user: drh tags: better-pragma-optimize)
2024-02-19
23:58
Minor fixes. (check-in: ed5afebc41 user: drh tags: better-pragma-optimize)
20:47
Fix a minor hiccup in the computation of the number of btrees to be scanned. (check-in: 91302d9b27 user: drh tags: better-pragma-optimize)
20:15
Use more efficient SQL to verify that indexes contain entries that match their tables. (check-in: c01e008c28 user: dan tags: incr-integrity-check)
20:12
If there is no mention of a table in sqlite_stat1, use OP_Rewind to see if the table is empty prior to invoking ANALYZE. (check-in: 0cc93b19de user: drh tags: better-pragma-optimize)
19:56
In PRAGMA optimize, scale back the analysis_limit when many different tables and indexes must be scanned. (check-in: 636615358a user: drh tags: better-pragma-optimize)
18:55
Merge trunk fixes into the better-pragma-optimize branch. (check-in: 2cf78a5b5f user: drh tags: better-pragma-optimize)
18:03
Add implementation of sqlite3_intck_suspend(). (check-in: c36ada868d user: dan tags: incr-integrity-check)
16:22
If a table has one or more rows and it has a partial index has zero rows, still make an entry in the sqlite_stat1 table for the partial index, so that we know that "PRAGMA optimize" does not need to redo the whole table. (check-in: e147b18991 user: drh tags: better-pragma-optimize)
13:50
Simplifications to PRAGMA optimize to make it easier to use. It always tries to ANALYZE unanalyzed indexes. The 0x10000 flag just makes it check for size changes in all tables. (check-in: 44ed7f4cd0 user: drh tags: better-pragma-optimize)
13:06
Change the 0x20000 bit (use analysis limit) to 0x10, meaning that this feature is on by default. The default analysis limit is changed to 2000 which is almost always sufficient for accurate analysis results. (check-in: 4abd47b591 user: drh tags: better-pragma-optimize)
12:20
Extend the strerror_r() result type discrepancy check in os_unix.c to include the Android NDK, as reported in forum post 3f13857fa4062301. The NDK's strerror_r() signature is version-dependent, whereas this change assumes int return (POSIX semantic) across all versions. (check-in: f18b2524da user: stephan tags: trunk)
2024-02-18
01:12
Hold a transaction during PRAGMA optimize, for performance. (check-in: d13b79eae6 user: drh tags: better-pragma-optimize)
2024-02-17
20:55
Add start of extension for incremental integrity-checks to ext/intck/. (check-in: 444e3c9210 user: dan tags: incr-integrity-check)
16:39
Add new MASK bits to PRAGMA optimize: 0x70000. (check-in: dd44970625 user: drh tags: better-pragma-optimize)
03:36
Fix rounding in zero-precision %f and %g printf conversions. (check-in: 1ebea57ff2 user: drh tags: branch-3.45)
03:32
Fix rounding in zero-precision %f and %g printf conversions. Forum post 393708f4a8. This bug was introduced by check-in [32befb224b254639] and first appeared in version 3.43.0. (check-in: 7fca1bc482 user: drh tags: trunk)
01:12
The PRAGMA optimize command invokes ANALYZE if a table shrinks by 25 times in addition to if it grows by 25 times. (check-in: 40532ffba9 user: drh tags: better-pragma-optimize)
2024-02-16
21:34
Fix the subtype on the value column from json_each/json_tree for cases when the value is an array or object. (check-in: b278ae3980 user: drh tags: branch-3.45)
21:30
Fix the subtype on the value column from json_each/json_tree for cases when the value is an array or object. Fix for the bug reported by forum post ecb94cd210. (check-in: 1c33c5db2e user: drh tags: trunk)
18:34
Retweak last check-in to retain compile-time checking of xprintf() arguments. (check-in: 670174916c user: larrybr tags: trunk)
16:04
Work around a __VA_ARGS__ complaint in fiddle builds. (check-in: 7d750248c5 user: stephan tags: trunk)
12:57
Rename the TF_StatsUsed flag to TF_MaybeReanalyze, to more accurately reflect its usage. No logic changes. (check-in: b4790da5e0 user: drh tags: trunk)
11:41
Handle an OOM case in fts5 code to query tokendata=1 tables. (check-in: 01222d96b9 user: dan tags: trunk)
11:05
Fix a problem with the sqlite3_log() message identifying the table or index that a conflicting page belongs to. (check-in: 11a4178f0e user: dan tags: bedrock)
11:03
Fix a problem with the sqlite3_log() message identifying the table or index that a conflicting page belongs to. (check-in: d6c629f165 user: dan tags: begin-concurrent)
2024-02-13
18:44
Fix a bug in PRAGMA integrity_check introduced by enhancement (8a) in release 3.42.0. (check-in: 60dccb23b1 user: drh tags: branch-3.45)
18:41
Fix a bug in PRAGMA integrity_check introduced by enhancement (8a) in release 3.42.0 and first reported by forum post ee4f6fa5ab. (check-in: 460353dfff user: drh tags: trunk)
17:11
Changes to vtabCallConstructor() to avoid a harmless static analyzer warning and to help prove that the UAF reported by forum post cafbe582e8 is a false-positive. (check-in: 4892440b93 user: drh tags: trunk)
2024-02-12
19:12
Replace the assert() that was removed by [f023cb541b5dd72c] because [1cd5d4623f44af25] made it true again. (check-in: 189a49f165 user: drh tags: trunk)
17:01
Have rtree avoid keeping a blob handle open following an error. (check-in: 26978f34bd user: drh tags: branch-3.45)
16:12
Have rtree avoid keeping a blob handle open following an error. (check-in: 1cd5d4623f user: dan tags: trunk)
14:44
Add a new sqlite3FaultSim() to btree for better fault analysis. (check-in: 2c675bd305 user: drh tags: trunk)
13:51
Add a new sqlite3FaultSim() call in the btree logic, for testing. (Closed-Leaf check-in: e0558f79b8 user: drh tags: new-btree-faultsim)
13:28
Add support for the ".testctrl fault_install" dot-command in the CLI when launched with the --unsafe-testing option. (check-in: 5ba7fee1a9 user: drh tags: trunk)
2024-02-11
23:25
Cherrypick multiple fixes for trifling faults from trunk, so that all 834 dbsqlfuzz run clean with ASAN on branch-3.45. dbsqlfuzz. (check-in: c080560c2d user: drh tags: branch-3.45)
22:56
In the RTREE extension, allow the xBeginTransaction() entry point to be invoked multiple times without intervening calls to xEndTransaction(). (check-in: f023cb541b user: drh tags: trunk)
20:53
If a term of an ORDER BY or GROUP BY contains an aggregate function or column, then it is not an alias that needs to be resolved, so don't try to. This fixes a harmless assertion found by dbsqlfuzz. This yet another problem that orginated at check-in [6e6b3729e0549de0]. (check-in: d4ec2a5d22 user: drh tags: trunk)
18:53
Improved AggInfo tracing in debug builds. No changes to deliverable code. (check-in: bb31f9c447 user: drh tags: trunk)
2024-02-10
03:12
Further clarify sqlite3_exec() callback parameter lifetime. (check-in: 044ce823a4 user: larrybr tags: branch-3.45)
03:11
Further clarify sqlite3_exec() callback parameter lifetime. (check-in: 993a1a8431 user: larrybr tags: trunk)
2024-02-08
01:23
Mention limited lifetime of string arrays passed to sqlite3_exec() callback. (check-in: d14a9d81a5 user: larrybr tags: branch-3.45)
01:19
Mention limited lifetime of string arrays passed to sqlite3_exec() callback. (check-in: 717f67f318 user: larrybr tags: trunk)
2024-02-07
20:45
Fix an #endif (added in the wrong place by [8f4b1ceafe4a271b]) so that the build works with SQLITE_OMIT_VIRTUAL_TABLE. (check-in: 7070924eeb user: drh tags: trunk)
19:52
Bring test cases into alignment with the latest enhancements. (check-in: cd017c28d5 user: drh tags: trunk)
19:17
Turns out the branch is reachable, so back out the NEVER(). (check-in: 0af36a3223 user: drh tags: trunk)
19:09
Checked into the wrong branch. (Closed-Leaf check-in: 81bd7aee09 user: drh tags: mistake)
14:16
Detect and respond to an OOM on the jsonStringTerminate() call of jsonReturnStringAsBlob() routine. (check-in: 77431aca6e user: drh tags: branch-3.45)
14:05
Detect and respond to an OOM on the jsonStringTerminate() call of jsonReturnStringAsBlob() routine. (check-in: 881f814c09 user: drh tags: trunk)
2024-02-06
18:33
Slight change to OOM handling in JSON to catch a corner case found by dbsqlfuzz. (check-in: 6a2b3266c5 user: drh tags: trunk)
13:36
Return SQLITE_ABORT if the underlying shadow tables change in the middle of an rtree query in such a way as to invalidate an rtree internal priority queue entry. This replaces the SQLITE_ABORT_ROLLBACK mechanism added in [97cffff331b]. (check-in: 061af0d74a user: drh tags: branch-3.45)
08:59
Correct docs about the first OFPS VFS's importDb() method being synchronous (it's not, whereas the second VFS's importDb() is). (check-in: ae7505fa5e user: stephan tags: trunk)
08:25
Make explicit that using the importDb() methods of the OPFS VFSes has undefined results if the being-imported db is currently open. Doc changes only. (check-in: f28b9924b4 user: stephan tags: trunk)
2024-02-05
17:54
Return SQLITE_ABORT if the underlying shadow tables change in the middle of an rtree query in such a way as to invalidate an rtree internal priority queue entry. This replaces the SQLITE_ABORT_ROLLBACK mechanism added in [af5c4251]. (check-in: 32f85a5ce8 user: dan tags: trunk)
17:35
Return SQLITE_ABORT if the underlying shadow tables change in the middle of an rtree query in such a way as to invalidate an rtree internal priority queue entry. (Closed-Leaf check-in: 478280ef67 user: dan tags: rtree-fix)
03:56
Extend [d294a23ed6d] to apply to all wasm speedtest1 builds. (check-in: 26f848e5e0 user: stephan tags: trunk)
03:37
wasm: pass the promiser function to the promiser onready() callback to simplify access to it in certain usage patterns. (check-in: f8a8b9ee2e user: stephan tags: trunk)
02:36
wasm: squelch a new (and, in our case, invalid) warning from emcc 3.1.52. (check-in: d294a23ed6 user: stephan tags: trunk)
2024-02-04
04:18
Fix a minor test file locking issue on Windows. (check-in: 6cd70b71df user: mistachkin tags: trunk)
04:01
Fix harmless compiler warnings seen with MSVC. (check-in: e52c87420b user: mistachkin tags: trunk)
2024-02-03
19:41
Following a ROLLBACK that reverts changes to an RTREE, any pending queries against that same RTREE abort with code SQLITE_ABORT_ROLLBACK. (check-in: 97cffff331 user: drh tags: branch-3.45)
19:19
Following a ROLLBACK that reverts changes to an RTREE, any pending queries against that same RTREE abort with code SQLITE_ABORT_ROLLBACK. dbsqlfuzz de7d17b72d0e842352c998dd86a47b7d0f707be9. (check-in: af5c425114 user: drh tags: trunk)
2024-02-02
18:42
More extensive use of SQLITE_CORRUPT_PGNO. (check-in: 3838332cff user: drh tags: trunk)
16:51
Have "PRAGMA quick_check" compare the number of entries in tables and indexes. (Closed-Leaf check-in: cc294c041b user: dan tags: quick-check-counts)
11:37
Fix typo in vdbe.c comment. No changes to code. (check-in: 62010ba488 user: dan tags: trunk)
2024-02-01
15:42
Ensure the fts5 xIntegrity method correctly returns error codes unrelated to corruption or missing SQL elements. (check-in: d18d9a05c2 user: dan tags: trunk)
15:21
Ensure the fts3 xIntegrity method correctly returns error codes unrelated to corruption or missing SQL elements. (check-in: 1bdb8cbaf7 user: dan tags: trunk)
14:57
In PRAGMA integrity_check, defer running xIntegrity on virtual tables until after all ordinary tables have been checked. (check-in: 8f4b1ceafe user: drh tags: trunk)
14:17
Add tracing logic to the shared-cache locks in btree.c. The tracing is off by default. Enable by changing a single "#if 0" into "#if 1" and recompiling. Debugging code only - no changes to release builds. (check-in: f2b943f97a user: drh tags: trunk)
11:38
Add the test_oom_breakpoint() routine on debug builds, to serve as a convenient breakpoint to intercept OOM conditions. (check-in: e45df7dcd6 user: drh tags: trunk)
2024-01-31
20:11
Replace an conditional assignment that was made obsolete by [d4c193f0b49f4950] with an assert(). The conditional was added by [d6fd512f50513ab7] as a fix for tickets [c36cdb4afd504dc1], [4051a7f931d9ba24], and [d6fd512f50513ab7] which means now [d4c193f0b49f4950] is the correct fix for those tickets. that check-in (check-in: 44b5524d52 user: drh tags: trunk)
15:29
Allow control characters in JSON5 string literals. Forum thread 05182119f69c3a92. (check-in: 380f09c194 user: drh tags: trunk)
15:20
Add NEVER() and ALWAYS() macros for the JSON5-control-character change. Also fix an incorrect comparison used to determine if a buffer needed to be resized. (Closed-Leaf check-in: e3c0c0e686 user: drh tags: json5-ctrl-char)
14:44
Fix failure to detect unterminated string literals in json_valid() in the previous check-in. (check-in: 5d72564462 user: drh tags: json5-ctrl-char)
13:46
Allow control characters in JSON5 string literals. (check-in: 34709c7cc9 user: drh tags: json5-ctrl-char)
12:15
Fix a memory allocation bug in the (debug-use-only) json_parse() SQL function. (check-in: 32ce7dacf5 user: drh tags: trunk)
2024-01-30
17:02
Merge the 3.45.1 patches into the reuse-schema branch. (check-in: f98a99fce5 user: drh tags: reuse-schema-3.45)
16:56
Merge the 3.45.1 patch release changes into the bedrock branch. (check-in: 5955853a86 user: drh tags: bedrock-3.45)
16:53
Merge the changes from the 3.45.1 patch release into the wal2 branch. (check-in: 5e980265c8 user: drh tags: wal2-3.45)
16:50
Merge the 3.45.1 patch release into the begin-concurrent branch. (check-in: d1f20a47f7 user: drh tags: begin-concurrent-3.45)
16:01
Version 3.45.1 (check-in: e876e51a0e user: drh tags: release, branch-3.45, version-3.45.1)
2024-01-29
21:29
Detect malformed nested JSONB earlier and stop rendering to avoid long delays. (check-in: ab40e28246 user: drh tags: branch-3.45)
21:09
Detect malformed nested JSONB earlier and stop rendering to avoid long delays. (check-in: 72f3e1d0ec user: drh tags: trunk)
20:36
When generated text JSON from JSONB, do not continue descending into nested structures after an error is seen. This avoids long loops and wait times. (check-in: 97666ec052 user: drh tags: trunk)
19:30
Consider an index for queries like "SELECT count(DISTINCT col) FROM ...", even if the index records are not smaller than the table records. (check-in: ad06868807 user: dan tags: trunk)
16:49
Avoid a potential buffer overread when handling corrupt json blobs. (check-in: ac402cc551 user: drh tags: branch-3.45)
15:30
Avoid a potential buffer overread when handling corrupt json blobs. (check-in: 738473dc0a user: dan tags: trunk)
12:58
When rendering JSONB back into text JSON, report an error if a zero-length integer or floating-point node is encountered. Otherwise, if the node occurs at the very end of the JSONB, the rendering logic might read one byte past the end of the initialized part of the BLOB byte array. OSSFuzz 66284. (check-in: 3ab08ac75d user: drh tags: branch-3.45)
12:50
When rendering JSONB back into text JSON, report an error if a zero-length integer or floating-point node is encountered. Otherwise, if the node occurs at the very end of the JSONB, the rendering logic might read one byte past the end of the initialized part of the BLOB byte array. OSSFuzz 66284. (check-in: b0eb279ea8 user: drh tags: trunk)
2024-01-28
20:42
Use __ppc__ instead of __POWERPC__ to identify 32-bit PowerPC processors. Forum post 34794846ce. (check-in: c974d9313b user: drh tags: trunk)
17:44
Automatically disable the DISTINCT optimization during query planning if the ORDER BY clause exceeds 63 terms. (check-in: 6edbdcc02d user: drh tags: branch-3.45)
17:39
Automatically disable the DISTINCT optimization during query planning if the ORDER BY clause exceeds 63 terms. dbsqlfuzz afd1d61fc27d14938a0d78a50970fa1e9fbfee58. (check-in: d4c193f0b4 user: drh tags: trunk)
00:35
Apply the same fix found in [99057383acc8f920] to descending scans. (check-in: 593d6a1c2e user: drh tags: branch-3.45)
00:31
Apply the same fix found in [99057383acc8f920] to descending scans. dbsqlfuzz afd1d61fc27d14938a0d78a50970fa1e9fbfee5. (check-in: e1d463c2d6 user: drh tags: trunk)
2024-01-27
20:17
Improvements to parser stack overflow testing. Forum post 99e181b5bf. (check-in: 556c43a937 user: drh tags: trunk)
12:47
Performance enhancements to the parser template. (check-in: 2db8b30acd user: drh tags: trunk)
12:25
Use an alternative memory allocator for parser stack space that includes a call to sqlite3FaultSim() to facilitate testing. (check-in: 7c36d560ff user: drh tags: trunk)
11:35
Allocate new parser stack space from the heap if needed, eliminating the possibility of a "parser stack overflow" error as long as heap memory is available. (check-in: d87a205477 user: drh tags: trunk)
02:21
Optimizations to ParseFinalize() to make up for the extra cleanup associated with the allocated parser stack. This branch now runs faster than trunk and is less than 300 bytes larger. (Closed-Leaf check-in: f7290db63c user: drh tags: growable-parser-stack)
01:35
Omit the "parser stack overflow" error message, since it no longer occurs. Replace it with an ordinary "out of memory". (check-in: 33f17ec248 user: drh tags: growable-parser-stack)
2024-01-26
20:57
Bug fixes in the function that expands the parser stack. (check-in: e91179fe84 user: drh tags: growable-parser-stack)
20:34
Experimental changes that prevent parser stack overflows by growing the parser stack with heap memory when it reaches its limit. (check-in: 3fd062905f user: drh tags: growable-parser-stack)
2024-01-24
21:08
Add NEVER() to a branch that is no longer reachable. (check-in: 9411337a7b user: drh tags: trunk)
19:54
Update ext/wasm/SQLTester for recent internal-API reorgs. (check-in: 996cfdf9b5 user: stephan tags: trunk)
2024-01-23
21:10
Slight adjustment to test results for Windows in mmap1.test due to the previous check-in. (check-in: a8043eaed8 user: drh tags: branch-3.45)
21:10
Slight adjustment to test results for Windows in mmap1.test due to the previous check-in. (check-in: 5cf9ea9b1f user: drh tags: trunk)
16:21
In os_unix.c and os_win.c, do not allow xFetch() to return a pointer to a page buffer that is right at the end of the mapped region - if the database is corrupted in a specific way such a page buffer might be overread by several bytes. (check-in: 198a1daae0 user: drh tags: branch-3.44)
16:17
In os_unix.c and os_win.c, do not allow xFetch() to return a pointer to a page buffer that is right at the end of the mapped region - if the database is corrupted in a specific way such a page buffer might be overread by several bytes. (check-in: d131cab652 user: drh tags: branch-3.45)
16:09
In os_unix.c and os_win.c, do not allow xFetch() to return a pointer to a page buffer that is right at the end of the mapped region - if the database is corrupted in a specific way such a page buffer might be overread by several bytes. (check-in: 2684feac3b user: dan tags: trunk)
15:04
Fix harmless "unused parameter" compiler warning in the new fts3IntegrityMethod implementation. (check-in: 9d459f6b50 user: drh tags: branch-3.45)
14:45
Improved error message when a double-quoted identifier name cannot be resolved - ask the user if they intended to use a string literal. (check-in: efc5c3c5e6 user: drh tags: trunk)
13:58
Bump the version number to 3.45.1 (check-in: 54d34edb89 user: drh tags: branch-3.45)
13:53
When a JSON input is a blob, but it looks like valid JSON when cast to text, then accept it as valid JSON. This replicates a long-standing bug in the behavior of JSON routines, and thus avoids breaking legacy apps. (check-in: 4c2c1b97dc user: drh tags: branch-3.45)
13:51
When a JSON input is a blob, but it looks like valid JSON when cast to text, then accept it as valid JSON. This replicates a long-standing bug in the behavior of JSON routines, and thus avoids breaking legacy apps. Forum thread 012136abd5292b8d. (check-in: e5dc81d5c7 user: drh tags: trunk)
13:28
Fix typo in the tag-20240123-a in a comment. (Closed-Leaf check-in: 1f09541eb4 user: drh tags: blob-as-json)
13:21
If a BLOB looks like JSON when cast to text, then treat it as if it really were JSON. This replicates a long-standing bug in the JSON processing routines, and thereby avoids breaking legacy. (check-in: d79a37690c user: drh tags: blob-as-json)
12:51
Change the shell's --help flag to exit with code 0 instead of 1, per /forum and /chat discussions. (check-in: df563a1857 user: stephan tags: trunk)
11:20
Add extra checks for the validity of a numeric literal to sqlite3DequoteNumber(). (Closed-Leaf check-in: d57407ef59 user: dan tags: digit-separators)
10:47
Ensure that the xIntegrity methods of fts3 and fts5 work on read-only databases. (check-in: e79b97369f user: dan tags: branch-3.45)
2024-01-22
20:49
Simplification of the error reporting logic. (Closed-Leaf check-in: 59eb9d29e7 user: drh tags: improved-dqs-error-msg, blob-as-json)
19:42
Fix a problem in the previous commit with hex literals that start with "0X" instead of "0x". (check-in: c063c89b11 user: dan tags: digit-separators)
19:38
Allow underscores to occur in hex literals. (check-in: 81a5622946 user: dan tags: digit-separators)
19:00
Add extra tests for the code on this branch. (check-in: b15bbb201a user: dan tags: digit-separators)
17:18
Do not allow digit separators that are not surrounded on both sides by digits. (check-in: 5bbc378a30 user: drh tags: digit-separators)
15:26
Improved error message when a double-quoted string is used and it seems likely that the user wanted a single-quoted string literal. (check-in: 0a834bd811 user: drh tags: improved-dqs-error-msg, blob-as-json)
14:16
The -DSQLITE_JSON_BLOB_INPUT_BUG_COMPATIBLE compile-time option causes blob inputs to JSON functions that are not JSONB to be processed as if they where text, immulating historical bugging behavior which some applications have come to rely upon. See forum thread 012136abd5292b8d for discussion. (check-in: 6557222358 user: drh tags: blob-as-json)
14:01
Fix test script literal.test so that it works with SQLITE_OMIT_ALTER_TABLE builds. (check-in: 4dc00f5776 user: dan tags: trunk)
12:56
Fix userauth so that it works together with SQLITE_OMIT_SHARED_CACHE. (Forum post 0bfc5888a384d430). However, also change to code to issue a deprecation warning whenever SQLITE_USER_AUTHENTICATION is used. (check-in: 249048b0cb user: drh tags: trunk)
12:30
Add a notice to the user-authentication documentation to say that the extension is deprecated and may disappear in the future. (check-in: fe6fc7b91a user: drh tags: trunk)
11:12
Fix test script literal.test so that it works with SQLITE_OMIT_ALTER_TABLE builds. (check-in: b57327be4b user: dan tags: digit-separators)
01:11
Make CLI .dump immune to pragma reverse_unordered_selects, as reported in Forum thread c42be01880e961eb. (check-in: 488caed244 user: larrybr tags: trunk)
2024-01-21
21:20
Fix a harmless typo in a comment. (check-in: 382a8f94bf user: drh tags: trunk)
2024-01-20
18:45
Merge trunk changes into this branch. (check-in: 03ade4a810 user: dan tags: digit-separators)
18:41
Ensure that values generated by DEFAULT clauses that specify real numbers that can be expressed as 64-bit integers (e.g. -1234.0) are not silently converted to integers. (check-in: 298d697728 user: dan tags: trunk)
18:26
Simplifications to the strftime() logic. (check-in: aaa5a044d8 user: drh tags: trunk)
18:21
Fix a memory leak in new memdb1.test test cases that were added by [e638d5e408ea2e18]. No changes to SQLite itself. (check-in: bb2b7a658e user: drh tags: trunk)
16:46
Add test cases for the new code on this branch. (check-in: 49f29a7b4f user: dan tags: digit-separators)
16:38
Make sure that %V and %G are testing for every since day in between 1970-01-01 and 2023-01-19. (check-in: 39c475f5fb user: drh tags: trunk)
16:29
Rig sqlite3_serialize() so that it will initialize a previously uninitialized database prior to serializing it, so that it does not have a zero-byte size and does not return NULL (except for OOM). Forum thread 498777780e16880a. (check-in: e638d5e408 user: drh tags: trunk)
16:18
Allow "_" characters to appear following any digit in an integer or real SQL literal. (check-in: 401650aacc user: dan tags: digit-separators)
15:13
When doing a text-affinity comparison between two values where one or both have both a text and a numeric type, make sure the numeric type does not confuse the answer. This is a deeper fix to the problem observed by forum pose 3776b48e71. The problem bisects to [25f2246be404f38b] on 2014-08-24, prior to version 3.8.7. (check-in: 709841f88c user: drh tags: trunk)
13:18
Ensure that the replace() SQL function always returns a TEXT value even when its first argument is numeric and its second argument is an empty string. Fix for the issue reported by forum post 3776b48e71. (check-in: 01868ebcd2 user: drh tags: trunk)
12:19
When backing out a character in a constructed string in JSON, first make sure the string has not been reset by on OOM. (check-in: 950bf9fe78 user: drh tags: branch-3.45)
12:13
When backing out a character in a constructed string in JSON, first make sure the string has not been reset by on OOM. dbsqlfuzz 2fffbea91a5376526ea118d4fe4188c8dd35e317. (check-in: 666690eb43 user: drh tags: trunk)
12:00
Fix the version number in the TEA configure script. This should have been changed by [1481baf3d55effcc] three check-ins ago. It is unclear how testing missed this. (check-in: eaf2cf73fc user: drh tags: trunk)
00:31
Implement a new algorithm for computing ISO week values in strftime() based on the idea (from Nuno Cruces) of shifting the date being tested to the Thursday of the same week. (check-in: b06ab46a9e user: drh tags: trunk)
2024-01-19
16:51
Allow large hexadecimal literals to be used as DEFAULT values. (check-in: 8cccc1f27d user: dan tags: trunk)
2024-01-18
16:52
Increase the version number to 3.46.0 to begin the next development cycle. (check-in: 1481baf3d5 user: drh tags: trunk)
16:50
Add support in the strftime() SQL function for conversion letters %G, %g, %U, and %V. (check-in: e1155d6aa4 user: drh tags: trunk)
2024-01-16
16:14
Fix harmless "unused parameter" compiler warning in the new fts3IntegrityMethod implementation. (check-in: bb1fe53a97 user: drh tags: trunk)
16:05
Ensure that the xIntegrity methods of fts3 and fts5 work on read-only databases. (check-in: b855886c4c user: dan tags: trunk)
15:04
Clutter the code with "fall-through" comments in order to suppress nuisance compiler warnings. No logic changes. (check-in: 05d2cf5e90 user: drh tags: trunk)
14:54
Remove the LLONG_MAX preprocessor macro from the series.c extension as it is apparently only C99 and later. Forum post 4af649419b. (check-in: f106bc0d21 user: drh tags: trunk)
14:28
wasm build: reformulate an awk invocation to account for awks which do not support the -e flag. Problem reported on the forum via a docker-hosted build. (check-in: 90dd51153f user: stephan tags: branch-3.45)
14:24
Various build- and code-reorg cleanups for ext/wasm. No functional changes. (check-in: 835bd4a11e user: stephan tags: trunk)
2024-01-15
17:01
Version 3.45.0 (check-in: 1066602b2b user: drh tags: trunk, release, version-3.45.0)
2024-01-13
20:38
Merge latest trunk changes into this branch. (check-in: bb9a715748 user: dan tags: reuse-schema)
20:36
Merge latest wal2 changes into this branch. (check-in: c39f658522 user: dan tags: bedrock)
20:21
Merge latest trunk changes into this branch. (check-in: 68c2b8d0eb user: dan tags: wal2)
19:57
Merge latest trunk changes into this branch. (check-in: 95bf4bc2e2 user: dan tags: begin-concurrent)
2024-01-12
16:33
Fix a usan complaint about signed integer overflow. (Leaf check-in: 16aa729774 user: drh tags: branch-3.43)
15:38
Fix a signed integer overflow usan complaint in fts5. This is fixed on trunk by [a76a636b23], but that is a large commit that adds new features. (check-in: 4b2d02f260 user: dan tags: branch-3.43)
11:44
Have the shell tool automatically enable SQLITE_CONFIG_DQS_DDL when executing a ".dump" script against an empty db. (check-in: f47a5f4e0c user: dan tags: trunk)
2024-01-11
16:10
wasm build: reformulate an awk invocation to account for awks which do not support the -e flag. Problem reported on the forum via a docker-hosted build. (Closed-Leaf check-in: 5836657929 user: stephan tags: wasm-post-3.45)
14:21
Internal JS doc cleanups. (check-in: c8284170f6 user: stephan tags: wasm-post-3.45)
14:13
Fix a comment in sessions. No functional changes. Forum post 8c20dc935b. (check-in: b0eb6d3628 user: drh tags: trunk)
14:03
In fts5, flush the contents of the in-memory hash table whenever the secure-delete option is toggled. This prevents spurious corruption reports under some circumstances. (check-in: ccf552319a user: dan tags: trunk)
12:56
Remove some dead JS code. Minor doc cleanups. (check-in: bf23cf2049 user: stephan tags: wasm-post-3.45)
12:31
Split the JS vfs/vtab helper code into discreet units as a step towards a build which optionally elides those pieces. This is an internal restructuring change and does not affect the API. (check-in: ede945fd23 user: stephan tags: wasm-post-3.45)
2024-01-10
20:13
Fix a few compiler gripes. Update 2024-04-16: Closed, since the solution to Windows console I/O already on trunk is better. Update 2024-08-26: Reopened, since people inside of Microsoft want this. (check-in: 2e74a938f7 user: larrybr tags: win-dupe-crt-fio)
05:52
For CLI shell and other utilities, optionally avoid C runtime file I/O on Windows in favor of WIN32 calls, while nominally preserving FILE* API interfaces. (a WIP, awaiting build and testing) (check-in: 6be68be179 user: larrybr tags: win-dupe-crt-fio)
2024-01-09
23:15
Put an SQLITE_ENABLE_SETLK_TIMEOUT branch inside the appropriate ifdef with an assert on the else since the condition is always false if SETLK_TIMEOUT is not available. (check-in: d81e7a036a user: drh tags: trunk)
12:28
Improved resolution of unqualified names in the REINDEX command. Forum thread 74cd0ceabd. (check-in: 97709ce2a1 user: drh tags: trunk)
2024-01-08
19:55
Automatically turn off DEFENSIVE mode in the shell tool when executing scripts generated by the ".dump" command against an empty database. Add a warning to the top of generated ".dump" scripts that populate virtual tables. (check-in: cd016f26bb user: dan tags: trunk)
18:53
Fix date on new file shell9.test. (Closed-Leaf check-in: c82da71211 user: dan tags: shell-dump-fix)
18:46
Automatically turn off DEFENSIVE mode in the shell tool when executing scripts generated by the ".dump" command against an empty database. Add a warning to the top of generated ".dump" scripts that populate virtual tables. (check-in: 6e9e96b7e7 user: dan tags: shell-dump-fix)
15:23
Minor change to os_unix.c to facilitate 100% MC/DC testing. (check-in: 0dfa7b4da1 user: drh tags: trunk)
13:38
Ensure that SQLITE_PROTOCOL is not returned too early when a SQLITE_ENABLE_SETLK_TIMEOUT build fails to open a transaction on a wal mode database in cases where blocking locks are not being used. (check-in: a8e9af1356 user: dan tags: trunk)
07:52
Make explicit which JS APIs are for internal use only by moving the JS-bound internal-use-only functions out of client-visible reach and renaming the WASM-exported ones from sqlite3_wasm... to sqlite3__wasm... (with two underscores). These have always been documented as internal-use-only, so this is not a breaking change except for clients which have ignored the docs. (check-in: 0eddc20f37 user: stephan tags: wasm-post-3.45)
2024-01-07
20:27
Remove an ALWAYS() from RTREE. Dbsqlfuzz found a way to make it false. (check-in: 40f0a29e6d user: drh tags: trunk)
00:45
Updates to RTREE to facility testing. (check-in: 7a5b42ff74 user: drh tags: trunk)
2024-01-06
19:16
Ensure that SQLITE_PROTOCOL is not returned too early when a SQLITE_ENABLE_SETLK_TIMEOUT build fails to open a transaction on a wal mode database in cases where blocking locks are not being used. (Closed-Leaf check-in: b934a33671 user: dan tags: enable-setlk-fix)
15:22
Update JSON performance testing procedures for clarity and to describe how to do performance testing of JSONB. (check-in: b115b4f75b user: drh tags: trunk)
13:58
Update extension ext/misc/totext.c to avoid both ubsan warnings and dubious real->integer conversions. (check-in: 541436004d user: dan tags: trunk)
2024-01-05
15:53
Update extension ext/misc/totext.c to avoid both ubsan warnings and dubious real->integer conversions. (Closed-Leaf check-in: c626aa108a user: dan tags: totype-fix)
2024-01-04
17:33
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: e07f2451e8 user: drh tags: reuse-schema)
17:13
Avoid errors with SQLITE_OMIT_VIRTUALTABLE builds in json106.test and unionall.test. (check-in: 8940e2a105 user: drh tags: trunk)
16:28
Merge the latest trunk enhancements into the bedrock branch. (check-in: 707f79c70c user: drh tags: bedrock)
16:16
Merge the latest trunk enhancements into the wal2 branch. (check-in: 8fb42df89a user: drh tags: wal2)
16:15
Testing code left in by accident. (Closed-Leaf check-in: 90e8a23354 user: dan tags: mistake)
15:49
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: c407d3bb99 user: drh tags: begin-concurrent)
13:01
Restructure some code to fix what appears to be a false-positive UBSAN warning. (check-in: fe952c1290 user: drh tags: trunk)
2024-01-03
20:40
Fix a #ifdef in sqlite3_test_control() that was preventing builds with SQLITE_OMIT_WSD. (check-in: d546a9c94c user: drh tags: trunk)
16:41
Convert the JSON functions to use lookaside memory allocation whenever feasible, to avoid hitting the global memory allocator mutex. (check-in: a79a244954 user: drh tags: trunk)
15:49
Change a constant from decimal to hex to avoid a compiler warning on Mac. (check-in: e3acb8a43a user: drh tags: trunk)
14:13
Enhance sqlite3_analyzer.exe so that it uses the ext/consio extension. (check-in: 769de0b98e user: drh tags: trunk)
12:26
Update the sqldiff.exe utility program so that it uses the sqlite3_str string interface, and so that it does console output using the ext/consio extension. (check-in: 4443b7e592 user: drh tags: trunk)
2024-01-02
22:49
Back out [b517a52fa36df0a0] which is no longer reachable due to early error detection enhancements in [166e82dd20efbfd3]. (check-in: 704943e96f user: drh tags: trunk)
21:37
Adjust the sqlite3PagerDirectReadOk() routine (part of the SQLITE_DIRECT_OVERFLOW_READ optimization) to use less code and to be more easily testable. (check-in: eed670ea2a user: drh tags: trunk)
21:08
Fix a problem in fts5 caused by a COMMIT involving fts5 data that immediately follows a ROLLBACK TO that does not. (check-in: 55c61f6a8d user: dan tags: trunk)
20:34
Increase the default "max_page_count" to its theoretical maximum of 4294967294. (check-in: ffb35f1784 user: drh tags: trunk)
09:20
Elaborate on the various build flavors used by ext/wasm/. Doc changes only. (check-in: d489232aa4 user: stephan tags: trunk)
09:03
Update and clean up the in-makefile docs for ext/wasm. (check-in: 7a7b295e6d user: stephan tags: trunk)
2024-01-01
23:28
Back out [99d11e6d0ae6] (enabling of STAT4 in WASM/JNI), per /chat discussion. (check-in: cd7929ee2e user: stephan tags: trunk)
19:20
New logic to avoid using indexes that ANALYZE has identified as of little practical use. Also a performance optimization in ANALYZE. (check-in: bcac937526 user: drh tags: trunk)
17:58
Remove some unnecessary computations from ANALYZE so that ANALYZE runs with fewer CPU cycles. These changes were spotted while working on the nearby enhanced-stat1 branch. So even if enhanced-stat1 is abandoned, that effort put into it will not have been in vain. (Closed-Leaf check-in: 5527e8c4ab user: drh tags: avoid-low-quality-indexes)
17:48
Extra steps taken to avoid using low-quality indexes in a query plan. This branch accomplishes the same end as the nearby enhanced-stat1 branch, but with much less change and hence less risk. (check-in: c030e64626 user: drh tags: avoid-low-quality-indexes)
15:49
Improved defenses against deliberately corrupted sqlite_stat1 tables. (Closed-Leaf check-in: ee34db31a0 user: drh tags: enhanced-stat1)
15:35
Fix a harmless compiler warning. (check-in: b5aa1aea38 user: drh tags: enhanced-stat1)
14:13
Omit the uneven=N argument in sqlite_stat1 and replace it with var=N1,N2,... so that the variation in each column is reported separately. Omit the "slow" argument from sqlite_stat1, computing that flag internally. PRAGMA stats is enhanced with a new column "est" that shows the aiRowLogEst array for each index after it has been modified by "var=..." and also the "slow" flag. (check-in: 4a8fc17365 user: drh tags: enhanced-stat1)
06:58
JNI: move the ByteBuffer-using APIs from public to package visibility for the time being because they have UB-inducing possibilities which need to be worked out. Update test code to account for a change in custom FTS5 columntext() impls. (check-in: dc501275fc user: stephan tags: trunk)
05:58
WASM: various build cleanups and add initial infrastructure for a build which elides the oo1 API and its dependents (worker1 and promiser). Sidebar: an attempt was made to move generation of the build rules to an external script, but the mixed-mode make/script was even less legible than the $(eval) indirection going on in the makefile. (check-in: 563d313163 user: stephan tags: trunk)
2023-12-31
20:04
Better comments. Slight tuning of parameters. (check-in: 1cc32eccda user: drh tags: enhanced-stat1)
12:38
Ensure that all elements of aiRowLogEst[] have been initialized even if the stat entry is truncated. (check-in: c216921b11 user: drh tags: enhanced-stat1)
04:01
Use SQLITE_ENABLE_STAT4 in both the WASM and JNI builds. (check-in: 99d11e6d0a user: stephan tags: trunk)
2023-12-30
22:00
In sqlite_stat1, revert the number of rows to the average, not adjusted for the maximum. Instead add "uneven=NNN" where NNN is a multiplier to apply to the average to get the maximum. "uneven" is only reported if NNN is 10 or more. Also add the "slow" argument is the maximum number of rows reported by a full equality match is so large that a table scan seems likely to be faster. (check-in: 41773fa760 user: drh tags: enhanced-stat1)
15:07
Omit the "noquery" argument in sqlite_stat1. Instead, add the "uneven" argument for indexes that have an uneven distribution of values. Modify the query planner to avoid doing equality look-ups on uneven indexes. (check-in: 0ec4b880bb user: drh tags: enhanced-stat1)
2023-12-29
21:07
Revise the "noquery" decision algorithm again. The index now must select more than 150 rows on average, and the number of rows select must be enough that it seems faster to do a full scan of the associated table. (check-in: f516ef80a0 user: drh tags: enhanced-stat1)
20:31
Fix an issue in the "noquery" decision in the previous check-in. Also add comments explaining the algorithm. (check-in: 6aaa65adfc user: drh tags: enhanced-stat1)
20:08
Add the "noquery" argument as an option for the stat column of sqlite_stat1. If set, then the index will not be used to optimize a query. Enhance ANALYZE to set that argument on very low selectivity indexes. (check-in: e514d3fa83 user: drh tags: enhanced-stat1)
19:03
Attempt to improve the ANALYZE command so that it does a better job of detecting lopsided indexes and makes appropriate changes to the sqlite_stat1 table. (check-in: 4b70b94616 user: drh tags: enhanced-stat1)
04:29
Minor doc touchup in the JS bits. (check-in: 8d2120c354 user: stephan tags: trunk)
2023-12-28
21:02
Enable SQLITE_DIRECT_OVERFLOW_READ unless it is specifically disabled using the -DSQLITE_DIRECT_OVERFLOW_READ=0 compile-time option. (check-in: 630604a4e6 user: drh tags: trunk)
20:54
Update fts5origintext4.test to work with SQLITE_DIRECT_OVERFLOW_READ. (check-in: 15ed002aed user: dan tags: trunk)
19:18
Performance improvement by unwinding a loop in jsonAppendString(). (check-in: 190ab3c084 user: drh tags: trunk)
16:25
Fix harmless compiler warnings in FTS5. (check-in: 3cd5ef44e4 user: drh tags: trunk)
16:21
Enhance the (undocumented, debug-only) json_parse() SQL function so that it returns the text rendering of the JSONB parse of the input, rather than printing the rendering on stdout. (check-in: 056de8d551 user: drh tags: trunk)
14:07
Merge the latest trunk changes into the reuse-schema branch. (check-in: 3d1b0403d6 user: drh tags: reuse-schema)
14:01
Merge the latest trunk changes into the bedrock branch. (check-in: 5a17b972ed user: drh tags: bedrock)
13:44
Merge the latest trunk enhancements into the wal2 branch. (check-in: 1f592dd32d user: drh tags: wal2)
13:40
Merge recent trunk enhancements into the begin-concurrrent branch. (check-in: b3a2adfda7 user: drh tags: begin-concurrent)
2023-12-27
16:24
Fix a problem in the shell tool (not library) causing an out-of-bounds write if an ".open" command failed, then the user pressed ctrl-c to interrupt a query running on the substitute in-memory database. (check-in: 026618b9e3 user: dan tags: trunk)
2023-12-26
15:52
Ensure that the xColumnText(), xQueryPhrase() and xPhraseFirstColumn() APIs all return SQLITE_RANGE if they are passed a bad column or phrase number. (check-in: 1a8a9b1c89 user: dan tags: trunk)
13:20
Improved handling of malformed unicode within JSON strings. (check-in: e252bdf5f5 user: drh tags: trunk)
2023-12-24
12:02
Remove an ALWAYS() added in [c50e6c2ace49d092] because it is sometimes false. dbsqlfuzz c393a4f783d42efd9552772110aff7e5d937f15e. (check-in: b9daf37e57 user: drh tags: trunk)
11:43
Fix harmless compiler warnings associated with [5db30bcc338aac1c] (check-in: e55d1c2333 user: drh tags: trunk)
11:31
Avoid signed integer overflow during integrity_check of FTS5. (check-in: 5937df3b25 user: drh tags: trunk)
2023-12-23
19:03
Improvements to the query planner to address the inefficiency described by forum post 2568d1f6e6. (check-in: 72fcc12cda user: drh tags: trunk)
11:31
Add debugging output routines sqlite3ShowWhereLoop(X) and sqlite3ShowWhereLoopList(X) that can be invoked from a debugger to show a summary of the content of a single WhereLoop object or a list of WhereLoop objects. No change in release builds. (check-in: 5db30bcc33 user: drh tags: trunk)
2023-12-22
21:22
Change parameters on a debugging function to include "const". (check-in: 94c3e1110c user: drh tags: trunk)
16:03
Add the -fno-sanitize-recover=undefined to the sanitizer builds used for sdevtest and release testing. To ensure that any test that provokes undefined behaviour fails. (check-in: 89563311ad user: dan tags: trunk)
15:42
Update #ifdef checks in pager.c and util.c to account for [0462a2612d1fc1d0] to resolve the build problem reported in forum post 9819032aac. (check-in: 7374c2342e user: stephan tags: branch-3.44)
15:41
Update #ifdef checks in pager.c and util.c to account for [0462a2612d1fc1d0] to resolve the build problem reported in forum post 9819032aac. (check-in: 0f22d809a1 user: stephan tags: trunk)
14:47
Fix a usan complaint about signed integer overflow. (check-in: e65907e027 user: dan tags: trunk)
12:57
Add a new comment to debugging output routine sqlite3WhereLoopPrint() to remind us of what the various fields of the debug output mean. No changes to code. (check-in: da5f34fd40 user: drh tags: trunk)
2023-12-21
18:08
Add internal core-developer-only documentation of the JSONB format. (check-in: 4d30478863 user: drh tags: trunk)
2023-12-20
19:33
Fix SQLITE_ENABLE_SETLK_TIMEOUT assert() statements in os_unix.c to avoid reading past the end of the unixShmNode.aMutex[] array. (check-in: 029a05cd29 user: dan tags: trunk)
11:34
Avoid harmless integer overflow in pager status statistics gathering. Response to forum post 7f4cdf23f9. (check-in: 206d8c650d user: drh tags: trunk)
2023-12-19
21:39
In JSON - minor code cleanup and refactoring with a small size reduction and performance increase. (check-in: 215fabda38 user: drh tags: trunk)
15:51
Remove redundant conditional from sqlite3ExprCanBeNull(). (check-in: 257f96a2d2 user: drh tags: trunk)
15:10
On second thought, we don't really need sqlite_dbdata accessible to the CLI. (check-in: 36fe6a61ef user: drh tags: trunk)
15:06
Fix harmless compiler warning in the randomjson.c extension. (check-in: debe7060b1 user: drh tags: trunk)
14:54
More precise computation of the size of data structures in the query planner. Response to Forum post 7d8685d49d. (check-in: 0c8d88e411 user: drh tags: trunk)
14:53
Add ALWAYS() and NEVER() on branches made unreachable by recent changes. (check-in: c50e6c2ace user: drh tags: trunk)
13:45
Ignore COLLATE operators when determining whether the result of a subexpression should be shallow-copied or deep-copied. (check-in: 34ae36a45e user: drh tags: trunk)
13:00
Test case for the previous check-in. (check-in: df5a07e1a5 user: drh tags: trunk)
13:00
When unable to resolve an identifier, change the Expr node into TK_NULL rather than TK_COLUMN, to prevent any downstream misuse of the non-existent column. (check-in: 8f770d14d3 user: drh tags: branch-3.44)
12:49
When unable to resolve an identifier, change the Expr node into TK_NULL rather than TK_COLUMN, to prevent any downstream misuse of the non-existent column. dbsqlfuzz 71869261db80a95e4733afa10ff5724bf3c78592. (check-in: d2e6117e4f user: drh tags: trunk)
12:23
Always make the sqlite_dbdata virtual table available in the CLI. (check-in: e5fd3b32ad user: drh tags: trunk)
11:57
Extra ALWAYS() macros to verify state in the sqlite3ExprCanBeNull() routine. (check-in: be19b84c9f user: drh tags: trunk)
00:07
Remove a stray comment in the JSON code. (check-in: 6618bdf067 user: drh tags: trunk)
2023-12-18
19:18
New JSON invariant test cases. (check-in: a6a1367b0b user: drh tags: trunk)
18:50
Add NEVER() to an unfalsifiable branch. (check-in: 9a0c67db36 user: drh tags: trunk)
18:31
Fix JSON to JSONB translation so that it deals correctly with Infinity and NaN. (check-in: 178cb84f36 user: drh tags: trunk)
15:53
Ensure that the insert/delete size delta on JSONB objects in the JSON cache are always set to zero. (check-in: 4b4581668a user: drh tags: trunk)
14:24
Add randomjson.c to testfixture. Use it for a new set of invariant tests against JSON functions. (check-in: f1c040606b user: drh tags: trunk)
14:16
Ensure that all object labels for individual objects generated by randomjson.c are unique. (check-in: 29c46aca23 user: drh tags: trunk)
13:51
Bug fix in the randomjson.c extension. (check-in: 1f3a33df53 user: drh tags: trunk)
12:18
Enhancements to ext/misc/randomjson.c. (check-in: a4e6d1f86f user: drh tags: trunk)
2023-12-17
20:41
Enhancements to the "randomjson.c" extension. Automatically load that extension into fuzzcheck. (check-in: 70620405ab user: drh tags: trunk)
2023-12-16
15:48
Enable SQLITE_STRICT_SUBTYPE for default builds of the shell, fuzzcheck, and testfixture. (check-in: 5a0c517ed7 user: drh tags: trunk)
10:50
New test case based on Chromium bug report 1511689. (check-in: 2c7ef4b4d2 user: drh tags: trunk)
2023-12-15
21:39
Fix a spurious "misuse of aggregate function" error that could occur when an aggregate function was used within the FROM clause of a sub-select of the select that owns the aggregate. (check-in: 122cd0bada user: drh tags: branch-3.43)
20:13
In the count-of-view optimization, deferring freeing obsolete parts of the parse tree, on the off-chance that some other part of the code might be holding a pointer to those parts. (check-in: da44257885 user: drh tags: trunk)
19:26
Avoid expiring prepared statements in the middle of an integrity-check. (check-in: 88beb48472 user: dan tags: trunk)
16:28
Add mention of --buildonly and --dryrun to the testrunner.tcl usage screen. (check-in: 23b92d915c user: drh tags: trunk)
15:22
Fix a new JSON test case so that it works even if SQLITE_OMIT_VIRTUALTABLE is defined. (check-in: b995aae510 user: drh tags: trunk)
15:17
Do not run test script fts5origintest4.test with either "memsubsys1" or "mmap" permutations. (check-in: 05a63d9603 user: dan tags: trunk)
14:33
Avoid running the "no_mutex_try" tests with SQLITE_ENABLE_SETLK_TIMEOUT builds as part of the release test. (check-in: 6b4e1344a2 user: dan tags: trunk)
13:38
Correct --enable-sab flag in ext/wasm/GNUmakefile to fix a silent alhttpd args-parsing error. (check-in: 7b9b757d87 user: stephan tags: trunk)
2023-12-14
22:01
Use SQLITE_STRICT_SUBTYPE=1 by default for the JNI and WASM builds unless they're explicitly built with SQLITE_STRICT_SUBTYPE=0. (check-in: 990211357b user: stephan tags: trunk)
16:34
Add assert()s to FTS5 to fix static analyzer warnings. (check-in: 27d4a89a5f user: drh tags: trunk)
15:38
Fix harmless compiler warnings in JSON and FTS5. (check-in: 90135efccf user: drh tags: trunk)
15:31
Improve the error message returned by an fts5 'rebuild' command on an external content table if there is a problem with the content table or view. (check-in: 0fbf4b8a58 user: dan tags: trunk)
15:11
Enhance aggregate order-by so that it transmits subtype information through the sorter. Fix for the deficiency reported by forum post 87347ad2fb5a8f76. (check-in: d302a38946 user: drh tags: trunk)
13:58
Pass subtype information through the aggregate ORDER BY sorter for aggregate functions that use subtype information. (Closed-Leaf check-in: 3536f4030e user: drh tags: agg-orderby-subtype)
2023-12-13
20:37
In CLI, fix .read inability to open 2GB+ files on WIN32. (check-in: 56c80a62d2 user: larrybr tags: trunk)
16:50
Avoid invoking sqlite3ExprColUsage() on an unresolve column reference. (check-in: 6e0e2ee7c7 user: drh tags: branch-3.44)
16:45
Avoid invoking sqlite3ExprColUsage() on an unresolve column reference. dbsqlfuzz fc34aa62df4de103705d11b807074687ffafbda5. (check-in: ac9314c0e3 user: drh tags: trunk)
15:27
Bug fix in the JSONB validator. dbsqlfuzz ac6fa521a08609a642198e7decf64180e750b3c4 (check-in: 3e940a6a08 user: drh tags: trunk)
14:31
Improvements to UTF8 handling, and especially the handling of invalid UTF8, in the JSON routines. (check-in: 1b229c1101 user: drh tags: trunk)
2023-12-12
18:38
Fix the JSON object label comparison object so that it works correctly even if the label ends with escaped whitespace. (check-in: 4d5353cadd user: drh tags: trunk)
17:55
Worker1 Promiser API: when multiple db connections are active then use the requested connection instead of always the first-opened connection. Bug reported in forum post 894c330e7f23b177. (check-in: 3874e5a328 user: stephan tags: branch-3.44)
17:52
Worker1 Promiser API: when multiple db connections are active then use the requested connection instead of always the first-opened connection. Bug reported in forum post 894c330e7f23b177. (check-in: 194276e18e user: stephan tags: trunk)
17:31
The json_valid(*,8) function does a much better check of the validity of the JSONB input. The json_error_position() function returns an approximate byte offset to the point of the first detected error in the JSONB. (check-in: 840efb33a3 user: drh tags: trunk)
17:13
Add NEVER to two unreachable branches in JSON. (Closed-Leaf check-in: c96ebb086f user: drh tags: jsonb-valid)
14:33
Improvements to JSONB validation - catch more cases where the input does not conform to spec. (check-in: be1864eac4 user: drh tags: jsonb-valid)
02:31
Validity checking of text nodes in JSONB. (check-in: fa5160687c user: drh tags: jsonb-valid)
2023-12-11
21:00
The json_error_position() function now reports an approximate byte offset to the problem in a JSONB if there is a problem. (check-in: 80d5d94dff user: drh tags: jsonb-valid)
20:44
json_error_position() now uses jsonValidityCheck() to find the approximate position of an error in a JSONB blob. (check-in: c3d60cf702 user: drh tags: jsonb-valid)
20:19
json_valid(*,8) allows minus-signs on hexadecimal literals. (check-in: c0d7f4520d user: drh tags: jsonb-valid)
19:21
Activate JSON_SELFCHECK within fuzzcheck. (check-in: 4d14e733bb user: drh tags: jsonb-valid)
19:00
Rename the new test-control to SQLITE_TESTCTRL_JSON_SELFCHECK. Make it so that the current value of the setting can be interrogated. (check-in: 7aff1d9a4c user: drh tags: jsonb-valid)
17:03
Add SQLITE_TESTCTRL_VALIDATE_JSONB, which if enabled under SQLITE_DEBUG causes cross-checking of generate JSONB. (check-in: b410a4db74 user: drh tags: jsonb-valid)
14:01
Work toward enhanced functionality for json_valid() with deep checking of the JSONB (second argument has bit 0x08). (check-in: c370d57319 user: drh tags: jsonb-valid)
13:48
Different fix for the fts5 COMMIT-following-OOM problem first fixed by [fba3129d]. This one does not cause problems if an fts5 table is renamed and then dropped within the same transaction. (check-in: 67da596d82 user: dan tags: branch-3.44)
02:39
Fix a potential use of uninitialized value in json_valid() with 2nd argument of 8. (check-in: fa102036fe user: drh tags: trunk)
2023-12-08
16:56
Fix a harmless UBSAN warning. (check-in: 1503cba6d1 user: drh tags: trunk)
14:54
Fix a potential problem RCStr access on a JsonString object that is not really and RCStr. Fuzzer/UBSAN find. (check-in: d2f2174ce2 user: drh tags: trunk)
12:58
Fix a harmless compiler warning about "confusing indentation". (check-in: 34f9e9a8c4 user: drh tags: trunk)
12:04
Avoid dropping an error code in new fts5 tokendata=1 code. (check-in: a66596e33d user: dan tags: trunk)
2023-12-07
21:09
Ensure an fts5vocab table never uses a special tokendata=1 merge cursor. (check-in: 1e26510e83 user: dan tags: trunk)
20:46
Avoid an assert() failure when querying an fts5vocab table that accesses a tokendata=1 fts5 table with corrupt %_data records. (check-in: 386ba9e204 user: dan tags: trunk)
19:08
Fix a null-pointer dereference in fts5 tokendata=1 code. (check-in: d69fa8f050 user: dan tags: trunk)
18:41
Fix a problem with handling OOM and other errors in fts5 when querying tokendata=1 tables. (check-in: bc911ab595 user: dan tags: trunk)
14:41
Different fix for the fts5 COMMIT-following-OOM problem first fixed by [fba3129d]. This one does not cause problems if an fts5 table is renamed and then dropped within the same transaction. (check-in: d8c6b24694 user: dan tags: trunk)
14:09
Rework the jsonEachPathLength() routine in json_tree() so that it is less susceptible to problems due to goofy object labels. (check-in: 858b76a00e user: drh tags: trunk)
13:14
Add ALWAYS() on branches added in [ec0ae4030968c782] that are always true. (check-in: 451cef8609 user: drh tags: trunk)
12:55
Improved detection of corrupt JSONB in the jsonReturnFromBlob() function. (check-in: b014736c1f user: drh tags: trunk)
2023-12-06
22:22
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 5c36819c42 user: drh tags: reuse-schema)
21:18
Merge the latest trunk changes into the bedrock branch. (check-in: c2e53000f4 user: drh tags: bedrock)
21:11
Merge the latest trunk enhancements into the wal2 branch. (check-in: 457724e738 user: drh tags: wal2)
21:05
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: b1c58f485f user: drh tags: begin-concurrent)
18:34
Fix compiler warning about shadowed variable in fts5_index.c. (check-in: ee70e4c1c9 user: dan tags: trunk)
18:25
Work around LLVM's newfound hatred of function pointer casts. Forum post 1a7d257346636292. (check-in: ec0ae40309 user: drh tags: trunk)
18:10
Update documentation comments in fts5.h. (check-in: 38c50e22c9 user: dan tags: trunk)
17:50
Do correct comparisons between object labels in JSON even when the two labels contain different JSON escapes. (check-in: bda2e30cc2 user: drh tags: trunk)
17:39
Correctly handle 8-byte sizes in the JSONB format. Forum post 283daf08e91183fc. (check-in: 73d390f39c user: drh tags: trunk)
16:57
Fix the routine that determines the json_tree.path value for the first row so that it correctly takes into account escape sequences in the path argument. (Closed-Leaf check-in: b9243ee8a3 user: drh tags: json-label-compare)
16:27
In CLI, move -interactive flag handling back to arg-loop pass 2. (check-in: 63cb05a862 user: larrybr tags: trunk)
15:50
Test cases for object label matching with escape sequences. (check-in: c6f2aa38e9 user: drh tags: json-label-compare)
15:35
The rule for the RHS of the ->> and -> operators when the RHS does not begin with $ is that it must be (1) all digits, or (2) all alphanumerics, or (3) contained within [..] or else it will become a quoted label. (check-in: 0e059a546e user: drh tags: json-label-compare)
14:50
Increased rigor in comparisons between object labels in JSON. (check-in: 2bc86d145f user: drh tags: json-label-compare)
14:36
Add the tokendata=1 option and related APIs to fts5. (check-in: a76a636b23 user: dan tags: trunk)
14:30
Merge trunk changes into this branch. (Closed-Leaf check-in: 8f46eace86 user: dan tags: fts5-token-data)
12:30
README.md typo fix reported in the forum and update all links from http: to https:. (check-in: 5c48acdbb4 user: stephan tags: trunk)
2023-12-05
19:45
Rework the JSON functions so that they use the JSONB format internally. The original JsonNode parse tree design is removed. All JSON functions that accept text JSON also accept JSONB. New functions generate JSONB. (check-in: 7f0c79b94e user: drh tags: trunk)
19:24
Use extra assert() statement to silence harmless static analyzer warnings. (Closed-Leaf check-in: 174c2b2eef user: drh tags: jsonb)
18:36
Further tests for the new code on this branch. (check-in: 59d008b6c2 user: dan tags: fts5-token-data)
18:28
Miscellaneous comment cleanup and typo fixes. (check-in: 59446dc0bd user: drh tags: jsonb)
12:52
Use strspn() to accelerate whitespace bypass in the JSON parser. (check-in: 843197df08 user: drh tags: jsonb)
12:22
Small performance gain by unwinding the string literal delimiter search loop in the JSON parser by one more level. (check-in: 4c587feac1 user: drh tags: jsonb)
12:20
Clean up the JSONB performance test script. (check-in: 905301075a user: drh tags: jsonb)
01:44
Use an assert() to fix a harmless static analyzer warning. (check-in: a249ca657e user: drh tags: jsonb)
00:17
Fix OOM and corrupt JSONB handling in json_patch(). (check-in: 1910feb0b7 user: drh tags: jsonb)
2023-12-04
23:12
Rename the internal routine jsonMergePatchBlob() to just jsonMergePatch(). (check-in: ebf667b616 user: drh tags: jsonb)
19:48
Add further tests for xInstToken(). (check-in: 8582707f16 user: dan tags: fts5-token-data)
19:32
Fixes to error handling in json_array_length(). (check-in: aa85df2d26 user: drh tags: jsonb)
19:14
Do not make the input JSONB editable in json_remove() if there are no PATH argument. (check-in: 66594544f3 user: drh tags: jsonb)
18:53
Fix errors in rendering JSON5 escape sequences embedded in JSONB. (check-in: f1a51ae386 user: drh tags: jsonb)
18:45
Fixes for xInstToken() with tokendata=0 tables. And with prefix queries. (check-in: 78fbb71598 user: dan tags: fts5-token-data)
17:58
Fix memory leak in new code on this branch. (check-in: ebc160b9a0 user: dan tags: fts5-token-data)
17:45
Fix a problem with the xInstCount() API and "ORDER BY rank" queries. (check-in: 317a50563d user: dan tags: fts5-token-data)
17:40
Continuing simplifications and code cleanup. (check-in: ddf92b5059 user: drh tags: jsonb)
17:05
Fix bug in xInstToken() causing the wrong token to be returned. (check-in: da78d07e77 user: dan tags: fts5-token-data)
16:01
Remove reachable ALWAYS and NEVER macros. (check-in: f601de3eea user: drh tags: jsonb)
15:22
Two new NEVER macros. (check-in: 52632c92cb user: drh tags: jsonb)
15:08
Add tests for using tokendata=1 and contentless_delete=1 together. (check-in: a2506b8c97 user: dan tags: fts5-token-data)
13:12
Repair issues and inefficiencies found during testing. (check-in: ae973cb151 user: drh tags: jsonb)
01:14
Better pre-scan size estimations for objects in the JSON parser resulting in fewer reallocations and memmove operations. (check-in: 526b27f908 user: drh tags: jsonb)
00:31
Back off on the use of strlen() for situations where sqlite3_value_bytes() will work as well, for performance. (check-in: 79fb54fbb8 user: drh tags: jsonb)
2023-12-03
23:38
Remove dead code. Improved reporting of errors in JSON inputs. (check-in: 2eaa738e6b user: drh tags: jsonb)
23:30
Avoid problems when the path argument to json_tree() contains embedded U+0000 characters. (check-in: 9f055091af user: drh tags: jsonb)
20:11
Ensure that OOM conditions in the generation of the "bad JSON path" error message result in an SQLITE_NOMEM error. (check-in: aa0e02b5c2 user: drh tags: jsonb)
19:59
Enable incorrect JSONB to be rendered into text without hitting an assertion for a bad whitespace escape in a string. (check-in: 4d6a9a217d user: drh tags: jsonb)
19:32
Partial hand-merge of shell.c.in (not buildable) (Leaf check-in: 62e90c9ba8 user: larrybr tags: cli_extension_wip)
11:54
Do not let bad hexadecimal digits in malformed JSONB cause an assertion fault. (check-in: 8dec1ba1e5 user: drh tags: jsonb)
00:51
Minor code changes for consistency and to simplify testing. (check-in: df272bd837 user: drh tags: jsonb)
2023-12-02
21:39
Implement strict JSONB checking in the json_valid() function. (check-in: 0f26d38880 user: drh tags: jsonb)
20:37
Fix harmless compiler warnings reported by MSVC. (check-in: 419652c0c8 user: drh tags: jsonb)
20:35
Fix various compiler warnings and other problems with the new code on this branch. (check-in: 3a623cfa17 user: dan tags: fts5-token-data)
20:25
Code and comment cleanup. Everything should work the same. (check-in: c640754df0 user: drh tags: jsonb)
18:17
Fix harmless compiler warnings. Refactor some identifier names for clearer presentation. (check-in: 7e39415027 user: drh tags: jsonb)
18:14
When tokendata=1 queries require multiple segment-cursors, allow those cursors to share a single array of in-memory tombstone pages. (check-in: e0175d07e4 user: dan tags: fts5-token-data)
18:04
Take extra care to ensure that JSONB values that are in cache are actually owned by the JSON subsystem, and that ownership of such values is not handed back to the bytecode engine. (check-in: 1304534001 user: drh tags: jsonb)
17:32
Ensure that tokendata=1 queries avoid loading large doclists for queries like "common AND uncommon", just as tokendata=0 queries do. (check-in: 7bda09ab40 user: dan tags: fts5-token-data)
16:11
Protect a memcpy() against OOM conditions. (check-in: 26144d1c25 user: drh tags: jsonb)
15:59
Do not allow a JsonParse object to be considered "editable" after an OOM. (check-in: c6bacf57bd user: drh tags: jsonb)
15:06
Fix potential unsigned integer underflow in jsonAppendString(). (check-in: d2fba2cbdc user: drh tags: jsonb)
14:55
Minor fix to the header comment on jsonXlateTextToBlob(). (check-in: c3677ba410 user: drh tags: jsonb)
14:16
Performance optimization in jsonAppendString(). (check-in: fdf00e9623 user: drh tags: jsonb)
13:36
Simplification and optimization of the JSON parser. (check-in: f5ec948511 user: drh tags: jsonb)
12:23
Remove a NEVER that can be true if a virtual table column is declared to have a DEFAULT. See forum post 3d4de8917627d058. (check-in: 8abc2ccaf8 user: drh tags: trunk)
01:38
Unroll a loop in the parser for a performance increase. (check-in: a6dc29e4d5 user: drh tags: jsonb)
01:06
Fix harmless compiler warnings and enhance performance the parser. (check-in: 285633da6d user: drh tags: jsonb)
2023-12-01
22:01
Performance optimization in the JSON parser. (check-in: 68d191f40e user: drh tags: jsonb)
20:37
Remove old code for tokendata=1 queries. (check-in: b0a489e8e1 user: dan tags: fts5-token-data)
20:10
Merge latest trunk with this branch. (check-in: 8258967411 user: dan tags: fts5-token-data)
20:09
Different approach to querying a tokendata=1 table. Saves cpu and memory. (check-in: c523f40895 user: dan tags: fts5-token-data)
18:49
JSON cache is now more effective. (check-in: 443a3f3a8e user: drh tags: jsonb)
18:46
Fix up the JSON cache to work better. (Closed-Leaf check-in: 1fdbc39521 user: drh tags: jsonb-cache)
13:28
Cache is working better, but does not preserve the hasJson5 flag. (check-in: a12add7ab9 user: drh tags: jsonb-cache)
12:57
First attempt to get the JSON text-to-binary cache working. All test cases pass, but the cache seems not to help much. (check-in: 25ed295f30 user: drh tags: jsonb)
2023-11-30
23:36
Remove all trace of JsonNode from the JSON implementation. The JSONB format is used as the internal binary encoding for searching and editing. (check-in: 11ebb5f712 user: drh tags: jsonb)
20:57
Convert json_valid() over to using only JSONB as its internal format. (check-in: 7b5756fa6d user: drh tags: jsonb)
20:34
Add a basic batch-mode SQL runner for the SAH Pool VFS, for use in comparing it against WebSQL. Bring the WebSQL batch runner up to date, noting that it cannot run without addition of an "origin trial" activation key from Google because that's now the only way to enable WebSQL in Chrome (that part is not checked in because that key is private). Minor code-adjacent cleanups. (check-in: 883990e793 user: stephan tags: trunk)
19:29
Convert json_type() to use JSONB internally. (check-in: 83074835b9 user: drh tags: jsonb)
19:11
Convert json_insert(), json_replace(), and json_set() over to using only JSONB internally. (check-in: 4e2083e86f user: drh tags: jsonb)
19:06
Enhance json_set() and json_insert() so that they create missing substructure. (Closed-Leaf check-in: cc7a641ab5 user: drh tags: jsonb-insert)
16:17
Simplification of the new JSON insert/set test cases. (check-in: 04c0d56443 user: drh tags: jsonb-insert)
16:16
New JSON test cases showing insert or set with missing substructure. (check-in: 6802b6459d user: drh tags: trunk)
12:04
New test cases for insert/set/replace with paths that indicate substructure that does not yet exist. (check-in: 146c717c51 user: drh tags: jsonb-insert)
10:00
Update some OPFS-related help text in WASM tests. Minor cleanups in speedtest1-worker.js. (check-in: 263f6d3a77 user: stephan tags: trunk)
00:52
Convert json_insert(), json_replace(), json_set() to use JSONB internally. Mostly working, but some corner cases are still not quite right. (check-in: 99c8f6bd5c user: drh tags: jsonb-insert)
2023-11-29
20:06
Convert the json_error_position() routine to use only JSONB internally. (check-in: e7a8ba35bf user: drh tags: jsonb)
17:36
The json_patch() function now operates exclusively on JSONB. This patch also includes improvements to JSONB debug printing routines. (check-in: fee19d0098 user: drh tags: jsonb)
16:26
Fix a duplicate assert() caused by the second cherrypick in the previous check-in. (check-in: f10d4fc4a8 user: drh tags: branch-3.28)
16:22
Fix signed integer overflow in fts5. (check-in: 60e46c7ec6 user: dan tags: fts5-token-data)
16:07
Remove Window objects from the corresponding Select.pWin list when they are deleted, as they are, for example, when the ORDER BY clause is optimized out. (check-in: f9c6e6a710 user: drh tags: branch-3.28)
13:47
In the recovery extension, if a payload size is unreasonably large, it is probably corrupt, so truncate it. (check-in: 988c3179e9 user: drh tags: trunk)
12:18
Merge all the latest trunk enhancements into the jsonb branch. (check-in: 1a59fcab21 user: drh tags: jsonb)
02:53
Increase the patch level to 3.44.3. (check-in: bb4d35e262 user: drh tags: branch-3.44)
02:50
Reference count the Table passed into the OP_VCheck opcode. (check-in: 79e6496bb1 user: drh tags: branch-3.44)
02:45
The assertion change at check-in [7946c79567b0ccd3] is insufficient to fix the problem of a Table object being deleted out from under the OP_VCheck opcode. We need to reference count the Table, which is accomplished here. (check-in: cad269d5e2 user: drh tags: trunk)
01:38
Convert the json_array_length() function to use JSONB instead of JsonNodes. (check-in: 5ab790736d user: drh tags: jsonb)
2023-11-28
23:26
Fix all known problems with JSONB json_extract(). (check-in: d5f48c57e9 user: drh tags: jsonb)
23:18
Do not set the J subtype when the output is JSONB. (Closed-Leaf check-in: 4f106b64fe user: drh tags: jsonb-extract)
20:33
Preserve flexibility in the format of the RHS of -> and ->> operators found in legacy. (check-in: 6231ec43ad user: drh tags: jsonb-extract)
20:25
Attempt to get json_extract() working with pure JSONB only, and without the use of JsonNode. Mostly working, but there are some differences from legacy in corner cases. (check-in: 8c324af1ec user: drh tags: jsonb-extract)
19:43
Merge latest trunk updates into this branch. (check-in: 554fc13f2c user: dan tags: fts5-token-data)
18:16
The json_remove() function now uses only JSONB, never JsonNodes, internally. (check-in: b69786e746 user: drh tags: jsonb)
17:47
Update this branch with latest changes from trunk. (check-in: bead0d8f5a user: dan tags: begin-concurrent)
17:32
Update this branch with latest changes from trunk. (check-in: 7f1b61a3ea user: dan tags: wal2)
17:12
In SQLITE_ENABLE_SETLK_TIMEOUT builds, use blocking locks in place of sleep() calls when opening a read-transaction. (check-in: 4c055b7a6e user: dan tags: trunk)
15:29
Handle an SQLITE_BUSY_TIMEOUT error if one occurs while attempting a shared lock on a read-lock slot. (Closed-Leaf check-in: 5fbf3906d2 user: dan tags: blocking-dms-lock)
13:38
Activate the ability of json_patch() to work on JSONB. (check-in: 11aba347ff user: drh tags: jsonb)
13:35
All legacy tests are passing. (Closed-Leaf check-in: 2c436806b8 user: drh tags: jsonb-patch)
12:28
The json_patch() code for JSONB compiles and works sometimes, but there are still issues. Incremental check-in. (check-in: e0099464a0 user: drh tags: jsonb-patch)
00:27
More aggressive use of jsonBlobEdit(). Improvements to the MergePatch implementation sketch. (check-in: fbca9570fd user: drh tags: jsonb)
2023-11-27
23:46
Add untested (#ifdefed-out) code for the MergePatch algorithm against JSONB. Add (and test) the jsonBlobEdit() routine that is needed by the new MergePatch. (check-in: 4d353387fc user: drh tags: jsonb)
20:37
Have SQLITE_ENABLE_SETLK_TIMEOUT builds block when locking a read-lock slot. (check-in: f797baf47c user: dan tags: blocking-dms-lock)
19:22
In SQLITE_ENABLE_SETLK_TIMEOUT builds, use blocking locks in place of sleep() when opening a read-transaction. (check-in: a51ef39998 user: dan tags: blocking-dms-lock)
17:13
Enhance the (SQLITE_DEBUG-only) json_parse() routine so that it shows a decoding of JSONB when given a BLOB argument. (check-in: af26786856 user: drh tags: jsonb)
15:57
Give the json_valid() function an optional second argument that determines what is meant by "valid". (check-in: a4e19ad43d user: drh tags: jsonb)
15:08
Pickup stray oput?() calls that should have gone to stdout. Simplify console line reading, sacrificing speed (which does not matter then) for code size. (Leaf check-in: 8e20645cc2 user: larrybr tags: console-io-lib)
12:36
Convert the json_tree() and json_each() virtual tables over to use JSONB has their internal representation. (check-in: ec18caa3f7 user: drh tags: jsonb)
12:30
All tests passing. (Closed-Leaf check-in: b5a5660ca2 user: drh tags: jsonb-tree)
2023-11-26
00:56
Fix corner-case error conditions. (check-in: ec23d34ab7 user: drh tags: jsonb-tree)
00:48
Same results as the legacy JsonNode implementation on a small set of test cases. (check-in: c3da4b079a user: drh tags: jsonb-tree)
2023-11-25
23:00
Remove unused elements from the json_tree() cursor. (check-in: 914a50117d user: drh tags: jsonb-tree)
20:59
Remove the vestigal JsonNode logic from json_tree() and json_each(). (check-in: 66c2ab9ebb user: drh tags: jsonb-tree)
19:28
Almost working. Path is still not exactly right when Root is defined on json_tree(). (check-in: 9225824691 user: drh tags: jsonb-tree)
18:11
Generate the fullkey and path columns of json_tree(). (check-in: ffaa468ab8 user: drh tags: jsonb-tree)
13:40
Handle the path argument to json_tree() and json_each(). (check-in: fded888469 user: drh tags: jsonb-tree)
2023-11-24
21:57
Continuing work on json_tree() against a JSONB. (check-in: 3df891cb11 user: drh tags: jsonb-tree)
20:14
Add the --buildonly and --dryrun options to testrunner.tcl. (check-in: a0c87ae9d3 user: dan tags: trunk)
18:44
Incremental progress toward getting json_each() and json_tree() to work directly off of a JSONB blob. (check-in: f8cab41b3b user: drh tags: jsonb-tree)
18:33
Allow a pattern to filter test scripts to be appended to testrunner.tcl "mdevtest", "sdevtest" and "release" commands. e.g. "tclsh test/testrunner.tcl sdevtest fts5%". (check-in: f8ea0b58b3 user: dan tags: trunk)
16:17
Get all CLI print calls which went to stdout in 3.44.0 to do so again. (check-in: d65d9579ee user: larrybr tags: console-io-lib)
15:58
Get all CLI print calls which went to stdout in 3.44.0 to continue going to stdout. (check-in: e9951ede18 user: larrybr tags: trunk)
14:25
Fix jsonParseReset() to properly clear the JsonParse.aBlob element. (check-in: ab2644aacf user: drh tags: jsonb)
14:03
Omit precompiled binaries from the source tree. (check-in: 7dbc2f496d user: drh tags: jsonb)
14:02
Omit precompiled binaries from the source tree. (check-in: 3a8a75bfd2 user: drh tags: console-io-lib)
14:01
Omit the precompiled binary from the source tree. (check-in: 4ff103d294 user: drh tags: trunk)
13:41
Merge the latest trunk enhancements and fixes into the jsonb branch. (check-in: a838ebcbbd user: drh tags: jsonb)
13:30
CLI .output/.once to not redirect ".timer on" results. (check-in: 626c4353f2 user: larrybr tags: console-io-lib)
13:26
CLI .output/.once to not redirect ".timer on" results. (check-in: ce766ed51f user: larrybr tags: trunk)
12:48
Merge 3.44.2 changes into the reuse-schema-3.44 sub-branch. (Leaf check-in: 2b9d5ff78f user: drh tags: reuse-schema-3.44)
12:42
Merge 3.44.2 changes into the bedrock-3.44 sub-branch. (Leaf check-in: 1d9dfad077 user: drh tags: bedrock-3.44)
12:38
Merge 3.44.2 changes into the wal2-3.44 sub-branch. (Leaf check-in: 0118e8c981 user: drh tags: wal2-3.44)
12:33
Merge 3.44.2 changes into the begin-concurrent-3.44 sub-branch. (Leaf check-in: 6d97426fff user: drh tags: begin-concurrent-3.44)
11:41
Version 3.44.2 (check-in: ebead0e723 user: drh tags: release, branch-3.44, version-3.44.2)
2023-11-23
12:12
Another assertion fault fix, similar to [a9443dbfbe25e588]. (check-in: f796da626b user: drh tags: branch-3.44)
11:59
Fix a incomplete assert() statement in sqlite3SubqueryColumnTypes(). (Closed-Leaf check-in: 844e05ed82 user: drh tags: mistake)
11:45
Fix harmless compiler warnings in debugging code. (check-in: db40272c36 user: drh tags: branch-3.44)
11:29
Fix an fts5 problem that could occur when mixing regular and secure delete operations on a single table. (check-in: 25fb5a540b user: drh tags: branch-3.44)
11:21
Increase the version number to 3.44.2. (check-in: 73d3cb7909 user: drh tags: branch-3.44)
11:18
Fix an fts5 problem that could occur when mixing regular and secure delete operations on a single table. (check-in: 8eb3f40021 user: dan tags: trunk)
07:10
Fix output redirect bug reported in the forum. (check-in: 60bdd5c3d9 user: larrybr tags: console-io-lib)
07:08
Fix output redirect bug reported in the forum. (check-in: ce542fee6f user: larrybr tags: trunk)
07:06
Fix output redirect bug reported in the forum. (check-in: 2ab256bc0b user: larrybr tags: branch-3.44)
2023-11-22
22:59
Minor doc fix in src/betreeInt.h, prompted by an email report. No code changes. (check-in: 30d49aaed2 user: stephan tags: trunk)
21:24
For CLI build with unused function warnings on, #ifdef out a console I/O function, fPutbUtf8(). (check-in: da36f90d94 user: larrybr tags: trunk)
21:15
Add documentation for new fts5 auxiliary function APIs. (check-in: 9be8969edd user: dan tags: fts5-token-data)
20:02
Defer building xInstToken() hash-table until it is to be used. (check-in: 9b005085ff user: dan tags: fts5-token-data)
19:02
Fix tokendata=1 and xInstToken() APIs for detail=none and detail=column tables. (check-in: 37b271c19d user: dan tags: fts5-token-data)
17:13
Correct the URL for loading sqlite3-worker1-bundler-friendly.mjs from sqlite3-worker1-promiser-bundler-friendly.js, so that the promiser can be used in bundler-using environments. Problem reported via email. (check-in: b1128838f9 user: stephan tags: branch-3.44)
17:11
Correct the URL for loading sqlite3-worker1-bundler-friendly.mjs from sqlite3-worker1-promiser-bundler-friendly.js, so that the promiser can be used in bundler-using environments. Problem reported via email. (check-in: 753a752189 user: stephan tags: trunk)
16:32
Merge the 3.44.1 patches into a new sub-branch of reuse-schema. (check-in: 24fc47afbd user: drh tags: reuse-schema-3.44)
16:15
Merge the version 3.44.1 patch into a new sub-branch of bedrock. (check-in: 84f4215716 user: drh tags: bedrock-3.44)
15:34
Merge the 3.44.1 patches into a sub-branch of wal2. (check-in: 2672572cc3 user: drh tags: wal2-3.44)
15:29
Merge the 3.44.1 patches into a new sub-branch of begin-concurrent. (check-in: 7a1a114baf user: drh tags: begin-concurrent-3.44)
14:18
Version 3.44.1 (check-in: d295f48e8f user: drh tags: release, branch-3.44, version-3.44.1)
2023-11-21
22:36
Inserts invalid JSONB should return "malformed JSON", not a json path error. (check-in: 306ee66fbd user: drh tags: jsonb)
20:13
Direct editing of JSONB using json_insert() and json_set(). (check-in: fffb7a9538 user: drh tags: jsonb)
19:05
Correct blob-to-text rendering in some corner cases. (check-in: 7822e0e59f user: drh tags: jsonb)
18:46
Pickup minor stylistic changes related to console I/O and, for Windows builds, get fact of UTF-16 translation into the sign-on banner. (a straight cherry-pick) (check-in: d7a59e7946 user: larrybr tags: branch-3.44)
18:37
Pickup minor changes related to console I/O. (check-in: 24774e77c7 user: larrybr tags: console-io-lib)
18:26
Merge console I/O changes for Windows CLI. (check-in: 935a8a8ee7 user: larrybr tags: trunk)
18:23
Fix the translation of JSON5 numeric values from BLOB into text. (check-in: 40c4fb441f user: drh tags: jsonb)
17:54
Merge all recent trunk fixes and enhancements into the jsonb branch. (check-in: 6d78d50ed2 user: drh tags: jsonb)
17:51
Make edits directly to the JSONB BLOB when the input to json_replace() is a JSONB. (check-in: d69c6acef5 user: drh tags: jsonb)
15:55
Sync w/trunk as pre-merge-to-trunk sanity check. (check-in: 448d6a1182 user: larrybr tags: console-io-lib)
12:02
Fix the trace3-4.4 test to be more rebust against timing quirks. (check-in: 8936daa082 user: drh tags: trunk)
2023-11-20
15:58
Back out an incorrect change to the sqlite3ExprCompareSkip() function from long ago. (check-in: 89658abbcd user: drh tags: branch-3.44)
15:54
Back out an incorrect change to the sqlite3ExprCompareSkip() function that was added way back on 2019-08-22 for [44578865fa7baf97|check-in 44578865fa7ba] and which was only today discovered to be incorrect by forum post 45ec3d9788. (check-in: f5b3eb0fc8 user: drh tags: trunk)
13:59
Arrange to not compile unused console I/O function. (check-in: 184a0cd2e8 user: larrybr tags: branch-3.44)
13:12
Convert an assert in OP_VCheck into a branch that aborts the opcode, as this can happen on some very obscure conditions, as discovered by dbsqlfuzz. (check-in: 0d5f68717c user: drh tags: branch-3.44)
13:06
Convert an assert in OP_VCheck into a branch that aborts the opcode, as this can happen on some very obscure conditions, as discovered by dbsqlfuzz. Test case in TH3. (check-in: 7946c79567 user: drh tags: trunk)
12:00
Cherry pick additional assert() fixes from trunk into the branch-3.44 branch. (check-in: 6d8a8b7002 user: drh tags: branch-3.44)
11:50
Fix an assert() in fts5 that could be true following an OOM or IO error in contentless-delete mode. (check-in: 80a0bd7a69 user: drh tags: branch-3.44)
11:40
Fix an assert() in fts5 that could be true following an OOM or IO error in contentless-delete mode. (check-in: 3fe89238c3 user: dan tags: trunk)
00:21
Cherrypick shell1.test fix. (check-in: 91c888eddb user: larrybr tags: trunk)
00:20
Cherrypick shell1.test fix. (check-in: 39e30c5f9c user: larrybr tags: console-io-lib)
2023-11-19
17:33
Fix test 5.0 in shell1.test for Windows. (A double-quote wrapped single-quote needs no further treatment to be recognized as a single single-quote.) (check-in: aaa73400c4 user: larrybr tags: branch-3.44)
2023-11-18
22:10
Merge changes to do Windows console I/O with UTF-16. (check-in: f782054e7c user: larrybr tags: branch-3.44)
20:24
Correct conditional compilation issue seen with MSVC in the Win32 mutex subsystem. (check-in: 6c069c5d66 user: drh tags: branch-3.44)
18:36
Correct conditional compilation issue seen with MSVC in the Win32 mutex subsystem. (check-in: 6f8f4bfe60 user: mistachkin tags: trunk)
17:20
When ENABLE_SETLK is defined, avoid ever blocking on the lock mutex in os_unix.c when requesting an exclusive lock. (check-in: eb36d475e9 user: dan tags: trunk)
12:06
Adjust an assert() in fts5WritePoslistData() so that it only applies if there have been no prior errors. dbsqlfuzz 25dca9b2568f67dc78a0e32ff280133fe71994bd. (check-in: 257cdbab90 user: drh tags: trunk)
11:23
Another assertion fault fix, similar to [a9443dbfbe25e588]. dbsqlfuzz 2d9af4e94aca188e0092900eec711401c5d51687. (check-in: 3afaeac56d user: drh tags: trunk)
2023-11-17
19:01
When SQLITE_ENABLE_SETLK_TIMEOUT is defined, use a separate mutex in os_unix.c for each shm locking slot. (check-in: 64691df980 user: dan tags: trunk)
17:55
Add the new "run-fuzzcheck" target on the autoconf unix makefile. Requires that FUZZDB be set to the name of the fuzz-data database file. (check-in: 8fa3915dbf user: drh tags: trunk)
17:25
Add an assert() to prove the sqlite3_prepare() always either returns SQLITE_OK or else leaves *ppStmt set to NULL. See forum post 70bb8576c6c084c2. (check-in: feadd40242 user: drh tags: trunk)
17:10
When SQLITE_ENABLE_SETLK_TIMEOUT is defined, use a separate mutex in os_unix.c for each shm locking slot. (Closed-Leaf check-in: 4098df9652 user: dan tags: unix-setlk-timeout-mutexes)
17:03
Merge the latest trunk enhancements and fixes into the jsonb branch. (check-in: 162f0509ef user: drh tags: jsonb)
12:22
Fix harmless compiler warnings in debugging code. (check-in: ce6a75622e user: drh tags: trunk)
11:58
Fix an incorrect assert() associated with ALTER TABLE where an unknown aggregate function contains an ORDER BY clause. dbsqlfuzz e0900262dadd5c78c2226ad6a435c7f0255be2cd. (check-in: a9443dbfbe user: drh tags: trunk)
2023-11-16
21:11
When querying a tokendata=1 fts5 table, do not use a prefix cursor for the case where the term has only one variant. (check-in: d711c96ba8 user: dan tags: fts5-token-data)
20:50
Cherrypick changes to simplify and make more rational how console I/O package features are selected. (Leaf check-in: b20c9f1785 user: larrybr tags: consio-3.44)
18:31
Simplify and make more rational how console I/O package features are selected. (Motivated by Fiddle and other command-line utilities to soon use the package.) No substantive code-execution changes. (check-in: 1cde05877b user: larrybr tags: console-io-lib)
2023-11-15
20:32
Both json_remove() jsonb_remove() work on pure JSONB as long as the input is JSONB. (check-in: 68d551730b user: drh tags: jsonb)
19:21
Some simple test cases for JSONB direct remove. (check-in: 8cb4d2cbfc user: drh tags: jsonb)
19:19
Changes so that if SQLITE_ENABLE_SETLK_TIMEOUT is defined as 2 instead of 1, all blocking locks are taken for a single millisecond and the default busy-handler invoked as normal. (check-in: 79e24ec3dd user: dan tags: trunk)
18:55
jsonb_remove() now works without having to use a JsonNode parse, assuming that the input is JSONB. (check-in: 5207679e92 user: drh tags: jsonb)
18:47
The jsonb_remove() routine now appears to be working. (Closed-Leaf check-in: e76d48137e user: drh tags: jsonb-remove)
16:54
Get Fiddle build to succeed. (It runs, too, but not from changes here.) (check-in: 957ebaa2be user: larrybr tags: consio-3.44)
16:10
Work toward getting jsonb_remove() to work directly on JSONB blobs. (check-in: a79ff8e58f user: drh tags: jsonb-remove)
15:20
Changes to console I/O for Fiddle build, to always defer to C library (as before.) A WIP, pending testing with Fiddle build. (check-in: 45b8061e75 user: larrybr tags: consio-3.44)
14:09
Improvements to the description of sqlite3_errmsg() and sqlite3_errstr(). (check-in: fe5cc4169c user: drh tags: trunk)
13:23
Merge all the latest enhancements and fixes from trunk into the jsonb branch. (check-in: ba91408f4c user: drh tags: jsonb)
11:45
Add implementation of xInstToken() API. (check-in: a34b26fe7f user: dan tags: fts5-token-data)
11:31
Fix an exception misuse in test-opfs-vfs.js. (check-in: 9264955e6e user: stephan tags: trunk)
08:59
JNI: add more wrapper1 Sqlite.Blob tests. (check-in: d63f6e1ffd user: stephan tags: trunk)
08:29
JNI: clear out the sqlite3_context native pointer after calling UDF callbacks which do not have an argv (as was already done for those which have an argv). Add related tests and code commentary. (check-in: 138f40543b user: stephan tags: trunk)
06:28
JNI doc updates. (check-in: 1b1f36a206 user: stephan tags: trunk)
06:10
JNI: add the @Experimental annotation and mark all java.nio.ByteBuffer-related methods with it. (check-in: 0f4b223102 user: stephan tags: trunk)
05:08
JNI test code cleanups. (check-in: 09142ac143 user: stephan tags: trunk)
04:55
JNI: add CONFIG_LOG and CONFIG_SQLLOG support to wrapper1. Code-adjacent cleanups. (check-in: 83c49b9e71 user: stephan tags: trunk)
03:02
JNI: apply an internal level of API indirection to avoid having to work with massively-mangled names for the various sqlite3_config() overloads. (check-in: 24f20663b1 user: stephan tags: trunk)
2023-11-14
16:53
Add NEVER() to a branch made unreachable by [6f9eed826f5b3d1c]. (check-in: 26dcaa34e3 user: drh tags: trunk)
14:59
JNI: reimplement Tester2.execSql() using the high-level API. (check-in: 3a69679e41 user: stephan tags: trunk)
14:50
Fix another obscure problem with nested aggregates. dbsqlfuzz 04408efc51. This might be a better fix than the one at [4a587c3492faa994]. (check-in: 6f9eed826f user: dan tags: trunk)
14:38
JNI: add Sqlite.Stmt.step(boolean) overload which returns the result code of sqlite3_step() unless passed true, in which case it throws for any result other than ROW or DONE. The intent is to simplify handling of LOCKED and BUSY errors. (check-in: f4f1cc201a user: stephan tags: trunk)
13:51
Extra PRAGMA vdbe_addoptrace output showing when OP_Column gets translated into OP_Copy due to using a coroutine instead of a cursor. (check-in: eba180e779 user: drh tags: trunk)
05:33
JNI: use ByteBuffer.limit() instead of ByteBuffer.capacity() when figuring out where the logical end of a ByteBuffer is, for reasons explained at length in new code comments. This is unfortunately slower but is the correct way to do it. (check-in: 51539419ed user: stephan tags: trunk)
04:59
JNI: add sqlite3_blob_read_nio_buffer() and iron out the blob/ByteBuffer interface somewhat. (check-in: 7df317b448 user: stephan tags: trunk)
03:31
Cherry-pick some assert()s to cover misuse of *Put*() from 500+ shell.c callers. (check-in: c1a53c28a4 user: larrybr tags: consio-3.44)
03:24
Add a few asserts into *Put*() functions to catch calls that might cause an address fault. (check-in: 2341f9b6a4 user: larrybr tags: console-io-lib)
02:43
JNI: change sqlite3_prepare_multi()'s exception-handling semantics to be more C-like and, to support that, add the package-private sqlite3_jni_db_error() method to set the db error state from package-level Java code. (check-in: 46656b3543 user: stephan tags: trunk)
01:33
JNI: add sqlite3_blob_write() overload which accepts a java.nio.ByteBuffer. Cleanups in adjacent code. (check-in: ca32af8542 user: stephan tags: trunk)
2023-11-13
23:11
JNI: add sqlite3_column_nio_buffer() and sqlite3_value_nio_buffer() using an only-slightly roundabout approach to creating properly-sized ByteBuffer objects. (check-in: efbc82b218 user: stephan tags: trunk)
18:35
JNI: add sqlite3_result_nio_buffer() and tests. Discover that we cannot create sensible sqlite3_column_nio_buffer() or sqlite3_value_nio_buffer() counterparts because of ByteBuffer interface limitations. (check-in: 44b4df01ff user: stephan tags: trunk)
17:45
Manual merge of branch-3.44 with 3 sources affected/created by console-io-lib changes. (check-in: 18ebcf117a user: larrybr tags: consio-3.44)
17:26
Mistaken creation by a Fossil expert-to-be-maybe. (Leaf check-in: 2e3e98a4a7 user: larrybr tags: mistake)
15:59
Cure many warnings from gcc, clang and CL.exe. (check-in: 29ea2a3aad user: larrybr tags: console-io-lib)
14:58
JNI: add sqlite3_bind_nio_buffer() and initial tests for binding ByteBuffer objects as blobs on JVMs which have JNI support for nio buffers. (check-in: b10ce1ef82 user: stephan tags: trunk)
14:29
Add new fts5 API xQueryToken(). (check-in: 828566392b user: dan tags: fts5-token-data)
13:01
Fix var-intro after executable code departure from old C. (check-in: 08996f4fd5 user: larrybr tags: console-io-lib)
12:53
Slight cleanup of length-limited strpbrk() replacement, and eliminate strpbrk() call. (check-in: 97e2c9621e user: larrybr tags: console-io-lib)
12:05
Remove an incorrect ALWAYS() and NEVER(). (check-in: 94f6209386 user: drh tags: branch-3.44)
05:24
Enhance console_io to permit emits limited in various ways, such as valid UTF-8, upto control chars, or with counted limits, all getting away from 0-termination as the sole limit. In CLI, use this capability to avoid certain emit-chars-singly procedures that were breaking up UTF-8 characters. This fixes broken json mode output (on Windows) and (maybe) C-literal-like emits. (check-in: 906c5c4082 user: larrybr tags: console-io-lib)
2023-11-12
19:57
Add sqlite3_x86.exe unversioned binary. (check-in: a731cdddbb user: larrybr tags: console-io-lib)
03:58
Use setOutputStream() to designate implicit output for oput{z,f}() emit functions, and use them extensively. (check-in: 7850fb98a1 user: larrybr tags: console-io-lib)
00:43
Write BOM without fwrite(), using sputz() so that if it goes to the console, it is translated "properly". (check-in: 06ef96a823 user: larrybr tags: console-io-lib)
2023-11-11
22:53
Remove SHELL_LEGACY_CONSOLE_IO PP symbol and code it made active. (It is in the repo if ever needed/wanted, but it is just inferior or dead code now.) (check-in: 27c5bf6563 user: larrybr tags: console-io-lib)
20:46
Complete shell transition to using {f,o,e}put{f,z}() emit functions. (check-in: 923c6b8b3a user: larrybr tags: console-io-lib)
14:50
JNI wrapper1: when checking for an out-of-bounds statement column index, perform the is-statement-finalized check before the range check so that the former exception trumps the latter. (check-in: 0832f9a8e9 user: stephan tags: trunk)
14:43
Do not cache a statement's column count in the JNI wrapper1 API because an ALTER TABLE via another statement may invalidate it, as reported in forum post 6d80efd58d4591c7. (check-in: a6ab88e9a6 user: stephan tags: trunk)
13:09
Fix malf with redirected input due to bad assumption that stdin is a console in the fgets() replacement. (check-in: 79d1f2c101 user: larrybr tags: console-io-lib)
06:20
Pervasive changes to console_io.{c,h} in support of simplifying ubiquitous emit ops in shell, and to get better control of console streams that might be opened only via .read or .output commands. Changes to shell to use {s,o,e}put{f,z}(...) calls for initial testing, but this check-in has few such conversions so that most will be in a separate check-in. Many renames to better follow recent coding convention. This code seems to be working, but has not been tested on difficult platforms or with multiple console hosts yet. So it is a WIP. (check-in: 14762a004c user: larrybr tags: console-io-lib)
2023-11-10
21:03
Fix another problem with mixed join types and the RIGHT JOIN strength-reduction optimization. (check-in: 8f01f8b260 user: drh tags: branch-3.44)
20:55
Fix another problem with mixed join types and the RIGHT JOIN strength-reduction optimization. Forum post befdab472d. (check-in: f1eae19231 user: dan tags: trunk)
20:46
Additional debugging information on the tree-dump of the BETWEEN operator. (check-in: aca31e49d1 user: drh tags: trunk)
20:35
Remove an incorrect ALWAYS() that was inserted yesterday [1e039b6eb59c0001]. (check-in: 12885e298b user: drh tags: trunk)
18:59
Merge recent trunk enhancements and fixes into the jsonb branch. (check-in: 091a5f058d user: drh tags: jsonb)
17:49
Ensure 8-byte alignment of data structues in sqlite3_database_file_object(). This should have appeared on trunk originally and then be cherry-picked onto the branch. Oh well.... (check-in: ac39800bb2 user: drh tags: trunk)
16:29
Remove a NEVER() from whereAddIndexedExpr() that is reachable if there is an unknown indexed function in the schema. (check-in: a976b7208f user: drh tags: trunk)
15:20
Fix an obscure problem with the join-strength-reduction optimization that could occur when mixing LEFT and RIGHT joins in the same query. (check-in: dcf1c13781 user: drh tags: branch-3.44)
15:03
Fix an obscure problem with the join-strength-reduction optimization that could occur when mixing LEFT and RIGHT joins in the same query. Forum post 7f74ce0bee and separately post d64f0abe723ac98e. The problem was introduced by check-in [d747afda5683ca5f]. (check-in: 530d10e93a user: dan tags: trunk)
15:01
Expose the missing SQLITE_SUBTYPE to wasm. (check-in: 7bebfe20e7 user: stephan tags: branch-3.44)
15:00
Expose the missing SQLITE_SUBTYPE to wasm. (check-in: ac9534b2ce user: stephan tags: trunk)
15:00
Expose the missing SQLITE_SUBTYPE to JNI. (check-in: 0f92f4c90e user: stephan tags: trunk)
14:15
Expose SQLITE_RESULT_SUBTYPE to JNI. (check-in: 3bf75875b8 user: stephan tags: trunk)
13:13
Fix a potential UAF caused by JSON parser cache spill. (Leaf check-in: ce3fc4fc23 user: drh tags: bedrock-3.43)
2023-11-09
18:41
Ensure 8-byte alignment of data structues in sqlite3_database_file_object(). (check-in: 3cfcaafaff user: drh tags: branch-3.44)
17:55
Expose SQLITE_RESULT_SUBTYPE to wasm. (check-in: fc03988650 user: stephan tags: branch-3.44)
17:53
Expose SQLITE_RESULT_SUBTYPE to wasm. (check-in: 6d2fe9848b user: stephan tags: trunk)
17:42
Add the SQLITE_RESULT_SUBTYPE flag for application-defined functions. Add the -DSQLITE_STRICT_SUBTYPE=1 compile-time option that raises an error if any function invokes sqlite3_result_subtype() without the SQLITE_RESULT_SUBTYPE flag. SQLITE_RESULT_SUBTYPE prevents an indexed value of that function from being used to replace an equivalent expression, since the indexed expression does not carry the subtype. (check-in: 65a9cfc466 user: drh tags: branch-3.44)
17:36
Add the SQLITE_RESULT_SUBTYPE flag for application-defined functions. Add the -DSQLITE_STRICT_SUBTYPE=1 compile-time option that raises an error if any function invokes sqlite3_result_subtype() without the SQLITE_RESULT_SUBTYPE flag. SQLITE_RESULT_SUBTYPE prevents an indexed value of that function from being used to replace an equivalent expression, since the indexed expression does not carry the subtype. Fix for the problem described at forum post 68d284c86b082c3e. (check-in: ba789a7804 user: drh tags: trunk)
17:28
Fix compilation issue seen with MSVC. (check-in: 0dfe790d81 user: mistachkin tags: trunk)
17:26
Put an ALWAYS on an true branch. (Closed-Leaf check-in: 1e039b6eb5 user: drh tags: func-rw-subtype)
16:52
Futher documentation refinements. (check-in: 311c2eba93 user: drh tags: func-rw-subtype)
15:01
Fixes: (1) In the ->> function, instead of setting a subtype and clearing it, do not set it in the first place, as doing the set would trigger an error under SQLITE_STRICT_SUBTYPE. (2) Allow the SQLITE_STRICT_SUBTYPE through the property filter on sqlite3_create_function(). (check-in: 6195468b14 user: drh tags: func-rw-subtype)
13:00
A .class file build dependencies fix in the JNI build. (check-in: 8cc3291516 user: stephan tags: trunk)
12:58
Add the SQLITE_STRICT_SUBTYPE compile-time option. This change reveals that the current SQLITE_RESULT_SUBTYPE design does not work unless we tag the ->> operator with SQLITE_RESULT_SUBTYPE. But that will disable an important optimization. (check-in: e98a9a65dd user: drh tags: func-rw-subtype)
12:48
Add some notes about the JNI pointer-passing approach and convert a couple of potential NullPointerExceptions into appropriate C result codes. Clarify that invocation of undefined behaviour from the Java API does not (due to the addition of defensive code) mean the same thing as it does in C (e.g. no NULL pointer dereferences). (check-in: 19c4778f45 user: stephan tags: trunk)
12:17
Do not replace expressions that return subtypes with values taken from an index. (check-in: a35d13db09 user: drh tags: func-rw-subtype)
12:08
Omit the new SQLITE_VALUE_SUBTYPE name. Stay with legacy SQLTIE_SUBTYPE. Add extra documentation to sqlite3_value_subtype() and sqlite3_result_subtype() indicating that the SQLITE_SUBTYPE and SQLITE_RESULT_SUBTYPE properties are required on functions that use those interfaces. (check-in: 563ad3be60 user: drh tags: func-rw-subtype)
12:01
Two more JNI build fixes for Windows/MinGW, reported in forum post 4f949edc312d2a75. (check-in: a3f9c39086 user: stephan tags: trunk)
01:56
JSON5 bug fix: Escape double-quotes that occur inside of single-quoted strings. (check-in: 6cc57bb2ce user: drh tags: branch-3.44)
01:54
JSON5 bug fix: Escape double-quotes that occur inside of single-quoted strings. Forum post ddcad3e884. (check-in: 1c98d46d60 user: drh tags: trunk)
2023-11-08
21:38
Make a distinction between functions that consume subtypes and functions that generate subtypes. (check-in: 48a92e3ad8 user: drh tags: func-rw-subtype)
18:08
Do not cover expressions using an indexed expression if the indexed expression is a function that might set a subtype. (Closed-Leaf check-in: e908b26a99 user: drh tags: idx-expr-fix)
17:11
Merge recent trunk enhancements into the jsonb branch, and especially the finer-grain characterization of JSON function properties. (check-in: 72393b003f user: drh tags: jsonb)
16:37
More precise characterization of JSON functions. Indicate when functions might return JSON (subtype 'J') and when they make use of the function argument cache. (check-in: b2b62546c4 user: drh tags: trunk)
15:56
Have the shell tool emit a warning if the user attempts to use ".scanstats vm" in a non-SQLITE_ENABLE_BYTECODE_VTAB build. (check-in: 3978c084a5 user: dan tags: trunk)
15:51
Remove old files related to wapptest.tcl from test/ directory. (check-in: dd3e7b5bca user: dan tags: trunk)
15:49
Avoid blocking as part of passive checkpoint operations, even if SQLITE_ENABLE_SETLK_TIMEOUT is defined. (check-in: e5ecc404ca user: dan tags: trunk)
15:34
Remove an unused/invalid test from the wasm suite. (check-in: 916ae89874 user: stephan tags: trunk)
14:55
Add declarations for new fts5 API functions. (check-in: b8a48cc18c user: dan tags: fts5-token-data)
12:56
JNI build fixes for platforms where the jint type is not the same as int, as reported in forum post 9089d2049a. (check-in: b32b087327 user: stephan tags: trunk)
00:45
Suppress harmless UBSAN warnings about memory overflow in OP_AddImm. The exact same machine code is generated by GCC. (check-in: b0594383b9 user: drh tags: trunk)
00:12
Changes a no-op call to freeP4() into an assert(). (check-in: 32a7b1bd4d user: drh tags: trunk)
2023-11-07
20:56
Add -DSQLITE_ENABLE_SETLK_TIMEOUT=1 to a release-test configuration. (check-in: cd3e38fb0f user: dan tags: trunk)
20:11
Fix an assert() that could fail within calls to sqlite3_snapshot_open() in SQLITE_ENABLE_SETLK_TIMEOUT builds. (check-in: 84634bc268 user: dan tags: trunk)
19:39
An attempt to work around compilation errors on MinGW reported in forum post 9089d2049a. (check-in: d5658a3ee4 user: stephan tags: trunk)
19:30
Refactor MBCS/UTF-8 translation to avoid extra allocations, supporting non-formatted (faster) output. Some code cleanup. Wrap .system/.shell command exection with restoration of startup console mode and renewing mode setup. Changes to make legacy MBCS build work better (than legacy did, even with --no-utf8.) (check-in: d5e88fcde5 user: larrybr tags: console-io-lib)
19:15
Update the documentation to the sqlite3_set_auxdata() and sqlite3_get_auxdata() routines to make it clear that they do not work as one might expect when they are called during query planning, instead of during query execution. The JSON routines misuse those interfaces, so add a special flag to JSON routines that prevents them from being invoked during query planning. (check-in: 36259009c5 user: drh tags: branch-3.44)
19:03
Update the documentation to the sqlite3_set_auxdata() and sqlite3_get_auxdata() routines to make it clear that they do not work as one might expect when they are called during query planning, instead of during query execution. The JSON routines misuse those interfaces, so add a special flag to JSON routines that prevents them from being invoked during query planning. Fix for the problem in forum post a655ee159eca1ea5. (check-in: 796a23f9ee user: drh tags: trunk)
19:02
Do not allow aggregate or window functions in UPDATE statements. (Leaf check-in: fce776ccce user: dan tags: no-aggregates-in-update)
17:15
JNI: during static init record whether the current JVM supports JNI-level access to java.nio.ByteBuffer raw memory, and add sqlite3_jni_supports_nio() to query that. (check-in: fb8dbb77a4 user: stephan tags: trunk)
15:56
Add Sqlite.prepareMulti() to JNI wrapper1, for preparing multiple statements from a single input. (check-in: e4670d68b5 user: stephan tags: trunk)
13:44
Diverse minor cleanups in the JNI pieces. (check-in: 35233dd900 user: stephan tags: trunk)
13:22
Flesh out [7a63b5b65a79] to be able to build JNI with or without SQLITE_ENABLE_COLUMN_METADATA. (check-in: fcee41b3d4 user: stephan tags: trunk)
02:41
Get dependencies into make recipes. Get legacy console I/O (-DSHELL_LEGACY_CONSOLE_IO) working. Due to movement of MBCS/UTF-8 translation into traditional stream I/O simulacra, the input translation does not happen the same way. (It works the same, but fails differently and a bit better.) Added printf() and fputs() look-alikes, and made CLI use them. (check-in: 1721dc6a43 user: larrybr tags: console-io-lib)
2023-11-06
21:57
Add -DSQLITE_ENABLE_COLUMN_METADATA to the JNI build, as per forum post 9205518c0568fdf0. Add tests for the functions that flag enables so that the build will fail if that flag is missing. (check-in: 7a63b5b65a user: stephan tags: trunk)
19:16
Merge latest trunk into this branch. (check-in: 3a869cf1f8 user: dan tags: fts5-token-data)
19:08
Update the srctree-check.tcl script and child script so that they can be run on a read-only source tree and so that if any inconsistencies are found, the script returns a non-zero exit code and thus halts the build. (check-in: a0cc7e8117 user: drh tags: branch-3.44)
19:01
Fix an fts5 problem where a transaction consisting of (a) a DELETE on rowid X, (b) a prefix query, and (c) an INSERT on rowid X, could corrupt the index. (check-in: 34af510a56 user: drh tags: branch-3.44)
18:40
Fix an fts5 problem where a transaction consisting of (a) a DELETE on rowid X, (b) a prefix query, and (c) an INSERT on rowid X, could corrupt the index. (check-in: c2058a045b user: dan tags: trunk)
16:32
Merge trunk changes into this branch. (check-in: ac5570614e user: dan tags: fts5-token-data)
15:31
Move console_io lib to its own subdirectory, etc/consio . (check-in: 1d0583f2eb user: larrybr tags: console-io-lib)
15:15
Some renaming, warnings cured, and more coding convention conformance. (check-in: 58815f0ad2 user: larrybr tags: console-io-lib)
13:24
Add an fputs() equivalent to console I/O lib, and use in CLI. (check-in: d661f90724 user: larrybr tags: console-io-lib)
03:09
Cause CLI to use console_io library. (check-in: bf66a7c1d3 user: larrybr tags: console-io-lib)
00:15
Make MSVC accept it, too. (Cannot use static const int as part of a constant expression?) (check-in: bb278d2496 user: larrybr tags: console-io-lib)
2023-11-05
23:55
Make it buildable. Pull test program from testee. Zap stray fprintf(). (check-in: 2b850aca1e user: larrybr tags: console-io-lib)
19:42
Input working. No line-editor provisions yet. (WIP, but suitable for testing.) (check-in: e8568b1d92 user: larrybr tags: console-io-lib)
04:20
Add incremental blob I/O support to JNI wrapper1. (check-in: 7f1c76fe93 user: stephan tags: trunk)
03:37
JNI wrapper1 normalizeSql() now throws UnsupportedOperationException, instead of returning null, if built without SQLITE_ENABLE_NORMALIZE. Remove SQLITE_PREPARE_NORMALIZE from the JNI interface because it's a legacy no-op. (check-in: d081a12669 user: stephan tags: trunk)
01:55
Add authorizer support to JNI wrapper1. (check-in: 773f987386 user: stephan tags: trunk)
01:39
Add progress-handler support to JNI wrapper1. Correct the return type of the extended_result_codes() JNI binding and expose it to wrapper1. (check-in: 6c0acfdce2 user: stephan tags: trunk)
01:21
Setup, takedown, mode set and output working. No input yet. (WIP) (check-in: dfea85be1f user: larrybr tags: console-io-lib)
01:14
Add update-hook support to JNI wrapper1. (check-in: 6c584cf271 user: stephan tags: trunk)
00:48
Add commit/rollback hook support to JNI wrapper1. (check-in: ff3d44fe42 user: stephan tags: trunk)
00:02
Add busy-handler support to JNI wrapper1. (check-in: dcf579ab2d user: stephan tags: trunk)
2023-11-04
23:37
Bind collation and collation-needed to JNI wrapper1 and correct the callback return type for collation-needed callbacks in the lower-level JNI binding. (check-in: 0f67314068 user: stephan tags: trunk)
22:47
Wrap the sqlite3_backup API in the JNI wrapper1 API. (check-in: 3ee6cc29d2 user: stephan tags: trunk)
21:51
Reimplement auto-extensions in Java for use with the JNI wrapper1 API. (check-in: 14ed4c6453 user: stephan tags: trunk)
21:44
Ensure that the YYYY-MM-DD input to date and time functions has been normalized prior to returning a result. Forum post 6bb476897e. (check-in: b692eb8ccb user: drh tags: trunk)
16:01
Expose context_db_handle() to the JNI wrapper1 API and clean up some related tests. (check-in: c23123af7d user: stephan tags: trunk)
13:37
Rework the JNI wrapper1 variants of status() and db_status() to be more Java-esque. (check-in: 40ad392067 user: stephan tags: trunk)
13:16
Bind the bool-flag sqlite3_db_config() variants to the JNI wrapper1 API. (check-in: b5cdcb9279 user: stephan tags: trunk)
12:53
Bind the trace API to the JNI wrapper1 API and add a way to map the native-level db/stmt types to their high-level counterparts (required for translating callbacks such as tracers). (check-in: 702910e0d1 user: stephan tags: trunk)
02:22
Define interface between project command-line apps and a console I/O "library". (check-in: 64abef8314 user: larrybr tags: console-io-lib)
2023-11-03
18:45
Back out the ALWAYS inserted late yesterday. The fuzzer discovered a counter-example. (check-in: 570635575c user: drh tags: trunk)
17:20
Fix a case where adjacent tokens are handled incorrectly by the fts5 snippet() function. (check-in: 8f5e9c192f user: dan tags: trunk)
13:00
Wrap more of the stmt API behind the JNI wrapper1 API. (check-in: 8fea23dc3a user: stephan tags: trunk)
12:09
Enhance the JSONB lookup routine with logic to apply edits. The new logic is currently unused and hence untested but does not create any regressions. (check-in: b12110276f user: drh tags: jsonb)
11:53
Bind the sqlite3_keyword_...() and sqlite3_compileoption_...() family of functions to the JNI wrapper1 API. (check-in: b27242414d user: stephan tags: trunk)
11:41
Update the tool/srctree-check.tcl script so that it verifies that autoconf has been run following edits to VERSION. (check-in: 52ab3deba4 user: drh tags: trunk)
11:35
Merge all the latest trunk fixes and enhancements into the jsonb branch. (check-in: b089bf4637 user: drh tags: jsonb)
10:15
Update the version number to 3.45.0 to begin the next development cycle. (check-in: 15b618e92a user: drh tags: trunk)
2023-11-02
22:39
Mark a branch made always-true by the penultimate check-in with ALWAYS(). (check-in: 268b5984a4 user: drh tags: trunk)
22:11
In the previous check-in, use a u32 instead of an int, to make it easier to prove that the integer will never overflow. (check-in: 51002079e0 user: drh tags: trunk)
21:02
Fix a spurious "misuse of aggregate function" error that could occur when an aggregate function was used within the FROM clause of a sub-select of the select that owns the aggregate. e.g. "SELECT (SELECT x FROM (SELECT sum(t1.a) AS x)) FROM t1". Forum post c9970a37ed. (check-in: 4470f657d2 user: dan tags: trunk)
18:22
Add the "remove_diacritics" option to the fts5 trigram tokenizer. (check-in: 0d50172477 user: dan tags: trunk)
18:10
Fix a problem with amalgamation builds on this branch. (Closed-Leaf check-in: 8f046c82c9 user: dan tags: fts5-trigram-diacritics)
18:08
Merge latest JNI pieces into trunk. (check-in: e8c97faec3 user: stephan tags: trunk)
17:31
Add the "remove_diacritics" option to the fts5 trigram tokenizer. (check-in: 83da80135b user: dan tags: fts5-trigram-diacritics)
13:10
One more tweak to tool/srctree-check.tcl so that a complete build can be accomplished from a read-only source tree. (check-in: cba9f0601c user: drh tags: trunk)
12:05
Update the srctree-check.tcl script and child script so that they can be run on a read-only source tree and so that if any inconsistencies are found, the script returns a non-zero exit code and thus halts the build. (check-in: 58eb5440d7 user: drh tags: trunk)
11:14
Update the version number to 3.44.1 (check-in: 34f23c3d0d user: drh tags: branch-3.44)
11:08
CLI to compile with older MSVC compiler. (check-in: c8bf4f7a6a user: drh tags: branch-3.44)
11:04
CLI to compile with older MSVC compiler. (check-in: c89f75f8ee user: larrybr tags: trunk)
2023-11-01
20:09
Remove some outdated JNI docs. (Closed-Leaf check-in: 52aef3d015 user: stephan tags: jni-post-3.44)
19:35
Update the windows build documentation to provide the exact command used to build the DLLs that appear on the download page. (check-in: 3524a8914c user: drh tags: trunk)
14:33
Fix testrunner.tcl so that it accepts a relative path as an argument to the --zipvfs switch. (check-in: c1ed7ed022 user: dan tags: trunk)
14:12
Bring the jsonb branch up-to-date with version 3.44.0 changes. (check-in: a420a4f7ff user: drh tags: jsonb)
12:50
Version 3.44.0 for the reuse-schema branch. (check-in: 30403ce26c user: drh tags: reuse-schema)
12:45
Version 3.44.0 for the bedrock branch. (check-in: 827cf67fb3 user: drh tags: bedrock)
12:41
Version 3.44.0 for the wal2 branch (check-in: 470152fd28 user: drh tags: wal2)
12:38
Version 3.44.0 for the begin-concurrent branch. (check-in: 291d6b4403 user: drh tags: begin-concurrent)
11:23
Version 3.44.0 (check-in: 17129ba1ff user: drh tags: trunk, release, major-release, version-3.44.0)
2023-10-31
17:40
Fix harmless compiler warnings in test code. (check-in: d1895dd8f5 user: drh tags: trunk)
17:39
Fix a problem with SQLITE_ENABLE_FTS5 builds of the non-amalgamation testfixture.exe in Makefile.msc. (check-in: 544091cc0f user: dan tags: trunk)
2023-10-30
23:20
Remedy CLI non-UTF8 handling detection flaw noted in a forum post. (check-in: a4c7954b93 user: larrybr tags: trunk)
23:05
Merge the latest 3.44.0 release candidate changes into the reuse-schema branch. (check-in: 28f9a55928 user: drh tags: reuse-schema)
23:04
Remedy CLI non-UTF8 handling detection flaw noted in a forum post. (Leaf check-in: 2666b80d2c user: larrybr tags: win-utf8-io-split)
22:57
Merge the latest 3.44.0 release candidate patches into the bedrock branch. (check-in: 956b03a462 user: drh tags: bedrock)
21:46
Merge the latest 3.44.0 changes into wal2 branch. (check-in: 4f65ae2df0 user: drh tags: wal2)
21:39
Merge the latest trunk changes into the begin-concurrent branch. (check-in: 9fa405eb5a user: drh tags: begin-concurrent)
20:35
Update the autoconf/Makefile.msc so that it aligns with Makefile.msc. (check-in: c4f724de27 user: drh tags: trunk)
19:50
Dodge a nuisance warning from MSVC in CLI use of Prepared Statement Scan Status. (Yes, C rules are fine.) (check-in: 166c96d91d user: larrybr tags: trunk)
19:03
Add a cast to i64 for an integer in an sqlite3OsWrite() offset calculation. The cast is not strictly necessary, but it helps human readers see that the code is correct. (check-in: 7564ff1ba2 user: drh tags: trunk)
18:48
Fix another comment typo. No code changes. (check-in: 3203256c02 user: drh tags: trunk)
18:17
Add FTS5 to default Makefile.msc builds. And UNKNOWN_SQL_FUNCTION and STMT_SCANSTATUS to default Makefile.msc shell builds. (check-in: e41fde2fdb user: dan tags: trunk)
18:09
Make the new sqlite3_get_clientdata() and sqlite3_set_clientdata() interfaces available to run-time loaded extensions. (check-in: 8fc9aa0f89 user: drh tags: trunk)
18:07
Fix problems with previous commit on Makefile.msc. Also some win32-specific test failures in fts5misc.test. (Closed-Leaf check-in: 527f2237a6 user: dan tags: shell-build-changes)
17:56
Fix typo in a comment. No code changes. (check-in: 424ef9550a user: drh tags: trunk)
17:13
Add FTS5 to default Makefile.msc builds. And UNKNOWN_SQL_FUNCTION and STMT_SCANSTATUS to default Makefile.msc shell builds. (check-in: bf99ebba23 user: dan tags: shell-build-changes)
16:38
Predicate Windows CLI UTF-8 console I/O on a runtime capability check rather than an OS version check. (check-in: 0058ea6a69 user: larrybr tags: trunk)
13:56
Predicate Windows CLI UTF-8 console I/O on a runtime capability check rather than an OS version check. (check-in: f89d062f88 user: larrybr tags: win-utf8-io-split)
12:09
With SQLITE_ENABLE_BLOCK_ATOMIC_WRITE enabled, if a transaction is committing and there is a new freelist page at the end of the database file which would cause the database file size to grow, ensure that page is written and the file size grows before the block-atomic-write commits. Fix for the problem identified by forum post 3bd8d497b2 (check-in: c9fdd6805d user: drh tags: trunk)
2023-10-29
20:05
For Windows CLI, institute a version check to determine default MBCS or UTF-8 translation on console I/O. (Default to UTF-8 where known possible.) (check-in: ddc6ead645 user: larrybr tags: trunk)
19:55
Simplify code slightly. Improve comments on added code and its use. (check-in: 046c842966 user: larrybr tags: win-utf8-io-split)
16:26
Properly close a handle. Use a putatively effective runtime test for UTF-8 console I/O capability. (This makes the version test useful mainly for avoiding a warning that UTF-8 console I/O could not be setup.) (check-in: dc91eb9172 user: larrybr tags: win-utf8-io-split)
00:24
Condition default UTF-8 console I/O for Windows builds on OS version 10 or more. This is to accomodate an IsValidCodePage() API which may happily report CP_UTF8 as a valid code page when the stock console cannot, in fact, do UTF-8 I/O. (check-in: 6b9b2a886f user: larrybr tags: win-utf8-io-split)
2023-10-28
16:19
Limit the range of integer unix timestamps in date4.test, since some systems (RaspberryPI) cannot deal with timestamp values that exceed pow(2,31). (check-in: 765290663b user: drh tags: trunk)
11:53
Update documentation for sqlite3_errmsg() to try to make it clear that if the schema of a database contains table names or similar with invalid UTF, then the error message generated by SQLite might also contain invalid UTF. No changes to code. (check-in: 33ba13c7c4 user: drh tags: trunk)
11:40
Since SQLite considers NaN to be like NULL and NULL sorts before any integer, make sure the sqlite3IntFloatCompare() routine reports that the integer argument is larger if the floating-point argument is NaN. (check-in: de1cf31a34 user: drh tags: trunk)
04:11
Remove the SQLITE_MAX_ALLOCATION_SIZE flag (set to 536mb) from the WASM build because it can unduly limit db exports via sqlite3_serialize(), as reported in forum post 75524f7342c1ba45. (check-in: 747b4e3a9e user: stephan tags: branch-3.43)
03:56
Merge trunk into jni-post-3.44 branch. (check-in: 9670eb2496 user: stephan tags: jni-post-3.44)
03:54
Remove the SQLITE_MAX_ALLOCATION_SIZE flag (set to 536mb) from the WASM build because it can unduly limit db exports via sqlite3_serialize(), as reported in forum post 75524f7342c1ba45. It now defaults to whatever sqlite3.c uses, which is currently just shy of 2gb. (check-in: f6e1137919 user: stephan tags: trunk)
2023-10-27
23:02
Add missing docs for the JS Worker1 export method, as pointed out in forum post 75524f7342. (check-in: a7b267bd11 user: stephan tags: jni-post-3.44)
21:44
Fix cosmetic flaw in SQLITE_TXN_* doc. (no code change) (check-in: 72d7c18f80 user: larrybr tags: trunk)
21:05
Export sqlite3_get_autocommit() to WASM and add tests for it. (check-in: 7cb6d3cd39 user: stephan tags: jni-post-3.44)
18:16
Disable two rtree test cases for Linux-i686. We do not have that platform available for testing. The test cases work on all other 64-bit and 32-bit platforms that we have at hand. So there is no way for us to debug this problem. Better to disable the test. forum post ffcbf789b5386573. (check-in: fed4d6e90b user: drh tags: trunk)
17:40
Add makefile targets for fuzzcheck-asan and fuzzcheck-ubsan. (check-in: 27fc14303a user: drh tags: trunk)
15:31
Fix to Makefile.in so that the "tool-zip" target can be run from outside the source tree. (check-in: cd118da9db user: dan tags: trunk)
13:59
Cleanup shell.c comments. Hide -utf8 option, as it is undocumented and accepted only for backward compatibility. No functional changes except for -help content. (check-in: 3a87995560 user: larrybr tags: trunk)
10:49
Back out [2904fcbeebba9189], mostly. The page bitmap is needed even for a partial integrity_check in order to avoid an infinite loops while walking the database. (check-in: dd6e03b373 user: drh tags: trunk)
2023-10-26
18:41
In CLI for Windows builds, do MBCS/UTF-8 translation independently for input and output. (And cure an MSVC warning.) (check-in: 80f0b6f9c7 user: larrybr tags: trunk)
18:24
Handle utf8 mode restore better for redirected input or output. Move utf8 mode setup to before any invocation command processing. Sync w/trunk. (Leaf check-in: 59452e7c72 user: larrybr tags: win-utf8-io-split)
17:30
Enhance the "tool-zip" makefile target on Windows so that it uses more universally available commands to build the ZIP archive. Fix other minor issues with that makefile target at the same time. (check-in: d2f2f91265 user: drh tags: trunk)
16:59
Further enhancements to make sure the correct returnning trigger is run when there are nested INSERT RETURNING statements. (check-in: d83405e870 user: drh tags: trunk)
16:05
Handle the case where a virtual table xBestIndex method called while coding a trigger fired by a top-level statement with a RETURNING clause prepares a statement that also contains a RETURNING clause. (check-in: ec6bffa3b0 user: dan tags: trunk)
15:12
Ready for merge, but could use testing on some dusty old Windows machines. (check-in: 2022061562 user: larrybr tags: win-utf8-io-split)
12:59
Deal with the case of a reentrant INSERT on a virtual table where the outer INSERT has a RETURNING clause but the inner does not. dbsqlfuzz 3ac9a1e33f676254e02c0f297263b0a7aeb0c1a5. Fault injected by [a2449bcc2c71d0f4], first appearing in release 3.40.1. (check-in: 8aba78e4db user: drh tags: trunk)
2023-10-25
20:44
Cure a harmless MSVC warning. (no other changes) (check-in: 02234ef85e user: larrybr tags: win-utf8-io-split)
20:27
In CLI for Windows builds, do MBCS/UTF-8 translation independently for input and output. (WIP) (check-in: 47b13e66e0 user: larrybr tags: win-utf8-io-split)
20:08
Updates to the mktoolzip.tcl to work on win32. (Closed-Leaf check-in: 166b775bb5 user: dan tags: win32-mktoolzip)
19:06
Fix harmless compiler warnings. (check-in: cc8efe0494 user: drh tags: trunk)
18:53
Provide dummy parameter names in the prototype for the new xIntegrity method of the sqlite3_module object. (check-in: 131374d720 user: drh tags: trunk)
18:35
Fix minor problems with the "showwal" utility program. Add a missing header to the zipfile.c extension. (check-in: 7b3f866e61 user: drh tags: trunk)
17:26
Test module altermalloc3.test requires DQS_DDL to be turned on. (check-in: c4d02f4b07 user: drh tags: trunk)
15:30
Add an ALWAYS on branch that was made always-true by the DISTINCT ORDER BY fix. (check-in: c29ebcb0be user: drh tags: trunk)
14:54
When doing a DISTINCT aggregate that contains an ORDER BY, only the arguments to the aggregate need to be distinct, not the ORDER BY terms. (check-in: d2dbbdf719 user: drh tags: trunk)
12:58
Fix the amalgamation generator so that when it is reporting the Fossil version number in the header comment of the amalgamation, it does not elide the first hex digit of the version hash. (check-in: cc66f526bd user: drh tags: trunk)
10:37
Enhance the new xIntegrity method of the sqlite3_module object with new parameters that provide the name of the table being checked and a flag to indicate a "quick_check". Based on feedback in forum post 965c0d02ea. (check-in: bc8afa3f15 user: drh tags: trunk)
2023-10-24
19:56
Implement check-in [477577120b897bf1] differently, so as not to disrupt non-standard build configuration. See forum post c11523ca2df50293. (check-in: 50448fe4fd user: drh tags: trunk)
19:05
Fix a test case in fts3corrupt4.test by bypassing the fast-prng. (check-in: 540ce72b50 user: dan tags: bedrock)
17:45
Test cases for COLLATE and NULLS FIRST/LAST in the ORDER BY for an aggregate function. (check-in: 641f928feb user: drh tags: trunk)
16:16
New #ifdefs to fix certain compile-time options. (check-in: 688c6279ef user: drh tags: trunk)
16:06
Fix a problem with the fts5 highlight() and snippet() functions when used with tokenizers like "trigram" that output overlapping tokens. Forum post 63735293ec. (check-in: e952db86fa user: dan tags: trunk)
15:53
Fix a problem with the fts5 highlight() and snippet() functions when used with tokenizers like "trigram" that output overlapping tokens. Forum post 63735293ec. (Closed-Leaf check-in: d570aa02f7 user: dan tags: fts5-trigram-snippet-fix)
15:11
Spelling improvements, in comments only (check-in: 9ee25eeaf1 user: larrybr tags: trunk)
15:07
Spelling improvements, in comments only (check-in: 65bcc58378 user: larrybr tags: trunk)
11:06
Fix various harmless scan-build warnings. (check-in: 54be9af446 user: drh tags: trunk)
09:57
Fix a harmless compiler warning in the expert extension. (check-in: 0c4907ddf9 user: drh tags: trunk)
2023-10-23
23:34
Fix a minor typo in the previous. (check-in: 9d388267e4 user: drh tags: trunk)
23:34
Add notes on how to build a statically linked version of sqlite3_analyzer.exe. (check-in: 99ce9939c8 user: drh tags: trunk)
19:51
Add the sqlite3res file to the Windows build of sqldiff.exe so that the resulting binary shows the SQLite icon. (check-in: c696a4963b user: drh tags: trunk)
19:27
Merge the latest trunk enhancments into the reuse-schema branch. (check-in: 52262ac920 user: drh tags: reuse-schema)
16:08
Merge latest changes from wal2 into this branch. (check-in: c9c9bc097a user: dan tags: bedrock)
16:00
Merge latest trunk changes into this branch. (check-in: 3a6479d3f9 user: dan tags: wal2)
15:48
Merge latest trunk changes into this branch. (check-in: c5ef898a79 user: dan tags: begin-concurrent)
15:30
Avoid attempting to delete a file while it is open in test script sessionalter.test. (check-in: f20b4a96f7 user: dan tags: trunk)
15:24
Revert an earlier change that considered passing a NULL callback to sqlite3_preupdate_hook() to be a misuse. This is required to clear the preupdate hook altogether. (check-in: 1bf6f0f3bb user: dan tags: trunk)
15:23
New test cases for PRAGMA integrity_check against FTS4 and FTS5 tables. (check-in: 3950d20c3a user: drh tags: trunk)
14:24
Fix mutex1.test to take into account that the prng mutex is not (as of [c84e4483cb4]) taken when writing a header to an in-memory journal. (check-in: c9e37417fc user: dan tags: trunk)
13:46
Improved error messages for the xIntegrity method in FTS3/4 and FTS5. (check-in: df69abc082 user: drh tags: trunk)
12:16
Fix sqlite3ExprDup() alignment assertions so that they work on 32-bit platforms. (check-in: 143f95efc7 user: drh tags: trunk)
11:41
Temporarily disable the ext/expert/expert1-6.0 test, which does not work on my configurations. (check-in: a41b903d0f user: drh tags: trunk)
11:34
Add an SQLITE_OMIT_VIRTUALTABLE block around the new vtab code in "PRAGMA integrity_check". (check-in: ab99eb2b6c user: dan tags: trunk)
11:18
Add missing test file fts3fault3.test. Should have been part of [7f41d700]. (check-in: 92e64ab63a user: dan tags: trunk)
02:08
Merge fixes for expert handling of UDFs and other UD-whatevers. (check-in: b5d7d07df5 user: larrybr tags: trunk)
02:06
Add missing JNI sqlite3_result_subtype() binding. (check-in: ac920b5386 user: stephan tags: jni-post-3.44)
02:01
Fix the shell1.test test so to align with the new behavior imposed by [bce807cd48763273] - that backslash escapes only work without quoted arguments in dot-commands of the CLI. (check-in: 0db82b4281 user: drh tags: trunk)
01:55
Clear some picky warnings, sync w/trunk. (Closed-Leaf check-in: ee58425904 user: larrybr tags: expert-enhancement)
01:34
Add many more high-level wrappers to the JNI wrapper1 API. Correct the JNI bindings of sqlite3_strglob/strlike() to compare as the core lib does if their glob argument is NULL and the other is not. (check-in: 55c4b1dc40 user: stephan tags: jni-post-3.44)
2023-10-22
23:44
Fix [f5c01676fd281e93] so that it always preserves 8-byte alignment for Expr objects. Add new assert() statement to verify this. (check-in: 678a9728dc user: drh tags: trunk)
23:36
Add high-level window function wrapper to the JNI wrapper1 interface. (check-in: a27e747123 user: stephan tags: jni-post-3.44)
17:27
Do not do backslash escape processing on any unquoted strings in dot-commands in the CLI - on Windows or on posix-like systems either one. This brings the processing into alignment with the documentation, allows backslash-delimited filenames on Windows (as long as they are unquoted), and causes the CLI to work the same with regard to backslash escapes on both Windows and posix. (check-in: bce807cd48 user: drh tags: trunk)
14:25
JNI: flesh out and simplify the APIs for binding and fetching arbitrary Java objects. (check-in: 89fecf1dd8 user: stephan tags: jni-post-3.44)
13:54
JNI: add column-get bindings to the wrapper1 Stmt class and extend the AggregateFunction tests to ensure that the aggregate context is honored. (check-in: 60a0e82db2 user: stephan tags: jni-post-3.44)
13:09
Add API_ARMOR to sqlite3_clear_bindings(). (check-in: f3fb4d345b user: stephan tags: jni-post-3.44)
12:43
Add JNI wrapper1.SqliteStmt.bindXyz() APIs. (check-in: 54fce9bf04 user: stephan tags: jni-post-3.44)
12:33
JNI: improve UB protections in sqlite3_bind_blob/text/text16(). (check-in: 5c8383210a user: stephan tags: trunk)
11:11
Add missing ScalarFunction.java to JNI build. (check-in: b8258103fb user: stephan tags: trunk)
2023-10-21
22:31
In the CLI, do not translate unquoted backslash escapes on dot-commands as that can damage filename arguments. (check-in: 4a0e2c6e17 user: drh tags: trunk)
20:34
Remove a branch that cannot affect the outcome from FkNoAction processing in fkey.c. Replace it with an assert(). (check-in: 023a9dbe83 user: drh tags: trunk)
20:03
Replace the patch at [5cb61c6788d7c017] with a better way to avoid failing PRAGMA integrity_check if a module implementation is not loaded, as the use of suppressErr can lead to problems. (check-in: be5737ee4f user: drh tags: trunk)
19:51
Check-in contains stray edit. (Closed-Leaf check-in: cbea52e9ef user: drh tags: mistake)
18:12
Fix a problem allowing a COMMIT following an OOM to cause fts3/4 corruption. (check-in: 7f41d7006d user: dan tags: trunk)
16:33
Add the SQLITE_TESTCTRL_FK_NO_ACTION test control. Make it available in the CLI. Fix a minor problems with SQLITE_CHANGESETAPPLY_FKNOACTION in sessions. (check-in: 91b64c6a70 user: drh tags: trunk)
16:25
Extra comment on the implementation of SQLITE_TESTCTRL_FK_NO_ACTION, warning about the need to reset the schema in order for the setting change to take full effect. (Closed-Leaf check-in: a50a333ae1 user: drh tags: fknoaction)
15:21
Add missing "finish_test" to sessionnoact.test. (check-in: 9a1d37f547 user: dan tags: fknoaction)
15:04
Fix a problem with SQLITE_CHANGESETAPPLY_FKNOACTION and the foreign-key-trigger-cache. (check-in: 95304ec6c9 user: dan tags: fknoaction)
12:54
Add SQLITE_TESTCTRL_FK_NO_ACTION. (check-in: 563cf5f782 user: drh tags: fknoaction)
11:43
Adjust an EXPLAIN QUERY PLAN output in scanstatus2.test to account for a different loop order taken due to the removal of the view-scan optimization. (check-in: 9deb8b6915 user: drh tags: trunk)
11:34
Compress the content of the status line in testrunning.tcl so that all the same status information appears but with less punctuation and with "zero" values omitted, so that the status line will fit comfortably on an 80-column terminal window. (check-in: 9663513116 user: drh tags: trunk)
11:13
Create the new string_agg(X,Y) aggregate function which is an alias for the two-argument group_concat(X,Y) function, for compatibility with SQL-Server and PostgreSQL. (check-in: a3b3df8a9e user: drh tags: trunk)
11:06
Avoid an unnecessary malloc() for the page usage bitmap when running a partial integrity_check. (check-in: 2904fcbeeb user: drh tags: trunk)
11:00
Fix a test case broken by the previous check-in. (Leaf check-in: 1e61864c3b user: drh tags: string_agg)
2023-10-20
20:19
Add string_agg(X,Y) as an alias for group_concat(X,Y), for compatibility with SQLServer and PG. (check-in: b91c19bf26 user: drh tags: string_agg)
19:59
Fix a problem allowing a COMMIT following an OOM to cause fts5 corruption. (check-in: fba3129d13 user: dan tags: trunk)
19:06
Fix PRAGMA integrity_check so that it does not raise an error if the schema contains a CREATE VIRTUAL TABLE that does not have its module loaded. (check-in: 5cb61c6788 user: drh tags: trunk)
18:09
Omit some redundant calls to strlen() used to find the size of Expr.u.zToken in sqliteExprDup(). This inefficiency was seen while working on the previous check-in, and I thought it best to fix it while it was fresh in mind. (check-in: b7a84eff5d user: drh tags: trunk)
17:15
Improvements to the sqlite3ExprDup() logic for faster performance and better run-time error detection. This check-in fixes the 5x oversize memory allocation bug from [f371e4c0f8ea73ae] as well as all other known issues that result from handing the ORDER BY clause of an aggregate function off of the pLeft pointer of the Expr object. (check-in: f5c01676fd user: drh tags: trunk)
17:06
Add the SQLITE_CHANGESETAPPLY_FKNOACTION flag to sqlite3session.h, for passing to sqlite3changeset_apply_v2() to cause all foreign key constraints to behave as if they were declared NO ACTION. (check-in: fc9f82ea08 user: dan tags: trunk)
15:47
Simplifications and optimizations to the Expr object duplication logic. The 5x multiplier crutch from [f371e4c0f8ea73ae] is still present. More fixes are still needed. (check-in: 56142a7816 user: drh tags: trunk)
14:05
Omit an unused constant from sessionfuzz.c to prevent a compiler warning. (check-in: a0cf7e24f9 user: drh tags: trunk)
12:23
Correct the opfs-sahpool VFS's xGetLastError() method to return the previous error code, not 0, on success. (check-in: 95a1dde631 user: stephan tags: trunk)
11:44
Merge trunk into the wasm-xGetLastError branch. (Leaf check-in: 48a9bd649d user: stephan tags: wasm-xGetLastError)
10:18
Use sqlite3ParserAddCleanup() instead of calling sqlite3ExprListDelete() directly when disposing of an unused ORDER BY in an aggregate function, to avoid disrupting ALTER TABLE data structures. (check-in: d083e42086 user: drh tags: trunk)
2023-10-19
21:05
Ensure that when an ephemeral cursor is reopened with a second invocation of to OP_OpenEphemeral, the sequence counter is reset and the cache marked as stale. Fix for [9cdc5c46]. (check-in: d4bfa8d21a user: drh tags: branch-3.28)
20:46
Merge recent trunk enhancements into the jsonb branch. (check-in: f47a8d0a20 user: drh tags: jsonb)
20:17
Increase the size of some variables associated with the PMA sorter in order to avoid any possibility of a signed integer overflow. (check-in: 72597cee00 user: drh tags: branch-3.43)
20:06
Remove a faulty assert() that was added just a few check-ins ago by [8b6fffb552c30f9c]. (check-in: 18e7c826f0 user: drh tags: trunk)
19:57
For TK_ORDER expression nodes to always be full-size. (check-in: a5c73b46f4 user: drh tags: trunk)
19:19
Fix an adverse interaction between the new aggregate ORDER BY logic and the expression compressor. Update 2023-10-20: Memory allocations were multiplied by a factor of 5 on line 1575 of expr.c. This was a debugging change that I neglected to remove prior to checking it. That change masks deeper problems that will be solved in later check-ins. (check-in: f371e4c0f8 user: drh tags: trunk)
19:08
In the TreeView logic (used for debugging only) do not show unnecessary fields of the Window object when a function has a FILTER. (check-in: d2c6b82c34 user: drh tags: trunk)
18:23
Fix an fts3 problem caused by reducing the page size using the undocumented "nodesize" option, then running an incremental-merge. (check-in: 2875dcb1ac user: dan tags: trunk)
18:07
Simplify the Expr compression logic slightly by adding the new EP_FullSize property to expressions that are exceptions to the rule and should not be compressed. (check-in: d5ae82ec52 user: drh tags: trunk)
13:35
Simplification to sqlite3GetVarint32() to avoid confusing gcov. (check-in: 89862c51ad user: drh tags: trunk)
13:00
Fix an error in a debugging routine used inside of testcase(). Does not appear in production. Problem discovered by scan-build. (check-in: c6c9d7ed6d user: drh tags: trunk)
12:36
New assert() statements to help verify correctness of the ORDER BY aggregate code. (check-in: 8b6fffb552 user: drh tags: trunk)
12:12
Fix the sqlite3ReferencesSrcList() routine so that it recognizes columns in the ORDER BY clause of an aggregate. Fixes a problem with [634286828dad873d] discoverd by dbsqlfuzz. (check-in: 3d26f1aaa4 user: drh tags: trunk)
01:26
Add support for ORDER BY on the argument list of aggregate functions. (check-in: 634286828d user: drh tags: trunk)
01:09
Merge the latest changes from trunk. (Closed-Leaf check-in: d18bc40014 user: drh tags: agg-orderby)
00:25
Fix a false-positive in run-time error checking. (check-in: cd63eec075 user: drh tags: trunk)
2023-10-18
23:48
Changes for test coverage. (check-in: ddfa09c603 user: drh tags: agg-orderby)
22:53
Test case for alter column that is used in the ORDER BY of an aggregate. (check-in: 648ddb3a8e user: drh tags: agg-orderby)
22:27
Deal with an OOM condition while processing aggregate ORDER BYs. (check-in: b6d44427ec user: drh tags: agg-orderby)
22:03
Make sure all terms of the ORDER BY within an aggregate go through aggregate analysis. Do not attach an aggregate ORDER BY to a window function. (check-in: 16f3805514 user: drh tags: agg-orderby)
19:44
Basic test cases. (check-in: 6cccf86c36 user: drh tags: agg-orderby)
19:07
Fix one minor error in order to get all legacy tests to pass. (check-in: 5a885139c4 user: drh tags: agg-orderby)
18:11
ORDER BY on aggregates seem to work, at least for simple smoke tests. Lots more testing is needed though. Surely there are many bugs. (check-in: 64c12a835b user: drh tags: agg-orderby)
13:58
Basic error checking. Resolve symbols in the aggregate ORDER BY expressions. (check-in: c83a53a574 user: drh tags: agg-orderby)
13:18
Enhance the parser so that it can accept an ORDER BY clause on a function invocation. For this incremental check-in, the ORDER BY clause is currently ignored. (check-in: 3a98ff24bf user: drh tags: agg-orderby)
2023-10-17
23:35
JS: replace one errant reference to 'self' with 'globalThis' and remove a separate dead-code 'self' reference. (check-in: da1a47932e user: stephan tags: trunk)
19:33
Fix a harmless compiler warning about variant types for a pointer function. (check-in: 37ff0d8e7f user: drh tags: trunk)
18:59
Make a new branch in the SqlExec opcode reachable by tests. (check-in: 023ad470b6 user: drh tags: trunk)
18:28
Omit an unreachable branch when SQLITE_ENABLE_API_ARMOR is not defined. (check-in: 5f8b807b56 user: drh tags: trunk)
17:53
Changes to sqlite3IntFloatCompare() in an attempt to better measure branch coverage in the face of aggressive compiler optimization. (check-in: 5781d043ff user: drh tags: trunk)
13:47
Fix a JSON bug introduced in 3.43.0. The problem occurs when doing a JSON_EXTRACT() on an array element that was added by JSON_SET() without first reparsing. (check-in: 3161c2cdc9 user: drh tags: branch-3.43)
13:41
Fix a JSON bug introduced by the optimization of [df099ad713011b67] and first appearing in 3.43.0. The problem occurs when doing a JSON_EXTRACT() on an array element that was added by JSON_SET() without first reparsing. Reported by forum post fc0e3f1e2a. (check-in: e5099c549a user: drh tags: trunk)
11:57
Enhance the documentation of sqlite3_deserialize() to make it clear that the input database may not be in WAL mode. Forum post a7e272cee9ac469f (check-in: e754789971 user: drh tags: trunk)
10:47
When an I/O or similar error occurs during a transaction with journal_mode=MEMORY, attempt to rollback before closing the journal, as all rollback information is forgotten when a memory rollback journal is closed. (check-in: 1d67f75de2 user: drh tags: trunk)
02:15
Harden API_ARMOR checks for sqlite3_stmt_scanstatus_v2(). (check-in: d3f38e813b user: stephan tags: trunk)
2023-10-16
16:04
JNI: add aggregate function support to the wrapper1 API. (check-in: 15b28b340a user: stephan tags: trunk)
14:31
JNI: add scalar UDF support to the wrapper1 API. (check-in: a850535766 user: stephan tags: trunk)
13:04
JNI: initial draft (untested - requires more infrastructure first) of a UDF argument/result-handling interface which completely hides the C-style API from the client. (check-in: 43b10a5cf9 user: stephan tags: trunk)
10:38
JNI: cleanups in Tester2 and update the jar makefile target to account for [9fcdf96adca2]. (check-in: abc82bf4b8 user: stephan tags: trunk)
10:27
JNI: move the C-style API parts into the capi subpackage and the higher-level wrapper into (tentatively) wrapper1, so that CApi.java can support multiple independent higher-level wrappers without name collisions, and CApi can be made public but have the option to be elided from wrapper-level javadocs for wrappers which do not wish to expose it. (check-in: 9fcdf96adc user: stephan tags: trunk)
08:10
JNI: after calling a Java-side UDF, zero-out the pointer of the Java-side sqlite3_context and sqlite3_value array entries to avoid misbehavior if a client makes the mistake of holding a reference to one of those objects. (check-in: 9fc3104f76 user: stephan tags: trunk)
08:05
JNI: do not expose SQLITE_OPEN_... flags which are specific to VFSes. (check-in: 2b4e53d8be user: stephan tags: trunk)
2023-10-15
13:36
Change 3 instance of #if SQLITE_ENABLE_API_ARMOR to #ifdef for consistency with how it is normally used. (check-in: dd766eeb59 user: stephan tags: trunk)
13:32
JNI: enable all optional components in the default build and fix a test broken by an option toggle. (check-in: 5586a9df58 user: stephan tags: trunk)
13:25
Correct non-void return from sqlite3_preupdate_hook() when API_ARMOR is enabled. Broken by [6cb77503484e]. (check-in: 40f5906f48 user: stephan tags: trunk)
12:17
Merge trunk into the wasm-xGetLastError branch. (check-in: 0239e374d2 user: stephan tags: wasm-xGetLastError)
12:11
Add coverage of more functions to SQLITE_ENABLE_API_ARMOR builds. (check-in: 6cb7750348 user: stephan tags: trunk)
2023-10-14
20:44
JNI: extend [baf220e78a46246c47] to include macro-generated sqlite3_value_...() bindings. (Closed-Leaf check-in: ad34b2542e user: stephan tags: api-armor-audit)
20:34
JNI: make the sqlite3_value_...() family of bindings resistent to NULL arguments. (check-in: baf220e78a user: stephan tags: api-armor-audit)
20:24
Do not allow an ALTER TABLE ADD COLUMN on a STRICT table if the added column contains a DEFAULT clause that would violate the type of the added column. (check-in: 75b075863e user: drh tags: trunk)
20:01
Add API_ARMOR support to the scanstatus family of functions. (check-in: 2f3101f016 user: stephan tags: api-armor-audit)
17:34
Merge the version-3.43.2 changes into the begin-concurrent-3.43 branch. (Leaf check-in: f3fb30af03 user: drh tags: begin-concurrent-3.43)
17:14
The rtreecheck() SQL function should not invoke BEGIN or COMMIT as this causes issues for statement transactions. (check-in: b7b2e30b57 user: drh tags: trunk)
16:57
JNI: add a missing result code check to sqlite3_bind_value(stmt, null). (check-in: f1a357f42d user: stephan tags: api-armor-audit)
16:56
JNI: add missing sqlite3_bind_value() and minor memory-safety-related cleanups. (check-in: 3900031763 user: stephan tags: api-armor-audit)
16:29
Add API_ARMOR support to the sqlite3_result_...() family of functions and sqlite3_bind_zeroblob64(). (check-in: afabe3e35a user: stephan tags: api-armor-audit)
14:53
More API_ARMOR additions. (check-in: 78ebf838f6 user: stephan tags: api-armor-audit)
13:24
Add column name to API_ARMOR check in sqlite3_blob_open() to avoid a null-pointer deref. (check-in: 0114a6622a user: stephan tags: api-armor-audit)
12:45
Revert [f6cd88e6b234] - the NULL callback case is perfectly legal. (check-in: 718ab67607 user: stephan tags: api-armor-audit)
12:40
Bring JNI-side sqlite3_last_insert_rowid() and sqlite3_table_column_metadata() in line with the core's NULL handling. (check-in: c2afc1c2a2 user: stephan tags: api-armor-audit)
12:20
Extend API_ARMOR checks on sqlite3_commit/rollback_hook() to include a check for the callback pointer. (check-in: f6cd88e6b2 user: stephan tags: api-armor-audit)
12:19
Add missing JNI bindings for sqlite3_db_readonly() and sqlite3_db_name(). Code-adjacent tweaks for the API_ARMOR audit. (check-in: e5eace747a user: stephan tags: api-armor-audit)
10:54
Bug fix in sqlite3_analyzer: for databases larger than 1GiB, take into account the lock-byte page when calculating the number of freelist pages. (check-in: 26a909cdd3 user: drh tags: trunk)
2023-10-13
22:19
Earlier detection of a host of errors in CREATE TABLE, such the CREATE TABLE statement itself fails, rather than generating an error on the first attempted use of the created table. (check-in: 348fa7aaf7 user: drh tags: trunk)
19:41
Apply the correct affinity to DEFAULT values that are TRUE or FALSE. (check-in: 4958db70c8 user: drh tags: trunk)
18:29
Do not allow triggers on shadow tables under defensive mode. (check-in: 44b932ff16 user: drh tags: trunk)
15:59
Fix an fts5 problem caused by a 'rebuild' followed by a DELETE in secure-delete mode. (check-in: 18be505c62 user: dan tags: trunk)
13:49
Immediately fail a CREATE TABLE statement that attempts to create a table that has a generated column loop. Legacy allows the table to be created but the table would not be usable for anything. (check-in: 3237bf9641 user: drh tags: trunk)
12:57
Actually prevent PRAGMA writable_schema=ON from being set in defensive mode, rather than just preventing it from functioning. (check-in: 2b574d9e7e user: drh tags: trunk)
12:48
Round one of an audit for SQLITE_ENABLE_API_ARMOR for functions exposed by JNI and those functions missing armor, as reported in several forum posts. (check-in: 8c25c4b18a user: stephan tags: api-armor-audit)
01:39
Avoid potential overflow in hex(). See forum post 7ac0c9c5ea. (check-in: 2e968114fd user: larrybr tags: trunk)
2023-10-12
20:51
Make sure virtual tables have been connected before trying to invoke the xIntegrity method during PRAGMA integrity_check. (check-in: 4a4eccb681 user: drh tags: trunk)
20:03
Fix a problem with an fts5 secure-delete on a rowid/term pair that follows a legacy delete of the same pair. (Leaf check-in: f5913e7632 user: dan tags: branch-3.42)
19:46
Fix a problem with an fts5 secure-delete on a rowid/term pair that follows a legacy delete of the same pair. (check-in: 579aea0c28 user: dan tags: trunk)
18:46
Enable SQLITE_VTAB_INNOCUOUS for FTS3, FTS5, and RTREE. (check-in: f34c533b6c user: drh tags: trunk)
18:09
Add test case for [29937081]. (check-in: d3b983edf7 user: dan tags: trunk)
17:47
Merge fixes from trunk into the jsonb branch. (check-in: a760bd7bcc user: drh tags: jsonb)
17:41
Make sure the journal file is closed when transitioning into MEMORY journal mode, to avoid an assertion fault in the new sqlite3_randomness() avoidance code added by [c84e4483cb44f827]. (check-in: 29937081a9 user: drh tags: trunk)
15:12
CLI to check for rare prepare failures. See forum post 5be6395182. (check-in: 286d1e8012 user: larrybr tags: trunk)
2023-10-11
21:08
Add the tokendata=1 option to ignore trailing token-data when querying an fts5 table. (check-in: 122935182a user: dan tags: fts5-token-data)
20:37
Unconditionally force use of SQLITE_ENABLE_API_ARMOR in the WASM and JNI builds. Their corresponding test suites still work. (check-in: c11394b50d user: stephan tags: trunk)
17:34
Fix the use of an uninitialized value that occurs when doing a json_insert() of a string value that contains embedded U+0000 characters. (check-in: 7dcd9cfedc user: drh tags: branch-3.43)
17:24
Fix the use of an uninitialized value that occurs when doing a json_insert() of a string value that contains embedded U+0000 characters. (check-in: d3c0cbb909 user: drh tags: trunk)
17:21
Fix the use of an uninitialized value that occurs when doing a json_insert() of a string value that contains embedded U+0000 characters. (check-in: fc5ee9e51a user: drh tags: jsonb)
13:52
Add (prepare, step, reset, finalize) parts of the JNI level-2 stmt wrapper and associated tests. (check-in: a7082f186f user: stephan tags: trunk)
13:34
Simplification to sqlite3ApiExit(). Generates identical machine code, but easier for humans to read. (check-in: 793bbfa5af user: drh tags: trunk)
13:19
Fix a missing zero-terminator on a string when processing JSON aggregates into JSONB. (check-in: fb81d570a3 user: drh tags: jsonb)
12:44
Fix an issue that can arise when processing corrupt JSONB. (check-in: e50045c222 user: drh tags: jsonb)
12:21
Improved robustness against corrupt JSONB. (check-in: 0fbda92bb0 user: drh tags: jsonb)
11:42
Fix an assertion fault in json_patch() that can occur if the patch JSON is malformed JSONB. Report the malformed JSONB instead. (check-in: a72d54645c user: drh tags: jsonb)
2023-10-10
23:02
Improved robustness in the decoding of JSON5 text escape sequences found in malformed JSONB. (check-in: 35e0108af2 user: drh tags: jsonb)
18:55
Fix an off-by-one error in the changes from the previous check-in on the jsonb branch. (check-in: 216191b113 user: drh tags: jsonb)
18:42
Improved robustness when translating corrupt JSONB into JSON text. (check-in: 0caa320d90 user: drh tags: jsonb)
18:32
Fix a potential buffer overrun due to corrupt JSONB. (check-in: 5cbb861fc6 user: drh tags: jsonb)
18:04
Fix bugs uncovered by the fuzzer. (check-in: c96eb7fb61 user: drh tags: jsonb)
17:34
Merge the latest trunk enhancements into the jsonb branch. (check-in: f93f16c94d user: drh tags: jsonb)
15:34
Fix a bug in the mkautoconfamal.sh script so that the "snapshot-tarball" and "amalgamation-tarball" makefile targets work again when run from outside of the source tree. (check-in: 3a79cf25e3 user: drh tags: branch-3.43)
15:33
Fix a bug in the mkautoconfamal.sh script, introduced by check-in [3308fdda4b81c110] so that the "snapshot-tarball" and "amalgamation-tarball" makefile targets work again when run from outside of the source tree. (check-in: 65ccf5fef8 user: drh tags: trunk)
13:55
Merge the 3.43.2 release changed into the reuse-schema-3.43 branch. (Leaf check-in: 5fefa147ca user: drh tags: reuse-schema-3.43)
12:16
Start adding tests for the second JNI layer. (check-in: 0177f4dfe8 user: stephan tags: trunk)
12:14
Version 3.43.2 (check-in: 4310099cce user: drh tags: release, branch-3.43, version-3.43.2)
2023-10-09
22:50
Use snprintf() in place of sprintf() in a debugging function in the CLI. (check-in: 88a118905b user: drh tags: branch-3.43)
22:45
Use snprintf() in place of sprintf() in a debugging function in the CLI. (check-in: 5e5e4d2b49 user: drh tags: trunk)
18:33
Systematize the names of some of the translation function in the JSON implementation. (check-in: db44bd1d62 user: drh tags: jsonb)
17:54
Avoid calling sqlite3_randomness and taking the PRNG mutex when writing a journal header in "journal_mode=memory" mode. (check-in: c84e4483cb user: dan tags: trunk)
14:59
Add a TCL script that does various verification checks on the source tree to make sure that generated code has been updated correctly. (check-in: dc8681c486 user: drh tags: branch-3.43)
14:56
Add a TCL script that does various verification checks on the source tree to make sure that generated code has been updated correctly. (check-in: 1f1a358af7 user: drh tags: trunk)
14:47
Fix a compiler warning caused by the previous check-in. (check-in: 7e8768bf8b user: drh tags: trunk)
14:12
Change the TEA version number to 3.43.2 also. (check-in: 170ab8d102 user: drh tags: branch-3.43)
14:10
Update the version number to 3.43.2. (check-in: 0bd1199bb3 user: drh tags: branch-3.43)
14:05
Turn on SEH by default when building using MSVC. (check-in: f57e8275cf user: drh tags: trunk)
12:57
Merge the latest trunk fixes and enhancements into the jsonb branch, and especially the JSON cache spill UAF fix. (check-in: 9422c24f4a user: drh tags: jsonb)
12:51
Fix a potential UAF caused by JSON parser cache spill. (check-in: 5b09212ac0 user: drh tags: branch-3.43)
12:46
Fix a potential UAF caused by JSON parser cache spill. Forum post b25edc1d46. (check-in: a163fecca9 user: drh tags: trunk)
12:45
Flesh out the error state captured by SqliteException.java. Doc additions. (check-in: 5c5397ff15 user: stephan tags: trunk)
12:39
Fix harmless compiler warning in the test module for sessions. (check-in: 3d5ec99397 user: drh tags: trunk)
12:10
In the VDBE trace output (available under -DSQLITE_DEBUG only), identify register values that hold a refernce-counted string. (Closed-Leaf check-in: 53d5c50462 user: drh tags: mistake)
11:46
Add JNI Sqlite and SqliteException classes. Add Tester2.java as the main test app for the high-level API. (check-in: 6acf52be7a user: stephan tags: trunk)
10:44
Minor JNI doc and public/private cleanups. (check-in: c49d36ece2 user: stephan tags: trunk)
10:30
Rename SQLite3Jni to CApi to (A) reduce name prefix collisions with incoming classes and (B) align with its counterpart in the JS build. Remove the Canonical annotation because (A) the new code separation will inherently make that distinction and (B) the line between truly canonical and semi-canonical (e.g. differing in signature overloads) is blurry enough that consistent use of that annocation is becoming an unnecessary burden. (check-in: ca216b4486 user: stephan tags: trunk)
2023-10-07
23:35
Remove some unnecessary code. Report errors for invalid JSONB input on an extract. (check-in: cbea16c29e user: drh tags: jsonb)
19:46
The return from sqlite3_value_blob() in jsonFuncArgMightBeBinary() might be a NULL pointer. Check for that case. (check-in: 7b52b266b0 user: drh tags: jsonb)
19:40
Improved detection of malformed JSONB when parsing it into a JsonNode array. (check-in: ed99a78841 user: drh tags: jsonb)
19:05
Fix the jsonbChangePayloadSize() routine so that it shifts the payload in order to always render the most compact encoding of the payload size. This is necessary as sometimes (as discovered by dbsqlfuzz) the payload size can grow significantly due to json_insert() or json_replace(). (check-in: 8d6d04ca97 user: drh tags: jsonb)
17:50
Improvements to error messages returned when the ->> operator fails. (check-in: 2f3388f14c user: drh tags: jsonb)
17:29
Fix a problem with sqlite3changegroup_schema() and patchsets. (check-in: c4ab4200dc user: dan tags: trunk)
16:32
Add the sqlite3changegroup_schema() API. To allow changegroup objects to upgrade the schema of a changeset/patchset under some circumstances. (check-in: 03f9e50b15 user: dan tags: trunk)
16:07
Fix a problem with the changes on this branch and tables that use an implicit primary key. (Closed-Leaf check-in: 1f9d10235f user: dan tags: session-alter)
11:37
Merge the memory leak fix from trunk. (check-in: 358de1b09f user: drh tags: jsonb)
11:36
Improved error messages from search on JSONB. (check-in: 96cfdc31e3 user: drh tags: jsonb)
09:13
Report unknown JSONB element type when parsing JSONB into JsonNode. (check-in: 1f4d326825 user: drh tags: jsonb)
08:15
Add a test case to prevent a regression of the leak fixed in the previous trunk check-in. (check-in: f99ff655d0 user: drh tags: trunk)
08:11
Fix a resource leak: sqlite3_blob_reopen() was failing to invoke the xDel() distructor on a register when it sets that register to the new rowid. (check-in: 83846af5df user: drh tags: branch-3.43)
08:00
Fix a resource leak: sqlite3_blob_reopen() was failing to invoke the xDel() distructor on a register when it sets that register to the new rowid. This was never a problem prior to the large-column cache of [771fe35074b50b8d] as that destructor was always a no-op. dbsqlfuzz cd96368deaece480fb94d42427dde053737a650e. (check-in: 545edd5ecf user: drh tags: trunk)
2023-10-06
23:02
Correct handling of "raw" strings in JSON. This requires three test-case changes in TH3 to add double-quotes to the path outputs from json_tree(). The new behavior is correct, I believe. (check-in: ab2bf3e359 user: drh tags: jsonb)
22:16
Improved error detection for JSONB inputs. (check-in: 6945e11aa4 user: drh tags: jsonb)
20:39
Add missing source code comments and fix other issues with the new code on this branch. (check-in: df39fbe9ab user: dan tags: session-alter)
19:46
Update this branch with latest changes from the trunk. (check-in: 897e926a5e user: dan tags: session-alter)
19:01
Add tests for the sqlite3changegroup_schema() API. (check-in: 5dab481c10 user: dan tags: session-alter)
18:21
Incremental improvements to the JSONB logic. (check-in: fe326829c2 user: drh tags: jsonb)
15:35
Fixes to rendering JSON5 extensions encoded as JSONB. (check-in: 5a17e4479a user: drh tags: jsonb)
14:59
Fix compiler warnings. (check-in: 5227add3c8 user: drh tags: jsonb)
14:52
Improvements to error handling. (check-in: b41dd237fb user: drh tags: jsonb)
13:05
Merge compiler warning fixes from trunk into the jsonb branch. (check-in: 6409d30791 user: drh tags: jsonb)
12:55
Remove an unused parameter from the recomputeColumnsNotIndexed() routine in order to squash a harmless compiler warning. (check-in: 9bf4bfd680 user: drh tags: trunk)
12:51
Ensure that all fields of static sqlite3_module objects are explicitly initialized, in order to hush-up nuisance compiler warnings. (check-in: f3b3d712d6 user: drh tags: trunk)
12:22
Remove an unused static variable from shell.c.in in order to silence a harmless compiler warning. (check-in: 477577120b user: drh tags: trunk)
12:15
Increase the size of some variables associated with the PMA sorter in order to avoid any possibility of a signed integer overflow. Chromium fuzzer issue 1489025. (check-in: dc3be3af47 user: drh tags: trunk)
00:06
Improvements to coping with malformed JSONB. (check-in: 563cde404c user: drh tags: jsonb)
2023-10-05
23:05
Better error detection when doing a lookup on a JSONB. (check-in: 6e8e0eedbf user: drh tags: jsonb)
22:52
Improvements to comments. No changes to code. (check-in: ac74d78776 user: drh tags: jsonb)
20:17
Turn an unreachable branch into an assert(). (check-in: 0f75199160 user: drh tags: jsonb)
19:09
Add the sqlite3changegroup_schema() API. To allow changegroups to handle differences in schema created by ALTER TABLE ADD COLUMN. (check-in: 309deee2dd user: dan tags: session-alter)
18:33
Fix the parsing of non-standard "Infinity" and "NaN" values from text into JSONB. (check-in: df1fbbeb83 user: drh tags: jsonb)
18:09
Change the json_valid(X) routine to return true whenever X is a blob that could plausibly be a valid JSONB. (check-in: 425f0b85a6 user: drh tags: jsonb)
17:52
Fix the text-to-JSONB parser so that it handles some JSON5 floating point literals correctly. (check-in: 564edb3b6d user: drh tags: jsonb)
16:33
Slightly stricter testing for when a BLOB is valid JSONB: If the element is a null, true, or false, its payload size must be zero. (check-in: 487781be8a user: drh tags: jsonb)
15:05
Fix a memory leak following a syntax error in jsonb(). (check-in: bf4b36eda8 user: drh tags: jsonb)
15:02
Allow the PG-style syntax for the PATH operand on the right-hand side of the ->> and -> operators. (check-in: bae5071b08 user: drh tags: jsonb)
11:22
Merge trunk enhancements into the jsonb branch. (check-in: be5907b648 user: drh tags: jsonb)
11:09
Improved detection of corrupt databases in balance_nonroot(). dbsqlfuzz d1cf013c50a620b68c2a5bd240d29afd65e5f58e. (check-in: f4aa1bfc97 user: drh tags: branch-3.43)
11:06
Improved detection of corrupt databases in balance_nonroot(). dbsqlfuzz d1cf013c50a620b68c2a5bd240d29afd65e5f58e. (check-in: a2464bbb82 user: drh tags: trunk)
11:04
Do not squelch exceptions from SAHPool VFS importDb() - rethrow them. Problem reported in forum post c80fc578809b80a3. (check-in: 325bcdea4a user: stephan tags: trunk)
10:35
Remove a stray blank line from the beginning of btree.c. No functional code changes. (check-in: c89983dcfc user: drh tags: trunk)
2023-10-04
21:15
Allow a session object to generate a changeset, even if columns were added to one of the tables using ALTER TABLE ADD COLUMN while the changeset was being collected. (check-in: a3f435eccf user: dan tags: session-alter)
12:49
The Makefile distinguishes between tcl8.4 and tcl8.5. Some makefile targets require tcl8.5, but others (ex: "sqlite3.c", "shell.c", and "sqlite3") require only tcl8.4. (check-in: 770308db97 user: drh tags: trunk)
11:52
Modify the main makefile so that it fails with an error if the tclsh found by ./configure is not tclsh 8.5 or later. Forum post 4380363682708ece. (check-in: 1765f3b5a0 user: drh tags: trunk)
11:04
Hard fail the ./configure script if it is unable to find a working tclsh. Forum post 4380363682708ece. (Closed-Leaf check-in: 9f6402831b user: drh tags: error-no-tclsh)
2023-10-03
22:40
Fix a memory leak in JSON group-aggregates when the output is JSONB. (check-in: 08e7db138b user: drh tags: jsonb)
21:54
Fix a bug in the jsonReturnFromBlob() function that causes a positive result for a negative value for when a JSON integer is too large and needs to be converted into double. (check-in: dca684da0c user: drh tags: jsonb)
20:58
Fix problems in the "json" output column of the json_tree() virtual table for the case when the input is JSONB. (check-in: fefa4475c4 user: drh tags: jsonb)
20:01
Augment the jsonBlobChangePayloadSize() routine so that it tries to shift content in order to render the payload size in its minimal form. (Closed-Leaf check-in: 562e8e7b08 user: drh tags: jsonb-opt1)
19:37
Improved handling of OOM while translating the JsonNode representing into the BLOB representation. (check-in: ef5956710b user: drh tags: jsonb)
19:06
Fixes for fts5 expression parser module to allow embedded 0x00 bytes in tokens. (check-in: 342c8d0783 user: dan tags: fts5-token-data)
17:07
Update fts5_decode() to allow for embedded 0x00 bytes in tokens. (check-in: e051120067 user: dan tags: fts5-token-data)
11:36
Merge the latest trunk enhancements into the jsonb branch. (check-in: e6406a9865 user: drh tags: jsonb)
10:59
Fix a problem in the JSONB parser that comes up following an OOM. (check-in: 355acfb188 user: drh tags: jsonb)
10:43
Fix an issue with the use of jsonb_group_array() and jsonb_group_object() when used by window functions. (check-in: 808bd349ba user: drh tags: jsonb)
2023-10-02
23:56
New test cases for JSONB. (check-in: 6d4aeff575 user: drh tags: jsonb)
20:16
Fix jsonb_insert() so that it does not behave like jsonb_set(). New test cases added. (check-in: 54197149b8 user: drh tags: jsonb)
17:12
JNI: when fetching text-or-blob/length pairs, fetch the text-or-blob first, then the length, as the API docs suggest. (check-in: e4f9d3946f user: stephan tags: trunk)
17:06
Fix the length of the string in the new concat() and concat_ws() functions. (check-in: 3252432265 user: drh tags: trunk)
15:56
Remove an ALWAYS() from a branch that can in fact be false following an OOM fault. (check-in: 3a1feb1c46 user: drh tags: trunk)
15:37
Revisit the opfs-sahpool's handling of sqlite3_vfs::xGetLastError(). This impl seems to be in line with what the library internal expects but it requires more testing (via purposely-induced I/O errors) before merging. (check-in: c53fd21f68 user: stephan tags: wasm-xGetLastError)
14:51
New test cases for JSONB. (check-in: d624c31e5c user: drh tags: jsonb)
14:44
Pointer-casting-related fixes for JNI on 32-bit ARM (pi4 armv7l). (check-in: 54441039ae user: stephan tags: trunk)
13:35
Allow json_replace() to accept JSONB arguments as the new value. (check-in: 95eb7b37fa user: drh tags: jsonb)
13:20
Improvements to error handling for BLOB inputs on JSON. (check-in: 14f20ecbfa user: drh tags: jsonb)
12:40
Gather forward references into a single place for the JSON code. Allow JSONB arguments to json_array() and json_object() and similar. (check-in: c352201b8c user: drh tags: jsonb)
2023-10-01
18:59
Fix problems following OOM in JSONB parsing. (check-in: 0d8cd6b5fb user: drh tags: jsonb)
12:15
Add JNI binding for sqlite3_normalized_sql(). (check-in: 2532e5662a user: stephan tags: trunk)
11:53
Make JNI binding of sqlite3_value_frombind() return boolean instead of int and add tests for it. (check-in: 906e2ed3e9 user: stephan tags: trunk)
2023-09-30
18:13
Changes so that fts5 can handle tokens with embedded '\0' bytes. (check-in: c027c092c4 user: dan tags: fts5-token-data)
17:08
Fix JNI binding to compile without SQLITE_ENABLE_PREUPDATE_HOOK. Add build option to disable all optional ENABLE flags. (check-in: c04022b740 user: stephan tags: trunk)
16:50
Restore the trunk version of sqlite3_user_data(). Fix the xColumn for virtual tables so that the sqlite3_context contains a valid but NULL user data pointer. (check-in: 15ffd932fe user: drh tags: jsonb)
16:19
Make all SQLite3Jni methods which take a void-pointer-as-long-int argument explicitly package-private, as they're always for internal use only even if SQLite3Jni is eventually made public. (check-in: 5e387275f6 user: stephan tags: trunk)
14:48
JNI: rename sqlite3_errmsg16() to sqlite3_errmsg(), as the 16 suffix is superfluous there. (check-in: df25b21689 user: stephan tags: trunk)
14:34
Expose sqlite3_stmt_busy() to JNI. (check-in: 5733aa5fe3 user: stephan tags: trunk)
14:34
Finish adding jsonb_ versions for all JSON routines that return JSON text. (check-in: 6daa7b6969 user: drh tags: jsonb)
13:16
Correct an undefined-value deref in the JS bindings, triggered by passing invalid args and then tripping over an undefined value while trying to report that. Reported in forum post dd42df144651d779. (check-in: 1545f0f735 user: stephan tags: branch-3.43)
13:13
Correct an undefined-value deref in the JS bindings, triggered by passing invalid args and then tripping over an undefined value while trying to report that. Reported in forum post dd42df144651d779. (check-in: fd46325407 user: stephan tags: trunk)
10:59
Make (almost) all SQLite3Jni.sqlite3_... members public but make the SQLite3Jni class package-private, which has the same foot-protection effect but makes it much simpler to patch SQLite3Jni to publicize the interface later. Remove some of the extraneous foot-shooting protection from indidivual functions, in lieu moving it to the still-pending higher-level interfaces. (check-in: 082b86683e user: stephan tags: trunk)
10:37
Merge in and close jni-ptr-passing branch. The remaining pointer-passing adaptation can be done incrementally without affecting the interface. (check-in: 7927c42410 user: stephan tags: trunk)
10:31
Make all native JNI sqlite3_...() bindings package-private as a foot-shooting protective measure (higher-level pre-native-call argument validation is largely pending). Move SQLTester.java and TesterFts5.java into the org.sqlite.jni package so that they can access the being-tested methods. (Leaf check-in: ec82f7251a user: stephan tags: jni-ptr-passing)
09:41
More work towards the new pointer-passing mechanism in JNI, and code-adjacent cleanups. (check-in: 6c63987e89 user: stephan tags: jni-ptr-passing)
2023-09-29
22:37
Update json_each() and json_tree() so that they work with JSONB inputs. (check-in: bb5e50ff56 user: drh tags: jsonb)
19:47
The u.zJContent field of JsonNode for a string or label should NOT include the quotation mark delimiters. Ever. This is an inefficiency that really ought to be fixed on trunk, but that can wait until this branch lands. (check-in: 96f545f6f8 user: drh tags: jsonb)
16:37
Additional refactoring and cleanup. (check-in: 45dd176087 user: drh tags: jsonb)
15:56
Add test case to ensure the assert() removed by [f090af77] no longer fails. (check-in: 615ab71761 user: dan tags: trunk)
15:53
Remove an incorrect assert(). (check-in: f090af775f user: drh tags: trunk)
15:18
Bad edit (Closed-Leaf check-in: c794aeb374 user: drh tags: mistake)
12:45
Improvements to comments and procedure names for clarity in the JSON implementation. (check-in: 9b620d813e user: drh tags: jsonb)
11:17
Describe the JSONB encoding in a header comment to the json.c source file. (check-in: 1c0cba3461 user: drh tags: jsonb)
2023-09-28
20:34
JNI: correct a NullPointerException triggered via SQLTester. (check-in: 0a873de76c user: stephan tags: jni-ptr-passing)
19:11
Fix some minor memory issues so that all legacy tests now pass. (check-in: 1744bfc669 user: drh tags: jsonb)
18:23
Allow the sqlite3_user_data() function to be invoked with a NULL argument or with an sqlite3_context pointer from a virtual table. It returns NULL in both cases. (check-in: 2f49687371 user: drh tags: jsonb)
17:41
Merge trunk changes into the jsonb branch for the compiler warning fixes from two days ago. (check-in: cee113cc31 user: drh tags: jsonb)
17:27
The json_extract() function now works on BLOBs without the need to translate into an array of JsonNode objects. This is much faster. (check-in: 5853065b7e user: drh tags: jsonb)
17:23
Extract directly from BLOB is now complete and appears to work. (Closed-Leaf check-in: 3de58ec994 user: drh tags: jsonb-direct-extract)
17:07
Miscellaneous bugs fixed. (check-in: 5c0815fa2e user: drh tags: jsonb-direct-extract)
15:56
Improvements to json_extract() to better support JSONB. Still not 100% working. (check-in: 8c82576176 user: drh tags: jsonb-direct-extract)
15:00
Clarify serialization API doc w.r.t. buffer validity and usage, instigated by forum post 8922e2ad2ad41205. No code changes. (check-in: b488b9fb71 user: larrybr tags: trunk)
11:19
Adapted the JNI bindings for the sqlite3_value_...() and (pre)update hook APIs to the new pointer-passing mechanism. (check-in: 4182f0275d user: stephan tags: jni-ptr-passing)
10:50
Convert the remaining macro-generated JNI bindings to the new pointer-passing mechanism. (check-in: 250fd6ae80 user: stephan tags: jni-ptr-passing)
10:27
Convert the macro-generated JNI bindings which take a db pointer to the new pointer-passing mechanism. (check-in: 5f47fb77db user: stephan tags: jni-ptr-passing)
10:20
Work toward getting json_extract() to operate directly on the BLOB, omitting the translation into a JsonNode array. (check-in: c1feba70f5 user: drh tags: jsonb-direct-extract)
2023-09-27
16:55
Performance tests for JSONB added. (check-in: 7c1be8e361 user: drh tags: jsonb)
14:41
Adapted JNI sqlite3_blob_...() and sqlite3_close...() to the new pointer-passing mechanism. (check-in: 0b22c8ef93 user: stephan tags: jni-ptr-passing)
11:01
Adapt JNI sqlite3_bind_...() bindings to the new pointer-passing method and correct the mapping of sqlite3_bind_zeroblob64() to use zeroblob64() instead of zeroblob(). Related internal API renaming. (check-in: 980d559fff user: stephan tags: jni-ptr-passing)
10:29
Add missing license headers to JNI annotation classes and extend the definition of @NotNull to include 0L as the equivalent of null to account for the current rework of how pointers are passed from Java to C. (check-in: bccdfeb9ef user: stephan tags: jni-ptr-passing)
09:58
Rework the JNI sqlite3_backup APIs to the new pointer-passing approach. (check-in: 48aeb1e2cd user: stephan tags: jni-ptr-passing)
2023-09-26
21:37
Start reworking JNI methods such that they pass void pointers from Java to C instead of passing their strongly-typed wrappers, as that is reportedly significantly faster than passing the wrapper objects to C and extracting the pointers there. There are still many, many functions left to rework for this. (check-in: 66c814dd47 user: stephan tags: jni-ptr-passing)
21:22
Fix harmless compiler warnings in the testfixture testing utility. (check-in: 5a39a02d2d user: drh tags: trunk)
19:49
JNI: implement AutoCloseable for the sqlite3 and sqlite3_stmt classes, and adjust a few tests to use it. Override Object.finalize() for sqlite3 class but not sqlite3_stmt (where it triggers a JVM crash for as-yet-unknown reasons). (check-in: b633d8bbdb user: stephan tags: trunk)
19:46
Merge partial-index constant value fixes from trunk into the jsonb branch. (check-in: 700bdbd738 user: drh tags: jsonb)
19:38
Fix yet another assert() in the partial-index constant value optimization. (check-in: f459d0806c user: drh tags: trunk)
19:30
Add in many jsonb_xxxx() interfaces. Still uses the internal JsonNode representation for transformations and search, but it does at least conform to the desired API design. Largely untested. (check-in: e6045b4e1b user: drh tags: jsonb)
19:26
Remove a NEVER() from a condition in the partial-index constant value optimization that can sometimes be true. (check-in: 63aea8c3e0 user: dan tags: trunk)
15:13
Merge all the latest trunk enhancements into jsonb branch. (check-in: ac242c4d47 user: drh tags: jsonb)
14:57
Remove unreachable code from the partial-index constant value optimization ([8d4160910d651246]). (check-in: 7ad38254c3 user: drh tags: trunk)
09:46
Remove some outdated JNI docs. (check-in: 2ca5cbbb2a user: stephan tags: trunk)
07:43
Minor JNI doc updates. No code changes. (check-in: 63687cc659 user: stephan tags: trunk)
2023-09-25
17:46
In partial index scans, if the WHERE clause implies a constant value for a table column, replace occurences of that table column with the constant. This increases the likelihood of the partial index being a covering index. (check-in: 8d4160910d user: dan tags: trunk)
17:21
Another very minor tweak to code on this branch to save cycles. (Closed-Leaf check-in: 2c805dc681 user: dan tags: partial-index-terms)
17:14
When parsing JSON text into the BLOB format, only use node type JSONB_TEXTJ for an unquoted object label if the object label contains escape sequences. (check-in: a82ebbac3c user: drh tags: jsonb)
15:25
Change the order of an if..else... in new code to make it slightly faster. (check-in: f80dc64483 user: dan tags: partial-index-terms)
14:20
Enable -Wall for the compiler on --enable-debug builds. (check-in: 63a7b52139 user: drh tags: trunk)
13:23
As a temporary measure, try to translate the BLOB JSON format into the legacy node format for processing. (check-in: 14f2e95a9e user: drh tags: jsonb)
11:12
Fix a bad interaction between LEFT JOIN, bloom filters and partial indexes. (check-in: 5775f92b31 user: dan tags: partial-index-terms)
00:39
Cause sqlite3_exper_new() to replicate UDFs and custom collations early enough to appear in virtual column expressions during schema copy. forum post e030aa4b3a (check-in: 8fc2c45558 user: larrybr tags: expert-enhancement)
2023-09-24
22:51
Make expert changes acceptable to C89. (check-in: a4f03c22ec user: larrybr tags: expert-enhancement)
19:47
Merge expert changes to accept UDFs and custom collations. (check-in: 8ead1b5ed6 user: larrybr tags: expert-enhancement)
19:38
Add minimal exercise of expert acceptance of UDFs and custom collations. (Closed-Leaf check-in: 0f6bbb79cb user: larrybr tags: expert-udfs)
19:28
Sync w/trunk prior to merge back. (check-in: 2d290854cd user: larrybr tags: expert-udfs)
19:13
Resolve the JNI FTS5 test5() failure and remove some nearby dead code. (check-in: 5655c51f10 user: stephan tags: trunk)
19:00
Give expert ability to deal with custom collations. (check-in: ac1dc1b6de user: larrybr tags: expert-udfs)
2023-09-23
21:31
Add extra tests for changes on this branch. (check-in: cb45f5b070 user: dan tags: partial-index-terms)
19:25
Avoid an error when parsing a schema that contains indexes with WHERE clauses containing unknown collation sequences. (check-in: d5dd39e37a user: dan tags: partial-index-terms)
18:52
Fix a failing assert() caused by changes on this branch. (check-in: d0e21f20bd user: dan tags: partial-index-terms)
18:49
Fix a harmless compiler warning. (check-in: 7c4210253b user: drh tags: partial-index-terms)
15:34
Add extra tests for the fts5 xPhraseQuery API. (check-in: b5edea1631 user: dan tags: trunk)
06:50
Resolve the JNI FTS5 test5() crash, caused by two unrelated typos in JNI callback signature strings. That test now fails with an expected-vs-got mismatch but no longer dies in the native code. (check-in: 0233f310bf user: stephan tags: trunk)
06:37
Remove an invalid optimization from JNI code and add a missing check check for Java-side exception. (check-in: b8151f8797 user: stephan tags: trunk)
2023-09-22
20:21
In partial index scans, if the WHERE clause implies a constant value for a table column, replace occurences of that table column with the constant. This increases the likelihood of the partial index being a covering index. (check-in: 66ed7abdfa user: dan tags: partial-index-terms)
16:20
Fix minor parse-to-BLOB bugs. (check-in: 8b53b2e660 user: drh tags: jsonb)
14:33
Add the ability to render a binary BLOB back into valid canonical JSON. (check-in: 0b70cb77a4 user: drh tags: jsonb)
14:20
Give expert ability to deal with UDFs. (check-in: 3406b05b4f user: larrybr tags: expert-udfs)
12:16
Begin adding code to render binary JSON back into text. Very incomplete. This is an incremental check-in. (check-in: b817dd865e user: drh tags: jsonb)
11:20
Improvements to the JSON binary BLOB format design. (check-in: 2c89ae5d02 user: drh tags: jsonb)
2023-09-21
18:16
Reorganize the code to put the new JSONB routines together, for easier editing. (check-in: dc23e783d4 user: drh tags: jsonb)
17:51
Initial development code for an experimental binary BLOB encoding for JSON. (check-in: 8131b3c272 user: drh tags: jsonb)
2023-09-18
20:42
Add extra tests for java Fts5ExtensionApi API. (check-in: f9d62b853c user: dan tags: trunk)
18:12
Extra tests for java Fts5ExtensionApi interface. (check-in: c923893f36 user: dan tags: trunk)
2023-09-17
16:36
Remove a NEVER() in btree.c that could actually be reached, with the approriate database corruption. (check-in: d1fd00e087 user: drh tags: trunk)
2023-09-16
18:18
Fix resolution of "rowid" and similar identifiers in queries that use nested joins. (check-in: 37ec43d92b user: dan tags: trunk)
17:11
Enable "OR IGNORE" support via SQLITE_VTAB_CONSTRAINT_SUPPORT for internal-content (not contentless or external-content) fts5 tables. (check-in: c362bde4f4 user: dan tags: trunk)
16:39
Add a NEVER() to an unreachable branch. (Closed-Leaf check-in: 6b6eb38979 user: drh tags: nested-from-rowid-expansion)
16:23
Fix minor code indentation inconsistencies. No function changes. (check-in: 05107a0ae1 user: drh tags: nested-from-rowid-expansion)
16:12
Fix a harmless compiler warning. (check-in: 9e9ff4ca3a user: drh tags: nested-from-rowid-expansion)
14:42
Further tests and assert() statements for the change on this branch. (check-in: 1c202d540a user: dan tags: nested-from-rowid-expansion)
2023-09-15
20:57
Fix resolution of unqualified "rowid" identifiers in queries with nested joins. (check-in: bbcbd3d537 user: dan tags: nested-from-rowid-expansion)
20:28
Simplifications and performance optimizations for the RTree extension. (check-in: 04a333f5fa user: drh tags: trunk)
20:04
Drop support for the view-scan optimization as it was causing multiple performance regressions. In its place, reduce the estimated row count for DISTINCT subsqueries by a factor of 8. (check-in: 796a65fa61 user: drh tags: branch-3.28)
19:51
Drop support for the view-scan optimization (check-in [609fbb94b8f01d67]) as it was causing multiple performance regressions. In its place, reduce the estimated row count for DISTINCT subsqueries by a factor of 8. (check-in: f911f1c497 user: drh tags: trunk)
19:27
Minor simplification to the DISTINCT output row count change. (Closed-Leaf check-in: 0738386d7c user: drh tags: rethink-viewscan)
19:00
Do not reduce subquery output row count estimates due to DISTINCT until after the decision of whether or not to use an index for ORDER BY has been made. (check-in: 27390051e8 user: drh tags: rethink-viewscan)
18:36
Allow expressions like "<tbl>.rowid" to refer to implicit rowid columns of tables in nested FROM clauses. (check-in: 59a1bbc69f user: dan tags: nested-from-rowid-expansion)
16:15
Experimental: Assume that a DISTINCT clause on a subquery reduces the number of rows returned by that subquery by a factor of 8. (check-in: 5a940e47d5 user: drh tags: rethink-viewscan)
14:06
The view-scan optimization was added to enhance the performance of one specific query, but it causes performance regressions on a host of others. Disable it (at least temporarily) in order to try to find an alternative way of fixing the one specific query that it was created to fix - an alternative way that does not cause performance problems for other unrelated queries. (check-in: d9625a9eaf user: drh tags: rethink-viewscan)
10:27
Do not try to convert a double into an unsigned 64-bit integer, as that does not work on all platforms. A double can only be converted into a signed 64-bit integer. (check-in: 4ce5a03e74 user: drh tags: branch-3.43)
10:24
Do not try to convert a double into an unsigned 64-bit integer, as that does not work on all platforms. A double can only be converted into a signed 64-bit integer. This is a fix for the problem reported in forum post 9f6db917e1c05d40. (check-in: ce33904641 user: drh tags: trunk)
2023-09-14
20:56
Tests for java versions of Fts5ExtensionApi.xSetAuxdata() and xGetAuxdata(). (check-in: 858fa236f8 user: dan tags: trunk)
20:02
JNI: move XTokenizeCallback interface out of the Fts5 object - that level of indirection is a holdover from when those classes were in the core package. (check-in: 385ec08570 user: stephan tags: trunk)
20:01
Add a few more tests for Fts5ExtensionApi methods. (check-in: 4ce2a7e8ed user: dan tags: trunk)
17:42
Add a test for the java version of Fts5ExtensionApi.xRowid(). (check-in: 227facf879 user: dan tags: trunk)
16:45
According to forum post 9f6db917e1, older MSVC compilers are unable to convert a double directly into an unsigned long long int, but must first go through a signed long long int. Work around this by restricting the range of doubles that are converted into long long integers so that only the lower 63 bits are used. (Closed-Leaf check-in: 0ab05871ba user: drh tags: legacy-msvc-workaround)
16:02
Document the use of OPFLAG_ISNOOP as the P2 argument on OP_Delete. No functional code changes. (check-in: d88f41b2cf user: drh tags: trunk)
14:05
Avoid a segfault in test program showdb.c that could occur when analyzing a corrupt db. (check-in: 6bf3e90687 user: dan tags: trunk)
13:10
Improve the sqlite3IntFloatCompare() routine so that it is testable. (check-in: bb221381fa user: drh tags: trunk)
10:46
Do not set the global bUseLongDouble flag based purely on sizeof(long double) being more than 8. That is a necessary but not sufficient condition to use the long double routines. Instead, do a run-time test to verify that long double really does provide extra precision. (check-in: aa999d490b user: drh tags: trunk)
01:46
Reduce the number of calls to sqlite3_mprintf() made by RTree. (Closed-Leaf check-in: f158b7d491 user: drh tags: rtree-performance)
2023-09-13
21:32
JNI: enable the fts5-customization bits by default but elide them from the docs until it's clearer where they're headed. Unrelated minor doc tweaks. (check-in: 21adb1aef2 user: stephan tags: trunk)
20:35
Improved comments on the hasHighPrecisionDouble() routine. No changes to the underlying code. (Closed-Leaf check-in: 810c635ce0 user: drh tags: runtime-longdouble-test)
20:06
Determine at start time whether or not the underlying hardware supports high-precision long double computations. (check-in: 9a854b9196 user: drh tags: runtime-longdouble-test)
17:30
Omit the Reinsert algorithm from RTree. This causes most benchmarks to run faster, at the expense of having a slightly less dense and hence larger index (example: 33 entries/node versus 34 entries/node). (check-in: b3049a1d3d user: drh tags: rtree-performance)
17:16
Doc corrections for the previous checkin. (check-in: 9ea0a9f39d user: stephan tags: trunk)
17:11
Add JNI sqlite3_prepare_multi(), based on feedback. (check-in: fa1c153472 user: stephan tags: trunk)
14:07
Performance optimization to cellContains() in RTREE. (check-in: 43cde22bf3 user: drh tags: rtree-performance)
13:12
In the ChooseLeaf algorithm of RTREE, do an initial pass through the cells of a node looking for solutions that involve no cell enlargement. Only look for the minimum cell enlargement if the enlargement is non-zero for all cells. This results in a performance improvement by reducing the number of calls to cellUnion(). (check-in: 59f0e239d1 user: drh tags: rtree-performance)
12:06
Reduce the number of calls to cellArea() in the ChooseLeaf() algorithm of rtree. (check-in: c633fe6be0 user: drh tags: rtree-performance)
11:36
Remove unused variable from the ChooseLeaf algorithm in r-tree. (check-in: fb2e4a8067 user: drh tags: rtree-performance)
11:24
Replace an if() condition in fts5 that is always true with an assert(). (check-in: 2170312c8d user: dan tags: trunk)
2023-09-12
23:21
CLI .import to accept EOF in lieu of record terminator on last field of CSV (with multiple field records), per RFC 4180. forum post 5b21c25bdfa (check-in: 6f7842f577 user: larrybr tags: trunk)
23:11
Fix a use-after-free error in fts5 that could occur when querying the "rank" column immediately after another connection changes its definition. (check-in: dfc42411e6 user: drh tags: branch-3.43)
18:36
Fix a use-after-free error in fts5 that could occur when querying the "rank" column immediately after another connection changes its definition. forum post a2dd636330. (check-in: cb54c2da52 user: dan tags: trunk)
17:49
Clarify some metrics output in Tester1.java. (check-in: 4ae7199a82 user: stephan tags: trunk)
17:06
Re-add the fts5 decls to sqlite3-jni.h, removed in a rebuild without fts5 enabled. Need a better solution for this problem. (check-in: 6f269790a0 user: stephan tags: trunk)
17:03
Rename JNI sqlite3_errmsg() to sqlite3_errmsg16() for overall constency with the text()/text16() family of functions. (check-in: c4a8d8a571 user: stephan tags: trunk)
16:33
JNI readme fix. (check-in: 7dde000efc user: stephan tags: trunk)
14:36
64-bit builds on Windows default to using UTF-8 output (as if the -utf8 command-line option had been specified.) 32-bit builds continue to use Windows code pages. There is also a new -no-utf8 command-line option to force the use of legacy code pages. (check-in: d8c7560e88 user: drh tags: trunk)
14:09
Show the "(utf8)" tag on the CLI banner in Windows if in UTF8 mode. (Closed-Leaf check-in: 822699a4d9 user: drh tags: cli-utf8)
2023-09-11
20:09
Add the -no-utf8 option to the Windows CLI to cause UTF-8 mode to be omitted. (check-in: 4cb799c690 user: drh tags: cli-utf8)
20:02
Make the -utf8 option the default behavior in the CLI on Windows for 64-bit builds. (check-in: 8b3c306def user: drh tags: cli-utf8)
15:35
Remove a harmlessly unused variable from FTS5. (check-in: 958d62c777 user: drh tags: branch-3.43)
15:28
Refuse to build amalgamation-tarball and snapshot-tarball if the TEA version number disagrees with ./VERSION. (check-in: ad5cc3758b user: drh tags: branch-3.43)
15:27
Refuse to build amalgamation-tarball and snapshot-tarball if the TEA version number disagrees with ./VERSION. (check-in: 3308fdda4b user: drh tags: trunk)
15:20
Merge in JNI's significant divergence since it adopted sqlite3_client_data(). (check-in: e8e07dbbea user: stephan tags: trunk)
15:04
Fix the TEA version number to be 3.43.1 (check-in: e00f1fedc9 user: drh tags: branch-3.43)
14:55
Add support for the sqlite3_get_clientdata() and sqlite3_set_clientdata() interfaces, to better support JNI. (check-in: 9806c0dd28 user: drh tags: trunk)
13:06
Merge version 3.43.1 into the reuse-schema-3.43 subbranch. (check-in: d96586b51b user: drh tags: reuse-schema-3.43)
12:01
Version 3.43.1 (check-in: 2d3a40c05c user: drh tags: release, branch-3.43, version-3.43.1)
2023-09-10
10:56
Roll back [84e38341aeab] because a direct pointer comparison is ill-advised when the client-data string is dynamically allocated. (Closed-Leaf check-in: 7b884832b7 user: stephan tags: db-client-data)
2023-09-09
17:53
Remove out-of-date comment regarding use of Parse.pConstExpr. (check-in: 71548f72ad user: dan tags: trunk)
15:30
Merge post-3.43.0 wal2 fixes into the bedrock-3.43 branch. (check-in: 48ecf390da user: drh tags: bedrock-3.43)
15:22
Merge post-3.43.0 wal2 fixes into the wal2-3.43 sub-branch. (Leaf check-in: f82b1a0bde user: drh tags: wal2-3.43)
11:20
In the JNI build, emit a reminder to not check in the javac-generated sqlite3-jni.h when FTS5 is disabled because changes in that feature flag result in unnecessary and large diffs in checked-in generated code. (Closed-Leaf check-in: caceb52fb5 user: stephan tags: jni-client-data)
07:52
Disable FTS5 in the JNI build by default until it can be thoroughly tested. This is mainly so that the public-facing javadoc does not include it. (check-in: 6f25f02b70 user: stephan tags: jni-client-data)
2023-09-08
20:24
Merge candidate patches for version 3.43.1 into the reuse-schema-3.43 branch. (check-in: c94be4600d user: drh tags: reuse-schema-3.43)
20:19
Merge the latest candidate patches for 3.43.1 into the bedrock-3.43 branch. (check-in: 4cefd16e6d user: drh tags: bedrock-3.43)
20:14
Merge the latest 3.43.1 candidate patches into the wal2-3.43 branch. (check-in: b4491c9fbb user: drh tags: wal2-3.43)
20:09
Merge patches queued for version 3.43.1 into the begin-concurrent-3.43 branch. (check-in: c786798506 user: drh tags: begin-concurrent-3.43)
19:35
Fix a problem with fts5 secure-delete mode causing fts5 to corrupt its records. (check-in: fb24ca17fa user: drh tags: branch-3.43)
19:32
Fix a problem with fts5 secure-delete mode causing fts5 to corrupt its records. (check-in: cc0f82a480 user: dan tags: branch-3.42)
19:18
Add extra tests for [4b60a1c3]. (check-in: 6357491bd1 user: dan tags: trunk)
18:34
Fix a problem with fts5 secure-delete mode causing fts5 to corrupt its records. (check-in: 4b60a1c358 user: dan tags: trunk)
16:49
Fix a sanitizer runtime error in wal2 code (that (1 << 31) cannot be represented as an int). (check-in: 79a920c036 user: dan tags: wal2)
16:07
Fix an apparently harmless buffer-overrun that could occur on this branch when committing multi-file transactions in wal2 mode. (check-in: ffe043ba06 user: dan tags: bedrock)
16:05
Fix an apparently harmless buffer-overrun that could occur on this branch when committing multi-file transactions in wal2 mode. (check-in: dde9fcbde1 user: dan tags: wal2)
2023-09-07
17:54
Add -DSQLITE_OMIT_LOOKASIDE=1 to the "Sanitize" configuration in testrunner_data.tcl. (check-in: a917ebf17b user: dan tags: trunk)
16:53
Enhance the ./configure script and its associated Makefile.in so that the --with-linenoise=DIR argument cause the linenoise command-line editing library located in directory DIR to be linked with the sqlite3 CLI. (check-in: 6c7822b554 user: drh tags: trunk)
16:36
Enhance the ./configure script and its associated Makefile.in so that the --with-linenoise=DIR argument cause the linenoise command-line editing library located in directory DIR to be linked with the sqlite3 CLI. (Closed-Leaf check-in: 9c4e4928b1 user: drh tags: wrong-branch)
14:10
Fix a bad assert() in FTS3. (check-in: 61d2074c69 user: drh tags: branch-3.43)
14:04
Fix a buffer overread in the sessions extension that could occur when processing a corrupt changeset. (check-in: 6009c871a4 user: drh tags: branch-3.43)
13:53
Fix a buffer overread in the sessions extension that could occur when processing a corrupt changeset. (check-in: 0e4e7a05c4 user: dan tags: trunk)
13:48
Fix a harmless compiler warning in the sqldiff.c utility. (check-in: e6390a6567 user: drh tags: trunk)
13:43
Add the "tool-zip" makefile target with the intention of using it to build the "sqlite-tool-*.zip" deliverables. deliverables. (check-in: 06e4af492d user: drh tags: trunk)
11:48
Version number to 3.43.1. (check-in: fdfe4d60b3 user: drh tags: branch-3.43)
02:13
Fix a problem with the new xIntegrity method for virtual tables, and also fix a bad assert() in FTS3 that was found by the new xIntegrity method. (check-in: 52bbf44f2d user: drh tags: trunk)
2023-09-06
17:07
Add documentation to sqlite3_get/set_clientdata() to make it clear that these are security-sensitive interfaces that should not be exposed to potential attackers. (check-in: 2837061d66 user: drh tags: db-client-data)
16:51
Add the xIntegrity method to the sqlite3_module object, thus enabling PRAGMA integrity_check to operate on virtual tables. Make use of this new method in the FTS3/4, FTS5, and RTREE virtual tables. (check-in: 2f08e7d233 user: drh tags: trunk)
16:22
Fix unreachable branches. (Closed-Leaf check-in: f00fc16394 user: drh tags: vtab-integrity-check)
14:00
Change the xIntegrity virtual table method signature so that it returns an integer error code and writes the error message into a parameter. (check-in: f1d4024a8c user: drh tags: vtab-integrity-check)
12:52
Add the xIntegrity method to the sqlite3_module object. Implement this method in RTREE, FTS3/4, and FTS5 so that "PRAGMA integrity_check" also verifies the correctness of shadow tables associated with those virtual tables. (check-in: 17bede8cde user: drh tags: vtab-integrity-check)
07:39
Move Java-side FTS5 bits into the fts5 subpackage to (A) make it easy to optionally bundle it (or not) and (B) set a precedent for puting extension APIs in their own package. (check-in: 4c773e1f33 user: stephan tags: jni-client-data)
06:54
Java FTS5 API renaming, for consistency. (check-in: 5e4cc9f386 user: stephan tags: jni-client-data)
2023-09-05
15:43
Add debugging routines to check each page for corruption after it it is manipulated by the fts5 secure-delete code, and to log said page via sqlite3_log() if it is found to be corrupt. (Leaf check-in: da4b7385a0 user: dan tags: fts5-secure-delete-debug)
15:03
Fix a few SQLITE_MISUSE returns so that they call sqlite3MisuseError(). (check-in: 93f74490fa user: drh tags: trunk)
2023-09-04
16:48
Add tests for, and source code comments to, fts5. No changes to code. (check-in: b12afff4ef user: dan tags: trunk)
12:50
Do not make assumptions about the byteorder of PowerPC processors. (check-in: 4a2498fed4 user: drh tags: trunk)
06:15
In JNI routines which set an OutputPointer.value, always do so, even on error, for consistency. (check-in: d0df62f0af user: stephan tags: jni-client-data)
05:58
Remove several unnececessary functions. (check-in: 84433c72b0 user: stephan tags: jni-client-data)
05:34
Move an internal utility class out of the public Java API. (check-in: 8e1ae3197a user: stephan tags: jni-client-data)
04:23
Expose sqlite3_bind_parameter_name() to JNI. Extend the definition of null for the @NotNull annotation, to consider closed/finalized Java-side handles wrapping C-side resources as null for its purposes. (check-in: fc34e2bfa4 user: stephan tags: jni-client-data)
2023-09-03
15:01
In mksqlite3c.tcl, pass EXTRA_SRC files through verbatim instead of applying the post-processing needed for sqlite's own source files. (check-in: 44f3d7d054 user: stephan tags: extra-src)
14:41
Add the missing sqlite3_blob_read() to [9a9945c405cf]. Elaborate on the definition of the @NotNull annotation. (check-in: 85952b4a52 user: stephan tags: jni-client-data)
14:13
Expose the sqlite3_blob_...() APIs to JNI. (check-in: 9a9945c405 user: stephan tags: jni-client-data)
12:46
Expose sqlite3_system_errno() to JNI. (check-in: bac54da29c user: stephan tags: jni-client-data)
12:32
Expose sqlite3_stmt_status() to JNI. (check-in: d266acc23e user: stephan tags: jni-client-data)
12:17
Expose sqlite3_randomness() to JNI. (check-in: de96922421 user: stephan tags: jni-client-data)
11:58
Expose sqlite3_get/set_auxdata() to JNI. (check-in: 0de3271717 user: stephan tags: jni-client-data)
11:16
Expose sqlite3_get_autocommit() to JNI. (check-in: 67391c6588 user: stephan tags: jni-client-data)
11:08
Remove some unnecessary code. (check-in: c7f9bbbbf0 user: stephan tags: jni-client-data)
10:36
Add a couple more sqlite3_backup tests. (check-in: 5c2cf89d2c user: stephan tags: jni-client-data)
10:23
Export the sqlite3_backup_...() APIs to JNI. (check-in: 865a3df5d5 user: stephan tags: jni-client-data)
09:28
Export the sqlite3_keyword_...() family of functions to JNI. (check-in: bd554db391 user: stephan tags: jni-client-data)
2023-09-02
22:07
Eliminate a redundant NK_DbAboutToClose notification. (Leaf check-in: eccffaa7ca user: larrybr tags: cli_extension)
22:00
Issue NK_DbAboutToClose notifications for any shell DB about to be closed, whether presently visible in ShellExState or not. (check-in: 8e6e54e48c user: larrybr tags: cli_extension)
21:55
Also add support for EXTRA_SRC in the Makefile for MSVC. (check-in: bfc18ef432 user: mistachkin tags: extra-src)
19:35
Performance optimization to the OP_MakeRecord opcode. (check-in: 2aef9af3dd user: drh tags: trunk)
14:36
Add sqlite3_config(SQLITE_CONFIG_LOG) support to Java and correct clearing of SQLITE_CONFIG_SQLLOG. Correct missing names in propagated UDF exception messages. (check-in: 652e2e8210 user: stephan tags: jni-client-data)
12:53
Expose sqlite3_complete() to JNI. Slightly widen the definition of "canonical" for the purposes of the @Canonical annotation. Add a few new tests. (check-in: a59fe0cd95 user: stephan tags: jni-client-data)
11:26
Duplicate code consolidation. (check-in: a1872ae959 user: stephan tags: jni-client-data)
10:18
Remove a superfluous level of indirection in the JNI internals. (check-in: 8dca6f7660 user: stephan tags: jni-client-data)
08:51
Further JNI cleanups. (check-in: 30e38173c3 user: stephan tags: jni-client-data)
08:04
Optimize sqlite3_get/set_clientdata() for the presumably common case of a static string pointer. (check-in: 84e38341ae user: stephan tags: db-client-data)
05:37
Add EXTRA_SRC build var. If set, it is treated like a list of files, each of which gets appended verbatim to sqlite3.c. The intent is to enable easily extending the amalgamation. Requested in/around forum post 3fcc655f0ac0efe8. (check-in: 934b843398 user: stephan tags: extra-src)
2023-09-01
17:51
Add a timer to the JS SQLTester app to warn if it appears that loading the module has failed, which is commonly caused by the test scripts not being compiled. (check-in: f9c1f9cad1 user: stephan tags: jni-client-data)
16:28
Correct a Tester1.java test which inadvertently created a spurious db file in the current dir. Unrelated minor cleanups. (check-in: 016bbdadbf user: stephan tags: jni-client-data)
14:20
Make the JNI-internal metrics opt-in rather than opt-out so client builds won't have them by default. Unrelated doc tweaks. (check-in: aa72d25a22 user: stephan tags: jni-client-data)
13:27
Make JNI interfaces of sqlite3_column/value_text() match the C ones better. Internal JNI cleanups and simplifications. (check-in: eb24f97253 user: stephan tags: jni-client-data)
11:30
In the OPFS VFS' importDb() methods, overwrite the header bytes 18 and 19 with 1 instead of 0. Correct a potentially leaked/unclosed SharedAccessHandle when importDb() throws. (check-in: 6795a6107b user: stephan tags: branch-3.43)
11:10
Second half of [1c532e80]. (check-in: 8ca1d815a5 user: stephan tags: trunk)
11:05
In the OPFS VFS' importDb() methods, overwrite the header bytes 18 and 19 with 1 instead of 0. Both seem to work, but 1 is correct. (check-in: 1c532e807b user: stephan tags: trunk)
10:37
Remove some newly-dead code. (check-in: dc0fa76b39 user: stephan tags: jni-client-data)
10:32
Expose sqlite3_limit() to JNI and remove the all SQLITE_ macros from the Java interface which are not exposed via sqlite3.h (SQLITE_MAX_... and SQLITE_THREADSAFE_...). (check-in: 5fe5b0a585 user: stephan tags: jni-client-data)
09:43
JNI build improvements. Rename a Java class. Get the jar target working again. (check-in: d086b7844c user: stephan tags: jni-client-data)
06:50
Expose sqlite3_stmt_explain(), sqlite3_stmt_isexplain(), and sqlite3_stmt_readonly() to JNI. Remove a mutex lock made superfluous by sqlite3_client_data(). (check-in: 208b786afe user: stephan tags: jni-client-data)
2023-08-31
19:35
Export sqlite3_txn_state() to JNI. (check-in: d732f71d0a user: stephan tags: jni-client-data)
18:34
Minor JNI cleanups. (check-in: 2e2bb841ef user: stephan tags: jni-client-data)
18:26
Do not disable unused columns in a UNION ALL sub-query if any component of the sub-query is DISTINCT. (check-in: 0d50d27197 user: drh tags: branch-3.43)
18:00
Do not disable unused columns in a UNION ALL sub-query if any component of the sub-query is DISTINCT. Problem introduced by [7c2d3406000dc8ac] and reported by forum post aeae62275ebbf584. (check-in: c84d5602ac user: dan tags: trunk)
15:24
Add convenience overloads of JNI sqlite3_table_column_metadata() to simplify usage. (check-in: faf4e6d398 user: stephan tags: jni-client-data)
14:57
Export sqlite3_(db_)free_memory() and sqlite3_table_column_metadata() to JNI. Further internals renaming for consistency and legibility. (check-in: 7c86aa3400 user: stephan tags: jni-client-data)
2023-08-30
18:51
Use mutexes to make sqlite3_set_clientdata() and sqlite3_get_clientdata() threadsafe. (check-in: 443ea20ddb user: drh tags: db-client-data)
18:45
Replace JNI's per-db-instance state tracking with the new sqlite3_set/get_clientdata(). (check-in: e7c11d34ee user: stephan tags: db-client-data)
18:38
Fix the json_array_length() function so that it gives the correct result even when its JSON input comes from json_remove(). (check-in: d63d9ee3b7 user: drh tags: bedrock-3.43)
18:34
Fix the json_array_length() routine so that it reports the correct answer even if its JSON input comes from the output of json_remove(). (check-in: 8b390d7ee0 user: drh tags: wal2-3.43)
18:27
Fix a bug in json_array_length() introduced in version 3.43.0 If the JSON input comes from json_remove(), the removed array entries are still counted as part of the array length. (check-in: db7cb6cb73 user: drh tags: branch-3.43)
18:19
Fix a bug in json_array_length() introduced in version 3.43.0 by check-in [df099ad713011b67]. If the JSON input comes from json_remove(), the removed array entries are still counted as part of the array length. Bug report in forum post 0560d5e482. (check-in: 69a635958a user: drh tags: trunk)
17:41
Remove another unreachable branch in the sqlite3_set_clientdata() logic. (check-in: 57e31e6b10 user: drh tags: db-client-data)
17:14
Remove an unreachable branch, and improve documentation of sqlite3_set_clientdata(). (check-in: 565c68adee user: drh tags: db-client-data)
16:34
Fix the AVG() and TOTAL() functions so that they work with infinities. (check-in: 9877c7c838 user: drh tags: bedrock-3.43)
16:24
Fix the AVG() and TOTAL() functions so that they work with infinitites. (check-in: 988e5308b6 user: drh tags: wal2-3.43)
16:08
Fix the AVG() and TOTAL() functions so that they work with infinitites. (check-in: 97e20716c7 user: drh tags: branch-3.43)
16:03
Fix the AVG() and TOTAL() functions (after the SUM() fix of [77d3dcd283595c52]) so that they work with infinitites. Fixes a bug introduced by check-in. [c63e26e705f5e967]. Bug reported by forum post 8960fb40cc. (check-in: 6df6f17ccb user: drh tags: trunk)
15:51
Further tweaking in both SQLTesters. (check-in: 46b0eb98e7 user: stephan tags: trunk)
15:42
Fix to the sqlite3_get_clientdata() interface. (check-in: 937cd1762b user: drh tags: db-client-data)
15:20
New experimental API for attaching client data to a database connection. (check-in: d542837fdb user: drh tags: db-client-data)
14:20
When a JS SQLTester script throws, report the exception details back to the UI regardless of whether it's fatal. (check-in: 273d3b05f6 user: stephan tags: trunk)
13:07
Add a JS implementation of Java's SQLTester. (check-in: b530792a51 user: stephan tags: trunk)
11:54
Add a UI, of sorts, to the JS SQLTester. (Closed-Leaf check-in: 249e82b991 user: stephan tags: js-tester)
00:22
Add a mechanism with which to import external SQLTester scripts into the JS testing tool. (check-in: bb08ba020c user: stephan tags: js-tester)
2023-08-29
21:30
Add directives support to JS SQLTester comparable to the Java impl. This brings the two to feature parity. (check-in: 7cef4a8300 user: stephan tags: js-tester)
20:44
More fleshing out of JS SQLTester. (check-in: 8c503dfb9f user: stephan tags: js-tester)
20:37
Merge the latest branch-3.43 fixes into the bedrock branch. (check-in: 7e3e007583 user: drh tags: bedrock-3.43)
20:24
Merge the branch-3.43 fixes into the wal2 branch. (check-in: 903e997457 user: drh tags: wal2-3.43)
20:19
Fix a test case problem in wal2recover2.test. (check-in: 9e927eed2d user: drh tags: wal2)
20:01
JS SQLTestRunner can now run the Java impl's core-most sanity tests, missing only support for directives. (check-in: 5e79836937 user: stephan tags: js-tester)
18:28
New conversion letters added to strftime(): %e, %k, %I, %l, %R, %P, %p, %T, %u. (check-in: 058722b2d0 user: drh tags: trunk)
15:39
Get the JS SQLTester command handlers in place sans those which have to run SQL. (check-in: d21b121796 user: stephan tags: js-tester)
15:38
Change the version number to 3.44.0 to begin the next development cycle. (Should have done this a few check-ins ago.) (check-in: 253fe4a45d user: drh tags: trunk)
15:24
Add support for the CONCAT() and CONCAT_WS() SQL functions, modeled after the PostgreSQL behavior. (check-in: 0b434ca7aa user: drh tags: trunk)
13:28
Get the basic parsing pieces and command dispatching in place in the JS SQLTester. (check-in: 8fcc2a553c user: stephan tags: js-tester)
11:22
Init bits of a port of Java's SQLTester to JS. Far from complete. (check-in: 60eec5ceda user: stephan tags: js-tester)
10:50
Change a variable from "int" to "i64" to make it easier to prove that it cannot overflow. (check-in: 00a8b3a263 user: dan tags: trunk)
00:10
Remove some dead code. Add a skeleton SQLTester script for fts5. (check-in: 6c83e31fa9 user: stephan tags: trunk)
2023-08-28
23:18
Factor out a superfluous struct member. (check-in: 76d3911c37 user: stephan tags: trunk)
22:52
Further minor internal JNI simplifications. (check-in: 1808d12ee0 user: stephan tags: trunk)
21:27
Improve threadability of the JNI collation-related bindings and add infrastructure for similar cases. (check-in: f02dad66b9 user: stephan tags: trunk)
20:21
Correct JNI mapping of collations to be 1-db-to-many-collations. (check-in: b927b0f5a6 user: stephan tags: trunk)
20:14
Updates to testrunner.tcl so that it runs fuzztest using multiple jobs. (check-in: ceeabe9f8b user: dan tags: trunk)
20:02
Fix the "sdevtest" testrunner.tcl command so that it correctly enables asan on windows. (Closed-Leaf check-in: 6463192369 user: dan tags: testrunner)
18:15
Fixes for testrunner.tcl on windows. (check-in: 26ae090889 user: dan tags: testrunner)
16:28
Another fix for valgrind permutation. Remove the "copydir" table column - just add a [cp] or [copy] command to the test script where this functionality is required. (check-in: 448b9a575e user: dan tags: testrunner)
16:22
Remove a pair of what are arguably unnecessary mutex locks (and often hit). More JNI-internal cleanups. (check-in: ecf07a0144 user: stephan tags: trunk)
16:05
Update tool/mkctimec.tcl to account for [fe7365254d343e]. (check-in: 349aac7e8d user: stephan tags: trunk)
15:58
Add support for the -DSQLITE_EXTRA_AUTOEXT=name compile-time option. forum thread 00829394c74a670f. (check-in: fe7365254d user: drh tags: trunk)
14:59
Duplicate code consolidation. (check-in: 71f239747c user: stephan tags: trunk)
13:18
Move a metrics counter so that it can be used to indirectly witness the race condition fix from [f5274e00f17d58e0] by recording varying final values for that metric across consecutive multi-threaded test runs. (check-in: 54d2209d24 user: stephan tags: trunk)
13:06
Resolve a JNI-side race condition. Removed a now-extraneous struct member. Internal API renaming for consistency. (check-in: f5274e00f1 user: stephan tags: trunk)
12:57
Fix an issue with infinity handling by the SUM() function that goes back to the extended-precision SUM() enhancement of check-in c63e26e705f5e967. Problem reported by forum post 1c06ddcacc86032a. (check-in: 692266abd1 user: drh tags: branch-3.43)
12:20
Fix an issue with infinity handling by the SUM() function that goes back to the extended-precision SUM() enhancement of check-in [c63e26e705f5e967]. Problem reported by forum post 1c06ddcacc86032a. (check-in: 77d3dcd283 user: drh tags: trunk)
12:06
Resolve a condition which could cause an is-interrupted db to call its progress callback. (check-in: a0d0f1aafc user: stephan tags: trunk)
11:22
Fix the valgrind permutation on this branch. (check-in: ccbf06760e user: dan tags: testrunner)
11:10
Further JNI cleanups and javadoc additions. (check-in: c393b1c9f5 user: stephan tags: trunk)
07:28
Lots of javadoc-related tweaks. (check-in: cfe06f90e2 user: stephan tags: trunk)
05:48
Correct a package renaming bug in the previous check-in and start applying the @Canonical annotation to functions to distinguish canonical API functions and Java-specific APIs. (check-in: 8a01600680 user: stephan tags: trunk)
05:39
Move the JNI annotations into the annotation subpackage. (check-in: e4dedf90a9 user: stephan tags: trunk)
05:06
Resolve a makefile bug which causes sqlite3-worker1-bundler-friendly.mjs to be built incorrectly. Reported in forum post a874e435cf4690c1. (check-in: 289d2a0e64 user: stephan tags: branch-3.43)
04:59
Resolve a makefile bug which causes sqlite3-worker1-bundler-friendly.mjs to be built incorrectly. Reported in forum post a874e435cf4690c1. (check-in: 9d68c7ef10 user: stephan tags: trunk)
2023-08-27
15:15
Reimplement JNI's sqlite3_value_text() as a native instead of a Java-side proxy. Unrelated minor simplifications. (check-in: 401dd6ee28 user: stephan tags: trunk)
14:47
Generic cleanups in Tester1.java. (check-in: fbc1b6310b user: stephan tags: trunk)
13:43
Remove JNI sqlite3_column_java_object(), as the protection rules of sqlite3_values makes it impossible to implement safely. Add JNI sqlite3_bind_java_object(). (check-in: 29bd4a23a4 user: stephan tags: trunk)
11:28
Correct the signature mismatch between JNI sqlite3_column/value_text16() and add related tests. (check-in: 77f6e70f17 user: stephan tags: trunk)
10:40
Make JNI sqlite3_trace_v2() thread-safe. Re-add a piece removed in [bae4d022aad9b] to work around a JVM crash which is unpredictably triggered by its substitute. Fix the THREADMODE=0 JNI build. Further internal API simplifications. (check-in: 3f9f7a9cb0 user: stephan tags: trunk)
09:12
Factor out an unnecessary struct member. JNI sqlite3_shutdown() now frees up the various object-recycling bins. Doc touchups. (check-in: bae4d022aa user: stephan tags: trunk)
08:10
Factor out a superfluous JNI class. Doc and code style cleanups. (check-in: 0f37f27148 user: stephan tags: trunk)
07:26
JNI code reorgs and simplify the failing-alloc interface a bit. (check-in: deed5797de user: stephan tags: trunk)
2023-08-26
22:34
Apply the JNI OOM checks to memory returned by JDK APIs, as distinct from our APIs. (check-in: 1ff78582bf user: stephan tags: trunk)
21:13
Eliminate a superfluous JNI-internal middle-man class. (check-in: daede0f801 user: stephan tags: trunk)
21:04
Updates to testrunner.tcl so that it runs "make fuzztest" using multiple jobs. (check-in: 7596ea7074 user: dan tags: testrunner)
21:02
Whether or not OOM is always fatal in JNI is now a compile-time option. (check-in: 320a34c080 user: stephan tags: trunk)
19:34
Correct a string length misuse in JNI sqlite3_result_error() in an OOM case. Unrelated minor JNI cleanups. (check-in: 4252f56f3d user: stephan tags: trunk)
18:15
Remove a bunch of commented-out debug output. (check-in: b49488481e user: stephan tags: trunk)
18:01
Re-order some out-of-order JNI APIs. Correct JNI sqlite3_open_v2() behavior in a particular OOM condition. (check-in: 49d3be002c user: stephan tags: trunk)
17:36
Two significant typo fixes for [1a30919bfbb686]. (check-in: 6a6ee6dd54 user: stephan tags: trunk)
17:30
Bind sqlite3_db_handle() to JNI. (check-in: 1a30919bfb user: stephan tags: trunk)
16:55
Correct a potential duplicate xDestroy() being triggered for Java-side collations. (check-in: 25331172f7 user: stephan tags: trunk)
16:29
Recycle per-UDF JNI state. (check-in: cf406528eb user: stephan tags: trunk)
14:55
Code consolidation cleanups. (check-in: d6b5ecd287 user: stephan tags: trunk)
12:19
Add -sqllog flag to the JNI 'tests' target because it hits APIs which are otherwise not tested. (check-in: cc3153ed34 user: stephan tags: trunk)
11:57
JNI internal cleanups and docs. (check-in: b7b26bfb4f user: stephan tags: trunk)
10:51
Remove the Java BusyHandler.xDestroy() method - it should not have had one. Eliminate the last of the potentially-significant MUTF-8 cases. (check-in: c852f1ebbd user: stephan tags: trunk)
10:20
Improve threading support for all types of JNI-side callback hooks, making them safe to invoke if another thread is busy replacing them. (check-in: f2af7bbf49 user: stephan tags: trunk)
2023-08-25
16:43
Move the 3 Java SQLFunction subclasses from inner classes to package scope. (check-in: 21fd47a68d user: stephan tags: trunk)
16:26
Missed a straggler when renaming Java classes in [8ca528006533ac1]. Document threading limitations. (check-in: 5786b95f5d user: stephan tags: trunk)
14:17
Hopefully the last major API rename in the JNI bits: rename all lower_camel_case classes which do not have direct counterparts in the C API to UpperCamelCase, as that's more idiomatic. Java types which reflect C-style types are unaffected. (check-in: 8ca5280065 user: stephan tags: trunk)
13:23
More Java API renaming for consistency. (check-in: 4e457778de user: stephan tags: trunk)
12:29
Re-enable SQLITE_THREADSAFE=0 in the JNI build and add multitest target which builds and runs the tests in all 3 threading modes. (check-in: 6b1c816f6a user: stephan tags: trunk)
11:32
Code restructuring. Force SQLITE_THREADSAFE in JNI builds for the time being, as threadsafe==0 leads to as-yet-mysterious JNI-level reference errors. (check-in: 5a099caa2c user: stephan tags: trunk)
11:06
Remove incorrect (but harmless) dependency on source code file "sessionfuzz-data1.db" from main.mk and Makefile.in. (check-in: 17d56c0207 user: dan tags: trunk)
04:27
Only build in the JNI-side metrics tracking in SQLITE_DEBUG builds. (check-in: 646e7fc3b5 user: stephan tags: trunk)
04:02
Javadoc and internal API cleanups. (check-in: 10a43cba9b user: stephan tags: trunk)
02:57
Replace all of the JNI XyzHook/Handler classes with snake_cased ones which follow unified naming conventions to make them easier to apply. (check-in: 76e62a3812 user: stephan tags: trunk)
00:27
javadoc additions. (check-in: bedf33d403 user: stephan tags: trunk)
2023-08-24
22:28
Re-frame the incongruous SQLite3Jni.uncacheThread() API as sqlite3_java_uncache_thread(). (check-in: 7232b03395 user: stephan tags: trunk)
21:45
Update some outdated JNI docs and account for a function renamed earlier this evening. (check-in: 3f684ef501 user: stephan tags: trunk)
21:31
Do not pre-allocate sqlite3_aggregate_context() for Java UDFs, as it unduly complicates UDF initialization. (check-in: e8308f0c6e user: stephan tags: trunk)
19:08
Add doc/testrunner.md, for documenting the testrunner.tcl script. (check-in: 9c69a28401 user: dan tags: trunk)
18:43
More code legibility and style improvements in the JNI pieces. Start work on a javadoc build. (check-in: 62b404d62f user: stephan tags: trunk)
17:25
Doc, code style, and legibility cleanups. (check-in: cf185bcd25 user: stephan tags: trunk)
15:42
Doc style fixes. (check-in: 862f9828e0 user: stephan tags: trunk)
15:11
Add a new non-goal to the JNI README.md. (check-in: 53000cdae9 user: stephan tags: trunk)
14:49
Merge the jni-threading branch into trunk, eliminating the JNI API's prior threading limitations. (check-in: 3739c8aa70 user: stephan tags: trunk)
14:43
Merge into trunk improvements made to the wasm APIs which were too late for 3.43. (check-in: ac9da5c79a user: stephan tags: trunk)
14:31
Correct JNI layer's misuse of an sqlite3-internal error-reporting API (no mutex held). Style cleanups. Eliminate lookups of per-thread state by approximately 85% across the test suite. (Closed-Leaf check-in: 1f46ba8d3b user: stephan tags: jni-threading)
14:17
Ensure that db mutex is held when using sqlite3ErrorWithMessage() to avoid a potential assertion in debug builds. (Closed-Leaf check-in: b8f6a50a4b user: stephan tags: wasm-post-343)
13:42
Fix a test case problem in wal2recover2.test. (check-in: 81361769e1 user: dan tags: bedrock)
13:32
Version-3.43.0 for the reuse-schema branch. (check-in: 6f1bcd6a1a user: drh tags: reuse-schema)
13:26
Version 3.43.0 for the bedrock branch. (check-in: e7b1ee1a99 user: drh tags: bedrock)
13:19
Version 3.43.0 for the wal2 branch. (check-in: b5970fc459 user: drh tags: wal2)
13:17
Version 3.43.0 for the begin-concurrent branch. (check-in: e67bf28245 user: drh tags: begin-concurrent)
12:36
Version 3.43.0 (check-in: 0f80b798b3 user: drh tags: trunk, release, major-release, version-3.43.0)
12:01
Change a variable name in fts5FlushOneHash() to avoid shadowing another. (check-in: 3f5bec9a68 user: dan tags: trunk)
11:57
Add more JNI docs, tests, and a handful of Java-side overloads. (check-in: d19a431fac user: stephan tags: jni-threading)
2023-08-23
18:42
Fix typo in the Lemon documentation. (check-in: 5daeb318c0 user: drh tags: trunk)
18:29
More changes to documents for GitHub-style markdown. (check-in: f20f84ef71 user: drh tags: trunk)
18:26
Fix the Markdown in the compile-for-windows.md document so that it works on GitHub. Improved header text in README.md. (check-in: a25360c020 user: drh tags: trunk)
17:52
JNI cleanups regarding building with certain features disabled. (check-in: a9e6d5158b user: stephan tags: jni-threading)
17:15
Remove unnecessary jclass-type struct members. (check-in: d67255f725 user: stephan tags: jni-threading)
16:41
Some thinking-out-loud about how to implement vtabs in Java. In no way complete. (Closed-Leaf check-in: 49c24c29ec user: stephan tags: jni-vtab)
13:36
Add a note to the JNI README explaining why the Java API has callback names like xFunc() and xPreUpdate(). (check-in: 415447a310 user: stephan tags: jni-threading)
13:17
Bind sqlite3_preupdate_hook() and friends to JNI. (check-in: d0c425b5c1 user: stephan tags: jni-threading)
12:53
Minor adjustments to the wording about pull requests in the README.md file. (check-in: 6b2d68afd8 user: drh tags: trunk)
10:36
Bind a subset of sqlite3_config() to JNI: threading modes and sqllog. (check-in: fce8ecaf7f user: stephan tags: jni-threading)
10:20
The pageOnDirtyList() assertion is too slow even for debugging builds, for some corner cases. It makes the query appear to hang. So make it an EXPENSIVE_ASSERT instead. (check-in: bb9dcdaf32 user: drh tags: trunk)
09:05
Numerous minor cleanups and code style conformance improvements. (check-in: 6c92d88492 user: stephan tags: jni-threading)
00:17
Improve C-side exception handling from Java-side UDF callbacks. (check-in: aebbc24afb user: stephan tags: jni-threading)
2023-08-22
23:00
Minor Tester1.java cleanups. (check-in: 70d936953b user: stephan tags: jni-threading)
22:13
Fix Tester1 so that exceptions triggered via threads are not silently ignored. Disable auto-extension tests in multi-thread mode because concurrent threads rightfully interfere with that. (check-in: 56b2a077ac user: stephan tags: jni-threading)
20:10
More work on the JNI multi-threaded test runner. (check-in: 9a74ad716b user: stephan tags: jni-threading)
18:36
Disassociate JNI db handles from the thread that created them, as it's no longer relevant. (check-in: 8b78b737e6 user: stephan tags: jni-threading)
17:51
Correct JNI binding of sqlite3_shutdown() to clean up all cached JNIEnv objects. (check-in: 02e868690f user: stephan tags: jni-threading)
17:36
JNI internal cleanups and correct two leaked db handles in test code. (check-in: f927a30b5b user: stephan tags: jni-threading)
16:44
Fix a harmless memory leak in the sqldiff utility. (check-in: 724bc15701 user: drh tags: trunk)
15:47
Merge the trunk Makefile enhancements into the reuse-schema branch - especially the new "sdevtset" makefile target. (check-in: f55f5e9dff user: drh tags: reuse-schema)
15:30
Move the JNI per-thread cache of NativePointerHolder refs into global space. This allows better-targeted mutex locks and incidentally eliminates the lagginess and post-run hangs in Tester1's multi-thread mode (presumably caused by deadlocks). (check-in: e209f56a97 user: stephan tags: jni-threading)
15:19
Add makefile target "sdevtest" - like "mdevtest" except asan and usan enabled for the non-debug test. (check-in: a449d650cd user: dan tags: trunk)
13:41
Update version number in autoconf/tea/configure.ac. (check-in: 055ae724ff user: dan tags: trunk)
11:34
Move most of the per-JNIEnv global Java class refs into the global state, saving a bit of per-thread overhead. (check-in: 7342bf5787 user: stephan tags: jni-threading)
11:20
Update autoconf/Makefile.msc (by running mkmsvcmin.tcl) to support the "ASAN=1" option. (check-in: 17028ba7a9 user: dan tags: trunk)
2023-08-21
23:45
Minor JNI cleanups. (check-in: b88910aaaa user: stephan tags: jni-threading)
18:31
Merge latest changes from the wal2 branch into this one. (check-in: 4d8df0c426 user: dan tags: bedrock)
18:25
Fix problems related to structured-exception-handling on this branch. (check-in: d3d77e35ea user: dan tags: bedrock)
18:03
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: 76a99a2c40 user: drh tags: begin-concurrent)
18:02
Merge latest trunk changes into this branch. (check-in: 135bf72c6b user: dan tags: wal2)
17:53
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: e94f09f188 user: drh tags: reuse-schema)
17:49
Fix problems related to structured-exception-handling on this branch. (check-in: dd86c2729b user: dan tags: begin-concurrent)
17:26
Fix MSVC testfixture.exe builds. (check-in: 7004c9027e user: dan tags: begin-concurrent)
16:14
Fix an undefined integer overflow in fts5. (check-in: f5c50349b1 user: dan tags: trunk)
15:29
ifdef adjustments so that SQLITE_OMIT_WAL works with SQLITE_USE_SEH. (check-in: 0462a2612d user: drh tags: trunk)
14:40
Fix another UBSAN inaccuracy in fuzzcheck. (check-in: a6fb9de8f8 user: drh tags: trunk)
14:28
Address minor inaccuracies in fuzzcheck and RTREE found by UBSAN. (check-in: a64e6c2fd8 user: drh tags: trunk)
2023-08-19
14:49
JNI cleanups. (check-in: 0a84131008 user: stephan tags: jni-threading)
12:34
Merge trunk into jni-threading branch. (check-in: 8254479c6f user: stephan tags: jni-threading)
12:32
JNI doc additions. (check-in: 0c7ac34f30 user: stephan tags: jni-threading)
11:52
JNI test code cleanups. (check-in: e202b6e69d user: stephan tags: jni-threading)
11:26
Minor JNI cleanups. (check-in: 1cecb9e038 user: stephan tags: jni-threading)
10:43
Add multi-thread run mode to JNI Tester1. It works but hangs on exit sometimes for Java reasons as yet not understood. (check-in: bdbaf7a453 user: stephan tags: jni-threading)
08:22
Replace JNI::NewStringUTF() for the remaining cases where output may be incompatible with MUTF-8. It is now only used when we know the output to be plain ASCII. (check-in: 2d955eef25 user: stephan tags: jni-threading)
08:12
shell.c.in help text typo fix. No functional changes. (check-in: c319033276 user: stephan tags: trunk)
2023-08-18
15:39
Rename the decimal_sci() function to decimal_exp(). Forum post fa027bb0ab. (check-in: c48f1be8cc user: drh tags: trunk)
15:17
Avoid running test case sort2.2.3 under address-sanitizer. It runs out of memory on some 32-bit platforms. (check-in: 925be75399 user: dan tags: trunk)
14:41
Improve exception handling in OpfsDb.importDb(). (check-in: a4eedd63b5 user: stephan tags: wasm-post-343)
14:16
Extend the importDb() method of both OPFS VFSes to (A) support reading in an async streaming fashion via a callback and (B) automatically disable WAL mode in the imported db. (check-in: 9b1398c96a user: stephan tags: wasm-post-343)
12:15
Enhance the CLI and the fuzzcheck utility programs to report whether they are compiled as 32-bit or 64-bit for things like the --version option. (check-in: ec7eeb055b user: drh tags: trunk)
11:36
Enhance the notes on compiling for Windows11 to explain how to do 32-bit builds on a 64-bit system. (check-in: dd749e4042 user: drh tags: trunk)
2023-08-17
22:04
Remove some obsolete JNI-internal docs. (check-in: 00a2a3736a user: stephan tags: jni-threading)
17:48
Do not allow bound parameters in the ON CONFLICT clause of an UPSERT. dbsqlfuzz 9983e2c77634a8ccf33b5c91fa9982599de5f9e9 (check-in: 3c06709335 user: drh tags: trunk)
16:59
Fix an error in documentation comments in fts5.h. (check-in: 24d96bd65d user: dan tags: trunk)
16:49
Add extra test to fts5synonym2.test. (check-in: 39ea11be3b user: dan tags: trunk)
16:06
Add "Windows-Sanitize" configuration to "testrunner.tcl release" tests on windows. (check-in: e68b46dc6a user: dan tags: trunk)
15:14
Have all test names in json101.test start with "json101". (check-in: af56d7b6b9 user: dan tags: trunk)
15:11
Enable address sanitizer in Makefile.msc by adding the ASAN=1 argument on the nmake command line. (check-in: 3eaadaff85 user: drh tags: trunk)
14:19
Fix a possible UAF in SEH if an exception occurs at an inopportune moment during WAL processing. (check-in: 91b91037e3 user: drh tags: trunk)
13:13
Tighten up the JNI auto-ext handling. (check-in: c09c8d05a2 user: stephan tags: jni-threading)
12:44
Minor internal JNI cleanups and fixes. (check-in: 0e9437de02 user: stephan tags: jni-threading)
10:49
Remove the FIXME markers related to threading. Code style cleanups. (check-in: 154ab26dc6 user: stephan tags: jni-threading)
09:49
Add SQLITE_EXTRA_AUTOEXT, similar to SQLITE_EXTRA_INIT but adds a builtin auto-extension provided by the client. Suggestion from forum post 00829394c74a670f. (Closed-Leaf check-in: 423e77277a user: stephan tags: extra-autoext)
2023-08-16
17:23
Refinements to instructions on compiling for Windows. (check-in: d543c36c35 user: drh tags: trunk)
17:12
Improved instructions on how to build SQLite on Windows 11 and similar. (check-in: 0f6b2b3373 user: drh tags: trunk)
15:27
Make sqlite3_stmt_explain() accessible to loadable extensions. (check-in: a237a31ff4 user: drh tags: trunk)
15:10
Mix the current process ID into the randomness used for generating temporary filenames on Windows. (check-in: 775a36ee09 user: drh tags: trunk)
14:18
Update testrunner.tcl to use environment variable %NUMBER_OF_PROCESSORS% when running under tclsh on windows. Also modify the internal database schema used by testrunner.tcl to be compatible with old versions of SQLite. (check-in: 6542ed3b9e user: dan tags: trunk)
13:55
Fix test script problem preventing veryquick.test from running. (check-in: e738865740 user: dan tags: trunk)
2023-08-15
21:44
Cherrypick [00ac653562a6] to remove stray JNI debug output. No functional changes. (check-in: e12d70f38c user: stephan tags: trunk)
20:57
Cherrypick [653ed92dc391] (went to wrong branch). Doc change only, no code changes. (check-in: 79a14457f0 user: stephan tags: trunk)
18:52
Update testrunner.tcl to make it easier to add things like mdevtest. (check-in: a531b71c4f user: dan tags: trunk)
18:08
Improve the portability of the src-verify.c tool on Windows. (check-in: 4068d94acd user: drh tags: trunk)
14:53
Fix problems in fts5 test code. (check-in: c16ed3b1cc user: dan tags: trunk)
13:01
Add note about the current threading limitation to ext/jni/README.md. No code changes. (check-in: 653ed92dc3 user: stephan tags: wasm-post-343)
12:27
Use a dodgy substitute if the INFINITY macro is not available. See forumpost 8e66e19bb9. (check-in: 4ae72c8967 user: drh tags: trunk)
11:58
Fix the PRAGMA case_sensitive_like command so that the LIKE function continues to be innocuous after the PRAGMA. Forum post 925dc9f67804c540. (check-in: 84c268c34c user: drh tags: trunk)
10:57
Fix an off-by-one error causing a buffer overread in test2.c. (check-in: e1edf95ecc user: dan tags: trunk)
09:26
Minor reshaping of Tester1 moving towards making a multi-threaded run mode. (check-in: f104c14c26 user: stephan tags: jni-threading)
09:16
Remove a piece of stray debug output. No functional changes. (check-in: 00ac653562 user: stephan tags: wasm-post-343)
2023-08-14
19:10
Fix the autoconf makefile for the CLI such that it disables double-quoted strings by default, as all other builds of the CLI do. forum post 9794b6aaa5. (check-in: 85fd4f0ef4 user: drh tags: trunk)
18:21
Fix a problem in sqlite3_snapshot_recover() introduced by the [8a6b0c24937e855b] merge. (check-in: c2577eb0a4 user: dan tags: trunk)
17:12
Bring handling of the Java auto-ext handler more in line with the core in terms of locking and mutability during traversal. This removes the explicit synchronous requirement from the Java open() and auto-ext bindings. (check-in: 42994b952e user: stephan tags: jni-threading)
14:21
Remove some obsolete, commented-out makefile code. No functional or build changes. (check-in: ea574cd5de user: stephan tags: wasm-post-343)
13:33
Change the name of the ".binary" command in the CLI to ".crnl". The sense of the setting is inverted. The original ".binary" still works for backwards compatibility but is now undocumented. ".crnl" is also undocumented on machines where it is a no-op (all machines other than Windows). forum thread 8bd0b0fbdbc12477 (check-in: 544de2da09 user: drh tags: trunk)
13:27
More work on the JNI-specific mutexes. Rework the NativePointerHolder cache lookup to be slightly simpler and O(1) instead of O(N). (check-in: c84ded0e59 user: stephan tags: jni-threading)
12:20
Fix harmless compiler warnings reported by MSVC. (check-in: 391e21bb6e user: drh tags: trunk)
12:05
Enable SEH be default in Windows builds. (check-in: faae792fd5 user: drh tags: trunk)
08:28
JNI-internal docs and removal of obsolete code. (check-in: b62d93258b user: stephan tags: jni-threading)
2023-08-13
20:58
Internal API renaming for clarity's sake. (check-in: 911e4fc5aa user: stephan tags: jni-threading)
12:40
Add a mutex for auto-extensions, tied in to the open() process since that's the route into auto-extensions. (check-in: 8da97e0db4 user: stephan tags: jni-threading)
10:28
Add some docs and metrics for the new mutex internals. (check-in: 33d1780b43 user: stephan tags: jni-threading)
10:22
Remove SQLITE_DEBUG from JNI build. (check-in: 82f004cf74 user: stephan tags: trunk)
09:53
An initial attempt at protecting the JNI global state via mutexes at the C level instead of relying on Java's synchronized keyword. It seems to work but increases the run time of the single-threaded SQLTester batch by roughly 3 times. (Correction: it was just run on a slower machine. Cursory testing suggests that runtime performance hit might be, but likely isn't, as high as 10%.) (check-in: c64e6a52ac user: stephan tags: jni-threading)
2023-08-12
23:47
Bind sqlite3_interrupt() and sqlite3_is_interrupted() to JNI but with caveats regarding mutexing of the JNIEnv cache. Add a loud warning to the JNI 'dist' target that it should be built with JDK8 (a.k.a. Java 1.8) for compatibility reasons. (check-in: fbf99a2423 user: stephan tags: jni-threading)
21:39
Merge the Java Native Interface (JNI) binding into trunk. (check-in: 48b13edcec user: stephan tags: trunk)
21:08
Update wasm's push-testing rule to exclude files which were recently removed from the build. (check-in: 0a6930a7ff user: stephan tags: trunk)
20:50
Correct JNI .jar rules to only include *.java/class files, not *.* (*~ files). (Closed-Leaf check-in: 1ba7754045 user: stephan tags: jni)
19:58
Fix the mdevtest target so that it works with msvc. (check-in: 01f49448cd user: dan tags: trunk)
19:25
Fix testrunner.tcl so that it restarts itself using [testfixture] if its current interpreter does not support [package require sqlite3]. (check-in: 408be98ddd user: dan tags: trunk)
18:23
Have the mdevtest target support the OPTS variable on unix. (check-in: 940f58d9b9 user: dan tags: trunk)
17:36
Add "mdevtest" target to makefiles. Equivalent to running "devtest" on both debug and non-debug builds. (check-in: af354fbc0b user: dan tags: trunk)
15:37
More JNI docs. (check-in: 290028d3ca user: stephan tags: jni)
15:09
Further simplifications in the interface of the OutputPointer family of Java classes. (check-in: 962c3e0de2 user: stephan tags: jni)
12:16
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: d2b0ddcc75 user: drh tags: reuse-schema)
10:39
Tweaks and docs for the OutputPointer family of Java classes. (check-in: 265c8fd0d4 user: stephan tags: jni)
10:27
Bind sqlite3_db_status() to JNI. (check-in: b79477a0af user: stephan tags: jni)
10:06
Bind sqlite3_status(64)() to JNI. (check-in: cefb6614e6 user: stephan tags: jni)
2023-08-11
22:40
Modernize the sqlite3 shell man page a bit, per forum request. (check-in: 3bc0693c46 user: stephan tags: trunk)
21:25
Add timing info to SQLTester. (check-in: b69b5facbf user: stephan tags: jni)
21:24
Merge trunk into jni branch. (check-in: 4f0aeeba02 user: stephan tags: jni)
20:32
Fix a makefile deps problem which caused ext/jni build to fail if sqlite3.c/h were not created beforehand. (check-in: 101de67077 user: stephan tags: jni)
19:38
Merge latest trunk changes, including support for handling of structured-exceptions in MSVC builds, with this branch. (check-in: cb3cf9bab0 user: dan tags: begin-concurrent)
19:36
Merge latest wal2 changes, including support for handling of structured-exceptions in MSVC builds, with this branch. (check-in: 331f2f3e5d user: dan tags: bedrock)
19:33
Merge latest trunk changes, including support for handling of structured-exceptions in MSVC builds, with this branch. (check-in: 00bfae9ffa user: dan tags: wal2)
19:31
If SQLITE_USE_SEH is defined, handle structured-exceptions thrown by MSVC builds if the *-shm file mapping is accessed after it becomes invalid for some reason. (check-in: 8a6b0c2493 user: dan tags: trunk)
18:59
Minor SQLTester test tweaks and have 'make tester' include the out-of-tree tests if they are found. (check-in: 6c8538d834 user: stephan tags: jni)
18:31
Fix a problem with handling savepoints in BEGIN CONCURRENT transactions. (check-in: ca422d00d7 user: dan tags: bedrock)
18:25
Fix a problem with handling savepoints in BEGIN CONCURRENT transactions. (check-in: 4a5c0439ae user: dan tags: begin-concurrent)
18:04
Bind sqlite3_sql() and sqlite3_expanded_sql() to JNI. Start marking C-side functions which would need explicit mutex support if we remove 'synchronized' from their Java entry points (but there are many more left to mark). (check-in: c7fb32d1ef user: stephan tags: jni)
17:45
Add a doc link for the new sqlite3_js_posix_create_file(). (check-in: 0d7aac45b8 user: stephan tags: trunk)
17:38
Add sqlite3.capi.sqlite3_js_posix_create_file() and oo1.OpfsDb.importDb() as alternatives for the newly-deprecated sqlite3_js_vfs_create_file(). (check-in: da6eaf8d82 user: stephan tags: trunk)
14:31
Deprecate sqlite3_js_vfs_create_file() because, it was discovered today, its out-of-scope use of the sqlite3_vfs, sqlite3_file, and sqlite3_io_methods APIs triggers unresolvable assertions in the core when built with SQLITE_DEBUG. (check-in: f3647a3ac8 user: stephan tags: trunk)
11:46
Merge all the latest trunk enhancements into the bedrock branch. (check-in: 859932ebce user: drh tags: bedrock)
11:40
Merge the latest trunk enhancements into the wal2 branch. (check-in: fe1bf30ca0 user: drh tags: wal2)
11:34
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: 7cb2b4e35f user: drh tags: begin-concurrent)
11:30
Provide the -DSQLITE_LEGACY_JSON_VALID compile-time option to restore the (incorrect) legacy behavior of json_valid(NULL). (check-in: 00bc9f1b57 user: drh tags: trunk)
11:24
Fix bug in the test case for the previous check-in. (Closed-Leaf check-in: c5daae8861 user: drh tags: legacy-json-valid)
11:23
Update test scripts specific to this branch so that they work on windows. (check-in: f0ca13edad user: dan tags: wal2)
11:12
Up until version 3.42.0, there was a bug in json_valid() such that it would return False (0) for a NULL input. That bug is fixed in 3.42.0. This check-in adds a compile-time option -DSQLITE_LEGACY_JSON_VALID that restores the old buggy behavior for applications that depend on it. (check-in: 15c2eadbff user: drh tags: legacy-json-valid)
2023-08-10
21:50
Mark _all_ JNI binding funcs as synchronized so that Java can lock them and protect our global-state access. The alternative is writing a mountain of C-side code to do the same thing. (check-in: afe190a940 user: stephan tags: jni)
21:29
Work around jdk8 and jdk19 mangling the C name of sqlite3_db_config() differently. Correct the variadic arg handling of the JNI-side subset of sqlite3_db_config() options. (check-in: 746894c3c0 user: stephan tags: jni)
21:20
Add tests for structured-exception-handling and wal2. Fix a problem with the same. (Leaf check-in: 87242777ec user: dan tags: wal2-shm-exceptions)
20:52
Add a working dist zip file for the JNI bits. (check-in: d6a4d212ce user: stephan tags: jni)
18:58
Experimental merge of the wal-shm-exceptions and wal2 branches. (check-in: fd58c61624 user: dan tags: wal2-shm-exceptions)
18:57
Initial pass at 'make dist' rules for the JNI bundle, but they still need a bare-bones, posix-make-compatible makefile to include in the bundle. (check-in: ff54e66a4d user: stephan tags: jni)
18:50
New testcase() macro in the tokenizer, to better document its behavior. (check-in: b2fdac0b15 user: drh tags: trunk)
17:39
Merge trunk into jni branch for the newly-relocated version-info tool. (check-in: cc8e8cba67 user: stephan tags: jni)
17:32
Move ext/wasm/version-info.c to tool/ for re-use in build other dist bundles. (check-in: 4b0871fd36 user: stephan tags: trunk)
17:07
Merge latest trunk changes into this branch. (Leaf check-in: 3ed89c344f user: dan tags: wal-shm-exceptions)
17:04
Mark test script wal2big.test as "TESTRUNNER: slow". (check-in: ae7f3bcb5b user: dan tags: wal2)
17:03
Merge latest trunk changes into this branch. (check-in: 72f7807b34 user: dan tags: wal2)
16:42
Add SQLTester --keep-going flag to allow it to continue to the next script after an error. (check-in: 4d635f781b user: stephan tags: jni)
13:10
Document that auto-extensions registered via JNI will fail if they open a db (to avoid triggering an endless loop in the auto-extensions). Discover the hard way that JDKv19 creates different mangled JNI names for some functions than JDKv8. Start reformatting much of the JNI API decls in prep for making them even longer. (check-in: 99c0941f1c user: stephan tags: jni)
12:36
Resolve two assertions in the auto-extension JNI which were triggered via new SQLTester infrastructure. Move SQLTester's db-init SQL injection into an auto-extension. (check-in: 2952906c30 user: stephan tags: jni)
11:15
Make test completion status more visible at a glance on modern terminals. (check-in: a4e96c306c user: stephan tags: jni)
11:04
Disable REQUIRED_PROPERTIES handling in SQLTester, per /chat. Scripts with that directive are now skipped. (check-in: ddc534cb25 user: stephan tags: jni)
10:58
Add a visual indicator (emoji) to TestScript verbose messages, dependent on the message's level of verbosity. (check-in: dc323d3894 user: stephan tags: jni)
10:44
Add the current --testcase name to SQLTester --verbose output. (check-in: f87367402b user: stephan tags: jni)
10:34
More SQLTester docs. Add --verbosity command to help zoom in on script areas while debugging. Spice up test-start/end output with some emoji. (check-in: 8dd0802149 user: stephan tags: jni)
05:25
Give DbException the option of closing the db to simplify error handling in one case. (check-in: 908c9a4450 user: stephan tags: jni)
05:14
Initial version of REQUIRED_PROPERTIES support for SQLTester, with TEMPSTORE_(FILE/MEM) and RECURSIVE_TRIGGERS options. (check-in: 48d16c9d2f user: stephan tags: jni)
04:24
Generic cleanups and fixes in SQLTester. (check-in: fc5d3cc30d user: stephan tags: jni)
02:09
Change the SQLite3Jni API annotations to use SOURCE retention (used only at compile-time). (check-in: 3c3fea6bf2 user: stephan tags: jni)
01:44
Move all of the SQLTester code into a single file, since it's only got 1 public class. Remove 'public' from many methods which don't need it. Add more documentation to it. (check-in: 2815d67695 user: stephan tags: jni)
01:19
Defer static JNI-side init of SQLTester until main() is called so that its auto-extensions do not leak over to clients of the main library. (check-in: e461fdd53b user: stephan tags: jni)
01:05
Merge trunk into jni branch. (check-in: 52fa6f7841 user: stephan tags: jni)
01:03
Treat all args to --glob as a single glob. (check-in: 4737bd3457 user: stephan tags: jni)
00:58
Remove --print's ability to read ahead. (check-in: 15cfee972b user: stephan tags: jni)
00:34
Replace the SQLTester infrastructure with a line-oriented, non-regex-heavy parser. Add --column-names command. (check-in: 88863908ee user: stephan tags: jni)
2023-08-09
23:47
Port the SQLTester 'v1' commands to the 'v2' evaluation bits. Still TODO is swapping out v1 with these separate impls. (check-in: 0cf57e5b0f user: stephan tags: jni)
22:30
Correct REQUIRED_PROPERTIES handling to not fail if there are no properties. (check-in: 7a19bef4f5 user: stephan tags: jni)
22:18
More for the SQLTester rework. Can read input and dispatch commands, but only --print is currently implemented. (check-in: 4fa2ad33ed user: stephan tags: jni)
19:51
Initial sketches of a line-by-line parser for SQLTester to overcome its compatibility shortcomings. Far from complete. (check-in: 43534cd042 user: stephan tags: jni)
18:25
Adapt TestScript to skip REQUIRED_PROPERTIES, per [7a07863e082664da], and improve a couple of adject reasons-for-skipping messages. (check-in: f937097e9b user: stephan tags: jni)
17:47
Add an extra constraint to the test-script-interpreter.md spec. (check-in: 7a07863e08 user: drh tags: jni)
17:23
SQLTester --result command: do not double-{}-wrap error messages and do not throw on db error. (check-in: f7be20f5a6 user: stephan tags: jni)
17:04
Move the test command body's trim() back into the TestScript class (to simplify Command-level code) but do it after double-verbose has had the chance to emit it as-is (so that debug output is not mangled by the trim). (check-in: f15ecb68f7 user: stephan tags: jni)
16:56
Tweak the SQLTester --verbose and double-verbose output a bit for legibility. (check-in: 46b79afaaf user: stephan tags: jni)
16:29
Strip --oom commands from SQLTester input since (A) we can't currently do anything with them and (B) they can appear as body content of --testcase commands and the current parser cannot deal with that. If --verbose is provided once, emit the name and args of each command as it's run. If --verbose is used twice or more, also emit the command's body text, if any. (check-in: 0770e8467d user: stephan tags: jni)
16:03
Update the definition of "special characters" for the SQLTester and correct the code to match it. (check-in: 217f6e0c9c user: stephan tags: jni)
15:46
Extend TestScript to be able to report why it should be skipped. Expand the test-skipping rules to account for the current spec doc. Add the {} empty-string case to the spec doc. (check-in: 4fcc8cb0cc user: stephan tags: jni)
14:47
Add a test for the --null command. (check-in: 83ac815deb user: stephan tags: jni)
14:43
Extend SQLTester glob support with '#'. (check-in: 756ef83f45 user: stephan tags: jni)
14:24
Implement the SQLTester's result escaping rules. (check-in: 61bb950873 user: stephan tags: jni)
13:51
Add --json and --json-block SQLTester commands. (check-in: 478129d901 user: stephan tags: jni)
13:16
Add SQLTester --tableresult command. (check-in: 8c5b6d893d user: stephan tags: jni)
12:05
Clean up the SQLTester output a bit by using the module name, instead of filename, where appropriate. (check-in: 5323e4fd25 user: stephan tags: jni)
11:10
Document SQLTester's --print command and add some argument validation to it. (check-in: ab9c945bb0 user: stephan tags: jni)
11:05
Rework how SQLTester's Command objects are dispatched and how TestScript stores its command entries. (check-in: f929f1f7f7 user: stephan tags: jni)
09:56
Some minor tweaks in SQLTester in prep for larger refactoring. (check-in: 1d93f93ac9 user: stephan tags: jni)
2023-08-08
22:10
Remove the current-statement tracking from the JNI internals because it will break down in the face of client-side mixed-mode native/java code, e.g. in cases like SQLTester. This makes tracing of sqlite3_stmt a micron slower but also reliably correct. (check-in: 4c0ec89dca user: stephan tags: jni)
21:22
Adapt JNI build to be buildable with or without SQLTester. (check-in: adae7d7869 user: stephan tags: jni)
21:05
Add SQLTester dup() and dup_count() UDFs. Correct arg handling of the --run command. (check-in: 0dba3073f4 user: stephan tags: jni)
20:41
Correct --result arg count check and add infrastructure to let us add custom C-side behavior to SQLTester via an auto extension. (check-in: bb8321702e user: stephan tags: jni)
20:15
If SQLTester now treats a no-args --result as comparing against an empty string. (check-in: 49005ca5cc user: stephan tags: jni)
20:02
Add glob/notglob commands to SQLTester and complete the interrupted-midway impls of the strglob() and strlike() JNI bindings. (check-in: 4ba98ec0bf user: stephan tags: jni)
19:20
When SQLTester hits an unknown command, emit a warning and skip the rest of that script instead of aborting the whole run, per /chat discussion. Reduce verbosity a bit. (check-in: 3e78d22d04 user: stephan tags: jni)
17:36
Minor cleanups in sqlite3Int.h. By reordering some fields in the Parse object, it packs more tightly and uses less memory and less CPU to initialize. (check-in: aa6de539c0 user: drh tags: trunk)
16:53
Fix an issue in the amalgamation generator in which it was not correctly expanding the SQLite version in the header comment. (check-in: 293f6191e9 user: drh tags: trunk)
14:58
Correct the spacing output of multi-select SQL blocks for SQLTester --result. (check-in: 8d98645a9e user: stephan tags: jni)
14:49
Updates to the test script interpreter spec: Rather than failing immediately upon encountering an incompatibility, simply abandon the rest of that particular input file. (check-in: d2c99b96f4 user: drh tags: jni)
14:40
A number of baby steps for SQLTester.java. It can now handle basic --result cases. (check-in: 0404f688f6 user: stephan tags: jni)
14:25
Add a few words of clarification on how the SQLite Test Script Interpreter should be initialized to start each test script. (check-in: 3aa2b5a5ca user: drh tags: jni)
13:05
Correct JNI sqlite3_prepare() to emit a null stmt handle when the C counterpart succeeds but results in a NULL pointer. (check-in: 94628f88b5 user: stephan tags: jni)
11:46
Implement the new/open/close SQLTester commands. (check-in: dc823bf00f user: stephan tags: jni)
11:46
Add a JNI-layer sqlite3.toString() for debugging. (check-in: 456691649a user: stephan tags: jni)
10:58
Bind sqlite3_strlike/strglob() to JNI. (check-in: eb5440f71b user: stephan tags: jni)
09:45
SQLTester: add print command and improve argument error reporting infrastructure. (check-in: 1b6e84f6aa user: stephan tags: jni)
00:59
Add missing license header. Minor cleanups in SQLTester. (check-in: 5be50fd588 user: stephan tags: jni)
00:37
Rework SQLTester dispatching and add stub impls for several commmands. (check-in: 9e61af75ac user: stephan tags: jni)
2023-08-07
23:59
Add command dispatcher to SQLTester. (check-in: e0a06931e9 user: stephan tags: jni)
23:04
SQLTester now ignores tests which contain constructs specified in the spec doc. (check-in: ecaeee652a user: stephan tags: jni)
22:32
SQLTester can now split a test script into a series of individual commands. (check-in: d3d1accc8b user: stephan tags: jni)
22:02
SQLTester can now read a script and strip it of all noise content. (check-in: 59bd392817 user: stephan tags: jni)
21:04
Initial skeleton for adding an SQL-driven test script interpreter for the JNI bindings. (check-in: 2aa8f0edec user: stephan tags: jni)
17:09
Enhance sqlite3_vtab_nochange() so that it works with "UPDATE ... FROM ..." statements. Use this to allow some updates on fts5 contentless-delete tables. (check-in: 27ff86e4d8 user: dan tags: trunk)
16:15
Changes so that sqlite3_vtab_nochange() works with "UPDATE ... FROM...". Use this to allow UPDATE on a contentless fts5 table if new values are supplied for all indexed columns. (Closed-Leaf check-in: 16cd2161e3 user: dan tags: fts5-contentless-delete)
11:18
When converting a Java exception to a db error message, use Throwable.toString() instead of getMessage() so that the exception type's name is included. More internal API renaming for consistency. (check-in: 2d44720d06 user: stephan tags: jni)
10:59
Lots of JNI internal API renaming, for consistency, and moving-around of utility functions. Make it safe for more callback types to throw. (check-in: 9a494394b9 user: stephan tags: jni)
10:01
JNI API renaming to better match the C API. (check-in: 6e0bd03d0b user: stephan tags: jni)
09:44
Rename fts5_api pContext parameters to pUserData, per /chat discussion. This is a cosmetic change made to reduce confusion between those parameters and the two other context-type parameters in that API. (check-in: 2ca064d8eb user: stephan tags: trunk)
01:06
Make sqlite3_stmt() Java ctor private - it's only constructed from JNI code. (check-in: ce82c42f15 user: stephan tags: jni)
00:29
Minor internal cleanups and additional test metrics. (check-in: fa0a6b6e8e user: stephan tags: jni)
00:06
Bind the auto-extension APIs to JNI. (check-in: 746a5fa079 user: stephan tags: jni)
2023-08-06
22:09
Rework the sqlite3_open(_v2)() order of operations so that pending auto-extension support can get ahold of the open-time Java state despite the Java/C (sqlite3*) binding not having yet been established. (check-in: 34da294ab5 user: stephan tags: jni)
21:29
Completely rework how the JNI sqlite3_open(_v2) and sqlite3_prepare(_vN)() bindings deal with output pointers to give the JNI side full control over the origin of db and stmt handles (necessary for solving chicken/egg situations in auto-extensions and prepare-time trace). Lots of adjacent internal API renaming. (check-in: 644999caff user: stephan tags: jni)
20:01
Start adding JNI-side support for auto extensions, but hit a brick wall which requires slightly awkward semantics changes in the JNI bindings for sqlite3_open(_v2)() to resolve, so stash this #if'd out for the time being. (check-in: 77a32d238e user: stephan tags: jni)
15:01
Doc cleanups. (check-in: 5f56b00770 user: stephan tags: jni)
14:19
Bind sqlite3_config() to JNI for call variants taking (int,int*) and (int,const char *) variadic arguments. (check-in: 6119289da8 user: stephan tags: jni)
13:02
JNI-internal cleanups and API renaming. Add a C-side java-string-to-utf8 conversion. (check-in: 672d85795d user: stephan tags: jni)
11:05
Remove doc outdated warning about sqlite3_trace_v2() JNI binding being incompatible with MUTF-8. Use new to-string capability to simplify Fts5ExtensionApi::xColumnText() JNI binding. (check-in: ebcfc2379b user: stephan tags: jni)
10:49
Add a way to convert from standard UTF-8 to a Java string (JNI lacks this capability). (check-in: 07dd082c9e user: stephan tags: jni)
10:14
Bind sqlite3_db_filename() and (closely related) (A) add many more docs about the UTF-8/MUTF-8 discrepancy (B) start adding internals to enable us to perform the standard-UTF-8-to-Java conversion from C. (check-in: 586720fa71 user: stephan tags: jni)
2023-08-05
22:41
Bind sqlite3_set_authorizer() to JNI. (check-in: e0fa031359 user: stephan tags: jni)
21:35
Refactor the per-JNIEnv cache from a fixed-size static array to a linked list of dynamically-allocated entries. Uncache all per-db state (which is necessarily JNIEnv-specific) when the corresponding JNIEnv is uncached. (check-in: 9dd8b78419 user: stephan tags: jni)
20:19
Add SQLite3Jni.uncacheJniEnv(), a way for Java threads to clear their thread-specific cached state from the JNI bindings when they're about to terminate (or are otherwise done using the library). (check-in: 7468f8761b user: stephan tags: jni)
19:20
In the JNI docs, note that the sizeof SQLITE_TRANSIENT and SQLITE_STATIC should ideally be the same as the platform's pointer size. (check-in: 7d4ac44ec4 user: stephan tags: jni)
19:15
Tiny doc typo fixes from forum post 31eb707250. No code changes. (check-in: 8ede50082e user: stephan tags: trunk)
12:48
JNI internal refactoring and cleanups. (check-in: 7397973a2f user: stephan tags: jni)
11:16
Bind Fts5ExtensionApi::xUserData() to JNI and extend xCreateFunction() to accept that argument. In test code, use assert() instead of exceptions if assert() is enabled so that test failures (exceptions) thrown via callbacks do not get suppressed (which they otherwise necessarily are to avoid crashing the host app). (check-in: e438373776 user: stephan tags: jni)
04:30
Add missing Fts5PhraseIter.java to the build. (check-in: 96281ad0d5 user: stephan tags: jni)
04:23
Bind fts5_api::xCreateFunction() to JNI and demonstrate it with a test. (check-in: c653bf16cb user: stephan tags: jni)
01:28
Start adding fts5_api to JNI. (check-in: 14d18fe983 user: stephan tags: jni)
00:40
Bind the remaining Fts5ExtensionApi methods to JNI, noting that all are completely untested because the higher-level bits needed to do so are still missing. (check-in: 23383c1dfd user: stephan tags: jni)
2023-08-04
16:01
In the opfs-sahpool VFS's importDb() and exportFile() methods, throw if the actually-wrote/read amounts differ from the expected-to-write/read amounts, per feedback in forum post a4122e986f. (check-in: a617ebf4e5 user: stephan tags: trunk)
15:38
More work on the JNI binding of fts5 customization (still a long ways to go). (check-in: 1a246fd216 user: stephan tags: jni)
13:29
Merge the json_remove() bug fix from trunk into the bedrock branch. (check-in: a8872aa588 user: drh tags: bedrock)
13:27
Eliminate code duplication in the two JNI tester classes. (check-in: 63e7bbe3d5 user: stephan tags: jni)
13:24
Merge the json_remove() bug fix from trunk into the wal2 branch. (check-in: e6c066cae4 user: drh tags: wal2)
13:19
Fix a bug in the jsonLookup() routine used to search JSON. Bug was introduced by the recent (unreleased) JSON caching enhancements check-in [a4c1af616e672a0d] merged into trunk at [df099ad713011b67]. (check-in: ba7a66db13 user: drh tags: trunk)
13:03
FTS-related JNI refactoring. Move FTS-specific tests into their own class and dynamically load it, if possible, from the main test app. (check-in: b7a8428fcd user: stephan tags: jni)
12:44
More work towards binding FTS5 customization to JNI. Add Fts*.java files missing from previous checkin. (check-in: 91263178f4 user: stephan tags: jni)
11:10
Change comment on Fts5ExtensionApi.iVersion from "always set to 3" to "always set to 2". (check-in: b7de399c27 user: dan tags: trunk)
11:08
Start including fts5 customization bits into JNI, but it's far from functional. (check-in: abaf5edd04 user: stephan tags: jni)
09:53
Improve internal error handling in the JNI create_function() impl. (check-in: 2c88390faa user: stephan tags: jni)
08:45
Resolve the timing/ordering issue of a JS-to-WASM-converted xDestroy() function being uninstalled from WASM right before the underlying native call tries to call it. This has been a long-unnoticed bug which appears only when removing such functions or replacing them. (check-in: 031c9a76b6 user: stephan tags: trunk)
08:41
Part 2 of the fix from [a0f808363318c00fd1db78b]. (check-in: 5c3104228d user: stephan tags: trunk)
08:39
More work towards fts5 customzation in JS. (Leaf check-in: ce2a65d80f user: stephan tags: wasm-fts5)
2023-08-03
23:26
Merge the latest trunk enhancements into the bedrock branch. (check-in: 877ffece05 user: drh tags: bedrock)
23:22
Merge the latest trunk enhancements into the wal2 branch. (check-in: 6fa71e1119 user: drh tags: wal2)
22:43
Minor internal cleanups in the JS-side fts5 cleanup steps. (check-in: 2666f52e88 user: stephan tags: wasm-fts5)
21:14
Retain all xDestroy method WASM proxies created for fts5_api::xCreateFunction() until the db is closed, then free them all at once. (check-in: f4b9743abd user: stephan tags: wasm-fts5)
20:45
Rework the fts5 db-close cleanup to avoid that fts5 internally calls a just-unbound-from-wasm xDestroy() method. There is still work to do here to cover the case of fts5 functions being replaced (in which all xDestroy methods have to be retained until the db is closed). (check-in: 795f22421b user: stephan tags: wasm-fts5)
20:02
Part 2 of the fix from [a0f808363318c00fd1db78b]. (check-in: ce0674b192 user: stephan tags: wasm-fts5)
18:46
Resolve the timing/ordering issue of a JS-to-WASM-converted xDestroy() function being uninstalled from WASM right before the underlying native call tries to call it. This has been a long-unnoticed bug which appears only when removing such functions or replacing then. (check-in: a0f8083633 user: stephan tags: wasm-fts5)
18:14
Fix harmless scan-build warnings. (check-in: 65a8716d8a user: drh tags: trunk)
16:22
Fix a discrepancy between sqlite3_values_to_js() and its API docs/intended behavior. (check-in: 7b85c68fe2 user: stephan tags: trunk)
16:21
More infrastructure towards binding FTS5 customization support to WASM. (check-in: 163e3e44b1 user: stephan tags: wasm-fts5)
16:02
Fix a discrepancy between sqlite3_values_to_js() and its API docs/intended behavior. (check-in: 16658b3c64 user: stephan tags: wasm-fts5)
13:30
Fix build problems associated with SQLITE_OMIT_WSD and SQLITE_OMIT_TRIGGER. (check-in: de031a5ec8 user: drh tags: trunk)
13:07
Fix a test case whose value changes under the no_optimization permutation due to the recent change to add the ability for SQLITE_TESTCTRL_OPTIMIZATION to disable one-pass. (check-in: 976e39c632 user: drh tags: trunk)
12:41
Unix builds now assume the presence of nanosleep() in the standard library. The -DHAVE_NANOSLEEP=0 compile-time option can be used to build on systems (if any still exist) where this is not the case. (check-in: 779d5dc879 user: drh tags: trunk)
07:20
Initial work on exposing the FTS5 APIs to wasm, per request in the forum. This builds and loads the structs into JS but is completely untested. (check-in: 52c8b73ae3 user: stephan tags: wasm-fts5)
2023-08-02
18:20
If a query has an ORDER BY clause that only refers to result columns of the left-most table and the left most table is a MATERIALIZED common table expresion, then attempt to push the ORDER BY clause down into the subquery. (Leaf check-in: 8e7a70b2bb user: drh tags: order-by-push-down)
17:29
More JNI-internal docs. Correct handling of a Java exception if a trace callback throws. (check-in: 306b269a01 user: stephan tags: jni)
17:20
Internal doc additions in the JNI bits. (check-in: b56643644e user: stephan tags: jni)
16:06
Performance optimization for JSON rendering logic. (check-in: ea0b9aecba user: drh tags: trunk)
13:45
Remove an unreachable branch in the ascii-to-floating-point conversion that was added by [e989a37ff9d5b52e]. (check-in: c4347e4400 user: drh tags: trunk)
13:38
Stricter enforcement of the idea that a MATERIALIZED common table expression is an optimization fence. (check-in: 354425f8d9 user: drh tags: trunk)
13:29
Remove a condition from query flattening that is now taken care of by the caller. Factor out the reverse_unordered_selects processing from the main loop of sqlite3WhereBegin() for performance. (Closed-Leaf check-in: f068f105fb user: drh tags: materialize-order-by)
12:39
Simplify the select.c logic that enforces the optimization fence around a MATERIALIZED common table expression. Do not allow the reverse_unordered_selects setting to affect a fenced CTE that itself has an ORDER BY clause. (check-in: 165b9bda24 user: drh tags: materialize-order-by)
11:06
Never flatten a CTE that is labeled MATERIALIZED. This is really something of a bug fix because the documentation says that a MATERIALIZED CTE is an optimization barrier. (check-in: b7ef9796f5 user: drh tags: materialize-order-by)
00:09
When a query is inside an AS MATERIALIZED CTE, do not attempt the omit-ORDER-BY optimization. If the developer specifies MATERIALIZED, that means he wants the sort to actually happen. (check-in: aa769ee747 user: drh tags: materialize-order-by)
2023-08-01
19:10
Avoid ASAN warnings when converting over-sized long double values into double. (check-in: e989a37ff9 user: drh tags: trunk)
16:41
Filter the wasmfs-specific JS module result type check out of non-wasmfs builds. (check-in: ef7c121049 user: stephan tags: trunk)
16:38
Fix part 2 of 2 for /fiddle: a make deps problem which caused fiddle to load but fail to run when sqlite3.c was missing. (check-in: 6011bc2676 user: stephan tags: trunk)
16:17
Fix part 1 of 2 for /fiddle not running: build flags which were renamed during refactoring. (check-in: 214ffeeff7 user: stephan tags: trunk)
11:03
Fix an assert() in fts5_index.c that might fail when dealing with corrupt records. (check-in: aa55c83f35 user: dan tags: trunk)
10:19
More docs for the Java side of the JNI bindings. (check-in: d8e9bcee96 user: stephan tags: jni)
09:44
Internal exception-handling cleanups in the JNI bindings. (check-in: 057b1d4f6f user: stephan tags: jni)
08:48
Minor JNI-related doc tweaks and code re-ordering. (check-in: b663b27e42 user: stephan tags: jni)
01:07
Remove redundant comparison operator. (check-in: 0189843298 user: drh tags: trunk)
00:34
Restore part of the UPDATE one-pass optimization that was removed by check-in [2c56b984a0bd3be5]: only disable one-pass if the WHERE clause contains a subquery. Allow subqueries in the SET expressions. Fix for performance problem reported by forum post 8ab195fd44e75ed0. (check-in: 42916af9fc user: drh tags: trunk)
2023-07-31
22:03
Restrict the new column cache to table-btree, which is the common case anyhow. That way, writes to indexes do not need to clear the column cache. (check-in: 659284ab0e user: drh tags: trunk)
20:02
The original column-cache implementation from check-in [ab1edcc7fedcf279] (merged to trunk at [771fe35074b50b8d]) is unsound. This check-in fixes the issue. Had to give back a little performance, the optimization is still a overall win. (check-in: ec95e970fb user: drh tags: trunk)
17:39
Add bit to sqlite3_test_control(SQLITE_TESTCTRL_OPTIMIZATIONS) that will disable the one-pass optimizating in DELETE and UPDATE. (check-in: 22f6dd5cd3 user: drh tags: trunk)
17:20
Improved debug tracking of the Parse.nQueryLoop value. (check-in: 4a8a17498e user: drh tags: trunk)
13:52
Experimentally change the JNI sqlite3_trace_v2() callback type to have more convenient access to the current Java-side sqlite3_stmt at the cost of some uncomfortably fiddly current-statement tracking in the JNI layer. Subject to change. (check-in: 459db332af user: stephan tags: jni)
12:10
Add some JNI-internal metrics, accessible via passing -v when running Tester1.java. Document an OpenJDK bug which leads to incorrect -Xlint:jni warnings. (check-in: a5d68a6b64 user: stephan tags: jni)
10:55
Correct a mis-cast in the JNI wrapper which just happened to accidentally work. Update JNI binding of sqlite3_context_db_handle() to return the bound-at-open() db instance instead of a new/temp proxy object. (check-in: 9faca5d9ed user: stephan tags: jni)
10:42
Add another test for JNI-bound scalar UDFs. (check-in: 8b322d92e2 user: stephan tags: jni)
10:22
Update some internal docs for the past two checkins. Add a way to dump out some debug info about the current JNI environment. (check-in: ac9b8bb1e6 user: stephan tags: jni)
10:08
Refactor the busy-handler-specific JNI hook type to use the generic hook type. (check-in: d9efdc6dd2 user: stephan tags: jni)
09:45
Refactor the collation-specific JNI hook type to use the generic hook type. (check-in: 02c1d3b650 user: stephan tags: jni)
09:28
Internal JNI doc tweaks. (check-in: f4aa2c8288 user: stephan tags: jni)
07:15
Consolidate triplicated xDestroy()-calling code. Remove some unnecessary casts. (check-in: 24c0763d0e user: stephan tags: jni)
2023-07-30
18:41
Internal JNI API renaming. (check-in: fcfc070673 user: stephan tags: jni)
17:24
Internal JNI refactoring towards consolidating support for callbacks with and without finalizers. (check-in: 120983a570 user: stephan tags: jni)
13:47
Mark the Java wrapper classes of the C-native types as 'final' (cannot be subclassed). (check-in: 4fd3d93623 user: stephan tags: jni)
13:30
Minor tweaks and optimizations in the JNI bindings. (check-in: 41fb5898f1 user: stephan tags: jni)
11:36
Bind sqlite3_collation_needed() to JNI. Related adjacent cleanups and fixes. (check-in: 16ff167691 user: stephan tags: jni)
10:47
Internal JNI refacoring to support the pending sqlite3_collation_needed() callback. Correct a bug in the linked-list handling of PerDbStateJni which triggered an assert(). (check-in: 7ac6614e69 user: stephan tags: jni)
09:45
Incremental checkin to minimize the diff while narrowing in on an assertion caused by refactoring. (check-in: 2d7a91b139 user: stephan tags: jni)
08:12
Consolidate some warnings for java callbacks which must not throw but do. (check-in: 5e592ed2df user: stephan tags: jni)
07:44
Bind sqlite3_update_hook() to JNI. (check-in: a5bbaa9017 user: stephan tags: jni)
06:44
Bind sqlite3_rollback_hook() to JNI. (check-in: 5f8ee44098 user: stephan tags: jni)
06:00
Add commit hook failure to JNI tests. (check-in: be4459b495 user: stephan tags: jni)
05:50
Bind sqlite3_commit_hook() to JNI. (check-in: c687297fca user: stephan tags: jni)
04:31
Bind sqlite3_progress_handler() to JNI. Add some metrics to Tester1.java. (check-in: 437ecfe8ab user: stephan tags: jni)
03:54
Add tests for SAHPoolUtil.exportFile() and importDb(). (check-in: 4aa88b8fb1 user: stephan tags: trunk)
2023-07-29
22:58
Do not try to add MEM_Term to an MEM_Static string either. (check-in: 8920dcef1f user: drh tags: trunk)
21:22
Do not try to apply MEM_Term to a MEM_Ephem strings. (check-in: 2a378a6678 user: drh tags: trunk)
20:13
Fix a buffer overread in the fts5_structure virtual table (test code). (check-in: b837aff79c user: dan tags: trunk)
17:05
Simplification to the sqlite3_stmt_explain() implementation. (check-in: dd5eb4c7f7 user: drh tags: trunk)
15:53
SAHPoolUtil.importDb() now accepts either a byte array or ArrayBuffer. (check-in: 3848f04e54 user: stephan tags: trunk)
15:31
Enhancements to the new sqlite3_stmt_explain() interface implementation and documentation. (check-in: dc98ac6b6d user: drh tags: trunk)
2023-07-28
21:38
Fix doc error noted in the forum and a misspelling. (check-in: 6b79cc7dd0 user: larrybr tags: trunk)
20:59
Do not allow the same JSON parse to be input to both arguments to the json_patch() routine. (check-in: 8e781c6742 user: drh tags: trunk)
19:07
Merge the latest trunk enhancements into the wal-shm-exceptions branch. (check-in: c44fb4d065 user: drh tags: wal-shm-exceptions)
19:00
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: b8731493bf user: drh tags: reuse-schema)
18:52
Merge the latest trunk enhancements into the bedrock branch. (check-in: 1d6ded3234 user: drh tags: bedrock)
18:47
Merge the latest trunk enhancements into the wal2 branch. (check-in: c1fa1cb5e0 user: drh tags: wal2)
18:44
Internal JNI binding docs. (check-in: 991c66197e user: stephan tags: jni)
18:43
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: 7407dda8b4 user: drh tags: begin-concurrent)
18:37
Add the sqlite3_stmt_explain() API. (check-in: 0443c0ef85 user: drh tags: trunk)
18:02
Fix an incorrect file path in ext/jni/README.md (check-in: bcefa2df56 user: stephan tags: jni)
16:12
Minor tweaks to the JSON performance measurement documentation. (check-in: 0bed957e46 user: drh tags: trunk)
15:58
Fix minor typos in the JNI README.md file. (check-in: e21cf2e8f1 user: drh tags: jni)
14:20
Enhancements to the JSON performance testing scripts and instructions to cover the recent optimizations involving updates to large JSON strings that indexed. (check-in: f9213289d0 user: drh tags: trunk)
13:52
JSON performance improvements: (1) Add a cache for large string values on OP_Column to avoid having to extract the string multiple times. (2) Internal JSON caching improvements. (check-in: 771fe35074 user: drh tags: trunk)
12:59
A failed attempt to add a new sqlite3_result_zeroterminated() interface that is a hint to SQLite that a TEXT result does have a zero terminator. The idea is to avoid unnecessary copying of TEXT values. This seems like an unnecessary complication at the moment, but maybe I'll return to this later. Note that this check-in does not work - it is a proof of concept only. (Closed-Leaf check-in: a0de01108c user: drh tags: sqlite3_result_zeroterminated)
11:52
Correct a recently-introduced falsehood in ext/wasm/README.md regarding ssh port forwarding. (check-in: 2a3f3a9cf2 user: stephan tags: trunk)
11:30
Mark an unreachable branch as ALWAYS(). (Closed-Leaf check-in: 8fd06d1151 user: drh tags: json-opt)
10:37
Minor java cleanups recommended by a modern IDE. (check-in: f92a9bbabe user: stephan tags: jni)
10:01
Add Java tests which ensure that xFinal() is called with no aggregate context when the result set is empty. (check-in: 7ac8c66a6b user: stephan tags: jni)
09:54
Tweaks to the Java-side UDF docs. (check-in: 48e0079d8d user: stephan tags: jni)
09:25
More Java docs about making use of the aggregate context. Change the JNI mapping to set the sqlite3_context::aggregateContext member directly, instead of via a superflous setter, because that way is faster. (check-in: 7af0cb998f user: stephan tags: jni)
01:51
More docs and cleanups related to the aggregate UDF state. Correct the OOM check to behave properly if xFinal() is called without a matching xStep(), xValue(), or xInverse(). (check-in: ff53f1ccdc user: stephan tags: jni)
01:19
Add an OOM check to the previous check-in. Minor internal API renaming. (check-in: 6b56e4d62b user: stephan tags: jni)
01:12
Add support making use of sqlite3_aggregate_context() (in a roundabout way) from Java to accumulate state within aggregate and window UDFs. (check-in: 6405749847 user: stephan tags: jni)
00:54
Remove some unnecessary and incorrect code that was mistakenly added in the previous check-in. (check-in: d3f458dcc3 user: drh tags: json-opt)
2023-07-27
23:51
Switch to using jsonParseCached() for json_patch(). (check-in: 2ed9c59e6a user: drh tags: json-opt)
22:53
Reformulate jni tests to not require the -ea jvm flag to enable assert(). (check-in: dc356667a8 user: stephan tags: jni)
22:42
Add locking test for BusyHandler and clear up new -Xlint:jni warnings introduced by the busy-handler binding. (check-in: 7dcde2bfce user: stephan tags: jni)
22:05
Bind sqlite3_busy_handler(). Correct mapping of pointers for, and cleanup of, JNI-level per-db state. (check-in: 524747796a user: stephan tags: jni)
20:32
Replace some www: interwiki references in the JNI readme with their full URLs to make the doc more portable. (check-in: 63ce0c9bdd user: stephan tags: jni)
20:28
If the input JSON to a json function that uses cache comes from an RCStr value, then use that RCStr value in the parse rather than making a copy. (check-in: 509ae9c147 user: drh tags: json-opt)
20:12
Merge trunk into jni branch for compiler warning fixes. (check-in: 0514fd340a user: stephan tags: jni)
20:08
Fix a couple of compiler warnings in fts5_index.c. (check-in: bf71faa2a1 user: dan tags: trunk)
20:02
Initial check-in of JNI (Java Native Interface) bindings for the core C API. (check-in: b5374b9ef5 user: stephan tags: jni)
19:39
The OP_Column opcode caches large column values coming from overflow pages. (check-in: ab1edcc7fe user: drh tags: json-opt)
19:13
Add the contentless_delete=1 option to fts5. For creating contentless tables that support DELETE and REPLACE statements. (check-in: d66b182d2b user: dan tags: trunk)
18:19
Merge trunk enhancements into the json-opt branch. (check-in: 5739a16ad2 user: drh tags: json-opt)
17:50
Dynamically determine whether the wasm.xWrap() argc check can be applied, depending on how the wasm environment exposes its exports. (check-in: fd59226b34 user: stephan tags: trunk)
15:00
Dynamically determine whether the wasm.xWrap() argc check workaround for JSPI is necessary, instead of baking it in to JSPI builds. (Edit: closing jspi branch. Introducing JSPI would require making parts of the C API wrapper async.) (Closed-Leaf check-in: 86bb464f31 user: stephan tags: jspi)
01:38
Accommodate a breaking change in emcc 3.1.44. (check-in: 2c5dd34199 user: stephan tags: trunk)
01:35
Accommodate a breaking change in emcc 3.1.44. (check-in: 4ce3860300 user: stephan tags: jspi)
00:21
Fix a performance regression in JSON associated with generating small snippets of JSON from a larger JSON string. See forum thread 15d6bd9cd37202a7. (check-in: 837f2907e1 user: drh tags: trunk)
2023-07-26
23:22
Reduce the number of memory allocations when parsing JSON. (check-in: 9edd671621 user: drh tags: trunk)
21:53
Minor changes to make coverage testing easier. (check-in: ec8b43382e user: drh tags: trunk)
19:22
Change a switch() case to default for coverage. (check-in: 04f497074b user: drh tags: trunk)
19:11
Make sure jsonReplaceNode() always leaves the JsonParse in a consistent state even if an error is encountered. (check-in: 01d52232dd user: drh tags: trunk)
18:34
Add a comment describing the contents of the ExceptionInformation[] array for win32 EXCEPTION_IN_PAGE_ERROR exceptions. No changes to code. (check-in: 8e20354242 user: dan tags: wal-shm-exceptions)
18:13
Make sure jsonReplaceNode() always leaves the JsonParse in a consistent state even if an error is encountered. (Closed-Leaf check-in: 29c7b1cbc4 user: drh tags: mistake)
18:11
Initial experimentation with getting JSPI (JavaScript Promise Integration) support working. It builds, but requires disabling func argument count validation checks on sqlite3.wasm.xWrap()-processed exports and it crashes cryptically in wasm when the tests are run. (check-in: 5b178f92f5 user: stephan tags: jspi)
17:51
Add the ".scanstats vm" command to the shell tool. For profiling VM code in SQLITE_ENABLE_STMT_SCANSTATUS builds. (check-in: 0cbec3990d user: dan tags: trunk)
16:41
Improve the output when ".scanstats vm" is enabled. (Closed-Leaf check-in: 7df08fd35e user: dan tags: scanstatus-exp)
14:18
Improved caching and reuse of JSON parses. (check-in: df099ad713 user: drh tags: trunk)
13:17
Change the debugging "json_parse(X)" function so that it shows a more complete description of the JsonParse object on standard output and returns the mimified JSON. Former behavior was to return the text of a decode of the aNode array. (check-in: 1bf85d4e38 user: drh tags: json-opt)
11:53
More comment improvements in json.c. Do not run jsonLookup() following an OOM error. (check-in: cd5fda8c2e user: drh tags: json-opt)
11:43
Improved comments and other cleanup for the changes on this branch. (check-in: bac953a80d user: drh tags: json-opt)
11:41
Remove the batch SQL runner from the JS build's 'all' target, as it's long-since unused and adds noticable build time. Add makefile comments about JSPI. (check-in: b8f708e35d user: stephan tags: trunk)
11:11
Add SAHPoolUtil.getFileNames() method, and tests for it, per forum feedback. Add a test to demonstrate that two SAH pools can coexist so long as they have different names. (check-in: 72dc3f8c32 user: stephan tags: trunk)
11:00
Fix jsonForceRCStr() to also add the NULL terminator. (check-in: 134b01f37f user: drh tags: json-opt)
07:57
Reformulate [907dfc4a7aa1] using awk instead of sed for better cross-platform portability. (check-in: 82ff7cc6a4 user: stephan tags: trunk)
01:15
Merge the latest trunk fixes into the json-opt branch. (check-in: ef4e1664d1 user: drh tags: json-opt)
01:12
Add the concept of an RCStr string - a "Reference Counted String". Use these to keep track of big JSON strings that might need to be used in multiple places at the same time with different lifetimes. Add two different JSON string values to each parse - one with and one without changes. The net result is a large reduction in the number of parses that occur when doing an UPDATE of a indexed JSON field using json_replace() or similar. (check-in: a4c1af616e user: drh tags: json-opt)
01:05
Extend the enhancement to json_set() and json_replace(). Clean up cruft. (Closed-Leaf check-in: 2dbb22c75e user: drh tags: json-opt-rcstr)
00:48
Add the JsonParse.zAlt field to old revised JSON text after a change. Demonstrate that this elminates the need for reparsing after a change by using it in the json_remove() function. This is an incremental check-in containing lots of cruft. (check-in: f930b139d6 user: drh tags: json-opt-rcstr)
2023-07-25
20:26
Clarify ownership of the various objects involved in parsing JSON. (check-in: afe02a398a user: drh tags: json-opt-rcstr)
18:28
Incremental improvements to JSON parsing - trying to fold in the RCStr object. (check-in: 4cb15d934a user: drh tags: json-opt-rcstr)
17:54
Fix a harmless "set-but-not-used" compiler warning in sqlite3session.c. (check-in: 54b3c43fdf user: dan tags: trunk)
17:11
Merge trunk changes into this branch. (Closed-Leaf check-in: 719973d7f5 user: dan tags: fts5-contentless-delete)
16:48
Add extra test for 'deletemerge'. (check-in: bc33cff420 user: dan tags: fts5-contentless-delete)
15:48
Change the name of the fts5 'delete-automerge' option to 'deletemerge'. And add tests for it. (check-in: 1079300db2 user: dan tags: fts5-contentless-delete)
15:43
Fix a minor problem with error reporting in JSON. (check-in: c456e4a899 user: drh tags: json-opt-rcstr)
15:08
Create the new RCStr class of strings and try to use them for JSON storage. (check-in: c1b8725089 user: drh tags: json-opt-rcstr)
13:53
Further tests for 'delete-automerge'. (check-in: ca26c7a37a user: dan tags: fts5-contentless-delete)
12:26
Reformulate a (sed -i) construct in ext/wasm/GNUmakefile to account for Mac's sed -i being different than GNU's. (check-in: 907dfc4a7a user: stephan tags: trunk)
00:13
First attempt to cache modified JSON parses. Does not work. This is an incremental check-in. (Leaf check-in: 075eb09a4f user: drh tags: json-opt-wcache1)
2023-07-24
23:27
It is an error to try to insert a BLOB value into JSON. (check-in: 28c6e964b1 user: drh tags: json-opt)
22:45
Clean up some #defines in json. (check-in: 327fff501e user: drh tags: json-opt)
22:34
Rework the JSON parse structure to facilitate better caching. Passes all tests. (check-in: ecdcb1ded7 user: drh tags: json-opt)
19:13
Add the fts5 'delete-automerge' integer option. A level is eligible for auto-merging if it has a greater than or equal percentage of its entries deleted by tombstones than the 'delete-automerge' option. Default value is 10. (check-in: b314be66b9 user: dan tags: fts5-contentless-delete)
17:59
Incremental progress toward improved caching of parsed JSON. (check-in: f2c0638846 user: drh tags: json-opt)
15:41
Resolve an ES6 module export construct which is incompatible with node.js, as reported in forum post b9680fa9ad. (check-in: 80927c3913 user: stephan tags: trunk)
13:30
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: e0e7b01e27 user: drh tags: reuse-schema)
13:24
Merge the latest trunk enhancements into the bedrock branch. (check-in: a6f3443994 user: drh tags: bedrock)
13:20
Merge the latest trunk enhancements into the wal2 branch. (check-in: b2e56f62ad user: drh tags: wal2)
13:15
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: 967be041ea user: drh tags: begin-concurrent)
12:59
Update the latest trunk enhancements into the wal-shm-exceptions branch. (check-in: 3187ee3f69 user: drh tags: wal-shm-exceptions)
12:37
Merge the latest trunk enhancements into the json-opt branch. (check-in: 00bfc4918b user: drh tags: json-opt)
2023-07-23
22:14
When writing the filename header in a opfs-sahpool file, ensure that all remaining bytes in that part of the header are zeroed out to avoid the downstream problems reported in forum post d50ec48a293988a5. (check-in: c1b080e393 user: stephan tags: trunk)
2023-07-22
19:57
Add the opfs-sahpool sqlite3_vfs implementation to JS, offering an alternative to the other OPFS VFS (with tradeoffs). (check-in: d2e602cda4 user: stephan tags: trunk)
19:47
Integrate contentless delete with auto-merge. (check-in: 85c1589ab1 user: dan tags: fts5-contentless-delete)
16:37
Do not read past the end of a text buffer looking for a zero terminator, as that space might not be initialized. If the buffer is owned, just set the null terminator. This is a better fix for the OSSFuzz-detected use-of-initialized-value problem. (check-in: 931bccb0cc user: drh tags: trunk)
15:21
Fix a harmless use-of-initialized-value warning from OSSFuzz that results from recent large string optmizations. (check-in: 1a6b3dd1c4 user: drh tags: trunk)
2023-07-21
22:28
Performance enhancements for queries using very large string values. (check-in: 3661b9cd98 user: drh tags: trunk)
22:22
Mark an unreachable branch as NEVER(). (Leaf check-in: 414a4d660c user: drh tags: big-function-text)
21:10
Fix fts5 incremental optimization so that it too can handle an index that consists of a single segment with one or more tombstone hash pages. (check-in: e61c9b083f user: dan tags: fts5-contentless-delete)
19:33
Ensure the fts5 'optimize' command correctly rewrites any index that consists of a single segment and one or more tombstone hash pages. (check-in: f4926006b3 user: dan tags: fts5-contentless-delete)
19:17
Fix harmless compiler warning introduced by the previous check-in. (check-in: 06f829e9e5 user: drh tags: big-function-text)
18:38
Avoid a potentially large strlen() in sqlite3DecOrHexToI64(). (check-in: 5413b02bb6 user: drh tags: big-function-text)
18:09
Further improvements to large string handling in relation to JSON. (check-in: 1e5df0aa3d user: drh tags: big-function-text)
15:07
Fix harmless compiler warning about signed/unsigned comparison. (check-in: 75cc3c89ee user: drh tags: big-function-text)
15:01
Multiple optimizations that try to preserve or infer the zero-terminated property of TEXT values. Avoid unnecessary copying of text values destined to become function parameters. All changes help improve performance of doing UPDATEs on large JSON values that are indexed multiple ways. (check-in: d0278cdedf user: drh tags: big-function-text)
11:09
More infrastructure changes towards improving JSON cache performance. Incremental check-in. (check-in: 1955e66cfc user: drh tags: json-opt)
10:51
Minor internal cleanups in the opfs-sahpool VFS. (Closed-Leaf check-in: 74ad31e290 user: stephan tags: opfs-sahpool)
09:10
Internal cleanups in the async part of the JS library bootstrap phase. (check-in: b6d57ab637 user: stephan tags: opfs-sahpool)
2023-07-20
23:25
Minor internal cleanups in JS code. (check-in: 21a2ca9fc4 user: stephan tags: opfs-sahpool)
20:29
Fix some divide-by-zero errors that could occur when handling corrupt tombstone hash records. (check-in: 7567ca0676 user: dan tags: fts5-contentless-delete)
20:09
Avoid an infinite loop that could be entered when dealing with corrupt fts5 tombstone hash pages. (check-in: 69ce2ce035 user: dan tags: fts5-contentless-delete)
17:45
Experimental framework upon which to build a better JSON parse structure that supports cached of modified JSON. All of these changes are tentative and subject to change or removal. Incremental check-in. (check-in: e384163a47 user: drh tags: json-opt)
16:07
Add tests and fixes for the new code on this branch. (check-in: 5aac50e92e user: dan tags: fts5-contentless-delete)
09:06
Filter the OPFS VFSes out of the sqlite3-node.mjs build. Add another level of subdirectory to the sahpool to later enable transparent support of client-provided files under the VFS's root dir. Rework the awkward sahpool-via-oo1 mapping. (check-in: 080a4d0aba user: stephan tags: opfs-sahpool)
2023-07-19
23:02
Performance enhancements to the JSON parser and code generator. (check-in: 0a745897d6 user: drh tags: trunk)
20:23
Revise the new JSON parser performance test to make the test run 25 times longer, and thus provide a more repeatable number. (check-in: bee9e403ae user: drh tags: trunk)
19:23
Describe JSON parser performance testing procedure in test/json/README.md (check-in: c47056e158 user: drh tags: trunk)
18:47
Fix various issues with code added to this branch. (check-in: 8d09011fa2 user: dan tags: fts5-contentless-delete)
17:47
More internal refactoring and docs for opfs-sahpool. (check-in: 64ccf6177a user: stephan tags: opfs-sahpool)
17:46
Update the development-over-ssh docs for the wasm build. (check-in: 500109bd0a user: stephan tags: opfs-sahpool)
17:24
Further improvement to JSON parser performance. (check-in: 144c8ccf6e user: drh tags: json-opt)
15:06
Further performance enhancements to JSON parsing and rendering. Total performance gain for large JSONs so far on this branch is about 11%. (check-in: adb4d6b007 user: drh tags: json-opt)
13:50
Performance optimization for parsing large JSONs that contain lots of text. (check-in: c9fbe0185c user: drh tags: json-opt)
13:31
Major restructuring of opfs-sahpool to improve maintainability and hopefully make it easier to reuse these pieces in the upcoming JSPI-based VFS experiment. (check-in: 534481cd0c user: stephan tags: opfs-sahpool)
12:52
Enhance the JSON parser cache such that it is able to extract lines from the cache and use them for writing, though they then have to be evicted from the cache. This was an experiment in trying to reduce the amount of parsing needed for a big UPDATE, but it does not seem to help any. Retained for reference only. (Closed-Leaf check-in: 2e6fbebc41 user: drh tags: json-write-cache)
11:33
Appearance and legibility improvements for tester1.js. (check-in: 4fd3ed1b64 user: stephan tags: opfs-sahpool)
10:17
Merge the latest trunk enhancements into the sqlite3_stmt_explain branch. (Closed-Leaf check-in: 06eae046c1 user: drh tags: sqlite3_stmt_explain)
09:52
Two minor improvements to sum(), one of which was inspired by forum post af5be98dbc. (check-in: a0d3e7571a user: drh tags: trunk)
08:18
Internal refactoring in opfs-sahpool. Move OPFS tests to the end of tester1.c-cpp.js. (check-in: 6bd5a7413d user: stephan tags: opfs-sahpool)
2023-07-18
21:06
Do not use the viewscan optimization on a query that has only a single loop, as the cost adjustments can cause problems for outer queries. Proposed fix for the performance regression reported by forum post 64d36440e473516c. (check-in: 76152ad2ff user: drh tags: trunk)
20:41
Improved ".wheretrace" for the VIEWSCAN optimization. (check-in: 27057ea76b user: drh tags: trunk)
19:52
Fix various problems with fts5 contentless_delete=1 tables. (check-in: 0d005112b8 user: dan tags: fts5-contentless-delete)
19:47
More opfs-sahpool tests. (check-in: 60713fa9c4 user: stephan tags: opfs-sahpool)
19:27
Fix a shadowed var in opfs-sahpool and add more tests. (check-in: 9c8a73aff0 user: stephan tags: opfs-sahpool)
18:52
Further refactoring of opfs-sahpool and start integrating it into tester1.c-pp.js. (check-in: 91c7892349 user: stephan tags: opfs-sahpool)
17:43
Merge the FTS5 memory leak fix from trunk. (check-in: fb65cb73d7 user: drh tags: fts5-contentless-delete)
17:29
Enhance the sqlite3_stmt_explain() interface so that avoids unnecessary reprepare operations. (check-in: 050f773add user: drh tags: sqlite3_stmt_explain)
16:29
Fix memory leak in fts5 introduced by [def41225]. (check-in: 4dcad2db74 user: dan tags: trunk)
16:24
Major restructuring of the opfs-sahpool bits to better support multiple instances per app (each sandboxed from each other). Eliminate the pesky promise resolution race condition when two such instances are loaded in parallel. (check-in: 95e5fa498f user: stephan tags: opfs-sahpool)
15:06
Experimental (untested, non-working) changes that try reduce the number of reprepares generated by sqlite3_stmt_explain(). I think I see an easier way to do this now, so I'm parking this experiment on a branch to pursue the new idea. (Closed-Leaf check-in: c2fba6a632 user: drh tags: sqlite3-stmt-explain-opt1)
13:55
Merge trunk changes with this branch. (check-in: 5f66eb4e26 user: dan tags: fts5-contentless-delete)
13:55
Fix a buffer overrun in fts5 that could occur in 'secure-delete' mode when dealing with corrupt database records. (check-in: def41225b2 user: dan tags: trunk)
12:09
Refactor opfs-sahpool to support multiple instances, each with a separate VFS name and directory. (check-in: d036eaf6ac user: stephan tags: opfs-sahpool)
2023-07-17
18:40
Fix cases where a row is inserted into a contentless_delete=1 fts5 table and then deleted within the same transaction. (check-in: d928856a22 user: dan tags: fts5-contentless-delete)
17:59
Do not allow the 'delete' command to be used on contentless_delete=1 fts5 tables. (check-in: cc694b8340 user: dan tags: fts5-contentless-delete)
11:47
Merge trunk changes into this branch. (check-in: c4fb2f2ea0 user: dan tags: fts5-contentless-delete)
07:43
Another -DSQLITE_TEMP_STORE=3 to 2 change for the wasm build. (check-in: 5ad8f9987c user: stephan tags: opfs-sahpool)
07:14
sahpool vfs: rename defaultCapacity to initialCapacity, per feedback. (check-in: 2c9c95d087 user: stephan tags: opfs-sahpool)
07:13
Change wasm build's -DSQLITE_TEMP_STORE=3 to -DSQLITE_TEMP_STORE=2, primarily so that clients can optionally shift temp files from memory to OPFS storage. (check-in: 764430e804 user: stephan tags: opfs-sahpool)
2023-07-16
21:07
Remove an extraneous JS script import. (check-in: 5a205b2591 user: stephan tags: opfs-sahpool)
20:42
Add sqlite3-vfs-opfs-sahpool.js to ext/wasm/api/README.md. (check-in: 58d0520104 user: stephan tags: opfs-sahpool)
20:20
Minor doc tweaks. (check-in: 0cb0d7a9e7 user: stephan tags: opfs-sahpool)
19:29
Correct a missing assignment. Minor doc additions. (check-in: 1c4957d0ef user: stephan tags: opfs-sahpool)
19:20
Doc tweaks only, no code changes. (check-in: 044c28dffd user: stephan tags: opfs-sahpool)
17:51
Add a way to remove the opfs-sahpool's persistent state from OPFS or unlink() an individual file. Doc cleanups. (check-in: 80982daac3 user: stephan tags: opfs-sahpool)
16:52
Move SAH pool configuration options from the library-level config to a config passed to the VFS install routine. Extend and document the PoolUtil object. (check-in: d2ed99556f user: stephan tags: opfs-sahpool)
14:07
speedtest1.js: only install opfs-sahpool if it's provided via --vfs flag, to avoid locking errors in concurrent speedtest1 tabs with other VFSes. Add opfs-sahpool reserveMinimumCapacity(). (check-in: aa94c8abfb user: stephan tags: opfs-sahpool)
12:02
During "opfs" VFS init, check for URL param opfs-disable and, if set, do not install the VFS. Added per forum suggestion to provide a way to help rule out misinteraction between the "opfs" and "opfs-sahpool" VFSes. (check-in: 29905b7a75 user: stephan tags: opfs-sahpool)
11:49
Micro-optimizations in opfs-sahpool. (check-in: 52f23db948 user: stephan tags: opfs-sahpool)
10:02
Redefine what the opfs-sahpool installation promise resolves to. Fix addCapacity(). Add utility methods to import/export files. (check-in: 809c6f4de3 user: stephan tags: opfs-sahpool)
2023-07-15
21:08
Minor cleanups in the opfs-sahpool VFS. (check-in: 279e090709 user: stephan tags: opfs-sahpool)
19:08
Correct opfs-sahpool VFS after the pebkac involving the previous speedtest1 runs. Make that VFS explicitly opt-in to avoid certain unfortunate locking situations. (check-in: 41bf1fe31f user: stephan tags: opfs-sahpool)
18:57
Store large tombstone hash tables in multiple database records. Ensure the same hash tables handle rowid 0. (check-in: 4410e60d0c user: dan tags: fts5-contentless-delete)
16:48
Add the experimental sqlite3_stmt_explain(S,E) interface. (check-in: 5683743ddf user: drh tags: sqlite3_stmt_explain)
16:30
speedtest1 JS: only add --memdb flag by default if no --vfs is provided. (check-in: 676ffe6280 user: stephan tags: opfs-sahpool)
11:37
Rename opfs-sahpool removeCapacity() to reduceCapacity(). (check-in: fff68e9f25 user: stephan tags: opfs-sahpool)
11:23
opfs-sahpool VFS now seems to work, in that it runs fine (and blazingly fast) in speedtest1. Add sqlite3.config options for the high-level configurable parts of opfs-sahpool. (check-in: 5d92d5f4d8 user: stephan tags: opfs-sahpool)
01:02
More work on porting the sahpool bits. Revert to random backing-store names because it works better with the capacity-reduction algorithm. (check-in: b4e005fd38 user: stephan tags: opfs-sahpool)
2023-07-14
23:02
Switch opfs-sahpool to use deterministic backing-store file names. Delay VFS registration until after the pool's files are all opened. Fail vfs init if the client's OPFS API has an async FileSystemSyncAccessHandle.close() method (indicating that it's outdated). (check-in: 7c6697eded user: stephan tags: opfs-sahpool)
21:48
Integrate the opfs-sahpool VFS into the JS build and get it loading (but it's still far from functional). (check-in: ef96e6b586 user: stephan tags: opfs-sahpool)
21:17
Initial sketches for an alternate OPFS VFS which uses a pool of pre-opened SyncAccessHandles to bypass the need for a dedicated I/O worker and the COOP/COEP HTTP response headers. Currently completely non-functional. (check-in: a93de9f2a5 user: stephan tags: opfs-sahpool)
21:06
Minor internal cleanups in the OPFS VFS. (check-in: 984d491eb3 user: stephan tags: trunk)
12:21
Minor wasm build cleanups. (check-in: 816b503f09 user: stephan tags: trunk)
2023-07-13
18:35
Reintroduce WASMFS+OPFS support, albeit as a separate (less portable) WASM build. (check-in: 7e4c594e95 user: stephan tags: trunk)
18:13
Minor cleanups related to reintroducing wasmfs support. (Closed-Leaf check-in: 6918a927b5 user: stephan tags: wasmfs-2023)
17:27
More work on the wasmfs build and its test apps. (check-in: 953b855719 user: stephan tags: wasmfs-2023)
16:33
Get speedtest1 wasmfs variant running again. (check-in: 0f77e031da user: stephan tags: wasmfs-2023)
14:49
Fix an off-by-one error in tests for cells overflowing the end of pages. The error is completely harmless for the default page cache, but might cause false-positive SQLITE_CORRUPT errors in systems that use an application-defined page caches that pack pages tightly together in memory. (check-in: ce6793e954 user: drh tags: trunk)
14:08
Significant surgery on the wasm build on the way to incorporating wasmfs as a first-class build option. (check-in: 215c37fce3 user: stephan tags: wasmfs-2023)
10:41
More work on the wasmfs build. Resolve the inconsistent argument type passed to sqlite3InitModule() in such builds. (check-in: 4850a9e2d2 user: stephan tags: wasmfs-2023)
04:54
Minor cleanups in the wasmfs build. (check-in: f64477f210 user: stephan tags: wasmfs-2023)
04:26
Get wasmfs build and its bare-bones test app working again, albeit currently in ES6 mode only. (check-in: 647761ed42 user: stephan tags: wasmfs-2023)
03:46
Replace 'self' with 'globalThis' in some JS test code. (check-in: 53eeffc9b1 user: stephan tags: trunk)
01:51
JS: change the default OPFS VFS journal mode from PERSIST to DELETE, as DELETE is faster in current browsers. (check-in: a061a43e36 user: stephan tags: trunk)
01:48
Remove obsolete ext/wasm/api/sqlite3-wasi.h. (check-in: f661a6e0c1 user: stephan tags: trunk)
2023-07-12
20:24
Avoid a case of an infinite loop in fts5 when dealing with corrupt records. (check-in: 0e801f11cd user: dan tags: fts5-contentless-delete)
19:34
Fix a crash that may occur when handling corrupt records in contentless_delete=1 mode. (check-in: 74d7610a8e user: dan tags: fts5-contentless-delete)
18:38
Get access to SQL functions and virtual tables used for debugging and analysis of FTS5 using SQLITE_FTS5_DEBUG and without the need for SQLITE_TEST. (check-in: 383de8e225 user: drh tags: fts5-contentless-delete)
09:30
Internal JS doc fix. (check-in: 7c5ea02205 user: stephan tags: trunk)
09:16
Correct handling of the speedtest1 --without-rowid flag in the HTML front-end to speedtest1.wasm. Reduce default speedtest1-with-OPFS workload size in ext/wasm/index.html to speed up manual testing. (check-in: 2daba2cdd3 user: stephan tags: trunk)
2023-07-11
20:57
Have contentless_delete=1 tables support REPLACE statements. (check-in: 2f553a660e user: dan tags: fts5-contentless-delete)
20:19
Have contentless_delete=1 tables support regular DELETE statements, instead of just the special INSERT syntax. (check-in: fffb861690 user: dan tags: fts5-contentless-delete)
19:54
Reduce divergence between branches: trunk and wal-shm-exceptions. (check-in: d38ed6b1fc user: drh tags: trunk)
18:55
Use a hash-table instead of a flat list to store tombstone rowids. (check-in: 948267b066 user: dan tags: fts5-contentless-delete)
15:52
Get fault injection for testing working correctly. Other code clean-up. (check-in: ff492277ed user: drh tags: wal-shm-exceptions)
2023-07-10
20:44
Begin adding support for deleting rows from contentless fts5 tables. (check-in: e513bea84d user: dan tags: fts5-contentless-delete)
19:21
Minor style changes to the previous MSVC makefile changes on this branch. (check-in: 4c950872c8 user: mistachkin tags: wal-shm-exceptions)
19:13
Compile for SEH if the USE_SEH=1 option is specified on the nmake command line. (check-in: 0e67a82f6c user: drh tags: wal-shm-exceptions)
18:16
Fix a warning. Unclear yet if the code is correct this way or not. (check-in: 2df4fd76ef user: drh tags: wal-shm-exceptions)
18:05
Merge the latest trunk enhancements into the wal-shm-exceptions branch. (check-in: f655d08d01 user: drh tags: wal-shm-exceptions)
2023-07-08
19:28
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 7a9cb6f4f4 user: drh tags: reuse-schema)
19:16
Merge the latest trunk enhancements into the bedrock branch. (check-in: 35bfb5bfee user: drh tags: bedrock)
19:09
Merge all the latest trunk enhancements into the wal2 branch. (check-in: f07936535f user: drh tags: wal2)
19:00
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: 3d0823c48e user: drh tags: begin-concurrent)
17:42
Always use the "LL" suffix on 64-bit integer literals. (check-in: 07d95ed60f user: drh tags: trunk)
14:27
Fix harmless scan-build warnings. (check-in: beab3c9863 user: drh tags: trunk)
2023-07-07
18:49
Omit the use of memmove() in sqlite3FpDecode() in an attempt to avoid spurious warnings from valgrind. Also makes the code slightly smaller and faster. (check-in: b409943af0 user: drh tags: trunk)
16:58
Proof of concept for a new sqlite3_function_needed() interface. (Leaf check-in: cd67edc032 user: drh tags: need-function)
12:18
For the "Valgrind" test scenario, set LONGDOUBLE_TYPE=double as valgrind does not correctly emulated extended precision on x64. (check-in: d3532eaed1 user: drh tags: trunk)
12:08
Add option 2 to SQLITE_TESTCTRL_USELONGDOUBLE to move the setting to its defaults. Enhance the CLI and testfixture to make use of this value. Base the default on sizeof(LONGDOUBLE_TYPE) rather than on sizeof(long double). (check-in: 64e6bd1c25 user: drh tags: trunk)
2023-07-06
20:34
Improved handling of integer inputs to the new sum() implementation. (check-in: 31561c63bd user: drh tags: trunk)
18:29
A more precise implementation of sqlite3RealToI64(). (check-in: 8813317cb5 user: drh tags: trunk)
17:55
Merge all recent trunk enhancements into the wal-shm-exceptions branch. (check-in: e59cea2d85 user: drh tags: wal-shm-exceptions)
17:14
Fix octet_length() test cases so that they work when the database encoding is utf16. (check-in: ad2e39626e user: drh tags: trunk)
15:44
Use the Kahan-Babushka-Neumaier algorithm to improve the accuracy of sum(). (check-in: c63e26e705 user: drh tags: trunk)
14:45
Fix minor inaccuracies in the new sum() algorithm. (Closed-Leaf check-in: e3f7a960c9 user: drh tags: kahan-babuska-neumaier-summation)
13:19
Experimental attempt to boost the accuracy of sum() using the Kahan-Babuska-Neumaier algorithm. (check-in: ebc5edd3b1 user: drh tags: kahan-babuska-neumaier-summation)
00:55
Use "volatile" isntead of "#pragma" to get floating point calculations working correctly when compiling with GCC for x86 machines. (check-in: 9427f42687 user: drh tags: trunk)
2023-07-05
22:05
This is alternative work-around for the x86 float-point problem that uses "volatile" rather than compile-specific #pragmas. (Closed-Leaf check-in: 1d972a690f user: drh tags: fix-dekker-with-volatile)
19:56
Improved comments on the work-around to the GCC x86 floating point wonkiness. (check-in: 7b4c16731e user: drh tags: trunk)
18:59
Work around for an apparent GCC bug. See forum post ee7278611394034c for details. (check-in: 5d9e936480 user: drh tags: trunk)
15:34
Make the order of operations explicit for the error term of Dekker double-precision multiply. (check-in: 28f57b34e6 user: drh tags: trunk)
14:42
Simplification of the dekkerMul2() subroutine. (check-in: bfe6432a46 user: drh tags: trunk)
12:00
Add the ieee754_inc(r,N) function to the ieee754.c extension. (check-in: 9a36f26945 user: drh tags: trunk)
2023-07-03
18:32
Enhance the sqlite3AtoF() function so that it can operate with or without long double and provides accurate results in both cases. (check-in: fd987508d5 user: drh tags: trunk)
18:18
Enhance sqlite3AtoF() so that it honors the USELONGDOUBLE test-control. Enable the test/atof1.test module on non-intel platforms. (Closed-Leaf check-in: b7850fd480 user: drh tags: fp-to-decimal-refactor)
15:30
Store the fp-speed-1.c test program used to measure relative performance of SQLite versus the standard library, in the test/ directory. A header comment explains how to use it. (check-in: eaff376277 user: drh tags: trunk)
15:11
Add the --nolongdouble option to speedtest1.c. (check-in: 6bf6018a00 user: drh tags: trunk)
15:03
Improved precision of binary-to-decimal conversion of floating-point values on all systems but especially non-x86 systems that lake extended precision hardward floating point. (check-in: 32befb224b user: drh tags: trunk)
14:56
Whether or not to use the long-double floating point conversion technique is now a test-control setting. (check-in: 02ae6caff1 user: drh tags: fp-to-decimal-refactor)
12:58
New test cases for floating-point conversions. (check-in: 9435ed76cd user: drh tags: fp-to-decimal-refactor)
11:44
Use Dekker double-precision floating point to do the value normalization step in sqlite3FpDecode() for systems on which "long double" is 8 bytes or less. (check-in: 51f492b440 user: drh tags: fp-to-decimal-refactor)
11:39
Final clean-up of the idea of using Dekker double-precision floating computations to improve accuracy. (Closed-Leaf check-in: 40285d6310 user: drh tags: fp-to-decimal-branch1)
10:35
Squeeze as many bits as we can out of normalization. (check-in: 25d1ad6df1 user: drh tags: fp-to-decimal-branch1)
10:18
Faster Dekker multiplication that removes the restriction on input magnitude. (check-in: 2994caf588 user: drh tags: fp-to-decimal-branch1)
10:00
Fix one constant in the normalization logic. Improved error output from atof1.test. (check-in: d3c4880710 user: drh tags: fp-to-decimal-branch1)
09:07
Replace the dodgy error estimating logic in the previous check-in with full-up Dekker double-double multiplication, and this idea works much better. There are still a few inaccuracies, but it is much closer. (check-in: 4fa6938dac user: drh tags: fp-to-decimal-branch1)
00:51
The fptest(X) routine used for exploring another idea for improving fp-to-decimal conversion without the use of long double. (Leaf check-in: d9a883d7d8 user: drh tags: fp-to-decimal-branch2)
00:40
An idea for improving accuracy of fp-to-decimal conversion for systems that do not have "long double". Does not quite work. Retained only for documentation purposes. (check-in: 7022433338 user: drh tags: fp-to-decimal-branch1)
2023-07-01
20:21
This check-in adds the use of "long double" to sqlite3FpDecode() which when run on x86 using a compiler that translates "long double" into binary80, causes all legacy tests to pass. But on a system where "long double" is just an alias for "double", some of the tests are still failing. (check-in: ce06982f88 user: drh tags: fp-to-decimal-refactor)
18:33
Reinstate the fpdecode() SQL function for testing, but only when compiled with SQLITE_DEBUG. (check-in: 07eab52e08 user: drh tags: fp-to-decimal-refactor)
17:56
Improved rounding policy. (check-in: 6f1122e942 user: drh tags: fp-to-decimal-refactor)
15:23
Improved response to Infinity and NaN. Remove the termporary fpdecode() function. (check-in: 76ab8ae809 user: drh tags: fp-to-decimal-refactor)
14:03
Progress towards fixing corner-case floating-point formatting issues. (check-in: 1138b8d16e user: drh tags: fp-to-decimal-refactor)
2023-06-30
23:42
Fix an issue with the "+" attribute in printf(). (check-in: bdfd1eb1d7 user: drh tags: fp-to-decimal-refactor)
23:18
Begin cutting over sqlite3FpDecode() into printf(). The code in this check-in gets a lot right, but there are still some formatting discrepencies. (check-in: c134d423e7 user: drh tags: fp-to-decimal-refactor)
19:41
Add decimal rounding to the sqlite3FpDecode() routine. (check-in: 27871140ca user: drh tags: fp-to-decimal-refactor)
19:14
Add experimental ".scanstats vm" command to the shell tool. (check-in: e727640fb5 user: dan tags: scanstatus-exp)
19:13
Fix an error in the previous commit on this branch. (check-in: 47c11ca90f user: dan tags: scanstatus-exp)
18:59
Add the "nexec" and "ncycle" columns to the bytecode virtual table. For accessing counters collected when SQLITE_DBCONFIG_STMT_SCANSTATUS is enabled. (check-in: f7b163a319 user: dan tags: scanstatus-exp)
18:35
Experiments with a new algorithm for converting ieee-754 binary64 numbers into decimal. (check-in: e923405e44 user: drh tags: fp-to-decimal-refactor)
18:31
Add support for sqlite3_stmt_scanstatus_v2() profiling of GROUP BY clauses that use a temp b-tree, and for sub-queries implemented as co-routines. (check-in: 7afad1f759 user: dan tags: trunk)
18:23
Improve support for sqlite3_stmt_scanstatus_v2() profiling of sub-queries implemented as co-routines. (Closed-Leaf check-in: 4e8718dc35 user: dan tags: scanstatus-exp)
17:14
Add support for sqlite3_stmt_scanstatus_v2() profiling of GROUP BY clauses that use a temp b-tree. (check-in: 796eadcc50 user: dan tags: scanstatus-exp)
16:16
Add extra debugging code for sqlite3_stmt_scanstatus_v2() to test1.c. (check-in: f936f10140 user: dan tags: trunk)
14:01
Completely unwind the enhanced precision sum() from [a915f15a916af698] so as not to offend UBSAN and OSS-Fuzz. (check-in: 85be05b66e user: drh tags: trunk)
12:59
Omit the doubleToReal() function in vdbemem.c. Use the equivalent sqlite3RealToI64() function in its place. (check-in: 625820e8eb user: drh tags: trunk)
11:51
Make the sum() function less precise and slower in order to avoid harmless signed integer overflow UBSAN warnings from OSS-Fuzz. (check-in: 1be0646a2c user: drh tags: trunk)
2023-06-29
23:03
Cleanup and commenting of the new DECIMAL extension code. No functional changes. (check-in: 5124481663 user: drh tags: trunk)
20:28
Enhancements to the DECIMAL extension: (1) If the argument to decimal(X) is a floating point value (or an 8-byte blob), the floating point value is expanded into its exact decimal representation. (2) Function decimal_sci(X) works the same except it returns the result in scientific notation. (3) New function decimal_pow2(N) returns the full decimal expansion of the N-th integer power of 2. (check-in: 8baf8c10ae user: drh tags: trunk)
17:58
Sync w/trunk (check-in: fe9aa2e9c1 user: larrybr tags: cli_extension)
17:48
Fix harmless compiler warnings about unused function arguments. (check-in: 24927c1377 user: drh tags: trunk)
17:36
Improve the range of floating-point numbers that can be handled as integers for numeric-to-text conversion. (check-in: 41580ba452 user: drh tags: trunk)
17:26
Further refine the dtostr() testing function in the CLI so that it takes an optional second parameter which is the number of significant digits to display. (check-in: 2f9d4444aa user: drh tags: trunk)
16:48
Change the (undocumented) dtostr() SQL function in the CLI so that it only shows the first 26 significant digits - 10 more digits than are available in a 64-bit double. (check-in: d758859f6a user: drh tags: trunk)
14:49
Add the decimal_sci(X) function to the Decimal extension for showing a decimal value in scientific notation: +D.DDDDDe+DD (check-in: 61d4923913 user: drh tags: trunk)
12:14
CLI enhancements to facilitate SQLite core testing: (1) Add built-in functions strtod() and dtostr() that convert text to floating point and back using C-library routines. (2) Do not disable all of ".testctrl" without --unsafe-testing, but only those subcommands of .testctrl that are actually dangerous. (check-in: 669996a8dd user: drh tags: trunk)
2023-06-28
12:02
Enhance the SUM() aggregate (and related AVG() and TOTAL()) so that the running sum is accurate to about 100 bits. (check-in: a915f15a91 user: drh tags: trunk)
11:46
Improved accuracy of floating-point conversion constants as suggested by forum post 598d32f6135c41c1. (check-in: 4943e8a181 user: drh tags: trunk)
2023-06-26
19:57
Simple test cases for the enhanced SUM() function. (Closed-Leaf check-in: c66ef2440e user: drh tags: extended-precision-fp)
19:35
Use ideas from T. J. Dekker in "A Floating-Point Technique for Extending the Available Precision" (1971-07-26) to enhance the accuracy of the SUM() aggregate function in cases where input magnitudes vary wildly. (check-in: 439fc00fee user: drh tags: extended-precision-fp)
17:23
Fix CLI .sha3sum error message for keyword identifiers, reported in forum post 7cbe081746dd. (check-in: bc27bda164 user: larrybr tags: branch-3.42)
17:08
Fix CLI .sha3sum error message for keyword identifiers, reported in forum post 7cbe081746dd. (check-in: 9d7813ddcf user: larrybr tags: trunk)
07:20
Replace some JS 'self' references with 'globalThis', as reported via the npm subproject. (check-in: b6ae84915f user: stephan tags: branch-3.42)
07:05
Replace some JS 'self' references with 'globalThis', as reported via the npm subproject. (check-in: d4e66dfc2e user: stephan tags: trunk)
2023-06-25
20:23
Fix typo in the README.md file. (check-in: 6d435d1dac user: drh tags: trunk)
2023-06-23
11:10
Add support for the octet_length() SQL function, with low-level optimizations that avoid loading large string content from disk when the argument to octet_length() is a table column. (check-in: fa5f77862c user: drh tags: trunk)
2023-06-22
21:19
Optimize the argument to the octet_length() function so that it does not attempt to read content from disk. (Closed-Leaf check-in: 8b8ea4e3f5 user: drh tags: octet_length)
15:26
basic test cases for octet_length(). (check-in: 034a5fe2a0 user: drh tags: octet_length)
14:50
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 905c6c9ddb user: drh tags: reuse-schema)
14:40
Merge the latest trunk enhancements into the bedrock branch. (check-in: 0551b79b17 user: drh tags: bedrock)
14:20
Merge the latest trunk enhancements into the wal2 branch. (check-in: 80ac494f73 user: drh tags: wal2)
13:28
Merge recent trunk enhancements into the begin-concurrent branch. (check-in: 5bd26fea6a user: drh tags: begin-concurrent)
13:01
Merge recent trunk enhancements into the octet_length branch. (check-in: d35c214811 user: drh tags: octet_length)
01:03
Simplification to the getAndInitPage() routine that results in improved performance. (check-in: 2e9734c233 user: drh tags: trunk)
2023-06-21
21:47
Improved comment on the getAndInitPage() in btree.c. No code changes. (check-in: dc468cfdb8 user: drh tags: trunk)
18:12
This is a failed attempt to optimize the usage of the page cache in sqlite3BtreeIndexMoveto() by deferring calls to sqlite3PagerUnref() for child pages of the btree until we are sure those pages will not be reused. The code does not work in two senses: (1) Many tests still fail. (2) The performance gain is less than 2 million cycles and does not seem worth the extra risk and complication. (Closed-Leaf check-in: 84731a1fd2 user: drh tags: pcache-opt)
14:48
Sync w/trunk (for CLI -cachetrace) (check-in: a61f937701 user: larrybr tags: cli_extension)
14:11
Add the --pcachetrace option to the CLI. (check-in: 61dfa92b44 user: drh tags: trunk)
2023-06-20
17:45
Omit unnecessary calls to table locking routines in the common case when there is no shared cache. (check-in: f94f3021cd user: drh tags: trunk)
16:26
Avoid unnecessary calls to sqlite3DeleteTable() with NULL pointers. (check-in: 4a35f39199 user: drh tags: trunk)
15:48
Avoid unnecessary calls to sqlite3CodeRowTrigger(). (check-in: 27c174dbd0 user: drh tags: trunk)
11:46
Performance optimization in sqlite3VdbeAddOp4Int(). (check-in: 456a24324b user: drh tags: trunk)
2023-06-19
23:27
Avoid unnecessary NULL pointer checks on calls to sqlite3WalkExpr(). (check-in: 73d86a12fb user: drh tags: trunk)
20:54
Small performance improvement and size reduction by recognizing that no SQL keywords have less than 2 characters. (check-in: 6b3d25b798 user: drh tags: trunk)
18:16
Add the sqlite3_commit_status() API. For querying a connection for (a) the ranges of wal/wal2 frames written after a successful commit, and (b) the conflicting frame following a failed commit of a BEGIN CONCURRENT transaction. (check-in: 4b08d4dad6 user: dan tags: bedrock)
13:09
Fix large integer constants so that they work on older C compilers. (check-in: 3c94f87806 user: drh tags: trunk)
2023-06-17
23:53
Cure tclshext build warning. Sync w/trunk. (check-in: e9f2119106 user: larrybr tags: cli_extension)
15:42
Fix harmless compiler warnings that show up on 32-bit RaspberryPI builds. (check-in: bc4d20f362 user: drh tags: trunk)
15:22
In date/time functions, fix the rendering of "subsecond" and the computeHMS() routine to better deal with floating point rounding errors that arise on some 32-bit systems. (check-in: e46a00ae88 user: drh tags: trunk)
01:56
Sync w/trunk. (check-in: 746733c1c5 user: larrybr tags: cli_extension)
2023-06-16
19:45
Clear MSVC warnings and fix a typedef issue with MSVC build. (check-in: b0cb4cfcea user: larrybr tags: cli_extension)
14:39
Address various harmless compiler warnings from forum post d526da8ee4. (check-in: 365caf2f97 user: drh tags: trunk)
11:05
Fix the pager such that if the xOpen() message sends back the SQLITE_OPEN_MEMORY flag, the pager is opened in journal-mode MEMORY, even if compiled with SQLITE_OMIT_DESERIALIZE. No changes to the logic as long as that OMIT flag is omitted. We need to better document the behavior of xOpen to describe this. (check-in: da1252b298 user: drh tags: trunk)
02:18
More doc tweaks, one teensy enhancement, and a new feature bug fix (check-in: 1073ef0629 user: larrybr tags: cli_extension)
2023-06-15
16:02
Updates to the README.md file. (check-in: fa5cb6dab5 user: drh tags: trunk)
15:43
Fix harmless typo in a comment. (check-in: 6937986a68 user: drh tags: trunk)
2023-06-14
13:45
Add SQLITE_DBCONFIG_RANDOM_SCANORDER. This option causes unconstrained table and index scan to happen in a random order, in order to help detect under-constrained queries in applications. Closed because this feature does not add any new capabilities that are not already available with SQLITE_DBCONFIG_REVERSE_SCANORDER, but it does make the behavior non-deterministic, and hence more difficult to test. (Closed-Leaf check-in: 330219863c user: drh tags: random-scanorder)
12:19
Work around what appears to be a GCC 32-bit optimization problem in the computeHMS() routine of the date/time logic. (check-in: aebdbcbebf user: drh tags: trunk)
2023-06-13
23:04
Improve and add docs for extensible shell. (check-in: 1a57af86da user: larrybr tags: cli_extension)
18:10
Improved sqlite3_error_offset() values for bare column errors on '*' and 'table.*' expressions in SELECT statements. (check-in: 118fe60087 user: drh tags: trunk)
16:55
Extended the time-diff format so that it can have a 5-digit year. This enables time differences to span the full range of dates supported by SQLite. Also fix some inaccuracies in the computation of time differences and add new test cases. (check-in: d57ddbf4ee user: drh tags: trunk)
2023-06-12
18:22
Initialize a local variable in FTS3 to avoid a GCC compiler warning. (check-in: 7ec4ab327d user: drh tags: trunk)
18:11
Finish .parameter improvements. (no set <cast_op> anymore, not useful enough for its apparent complexity) (check-in: bbbdb864f0 user: larrybr tags: cli_extension)
14:26
The decision was made to halt work on this enhancement. See the discussion beginning with forum post 4c8a673560d7999a. The changes on this branch work, but they add unnecessary user complexity with no corresponding benefit. (Closed-Leaf check-in: c8ef3b7874 user: drh tags: newbie-safe-aggregates)
14:16
Fix a buffer over-read that could occur as part of an fts5 secure-delete operation on a database containing corrupt fts5 records. dbsqlfuzz a463eac437783bcd246cc675b87842618a569cae (check-in: 44fdc798de user: drh tags: branch-3.42)
14:12
Make sure temporary sqlite3_value objects used by STAT4 are reset to NULL prior to being reused, to prevent a memory leak associated with the custom xDel string value destructor. dbsqlfuzz 65209ab5d5730e4fd14fff9d024325a77239036e. (check-in: 2cf197a28b user: drh tags: branch-3.42)
14:09
Defer setting the BTS_PAGESIZE_FIXED flag until after we are certain there are no errors and the page size has been set. Forum post b901808856. (check-in: cefaf128d2 user: drh tags: branch-3.42)
14:03
Extra space to prevent a buffer overread on corrupt STAT4 records. dbsqlfuzz 7128d1b41ce9df2c007f9c24c1e89e2f1b2590ca. (check-in: 566c4c14dd user: drh tags: branch-3.42)
13:57
Simplify a memcpy() in defragmentPage(). It now might copy more content than is strictly necessary, but runs faster and uses less code space. Possible reasons for the improved performance: (1) the copy is now always 8-byte aligned, (2) fewer intermediate results are required which means less register pressure which helps the compiler to optimize the subroutine. (check-in: 1292d676ea user: drh tags: branch-3.42)
13:53
Fix CLI fault on missing -nonce reported by forum post f8c14a1134. (check-in: 67cf7c4096 user: drh tags: branch-3.42)
13:49
Fix a problem causing bloom filters to be used less efficiently than they might be. Problem reported by forum post 06c3f01da6. (check-in: 56d9bb7aa6 user: dan tags: trunk)
13:46
Fix a problem causing an infinite loop in the recovery extension when processing a corrupt free-block list. (check-in: d21c06b73d user: drh tags: branch-3.42)
13:43
Fix an issue with sqldiff reported by forum post 9bd2155bdfae25a7. (check-in: 50721074f7 user: drh tags: branch-3.42)
13:31
Check-in [70e12efd1b189560] left a path through lockBtree() that failed to set the BTS_PAGESIZE_FIXED flag. That omission is fixed by this check-in. dbsqlfuzz 02c9ab74eb0619c9ae3b894ce157fae1d7f94645 (check-in: 30dcc872eb user: drh tags: trunk)
11:06
Fix a buffer over-read that could occur as part of an fts5 secure-delete operation on a database containing corrupt fts5 records. dbsqlfuzz a463eac437783bcd246cc675b87842618a569cae (check-in: a35c50eca9 user: dan tags: trunk)
2023-06-11
22:05
Merge the latest trunk enhancements into the newbie-safe-aggregates branch. (check-in: 75a877a923 user: drh tags: newbie-safe-aggregates)
21:58
Make sure temporary sqlite3_value objects used by STAT4 are reset to NULL prior to being reused, to prevent a memory leak associated with the custom xDel string value destructor. dbsqlfuzz 65209ab5d5730e4fd14fff9d024325a77239036e. (check-in: 88be7075cd user: drh tags: trunk)
2023-06-10
19:33
Defer setting the BTS_PAGESIZE_FIXED flag until after we are certain there are no errors and the page size has been set. (check-in: 70e12efd1b user: drh tags: trunk)
18:40
Fix an assert that can go bad if STAT4 content is corrupt. This is a follow-up to the previous check-in. (check-in: ac1d3860af user: drh tags: trunk)
17:27
Add documentation for SQLITE_DBCONFIG_STRICT_AGGREGATE. (check-in: 76fb915138 user: drh tags: newbie-safe-aggregates)
17:15
Merge the latest trunk enhancements into the newbie-safe-aggregates branch. (check-in: e19e20fbaf user: drh tags: newbie-safe-aggregates)
17:05
Extra space to prevent a buffer overread on corrupt STAT4 records. dbsqlfuzz 7128d1b41ce9df2c007f9c24c1e89e2f1b2590ca. (check-in: b99135288b user: drh tags: trunk)
10:37
Enhance fuzzcheck so that it understand the sqlite3_db_config() and optimization settings from unused bits in the database header, which dbsqlfuzz is now using. (check-in: 918708c6de user: drh tags: trunk)
09:24
Fix a potential UAF in the parser caused by the changes on this branch. (check-in: c29ec76944 user: drh tags: newbie-safe-aggregates)
08:19
Add CFLAGS_FIDDLE to ext/wasm/fiddle.make as a way to pass on additional compilation flags to the fiddle build from the CLI, e.g. CFLAGS_FIDDLE=-DSQLITE_STRICT_AGGREGATE. Expose SQLITE_DBCONFIG_STRICT_AGGREGATE to JS. (check-in: 0b01720879 user: stephan tags: newbie-safe-aggregates)
2023-06-09
19:24
Naming consistency: Always use the singular "STRICT AGGREGATE", not the plural. (check-in: 275d056e46 user: drh tags: newbie-safe-aggregates)
18:58
Improved sqlite3_error_offset() values for bare column errors on '*' and 'table.*' expressions in SELECT statements. (check-in: 446ad162f7 user: drh tags: newbie-safe-aggregates)
18:30
The -DSQLITE_STRICT_AGGREGATES compile-time option enables SQLITE_DBCONFIG_STRICT_AGGREGATE by default. (check-in: cd1f6b27d9 user: drh tags: newbie-safe-aggregates)
15:54
Simplify a memcpy() in defragmentPage(). It now might copy more content than is strictly necessary, but runs faster and uses less code space. Possible reasons for the improved performance: (1) the copy is now always 8-byte aligned, (2) fewer intermediate results are required which means less register pressure which helps the compiler to optimize the subroutine. (check-in: 6e5607ae4d user: drh tags: trunk)
13:08
Experimental change to add a per-connection option that raises an error if a bare column appears in an aggregate query. (check-in: f587891134 user: drh tags: newbie-safe-aggregates)
06:04
More .parameter improvements, a WIP for ".parameter set <cast_op> ..." (check-in: 2b51dcdad8 user: larrybr tags: cli_extension)
01:11
Sync w/trunk. Fix spelling nits. Add ".parameter edit ..." improvements. (check-in: d73f065b93 user: larrybr tags: cli_extension)
2023-06-08
20:49
Remove SQLITE_EXTENSION_INIT macros from dbdata.c. (check-in: 106ec74576 user: dan tags: trunk)
16:19
Improvements to the src-verify.c utility program so that it continues to muddle through a corrupt manifest file, making the most sense of it that it can and reporting "manifest" has having changed at the end. (check-in: 157b5d25e0 user: drh tags: trunk)
15:30
Fix the amagamation generator so that it works one a clean source tree. (check-in: f502610d03 user: drh tags: trunk)
15:27
Include source provenance in the header comment of the amalgamation. (check-in: e3eb5af905 user: drh tags: trunk)
12:52
Enhance Lemon so that it remembers which -D command-line options are actually used in the grammar and includes a list of all such options in the header of the generated output file. (check-in: c47a4dbd24 user: drh tags: trunk)
2023-06-07
23:10
Add spell-checking for all comments in main sources. (./src/ .c .h .in) make target "misspell" tells of misspelled words for which no exceptions have been put into tool/custom.txt . (check-in: 5332abf0ad user: larrybr tags: trunk)
17:03
Fix straggler misspellings and tidy the custom dictionary. Also include pickups from forum post c61fb09afd. (Closed-Leaf check-in: 8c291d9994 user: larrybr tags: spell-check)
15:00
Remove additional traces of FTS1 and FTS2 that were missed by [2bb50d5aedef0fd2] (check-in: 9a12bac5d2 user: drh tags: trunk)
14:47
Remove unused, legacy shell script "mkso.sh" from the root of the repo. (check-in: 57f75e4869 user: drh tags: trunk)
08:40
Add a C-source spell-checking facility. make misspell (on Nix) (check-in: 26c1bb4bd9 user: larrybr tags: spell-check)
2023-06-06
01:07
More ExportHandler use. Sync w/trunk. Fix .archive UB. (check-in: 4fd4240f14 user: larrybr tags: cli_extension)
2023-06-05
17:12
Fix compiler warning in src-verify.c. (check-in: 2d58c77448 user: drh tags: trunk)
13:57
Update the README.md file to talk about the verify-source makefile target. (check-in: aa8e79e16a user: drh tags: trunk)
11:30
Remove extraneous console trace output from previous check-in. (check-in: c9f6e36d59 user: stephan tags: trunk)
11:26
Add a JS test confirming that binding of statement parameters in a subquery works. (check-in: 5dfaf0bce8 user: stephan tags: trunk)
01:05
Generalize the src-verify.c utility program and provide additional documentation in the header comment. (check-in: 7ed84046ef user: drh tags: trunk)
00:57
Minor cosmetic normalizations for the MSVC makefile. (check-in: c9fda8d6db user: mistachkin tags: trunk)
2023-06-04
22:59
Fix harmless compiler warnings in tool/src-verify.c (check-in: 0e79ee97b1 user: drh tags: trunk)
22:56
Enhancement to tool/src-verify.c to also check the manifest.uuid file. (check-in: a39a569482 user: drh tags: trunk)
22:41
Add a prototype implementation for the "verify-source" Makefile target. (check-in: ed876ff6a1 user: drh tags: trunk)
2023-06-03
11:22
Prototype implementation of the octet_length() SQL function. (check-in: 2db989c863 user: drh tags: octet_length)
2023-06-02
21:31
Clarify sqlite3_is_interrupted() return. No code change. (check-in: b6c2d3d203 user: larrybr tags: trunk)
20:27
Get built-in ExportHandler instances to do more of .mode work. Replace atexit() with something that works for (not quite) "main" returns. Sync w/trunk. (check-in: a588dd9fc6 user: larrybr tags: cli_extension)
18:05
Restore the LEFT JOIN strength reduction that was partially lost in [d747afda5683ca5f] when strength reduction was generalized to all OUTER JOINs. (check-in: 2d962b84dd user: drh tags: trunk)
13:31
Do that last CLI fix more simply, using established means. (check-in: a1823b2976 user: larrybr tags: trunk)
12:56
Fix CLI fault on missing -nonce reported by forum post f8c14a1134. (check-in: cd24178bba user: larrybr tags: trunk)
00:03
Fix the OUTER JOIN strength reduction theorem prover's handling of the CASE operator. (check-in: 73d7b14b17 user: drh tags: trunk)
2023-06-01
20:38
Generalize the LEFT JOIN strength reduction optimization so that it works for RIGHT and FULL JOIN as well. Rename it to the "OUTER JOIN strength reduction" optimization. (check-in: d747afda56 user: drh tags: trunk)
16:40
If the filename argument to sqlite3_load_extension() is an empty string, then raise an error. It turns out that if dlopen() is called with an empty filename, it tries to load the current executable. And then if the caller requests some other function from the current executable, mischief can result. (check-in: d016885547 user: drh tags: trunk)
00:28
Add an ALWAYS() on an unreachable branch. (check-in: a00928d480 user: drh tags: trunk)
00:01
Fix the LEFT JOIN strength reduction for IN operators in the WHERE clause. Further simplifications and refinement of the algorithm. (check-in: 96c72dde79 user: drh tags: trunk)
2023-05-31
18:52
Add a comment to explain why both sides of an AND must be non-null-row in order for the overall expression to be non-null-row. No code changes. (check-in: 8396032ce1 user: drh tags: trunk)
18:35
Improved detection of when the LEFT JOIN strength reduction optimization can be applied. (check-in: f544a8e47c user: drh tags: trunk)
12:42
Minor enhancement to the sqlite3_trace_v2() documentation. No code changes. (check-in: fba97230e3 user: drh tags: trunk)
11:03
Fix a problem causing an infinite loop in the recovery extension when processing a corrupt free-block list. (check-in: 5a516c6c7a user: dan tags: trunk)
2023-05-30
16:40
Enhancements to date/time functions: (1) Add support for time-shift modifiers of the form (+|-)YYYY-MM-DD HH:MM:SS.SSS (2) Add the timediff(A,B) SQL function that returns the time-shift modifier sufficient to move B to A. (check-in: 574bf370b0 user: drh tags: trunk)
14:46
Simplifications to the new timediff() logic. (Closed-Leaf check-in: d6954259bd user: drh tags: timediff)
14:10
Minor tweak to the OPFS async proxy to attempt to account for a spurious high-load console error message which was reported via the sqlite-wasm npm project. (check-in: a61467d1fb user: stephan tags: trunk)
13:27
Minor internal JS doc fix. No code changes. (check-in: 68abee3c1b user: stephan tags: trunk)
11:51
New test cases for the timediff enhancements. (check-in: f14633ce6d user: drh tags: timediff)
11:13
Allow date/time modifiers of the form (+/-)YYYY-MM-DD without the following HH:MM:SS.SSS. (check-in: fa9237a8ab user: drh tags: timediff)
02:50
Problems fixed. All tests are passing now. (check-in: cff293b0a7 user: drh tags: timediff)
02:16
Improvements to the timediff() function. Test cases added. Not all test cases are passing. (check-in: 2cf6518140 user: drh tags: timediff)
2023-05-29
20:33
New date/time modifier: (+|-)YYYY-MM-DD HH:MM(:SS.SSS)? (check-in: 3832b8a9ef user: drh tags: timediff)
18:01
Prototype implementation of a proposed "timediff(X,Y)" SQL function. (check-in: 054a195125 user: drh tags: timediff)
2023-05-27
20:08
Fix an issue with sqldiff reported by forum post 9bd2155bdfae25a7. (check-in: 736a79c149 user: drh tags: trunk)
19:34
Add extra tests for fts5, large rowids and "ORDER BY rowid DESC". No changes to code. (check-in: b5b5eaeed3 user: dan tags: trunk)
00:03
CLI much closer to being callable. (fewer exit() calls) ^C interrupt response improved. Sync w/trunk. Some diagnostic code removed. Some refactoring for sake of FIDDLE build. Streamline main(), by moving code to more dedicated routines and otherwise. Make -quiet more useful. (check-in: bff3a9a834 user: larrybr tags: cli_extension)
2023-05-25
16:49
Add ability for the JS Worker1.exec() API to report the number of changes made to the caller, per request in forum post d0b19483642e20dd. (check-in: 6e79505df9 user: stephan tags: trunk)
2023-05-23
19:11
Minor cleanups in demo JS code, per forum feedback. (check-in: 80c7c0360c user: stephan tags: trunk)
17:43
Avoid performing aggregate processing more than once for a single expression. (check-in: 1bc549716c user: drh tags: branch-3.42)
17:35
Avoid performing aggregate processing more than once for a single expression. Forum post 36ff78b2a3. (check-in: 367b4cc549 user: dan tags: trunk)
15:22
When converting an aggregate expression to AGG_COLUMN, be sure to remove the EP_Unlikely flag if it is present. (check-in: 20c8a9247b user: drh tags: branch-3.42)
15:16
When converting an aggregate expression to AGG_COLUMN, be sure to remove the EP_Unlikely flag if it is present. Forum post fbfe330a2009d036. (check-in: 48e65f18b2 user: drh tags: trunk)
14:05
Fix a buffer overread in the recovery extension that might occur on 32-bit platforms. (check-in: ff4a9a2b59 user: dan tags: trunk)
11:47
Add test cases for the recovery extension. No changes to code. (check-in: cec49c7d93 user: dan tags: trunk)
2023-05-22
20:36
Avoid duplicate WIN32_LEAN_AND_MEAN #define. Fix a trivial nit likely never observed. (check-in: 81ffcf41d6 user: larrybr tags: trunk)
16:35
When a floating-point RTREE is presented with large integer constraints - integers that are too big to be represented exactly by a float - then take extra steps to ensure that all possibly relevant entries in the RTREE are returned, even in boundary cases. Fix for the problem identified by forum post da70ee0d0d. (check-in: bfd8d91000 user: drh tags: trunk)
11:02
Fix a buffer overrun that could occur in fts5 when processing corrupt records. dbsqlfuzz 0c6d3451d115974bc27ebed9b14b7a8e13ea05f3. (check-in: 4891dbd938 user: dan tags: trunk)
2023-05-21
05:06
First serious stab at FIDDLE-build-ready. Fix a flub with absent -A option for some builds. (check-in: bfc36f0f10 user: larrybr tags: cli_extension)
02:48
CLI code cleanup and shuffle for clarity. Moderate refactoring to exploit commmon patterns. Extend OOM simulation for debug builds. Plug one leak. Fix trivial nit copied from trunk. (check-in: b64ef7f92e user: larrybr tags: cli_extension)
2023-05-19
18:26
Extend detection of the INSERT...RETURNING locking case to the DB.selectValue(s)/selectArray/selectObject() family of functions. Add tests for INSERT/UPDATE...RETURNING with those functions. (check-in: 58be212d56 user: stephan tags: branch-3.42)
18:23
Extend detection of the INSERT...RETURNING locking case to the DB.selectValue(s)/selectArray/selectObject() family of functions. Add tests for INSERT/UPDATE...RETURNING with those functions. (check-in: 3181c50540 user: stephan tags: trunk)
17:59
Minor doc typo fix. (check-in: 4533be0878 user: stephan tags: trunk)
17:52
oo1.Stmt.finalize() no longer throws, but instead returns the same as the C API. oo1.DB.exec() now triggers the INSERT...RETURNING locking failure as an exception via reset() instead of finalize(). Some code-adjacent internal API renaming for clarity's sake. (check-in: 15f105c782 user: stephan tags: branch-3.42)
17:50
oo1.Stmt.finalize() no longer throws, but instead returns the same as the C API. oo1.DB.exec() now triggers the INSERT...RETURNING locking failure as an exception via reset() instead of finalize(). Some code-adjacent internal API renaming for clarity's sake. (check-in: 4ee6b3aa53 user: stephan tags: trunk)
16:42
Improved documentation for sqlite3_reset(), in response to forum post a72bab3dea. (check-in: 1dfeb3dcee user: drh tags: trunk)
16:39
sqlite3.oo1.Stmt.reset() and finalize() now throw if their underlying C-level APIs return non-0, in order to avoid silent failure in certain locking-related cases. (check-in: db36a9ef59 user: stephan tags: branch-3.42)
16:34
sqlite3.oo1.Stmt.reset() now throws if sqlite3_reset() returns non-zero, analog to [f23eb5c6d365]. (check-in: 487ae12c9a user: stephan tags: trunk)
16:25
CLI resmanage used wherever resources should not be leaked upon abrupt (OOM) termination. (check-in: 1687d12339 user: larrybr tags: cli_extension)
16:12
Add a basic INSERT RETURNING test for the oo1.DB.exec() API. (check-in: d29d62cf76 user: stephan tags: trunk)
15:54
sqlite3.oo1.Stmt.finalize() now throws if sqlite3_finalize() returns non-zero. This is intended to address the INSERT RETURNING case covered in forum post 36f7a2e7494897df. (check-in: f23eb5c6d3 user: stephan tags: trunk)
12:46
Correct typo in an 'extern' decl name, reported in forum post 1d4342156439233b. (check-in: 3bb1d7b376 user: stephan tags: branch-3.42)
12:41
Correct typo in an 'extern' decl name, reported in forum post 1d4342156439233b. (check-in: 6ac18827d8 user: stephan tags: trunk)
11:48
Change the RTREE engine so that equality comparisons of floating point values are duplicated in the byte-code so that the comparisons are done using 64-bit floats and consistent results are always obtained. Forum post da61c4a1b5b4af19. (check-in: 4ec0f0a31b user: drh tags: trunk)
2023-05-18
23:42
CLI resmanage use to 100% by commands, 84% by LOC. WIP (check-in: 48f81d8fc6 user: larrybr tags: cli_extension)
23:28
Fix incorrect b-tree root page reports from the enhanced PRAGMA integrity_check output introduced in version 3.42.0. (check-in: 0a0b7a2d31 user: drh tags: branch-3.42)
23:25
Fix incorrect b-tree root page reports from the enhanced PRAGMA integrity_check output introduced in version 3.42.0. (check-in: 9b538f6253 user: drh tags: trunk)
23:16
Incorrect fix. (Closed-Leaf check-in: 81b1bce719 user: drh tags: mistake)
2023-05-17
19:23
Fast-path the btree transaction start for the common case where a transaction is already active. (check-in: 798c3ff20c user: drh tags: trunk)
16:13
Simplification, performance improvement, and size reduction in the codeAllEqualityTerms() function of the code generator. (check-in: 4fbe02651e user: drh tags: trunk)
15:46
New assert() statements to verify that Expr.iColumn is never used as an array index when its value is negative. (check-in: 6084c5fb6d user: drh tags: trunk)
15:22
More CLI resmanage use (75% LOC) (check-in: 3428ce8247 user: larrybr tags: cli_extension)
13:21
Improved assertions on substExpr(). (check-in: 6dbd5b3cc8 user: drh tags: trunk)
11:45
Avoid an assert() failure that could occur in SQLITE_ENABLE_UPDATE_DELETE_LIMIT builds when a WITH clause attached to an UPDATE or DELETE statement created a CTE of the same name as the table being modified. (check-in: 60f03e3245 user: drh tags: branch-3.42)
11:31
Avoid an assert() failure that could occur in SQLITE_ENABLE_UPDATE_DELETE_LIMIT builds when a WITH clause attached to an UPDATE or DELETE statement created a CTE of the same name as the table being modified. (check-in: 8edf56d169 user: dan tags: trunk)
03:57
Further CLI resmanage use. (69% by LOC, 53% by command count) Some renames for clarity. (check-in: c010e1a7b2 user: larrybr tags: cli_extension)
00:47
Resolve the JS-side corner case reported in forum post 7774b773937cbe0a by not caching oo1.Stmt.columnCount. (check-in: adee1440bd user: stephan tags: branch-3.42)
00:32
Increase the version number to 3.42.1 (check-in: da0c662b31 user: drh tags: branch-3.42)
00:29
Fix two assert() statements that failed to take into account the likely() built-in function. This does not impact production code. (check-in: 634fe4c238 user: drh tags: branch-3.42)
00:26
Fix two assert() statements that failed to take into account the likely() built-in function. This does not impact production code. (check-in: 8504fe812c user: drh tags: trunk)
2023-05-16
20:37
Further extend use of CLI resmanage. (40% of dot commands) (check-in: 0cdab9f17a user: larrybr tags: cli_extension)
14:45
Use CLI resmanage to ensure input redirection is unwound on abort. Remove unused resmanage feature. Extend no-leak-on-abort fraction. Detect OOM in .cd . (check-in: 243085279c user: larrybr tags: cli_extension)
14:20
Increase the version number to 3.43.0 in order to begin the next development cycle. (check-in: 7874023cd4 user: drh tags: trunk)
14:18
Resolve the JS-side corner case reported in forum post 7774b773937cbe0a by not caching oo1.Stmt.columnCount. (check-in: 37d44e8c44 user: stephan tags: trunk)
13:11
Merge all 3.42.0 release enhancements into the reuse-schema branch. (check-in: d67b6c393f user: drh tags: reuse-schema)
13:04
Merge all 3.42.0 release changes into the bedrock branch. (check-in: 1348c2a590 user: drh tags: bedrock)
13:00
Merge all 3.42.0 release changes into the wal2 branch. (check-in: 137057f957 user: drh tags: wal2)
12:56
Merge all 3.42.0 release changes into the begin-concurrent branch. (check-in: 804bb138f5 user: drh tags: begin-concurrent)
12:36
Version 3.42.0 (check-in: 831d0fb283 user: drh tags: trunk, release, version-3.42.0)
12:34
Update the tool/mkmsvcmin.tcl script so that it prints a one-line message to explain what it has done. (check-in: 4254f08641 user: drh tags: trunk)
2023-05-15
23:43
CLI debug build ready for testing whether OOM handling is well-behaved. (check-in: 3cec1488f4 user: larrybr tags: cli_extension)
21:33
Fix CLI memory leak upon loading any shell extension. (check-in: b91cec479d user: larrybr tags: cli_extension)
19:17
Fix a C++-style variable declaration in the generate_series() extension. (check-in: 1d3e008905 user: drh tags: trunk)
17:24
Limit the number of nested NOT nodes in an fts5 expression to 256. (check-in: 01219e69b4 user: dan tags: trunk)
17:20
Increase the stack size available to fuzzcheck to 8MB on Windows. (check-in: 2290dc6876 user: drh tags: trunk)
17:14
Limit the number of nested NOT nodes in an fts5 expression to 256. (Closed-Leaf check-in: 0e5c1ee40a user: dan tags: fts5-expr-limit)
10:55
Add the --wait command-line option to fuzzcheck. (check-in: 5a479a2c76 user: drh tags: trunk)
03:48
Make generate_series() correct on ones complement ALUs and acceptable to UBSAN. (check-in: 4c5cd3e696 user: larrybr tags: trunk)
02:06
As evidenced by forum post f3f546025a, the new RIGHT JOIN related restriction on the push-down optimization implemented by [da3fba18742b6e0b] also needs to apply to the automatic index (a.k.a. hash-join) optimization and to the Bloom filter optimization. Computation of the restriction is now moved into the sqlite3ExprIsSingleTableConstraint() routine. (check-in: 4902015dcf user: drh tags: trunk)
01:02
Simplify the interface to constructAutomaticIndex(). (check-in: c5da165516 user: drh tags: trunk)
2023-05-13
20:01
Fix windows-specific problems in test scripts sessionnoop2.test and sessionrowid.test. (check-in: e4989c111d user: dan tags: trunk)
19:38
Remove unnecessary call to sqlite3_dbdata_init() from shell.c. (check-in: 84ca200000 user: dan tags: trunk)
19:13
Add an "#ifndef SQLITE_HAVE_SQLITE3R" directive to shell.c.in, to avoid including the recovery code a second time if the shell is being compiled with sqlite3r.c. (check-in: 6f1a60fb7b user: dan tags: trunk)
16:54
Extend CLI resource manager usage. Improve interface to it for clarity and simplicity. (check-in: fd379f2292 user: larrybr tags: cli_extension)
15:55
Add the "--unsafe-testing" option to invocations of the shell tool made by test script reuse5.test. (check-in: d6971af74b user: dan tags: reuse-schema)
15:34
Mention that sqlite3_mutex_free() accepts NULL as a no-op. (no code change) (check-in: 603d9ad501 user: larrybr tags: trunk)
15:21
Merge the latest 3.42.0 changes into the reuse-schema branch. (check-in: 515bb26ee6 user: drh tags: reuse-schema)
15:17
Merge the latest 3.42.0 changes from trunk into the begin-concurrent branch. (check-in: 18c5e16b55 user: drh tags: begin-concurrent)
15:10
Merge the latest 3.42.0 beta changes into the bedrock branch. (check-in: d55ba8bb85 user: drh tags: bedrock)
15:07
Merge the latest 3.42.0 beta from trunk into the wal2 branch. For some reason, the previous merge didn't work. Probably a PEBKAC. (check-in: 3bbfbdcd9b user: drh tags: wal2)
15:00
Merge the latest 3.42.0 beta changes into the wal2 branch. (check-in: 771361e19e user: drh tags: wal2)
07:23
CLI closer to doing full cleanup on error exits. Needs testing with OOM simulation. (check-in: 8751f93fa5 user: larrybr tags: cli_extension)
05:13
Fix compilation issue seen with MSVC. (check-in: 6700188704 user: mistachkin tags: trunk)
2023-05-12
21:21
CLI resource management applied to about 30% of shell source. A few minor flaws fixed. Comments begin to describe OOM responses. (check-in: ce25a07950 user: larrybr tags: cli_extension)
19:06
Fix harmless compiler warning caused by [0772ddf56713d013]. (check-in: f06c16a8b0 user: drh tags: trunk)
19:02
Add multi-threaded test for "INSERT ... RETURNING ..." and SQLITE_BUSY errors. (check-in: 559cb1c6de user: dan tags: trunk)
15:45
Make the regexp extension more robust against OOM errors during compilation of the recognizer engine. Forum post f50aecd5e8. (check-in: 0772ddf567 user: drh tags: trunk)
14:51
Fix unlikely strange result of CLI edit(). (check-in: ab3797e844 user: larrybr tags: trunk)
13:20
Ensure the _O_U16TEXT is defined for Windows builds of the CLI. Forum post c80aa942dc6bf2. (check-in: 504effa89b user: drh tags: trunk)
12:57
Remove a stray CR from end of line in a source file. (check-in: 48139fb904 user: drh tags: trunk)
12:45
Fix harmless typos in comments. (check-in: 607c3efbe0 user: drh tags: trunk)
10:52
Ensure that all prepared statements are expired and forced to reprepare whenever the database text encoding changes. Forum post 43cbfc4d23. (check-in: 469718f106 user: drh tags: trunk)
2023-05-11
21:47
More CLI resource manager use. Catch more OOMs. Eliminate some opportunities to lose resources under OOM conditions. Conform to coding guidelines. (check-in: efdcf1093b user: larrybr tags: cli_extension)
21:15
Add restriction (5) to the omit-noop-join optimization. Fix for the issue reported by [forum/forumpost/49f2c7f690|forum post 49f2c7f690]. (check-in: 3e9c9bbdb5 user: drh tags: trunk)
18:03
Fix a minor typo in a comment. No code changes. (check-in: 607cfb5bc5 user: drh tags: trunk)
17:25
Fix the rbu_exclusive_checkpoint=1 option so that it works with a zipvfs database in pass-through mode. (check-in: caca67d306 user: dan tags: trunk)
17:04
For CLI: Cure an old leak and one segfault. Get all shell tests to pass (by altering expected error output in some cases.) Ready now for full use of CLI resource manager. (check-in: 0f55868e2c user: larrybr tags: cli_extension)
03:11
WIP, CLI resource manager worked in, barely used yet. (Leaking one object.) (check-in: dbd00bcaa0 user: larrybr tags: cli_extension)
2023-05-10
21:08
Doc typo fix. No code changes. (Closed-Leaf check-in: e841b142f5 user: stephan tags: oo1-no-cache-Stmt.columnCount)
21:06
Resolve the JS-side corner case reported in forum post 7774b773937cbe0a by not caching oo1.Stmt.columnCount. (check-in: c3d25c3a25 user: stephan tags: oo1-no-cache-Stmt.columnCount)
16:04
Enhance the split-sqlite3c.tcl script so that it uses single-character extensions on subordinate source files, even when the number of subordinates exceeds 9. This is not yet needed, but might be soon. (check-in: 4150e41626 user: drh tags: trunk)
13:56
Fix harmless compiler warnings from the CBMC compiler. (check-in: 5bc17cbccd user: drh tags: trunk)
11:05
Rename sqlite3IsTableConstraint() to sqlite3IsSingleTableConstraint() and improve its header comment, in an attempt to make the code easier to reason about. No functional changes - should generate identical machine code. (check-in: 5dae897431 user: drh tags: trunk)
10:03
Add a missing comma to the documentation for the OP_Jump opcode. No changes to code. (check-in: 7e2c2b1cee user: drh tags: trunk)
09:51
Begin use of a resource manager for CLI. (check-in: 1527d429d6 user: larrybr tags: cli_extension)
00:45
Get TCL extension to build and extensible shell tests to pass. (check-in: 05ecd8a59e user: larrybr tags: cli_extension)
00:33
New restriction on the push-down optimization to prevent an ON or USING clause on the left side of a RIGHT JOIN from being pushed down into a subquery that is on the right side of that RIGHT JOIN. Forum post a7d4be7fb6. This is similar to an earlier problem fixed at [1783655ea422185e]. Also add comments to describe previously undocumented push-down optimization restrictions. (check-in: da3fba1874 user: drh tags: trunk)
00:20
Fix bug in fall-back logic of CLI .clone (check-in: 0dcd9785c1 user: larrybr tags: trunk)
00:15
Passes shell{1-8}.test . (check-in: 76734a4b6c user: larrybr tags: cli_extension)
2023-05-09
21:53
sqlite3x builds too. Fails a few shell2.test TCL tests. (check-in: 2749aea208 user: larrybr tags: cli_extension)
21:20
Made to build (again). (check-in: 3eb194957c user: larrybr tags: cli_extension)
2023-05-08
21:35
WIP, sync with trunk to pickup 22 weeks of shell library enhancements. (check-in: 00d0d5b105 user: larrybr tags: cli_extension)
16:26
Fix recover1.test so that it works with DEFAULT_AUTOVACUUM builds. (check-in: 4ffae48e83 user: dan tags: trunk)
13:47
Improved error handling when ".open" fails in the CLI. (check-in: 38544b11f0 user: drh tags: trunk)
13:38
In editPage(), if an attempt is made to edit an empty 64KB page, then take the slow path through rebuildPage(), in order to maintain strict invariants in the editPage() code. Forum post 0f37727c0d. (check-in: a865e574e5 user: drh tags: trunk)
11:11
Ensure that the label for a JSON object really is a string and not an array or object that just happens to end with a string. dbsqfuzz 32f62ed8676d0a153dbe756aeae3202d3670fe50. (check-in: c335737c28 user: drh tags: trunk)
10:51
Add tests for recovering data to a lost-and-found table from a utf-16 db. No code changes. (check-in: 832f6e9f79 user: dan tags: trunk)
2023-05-07
03:23
It turns out that pagerExclusiveLock() can be called with the lock state already set to RESERVED if the SQLITE_FCNTL_PERSIST_WAL setting is set and a specific sequence of multiple journal mode changes occur. Enhance pagerExclusiveLock() to deal with this. Forum post 8130545bc6 (check-in: 2bb8d97739 user: drh tags: trunk)
2023-05-05
20:22
Fix a comment in the JSON logic. No code changes. (check-in: 3f30ea5ec9 user: drh tags: trunk)
19:36
Fix a buffer overrun that could occur when using the format() function to format a very small real value with the "," modifier. (check-in: 910e770ad4 user: dan tags: trunk)
15:52
Reduce the maximum depth of nesting in json objects to 1000. (check-in: c7697a0d45 user: dan tags: trunk)
15:28
Do not attempt to run json502.test with SQLITE_OMIT_VIRTUALTABLE builds. (check-in: 6664850647 user: dan tags: trunk)
14:16
Updates to compile-time option usage and especially to the compile-time option test script in tool/omittest.tcl. (check-in: fece588b18 user: drh tags: trunk)
14:14
Fix the pager2-3.1 test case so that it does not run if a required dependence (shared-cache) is omitted from the build. Fix for forum post 7a028538a7. (check-in: a77c8a780f user: drh tags: trunk)
11:47
Allow virtual tables to prepare writes to shadow tables in defensive mode from with xRelease() callbacks - even if the xRelease() is invoked from within sqlite3_finalize(). (check-in: a17106494a user: dan tags: trunk)
11:33
Improved formatting of comments on SQLITE_CONFIG_xxx defines as those comments are used by documentation. (check-in: 2cb840bc9d user: drh tags: trunk)
2023-05-04
20:28
Add the "subsecond" modifier to the date/time functions. (check-in: 6fcb5a941f user: drh tags: trunk)
20:19
Add some tests of subsecond modifier for date/time functions. Sync with trunk. (Closed-Leaf check-in: 6499ebff54 user: larrybr tags: subsec-modifier)
14:44
Enhance the format() function so that the "," modifier works for floating point numbers in addition to integers. (check-in: 83683e108b user: drh tags: trunk)
14:41
Merge latest wal2 changes into this branch. (check-in: b2e0800b24 user: dan tags: bedrock)
14:31
Update this branch with latest changes from trunk. (check-in: 49777032f2 user: dan tags: wal2)
13:07
Add support for the comma (,) modifier to %f formats in the format() function. (Closed-Leaf check-in: 7080e196a1 user: drh tags: comma-format)
11:29
Fix a bug in cursor hints that can cause references to tables that have not been opened. Cursor hints are intended for use by COMDB2 only and should not appear in production builds, so this should not be a factor for the vast majority of users. (check-in: d3370d59cf user: drh tags: trunk)
2023-05-03
14:10
Add another assert() to FTS5 to demonstrate that a pointer is never NULL. (check-in: b8a84a1bf5 user: drh tags: trunk)
13:57
Add an assert() to fts5_config to ensure that a potential OOM is being handled correctly. (check-in: fe9c207657 user: dan tags: trunk)
13:48
Protect a macro argument with parentheses in FTS5. (check-in: bc07fe51fe user: drh tags: trunk)
13:33
Add a comment to the [0512f82a2cde7447] change to link it to its TH3 test case. (check-in: 1281d4d9d7 user: drh tags: trunk)
13:03
Enhancement to showwal such that it shows what the page hash should be on a hash mismatch. (check-in: 960dc97083 user: drh tags: trunk)
11:27
Conform CLI double-quoted escaping to what its doc says. (check-in: 910535ba51 user: larrybr tags: trunk)
10:56
Fix a problem in test script changebatch1.test. (check-in: 98ecffdfb6 user: dan tags: begin-concurrent)
07:30
In the zipfile extension, leave the catalog list in a consistent state when the last entry is removed from the list. forum post f03f1e4c5a5c9959. (check-in: 1b489d008b user: drh tags: trunk)
06:48
If the page size is wrong on the page1 content inside a WAL file, then running VACUUM could trigger an assert(). This check-in changes that assert() into a branch that returns SQLITE_CORRUPT. Forum post 4ef9b37d74d2d2e8 (check-in: 0512f82a2c user: drh tags: trunk)
06:38
Improved detection of excess recursion on arrays and objects in the JSON parser. Fixes a problem detected by dbsqlfuzz. (check-in: d40fd5924a user: drh tags: trunk)
05:00
Do not overflow the Index.aSample[] array if the same index appears in the sqlite_stat4 table under multiple names because it is a WITHOUT ROWID primary key index. Forum post 537d8ab118df7edd (check-in: 9350a25ac0 user: drh tags: trunk)
04:21
Do not even attempt to load the sqlite_stat4 table if the use of STAT4 is disabled using sqlite3_test_control(). (check-in: 0bf94c77d9 user: drh tags: trunk)
02:32
Fix CLI mishandling of OOM during .import _of_ a DB. Reported by forum post 7ed4a250d3. (check-in: 30da3f0ebd user: larrybr tags: trunk)
01:25
In the CLI, ensure that the argument to quoteChar() is not a NULL pointer due to a prior OOM. (check-in: 776d1a47aa user: drh tags: trunk)
2023-05-02
21:26
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: d08fa7d4d2 user: drh tags: reuse-schema)
21:10
Update this branch with latest changes from trunk. (check-in: 6f22c7679f user: dan tags: begin-concurrent)
20:34
Fix a problem with the sqlite3changeset_size() API and rowid tables. (check-in: 92ade220dc user: dan tags: trunk)
19:58
Merge the latest trunk enhancements into the wal2 branch. (check-in: 0215dcc76d user: drh tags: wal2)
19:33
Give CLI quoted args hex escapes (as documented.) (Closed-Leaf check-in: 90e434a6ae user: larrybr tags: cli-hex-escape)
18:03
Cure CLI hang on .import with high-ASCII column separator. (check-in: aac8ac631d user: larrybr tags: trunk)
17:33
Allow for lower-case "nan" to mean NaN in JSON. (check-in: 6bee0a19e2 user: drh tags: trunk)
16:34
Interpret negative arguments to sqlite3_sleep() as zero. (check-in: 2b542326aa user: drh tags: trunk)
11:12
Improved handling of NULL arguments to json_valid() and json_error_position(). Forum post 06c6334412. (check-in: ab78e6946b user: drh tags: trunk)
10:22
Fix typo in comment. Forum post 3da7d9c445. (check-in: 41a8a15c4b user: drh tags: trunk)
00:33
Minor code change in the CLI to make a UAF warning from scan-build go away. (check-in: ad6aae768a user: drh tags: trunk)
2023-05-01
20:42
Fix harmless compiler warnings. (check-in: 342af5b4fa user: drh tags: trunk)
20:09
The gcc definition of the SQLITE_INLINE macro is not compatible with string ANSI, so disable it if the -std=c89 command-line option is used. (check-in: 62d703d83c user: drh tags: trunk)
19:59
Fix harmless compiler warnings in FTS5. (check-in: f6210017b3 user: drh tags: trunk)
19:28
Remove xFileControl() handling from the OPFS VFS altogether, re-routing all syncing through xSync() instead. This eliminates superfluous syncing introduced in [a371374148a2], as discussed in forum thread 647d2f811dbc2dfe. (check-in: f809de7f23 user: stephan tags: trunk)
18:52
Fix harmless compiler warnings. (check-in: 0a92699469 user: drh tags: trunk)
18:28
Add support for JSON5. (check-in: f8c3ed23a6 user: drh tags: trunk)
15:59
Fix typos in comments in sqlite3session.h preventing documentation from being correctly generated. (check-in: ab75170d56 user: dan tags: trunk)
15:57
New enhancements to the sqlite3_db_config() constants documentation. (check-in: d74011a3c4 user: drh tags: trunk)
15:42
Expose the SQLITE_DBCONFIG_STMT_SCANSTATUS and SQLITE_DBCONFIG_REVERSE_SCANORDER sqlite3_db_config() options to JS. (check-in: 0a7024af3f user: stephan tags: trunk)
15:15
Implement full xSync() for the OPFS VFS. The previous implementation was not correct for journal files. Reported in forum post 647d2f811dbc2dfe. (check-in: a371374148 user: stephan tags: trunk)
14:50
Fix typos in documentation comments in sqlite3.h. (check-in: 6a8b00788e user: drh tags: trunk)
11:24
Do not apply the "AND false" optimization if either operand comes from the ON clause of a join. Fix for the problem identified by forum post 96cd4a7e9e. (check-in: d095da0e7a user: drh tags: trunk)
03:56
Fix abbreviated paths for objects such that they work even if the object key begins with '$'. (Closed-Leaf check-in: 1b991c7814 user: drh tags: json5)
2023-04-30
23:52
Fix a problem with json_patch() when one side or the other is JSON5. dbsqlfuzz bc10593a4ba8e7a7862593532285be31f00f8e41 (check-in: e18c0899cc user: drh tags: json5)
20:37
Accept the full ECMAScript 5.1 IdentifyName syntax for keys in objects. (check-in: 9be2c87518 user: drh tags: json5)
19:45
All JSON to understand floating point literals "Inf" and "QNaN" and "SNaN" in any case, without the SQLITE_EXTENDED_NAN_INF compile-time option. This extension is always available. (check-in: fb551145e0 user: drh tags: json5)
19:34
Omit the json_valid() function. Change the name of json_error() to json_error_position(). Use "NOT json_error_position(X)" as a substitute for "json_valid5(X)". (check-in: 34c4e900a9 user: drh tags: json5)
2023-04-29
18:40
Merge all the latest trunk enhancements into the JSON5 branch to facilitate testing of the JSON5 branch. (check-in: 30d12edeba user: drh tags: json5)
18:31
Fix a crash that could occur in fts5 'secure-delete' mode when operating on corrupt records. (check-in: 2e85b0e3dc user: dan tags: trunk)
17:35
More ALWAYS() macros. (check-in: 770b09f7a7 user: drh tags: json5)
17:13
Add ALWAYS macros on unreachable branches in the new JSON5 logic. (check-in: 91e15ed9d9 user: drh tags: json5)
16:31
Simplification of the logic that normalizes JSON5 integer literals into canonical JSON integer literals. Improved reporting of OOM. (check-in: 01ee613c07 user: drh tags: json5)
16:00
Do not allow leading zeros on non-zero numeric literals in JSON. (check-in: 3e91494390 user: drh tags: json5)
15:42
Cure CLI generate_series() overflow bug (noted by forum post #754e2d4db2a5) and bring behavior with negative step arguments closer to as-documented and eponymous function in PostgreSQL. (check-in: 07383758d6 user: larrybr tags: trunk)
15:29
Replace duped generate_series() test with another corner case. (Closed-Leaf check-in: fb2f08783f user: larrybr tags: generate_series-revamp)
12:29
Sync w/trunk, improve generate_series() variable names. (check-in: ecbf7e13e6 user: larrybr tags: generate_series-revamp)
12:13
Minor fixes to to the JSON% parser. (check-in: 2fe684cdcd user: drh tags: json5)
00:59
Correctly recognize an isolated U+feff as a space character in JSON5. (check-in: 4473dc8e3a user: drh tags: json5)
2023-04-28
23:39
Add tests for generate_series(), fix a so bug found, and change an existing test that enforced varying rowid-to-value mapping with query ordering. (That no longer varies.) (check-in: 9605db4ae3 user: larrybr tags: generate_series-revamp)
23:38
Bug fixes in the logic to skip over JSON5 comments. (check-in: c736b77a2f user: drh tags: json5)
23:19
Bug fix in the offset computation for json_error(). (check-in: 8f7ab5d921 user: drh tags: json5)
21:25
Revise generate_series() extension (in CLI) to address overflow reported in forum post #754e2d4db2a5 and to make behavior better match the like-named PostgreSQL function. (check-in: beeea3e1b0 user: larrybr tags: generate_series-revamp)
17:38
Improvements to the accuracy of json_error(). Add the extension SQL functions random_json(SEED) and random_json5(SEED). (check-in: 8d09dc1c45 user: drh tags: json5)
14:48
Add the json_error(X) function that returns the 1-based character offset to the first syntax error in JSON5 string X, or 0 if there are no errors. (check-in: 901ad995d5 user: drh tags: json5)
13:25
Fix indentation and omit trailing whitespace in the random JSON generator script. (check-in: 629db09fce user: drh tags: json5)
11:02
Fix json_tree() so that it is able to deal with the JNODE_RAW labels of a JSON5 object. (check-in: f56528d413 user: drh tags: json5)
10:23
Merge all the latest trunk fixes and enhancements into the json5 branch. (check-in: b5ca15cfc1 user: drh tags: json5)
10:10
Do not assert() a bad string representation in an sqlite3_value after an OOM. dbsqlfuzz c822a17a23c524a0ac7cfb203c7198209da15de8. (check-in: 91fee79a01 user: drh tags: trunk)
00:28
Make CLI .load slightly harder to abuse. (check-in: 2779f9270c user: larrybr tags: trunk)
00:19
In the CLI, early out from the output_quoted_string() routine if the input string is NULL. forum post 8a22c0bfa7. (check-in: 2881978d7b user: drh tags: trunk)
2023-04-27
23:59
Use a new technique to detect fresh OOM faults in columnName() that does not rely on there being no OOMs prior to entry into columnName(), as [forum/forumpost/fb6811c2f9|forum post fb6811c2f9] demonstrates a technique which could cause an OOM prior to entry into columnName(). (check-in: a63346d6a0 user: drh tags: trunk)
23:44
Remove a faulty assert() from the CLI. Forum post 726c4f7db0. (check-in: 4bbebb6bfb user: drh tags: trunk)
23:40
Remove an ALWAYS() macro that can in fact sometimes be false. Forum post f0e872fcee. (check-in: d85880e4ed user: drh tags: trunk)
23:29
Test cases added, and some bugs fixed. (check-in: bc84a82e4d user: drh tags: json5)
22:17
Fix compilation issues seen with older versions of MSVC. (check-in: 4ba2a65112 user: mistachkin tags: trunk)
21:31
Adjust OSTRACE usage so that it works with the changes in the previous check-in. (check-in: 1eb4573e90 user: mistachkin tags: trunk)
19:30
Further optimizations to the JSON parser. (check-in: bb8f1c16f2 user: drh tags: json5)
19:27
Dynamically resize the node hash table used by the rtree module. (Leaf check-in: f94f3da5de user: dan tags: rtree-batch-insert)
19:13
Faster implementation of numberic literal parsing in JSON. (check-in: 58398292e8 user: drh tags: json5)
18:28
Add support for hexadecimal integer literals in JSON. (check-in: 85e00c9e68 user: drh tags: json5)
17:32
All floating point literals "NaN" and "Infinity". Additional variants of these literals are available if compiled with SQLITE_EXTENDED_NAN_INF. (check-in: c13346afbe user: drh tags: json5)
16:57
Fix handling of reverse solidus in string literals. Allow decimal points in floating point literals to occurs and the beginning or end of the mantissa. (check-in: d92a6ab287 user: drh tags: json5)
16:24
Fix the handling of escape solidus in the JSON routines. (check-in: 676877aca2 user: drh tags: json5)
15:48
JSON string literals may span multiple lines by escaping new line characters. (check-in: 66da4bd4a3 user: drh tags: json5)
15:11
Allow the labels on JSON objects to be unquoted identifier names. (check-in: fb428db3f6 user: drh tags: json5)
14:38
Performance optimization in the JSON parser. (check-in: 5a88ba743f user: drh tags: json5)
13:55
Fix a problem on windows sometimes causing SQLITE_NOMEM to be returned if an error occurred while opening a temp file. (check-in: c22a39a6b2 user: dan tags: trunk)
13:44
Permit JSON5 whitespace in all contexts of objects and arrays. (check-in: 93f3ab26b5 user: drh tags: json5)
12:24
Translate JSON5-only string literal escape sequences into the JSON equivalents. (check-in: 14e82f36ee user: drh tags: json5)
2023-04-26
20:41
Fix some problems with the rtree module and existing tests on this branch. (check-in: 50e8a30be1 user: dan tags: rtree-batch-insert)
20:26
Implement some of the JSON5 enhancements to string and numeric literals. This is an incremental check-in of work in progress. (check-in: 9508efa9d6 user: drh tags: json5)
18:50
Fix a typo in a printf() format string the sessions module. (check-in: 14d1c4a828 user: dan tags: trunk)
18:23
When changing a large integer into a floating point value, cancel the string representation. Fix for forum post 5c74a3bc4a. (check-in: 3e2da8a7e3 user: drh tags: trunk)
17:30
Partial implementation of JSON5 numeric literal extensions. Use a switch() statement in the parser for better performance. (check-in: 78404dc370 user: drh tags: json5)
15:58
Improvement to the way the JSON performance measure scripts work → keep the test database in the directory of the test, not in the source tree. (check-in: ac411dbdcb user: drh tags: json5)
15:19
Work toward implementing JSON5 whitespace. Untested and incomplete. (check-in: d262c05945 user: drh tags: json5)
13:52
Fix to the json-speed-check.sh script. (check-in: d839c9544d user: drh tags: json5)
13:25
Add scripts for JSON performance testing. (check-in: 3051d6a7c1 user: drh tags: json5)
2023-04-25
21:24
The json_valid() function only returns true for pure JSON. JSON5 (or at least that subset of JSON5 that has been so far implemented) is accepted by all routines, but json_valid() still returns false for JSON5 inputs. The new json_valid5(X) routine returns true or false if X is or is not valid JSON5. All of this is experimental and subject to change. (check-in: 5d33ab7780 user: drh tags: json5)
20:41
Allow the sessions module to be configured to capture changes from tables with no explicit PRIMARY KEY. (check-in: 5d4431bc44 user: dan tags: trunk)
15:12
If an ON clause to the left of a RIGHT JOIN is false, that does not imply that the query returns no rows. (Leaf check-in: 4011b9d340 user: drh tags: branch-3.41)
14:54
Remove unused variable ltoj accidentally added by [1783655e]. (check-in: faa1575ce0 user: dan tags: trunk)
14:37
Avoid assuming that an expression in an ON() clause that evaluates to zero implies that the query will return zero rows when the query contains a RIGHT JOIN. Forum Post 95849acbe1. (check-in: 1783655ea4 user: dan tags: trunk)
11:52
Fixes to SQL extension functions base64() and base85(). (check-in: ab3331f41e user: drh tags: branch-3.41)
04:28
Handle newline-trimmed input TEXT correctly in base64, base85 UDFs, an issue exposed in forum post 8d6ed893c0. (check-in: 8f637aae23 user: larrybr tags: trunk)
02:44
Check for OOM sqlite_value_x() returns in base64, base85 extensions, a partial response to forum post 74dd86263e. (check-in: e6f9c0b1f9 user: larrybr tags: trunk)
2023-04-24
23:14
Allow trailing commas in objects and arrays of JSON. (check-in: 4031b231c2 user: drh tags: json5)
21:08
Hold the RTREE node cache open and defer writes until the very end of the INSERT statement, for a 20x performance improvement on the test script identified at forum post 6b8bca17bb884ef3. However, there are still bugs and tests will crash. Follow-up: Performance improvements were not real. The bugs caused incorrect answers. In reality, no performance improvement seen. (check-in: b35cb7458f user: drh tags: rtree-batch-insert)
19:23
Update the compile-time detection of architecture byte-order in the RTREE extension so that it is aligned with the latest enhancements in the core. (check-in: 122431d3a7 user: drh tags: trunk)
19:22
Allow the sessions module to be configured to capture changes from tables with no explicit PRIMARY KEY. (Closed-Leaf check-in: 8a612f0860 user: dan tags: sessions-rowid-tables)
19:14
Mistake → branched off of the wrong branch. (Closed-Leaf check-in: 491bd51da5 user: drh tags: mistake)
04:25
Add a note about the journaling mode in the OPFS VFS. No code changes. (check-in: e79c95fc13 user: stephan tags: trunk)
2023-04-23
00:12
CLI to have "undocumented" dot-commands, not usually shown by .help (check-in: 17f5dd2d2a user: larrybr tags: trunk)
2023-04-22
23:43
Import fixes from trunk into the branch-3.41. (check-in: 58a1d94c59 user: drh tags: branch-3.41)
22:32
The sqlite_stat4.idx field is case insensitive. It should work even if some entries use a different case than others. Fix for forum post 6c118daad0f1f5ef. (check-in: f097ca70b5 user: drh tags: trunk)
20:47
Avoid a crash in fts5 when combining an empty expression with another. (check-in: 33681ff3d2 user: dan tags: trunk)
20:22
Enhance the ".tables" command in the CLI so that it is able to deal gracefully with an OOM situation. (check-in: 5157fd1cf7 user: drh tags: trunk)
20:07
The assertion-fault fix in [53a61f7423a7f057] was not quite complete. This additional change enhances it to deal with WITHOUT ROWID tables. No changes to deliverable code. (check-in: 4d5af42c65 user: drh tags: trunk)
17:41
Add the --unsafe-testing command-line option to the CLI. Without this option, features of the CLI that are intended for testing and that might result in incorrect answers, assertion faults, and/or corrupt database files if misused are disabled. Fix for the unfounded concerns raised by 13 separate forum posts last night. (check-in: f28256a96a user: drh tags: trunk)
16:46
Add --unsafe-testing invocation option to CLI. Needs some tests added and changed. (Closed-Leaf check-in: b3d9ac052d user: larrybr tags: shell-for-test)
12:47
Fix an incorrect assert() statement in btree.c as found by forum post d03345d572713fe6. (check-in: cd485b302c user: drh tags: trunk)
12:37
Fix a incorrect assert() statement in the pre-update hook logic. No changes to production code. Fix for the problem reported by forum post 19b217bfe709a072. (check-in: 53a61f7423 user: drh tags: trunk)
12:11
Fix harmless compiler warning in [1489e7f53a4863b3]. (check-in: da907dbc60 user: drh tags: trunk)
11:33
Also fix no-length string intolerance for CLI json mode. (check-in: 3ac1984039 user: larrybr tags: trunk)
11:29
Early out from sqlite3Prepare() following an OOM to avoid possible problems further along in the parse. Fix for the NULL pointer dereference reported by forum post 2e5131839365682a. (check-in: f35ce7c122 user: drh tags: trunk)
11:24
CLI to handle absurd string length limit better. forum post 5180af725f1cc375 (check-in: 1489e7f53a user: larrybr tags: trunk)
09:26
Avoid need for cast in CLI shell_check_oom() calls. (check-in: c88550ef67 user: larrybr tags: trunk)
09:14
Fix unchecked return in CLI .dbi command. (Forum post 79e2cd1bc) (check-in: 81a74ee9d6 user: larrybr tags: trunk)
2023-04-21
15:37
Change the return type of the ts_read/write() family of functions from int to ssize_t, per report in forum post 947169d5e7. (check-in: 7809e7ce6a user: stephan tags: trunk)
15:30
Add a new modifier to date/time functions: "subsecond". May be abbreviated as just "subsec". This modifier causes functions to try to show fractional seconds if they do not already. (check-in: 03f2a15e87 user: drh tags: subsec-modifier)
2023-04-20
20:07
Increase CLI tolerance of artificially low memory. (check-in: 13f2638622 user: larrybr tags: trunk)
16:15
CLI .ar made to enforce getting a proper subcommand. (check-in: 104ab105ac user: larrybr tags: trunk)
10:40
Fix a function declaration so that it correctly appears as private in the amalgamation. Forum post ec8c77516c. (check-in: 1864569bb9 user: drh tags: trunk)
10:26
Fix a broken assert() in the recovery extension. Forum post 82a88f5812. (check-in: 8a1ad13760 user: dan tags: trunk)
2023-04-19
20:29
Add tests for the progress-handler callback with the fts5 'secure-delete' feature. (check-in: 48505ad950 user: dan tags: trunk)
18:36
Improved rebustness of the pcache tracing logic. (check-in: 0a43235b83 user: drh tags: trunk)
18:32
Remove unreachable legacy code. (check-in: e3e7fb87d9 user: drh tags: trunk)
17:13
Fix a segfault that could occur if a non-empty in-memory database was the destination of a backup operation from a database with a smaller page size. (check-in: d37241585c user: drh tags: branch-3.41)
17:07
Fix a segfault that could occur if a non-empty in-memory database was the destination of a backup operation from a database with a smaller page size. Forum post 679b4de86e763d52. (check-in: 020968f857 user: dan tags: trunk)
15:39
Do not remove pages from the cache of an in-memory database due to a failure to acquire the page due to it being larger than the maximum page size. (check-in: 551b9dacd0 user: drh tags: branch-3.41)
15:35
Do not remove pages from the cache of an in-memory database due to a failure to acquire the page due to it being larger than the maximum page size. Fix for forum post a19bb49140. (check-in: 982b35563d user: drh tags: trunk)
14:26
Fix ambiguity in the header comment to the sqlite3PagerUnrefNotNull() routine. No code changes. (check-in: d419e65eef user: drh tags: trunk)
13:56
Fix a debugging printf() in pcache.c. This only comes up on custom builds. (check-in: f2d6756731 user: drh tags: trunk)
13:39
Correct use of an undefined symbol in one of the OPFS VFS loading failure error reporting cases (copy/paste error). (check-in: c81c968b45 user: stephan tags: trunk)
13:30
Add pager debug tracing of truncate operations. (check-in: 0daadf3622 user: drh tags: trunk)
12:08
Attempt to suppress harmless compiler warnings reported by forum post fc98845c06. (check-in: f6e6c5f94c user: drh tags: trunk)
2023-04-18
23:05
CLI to cease dumping back to OS shell on single ^C when interactive. (check-in: ba8e4378f2 user: larrybr tags: trunk)
22:53
Add comment on CLI ^C fix (because it is a bit subtle.) (Leaf check-in: 19c062f1cd user: larrybr tags: cli-no-dump)
22:28
CLI to cease dumping back to OS shell on single ^C when interactive. (check-in: 7b1f635268 user: larrybr tags: cli-no-dump)
20:02
Make use of F_BARRIERFSYNC as an alternative to F_FULLFSYNC when it is available. (Leaf check-in: 3c517ba5dc user: drh tags: barrier-fsync)
16:44
Ensure that the VACUUM command is not confused by alternative encodings when it is the first command run on new database connection. (check-in: 441f4e4a42 user: drh tags: branch-3.41)
15:21
Ensure that the VACUUM command is not confused by alternative encodings when it is the first command run on new database connection. Forum post 09503b4d33. Problem introduced by check-in [a02da71f3a80dd8e]. (check-in: 8b0fe63f87 user: drh tags: trunk)
14:17
Another fix to the indexed expressions in aggregate queries with GROUP BY enhancement of ticket 99378177930f87bd and implemented by check-in b9190d3da70c4171 to address a problem described by forum post f34e32d120. (check-in: c37e76104b user: drh tags: branch-3.41)
14:13
Another fix to the indexed expressions in aggregate queries with GROUP BY enhancement of ticket [99378177930f87bd] and implemented by check-in [b9190d3da70c4171] to address a problem described by forum post f34e32d120, (check-in: 5acc3ef83e user: drh tags: trunk)
11:35
Add the --fullsync option to speedtest1. (check-in: 960fe54c82 user: drh tags: trunk)
11:33
Fix an assert() in fts5 that could fail following an OOM or IO error. (check-in: 49595083ba user: dan tags: trunk)
2023-04-17
23:59
When CLI -utf8 active, do no translation to MBCS for output to Windows console. plus code style improvements (check-in: 25edf60897 user: larrybr tags: trunk)
22:28
Minor coding style changes. (Leaf check-in: 481aa3ccf6 user: mistachkin tags: cli-utf8)
21:18
When CLI -utf8 active, do no translation to MBCS for output to Windows console. (check-in: cc1d4296d7 user: larrybr tags: cli-utf8)
18:32
Fix some problems with using fts5 options 'secure-delete' and detail=none together. (check-in: 4d3f27ba90 user: dan tags: trunk)
11:41
Fix problems handling corrupt records in new fts5 code. (check-in: 2f63d4a8ba user: dan tags: trunk)
10:39
Fix an assert() in fts5 that may be true when dealing with corrupt records. (check-in: e8de277446 user: dan tags: trunk)
2023-04-15
21:00
Change a memcpy() to memmove() in new fts5 code. (check-in: 8de4542553 user: dan tags: trunk)
19:58
Fix a use-after-free that could follow an OOM or IO error in fts5 when using 'secure-delete' mode. (check-in: 904be83d9f user: dan tags: trunk)
19:13
Avoid dropping the error code following an OOM in fts5 when using 'secure-delete' mode. (check-in: 9ee24a499c user: dan tags: trunk)
17:56
Add -utf8 option to CLI, for improved console behavior on Windows. (check-in: 414010d236 user: larrybr tags: trunk)
17:47
Add the 'secure-delete' option to the fts5 extension. For configuring fts5 to delete old entries directly from the full-text index instead of using delete keys. (check-in: 394980e4fe user: dan tags: trunk)
16:12
For CLI -utf8, set output codepage too. Adjust PP vars so that the code can be entirely omitted for targets pretending to be "WIN32" but not quite doing so. (check-in: 543594a727 user: larrybr tags: cli-utf8)
2023-04-14
21:34
Fix stray edits in comments in last check-in. (check-in: fa3ce7f013 user: larrybr tags: cli-utf8)
21:23
Set CLI -utf8 option and build with line-editing package to be mutually exclusive. Integration of console-invasive UTF-8 handling with line-editing takeover of console may come later. (check-in: 047344a915 user: larrybr tags: cli-utf8)
19:56
Cure CLI double-prompting (by ditching gcc fgetws()), general cleanup. Work remaining is to avoid effect of -utf8 when a line editor is linked/used as part of CLI. (check-in: 73a5f54231 user: larrybr tags: cli-utf8)
18:00
Further tests for fts5 secure-delete mode. (Closed-Leaf check-in: c5a47063b7 user: dan tags: fts5-secure-delete)
17:00
Add extra OOM test for the new code on this branch. (check-in: 846ae7e099 user: dan tags: fts5-secure-delete)
16:11
Add tests for the new feature on this branch. (check-in: 0268d1a593 user: dan tags: fts5-secure-delete)
15:42
Fix a typo in the aggfault.test test script. (check-in: e915bff7ad user: drh tags: branch-3.41)
14:36
Fix SQLITE_OMIT_VIRTUALTABLE builds of testfixture. (check-in: 430ec1a615 user: dan tags: trunk)
13:34
Update test script recoverbuild.test so that it may be run using old test harnesses that run more than one test script in a process. (check-in: 5135aab0c0 user: dan tags: trunk)
10:46
When setting the column types on a subquery, ensure that the COLFLAG_HASCOLL flag is cleared from column names from when the collating sequence name has been removed. (check-in: de61bdc9b9 user: drh tags: branch-3.41)
10:40
When setting the column types on a subquery, ensure that the COLFLAG_HASCOLL flag is cleared from column names from when the collating sequence name has been removed. Forum post 6916dacf83. (check-in: 8d9dcd7cfd user: drh tags: trunk)
10:35
Fix a cosmetic indentation issue. (check-in: 90deb84486 user: drh tags: trunk)
00:23
Avoid double de-quoting of table names when processing RESTRICT actions in foreign key constraints. (check-in: 5af7abffe7 user: drh tags: branch-3.41)
00:20
Avoid double de-quoting of table names when processing RESTRICT actions in foreign key constraints. Chromium 1405220. Problem introduced by [9e503e2d0428c9e8] 2009-09-28 for version 3.6.19. (check-in: bb2b5ab172 user: drh tags: trunk)
2023-04-13
18:49
Fix an obscure issue with ALTER TABLE RENAME that comes up with triggers that have UPDATE statements that contain errors. (check-in: cf651dee12 user: drh tags: branch-3.41)
18:44
Fix an obscure issue with ALTER TABLE RENAME that comes up with triggers that have UPDATE statements that contain errors. Forum post ff3840145a. (check-in: c4845a7c5f user: drh tags: trunk)
15:11
Remove an ALWAYS() that can sometimes be false. And fix a code-generator issue associated with very unusual use of window functions. (check-in: fc12743763 user: drh tags: branch-3.41)
14:53
Add extra test cases to window1.test. (check-in: ebc844fbfb user: dan tags: trunk)
14:50
Fix a code-generator issue associated with very unusual use of window functions. Both the expr.c or the window.c changes will each independently fix the problem. They are both included in this patch for defense in depth. Forum post 0d48347967. (check-in: 1ba22631a7 user: drh tags: trunk)
14:14
Get CLI utf8_fgets() to not consume more input than it returns. Get console setup restoration to happen for all non-crash exits. (check-in: b4fa233d3d user: larrybr tags: cli-utf8)
2023-04-12
20:23
Unwrap the loop in the WAL hash function. (check-in: eb94ae1320 user: drh tags: trunk)
19:40
Automatically set HAVE_PREAD and HAVE_PWRITE on linux, as has been done in MacOS for a long time now. (check-in: 2f7a36d2c3 user: drh tags: trunk)
18:57
Small performance enhancement to integer-to-text conversion. (check-in: cfb3dba9b0 user: drh tags: trunk)
18:18
Avoid leaking a database handle in test script rbuexlock.test. (check-in: 2edf98d128 user: dan tags: trunk)
18:06
Remove temporary debugging code accidentally left on this branch. (check-in: 0a0f64870f user: dan tags: fts5-secure-delete)
17:54
WIP: CLI option to take control of console on Windows and make it support UTF-8 input pasting (or typing). Needs work to become robust per "ToDo:". (check-in: 824382393d user: larrybr tags: cli-utf8)
17:40
Add the 'secure-delete' option to fts5. Used to configure fts5 to aggressively remove old full-text-index entries belonging to deleted or updated rows. (check-in: 4240fd09b7 user: dan tags: fts5-secure-delete)
2023-04-11
19:38
New #ifdef to enable building with -DSQLITE_OMIT_WINDOWFUNC. (check-in: e1ff83fa25 user: drh tags: trunk)
15:06
Remove an ALWAYS() that can sometimes be false. Add a test case that makes the test false. Forum post 6c5678e3da. (check-in: c8fb143d64 user: drh tags: trunk)
02:10
Better handling of OOM errors in the cursor-hint logic. dbsqlfuzz 60cd5fff91974af91c2c3692beb4a2d7fdafef46 (check-in: 68fcfb58df user: drh tags: trunk)
2023-04-10
23:21
For sha3 extension, mention NIST standard implemented. (check-in: 529ab138a4 user: larrybr tags: trunk)
18:44
New assert() statements to validate the parameters to sqlite3BtreeCursorHint(). Fix a problem with the construction of those parameters discovered by forum post 0b53708c95. (check-in: 4c5a3c5fb3 user: drh tags: trunk)
13:20
Sync the vt02.c test virtual table with TH3, in order to pull in the fix for long delays when there are huge OFFSET values. (check-in: 49ba030080 user: drh tags: trunk)
2023-04-09
20:48
Fix an assertion fault that can occur when compiling with both SQLITE_ENABLE_UNKNOWN_SQL_FUNCTIONS and SQLITE_ENABLE_STAT4. (check-in: 2b02862de6 user: drh tags: branch-3.41)
20:44
Fix an assertion fault that can occur when compiling with both SQLITE_ENABLE_UNKNOWN_SQL_FUNCTIONS and SQLITE_ENABLE_STAT4. (check-in: 9ff69e5998 user: drh tags: trunk)
10:23
Fix a faulty assert() in whereRangeScanEst() that should only apply if there are not prior errors. (check-in: 450d8ad85c user: drh tags: branch-3.41)
10:09
Fix a faulty assert() in whereRangeScanEst() that should only apply if there are not prior errors. dbsqlfuzz 567ad91132879cbab8172b38c6a68ad40fa8d650. (check-in: 8ba9b08bd9 user: drh tags: trunk)
2023-04-08
19:27
Fix a couple harmless compiler warnings seen with MSVC. (check-in: 1b864a370f user: mistachkin tags: trunk)
19:23
Fix a typo in [83e84531b46814ae] that changed the value of SQLITE_DBCONFIG_STMT_SCANSTATUS. (check-in: b717765391 user: drh tags: trunk)
16:51
Faster implementation of keywordCode() - the routine that determines if an identifier is really a keyword and if so, which keyword. (check-in: 0ff3d3d537 user: drh tags: trunk)
13:31
Fix a harmless compiler warning. (check-in: c9559ba621 user: drh tags: trunk)
13:01
Optimizations to btree.c save about 4.5 million CPU cycles: (1) Clone insertCell() into a separate insertCellFast() routine for use by sqlite3BtreeInsert(). (2) Mark allocateSpace() as always-inline. (3) Improved coalesence of adjacent free blocks in pageFreeArray(). (check-in: 5c12c400fe user: drh tags: trunk)
2023-04-07
18:27
Guard against oversized cells in the newly enhanced pageFreeArray(). (Closed-Leaf check-in: 2dcdbb5035 user: drh tags: btree-freespace-opt)
16:30
Add NEVER on an unreachable branch. (check-in: 9b3febbd98 user: drh tags: btree-freespace-opt)
15:49
Fix an assert(). (check-in: 7eff46ba97 user: drh tags: btree-freespace-opt)
15:07
Tweaks to the new insertCellFast(). (check-in: 203a581a91 user: drh tags: btree-freespace-opt)
14:33
Clone insertCell() into insertCellFast() for use by sqlite3BtreeInsert() for a substantial performance increase. (check-in: f225afd90c user: drh tags: btree-freespace-opt)
14:03
Fix a problem causing the rbu_exclusive_checkpoint=1 to be ignored with zipvfs databases. (check-in: d8f50b31e8 user: dan tags: trunk)
13:21
Small performance improvement in freeSpace(). (check-in: 8dc5292ee5 user: drh tags: btree-freespace-opt)
11:55
Try to use a heap to make coalescence of adjacent free slots faster when freeing space on a btree page. Turns out that the overhead of managing the heap overwhelms any performance gain and the result is slower. (Closed-Leaf check-in: 5d7e833f25 user: drh tags: deadend)
11:18
Add further tests for the rbu_exclusive_lock=1 URI option. (check-in: c07b62bef9 user: dan tags: trunk)
2023-04-06
20:14
Increase the size of the cache of free blocks inside of pageFreeArray() to reduce the number of calls to freeSpace(). (check-in: 27c59f1ea7 user: drh tags: btree-freespace-opt)
17:41
Work around a harmless assertion fault associated with sqlite3VdbeMemAboutToChange() such that the detection of stale values in registers is preserved in debugging builds, but we avoid a false-positive assertion fault in cases involving a virtual table with a LIMIT clause in an IN-operator loop. (check-in: 9511d17e2a user: drh tags: branch-3.41)
17:29
Work around a harmless assertion fault associated with sqlite3VdbeMemAboutToChange() such that the detection of stale values in registers is preserved in debugging builds, but we avoid a false-positive assertion fault in cases involving a virtual table with a LIMIT clause in an IN-operator loop. dbsqlfuzz 3fd70d4ab4950acf1deb8f610a7a7c67cd38713b (check-in: 56ea2c2fe6 user: drh tags: trunk)
15:32
A prepared statement that aborts due to SQLITE_SCHEMA should not invalidate cursors in other prepared statements that are already running. (check-in: 4eee8401c9 user: drh tags: branch-3.41)
13:35
A prepared statement that aborts due to SQLITE_SCHEMA should not invalidate cursors in other prepared statements that are already running. See forum post cae4367d9b for the original trouble report. (check-in: 857d0f5e16 user: drh tags: trunk)
02:26
In the CLI, during error processing while looking for a word boundary, avoid being deceived by malformed input that has a very long sequence of 0x80 characters. Also fix a problem in the zipfile extension for when a corrupt zipfile has a zero-length filename. (check-in: 5323ee77d7 user: drh tags: branch-3.41)
01:05
In the CLI, during error processing while looking for a word boundary, avoid being deceived by malformed input that has a very long sequence of 0x80 characters. forum post ab93a23ba1. (check-in: 82609d5a2d user: drh tags: trunk)
00:59
In the zipfile extension, defend against corrupt ZIP files that contain a zero-length filename. Forum post b15f5e3ad8. (check-in: 46db2e42a5 user: drh tags: trunk)
00:18
In the new .scanstatus command in the CLI, make sure the database is opened before invoking sqlite3_db_config(). Forum post 6e26dcf544. (check-in: 1cd993c45c user: drh tags: trunk)
2023-04-05
03:00
Remove an ALWAYS() that can now be false due to the prior check-in. (check-in: 3bfdb4103d user: drh tags: branch-3.41)
02:55
Add a test case for the ALWAYS() macro removed by the previous check-in. (check-in: 68a1a83749 user: drh tags: trunk)
02:50
Remove an ALWAYS() that might now be false due to the prior check-in. (check-in: fc68993501 user: drh tags: trunk)
02:25
Fix the function that determines the collating function for an expression tree to handle new cases that arise as a result of the recently added ability to use indexed expressions in aggregate queries. (check-in: b29dea0dae user: drh tags: branch-3.41)
02:21
Fix the function that determines the collating function for an expression tree to handle new cases that arise as a result of the recently added ability to use indexed expressions in aggregate queries. [forum/forumpost/0713a16a44|Forum post 0713a16a44]. (check-in: cc5041f3f0 user: drh tags: trunk)
2023-04-04
19:56
Shell to use SQLITE_SHELL_HAVE_RECOVER consistently (correcting check-in 0421cc03e0efa8f1) (check-in: 5b980d72a0 user: larrybr tags: trunk)
18:59
Fix an incorrect entry in the array that maps sqlite3_value values into actual datatype numbers. (check-in: 80d518fb82 user: drh tags: branch-3.41)
18:55
Fix an incorrect entry in the array that maps sqlite3_value values into actual datatype numbers. dbsqlfuzz f660c659bcec48577a43d3bab37f46baaa22f59e (check-in: fa8537dc90 user: drh tags: trunk)
18:48
Remove an assert() statement that is no longer valid due to enhancements to query planner for improved use of indexes. (check-in: 93fb8c66c5 user: drh tags: branch-3.41)
18:10
Remove an assert() statement that is no longer valid due to enhancements to query planner for improved use of indexes. Forum post dc16ec63d3. (check-in: 2b23dd249d user: drh tags: trunk)
17:35
Expose the new SQLITE_VTAB_USES_ALL_SCHEMAS to JS. (check-in: b7ef09be66 user: stephan tags: trunk)
08:49
Omit shell call to sqlite3_dbdata_init() when it is omitted. (check-in: 0421cc03e0 user: larrybr tags: trunk)
2023-04-03
23:55
When translating arguments of aggregate functions into references to expression indexes, make sure to only translate them for the current aggregate when there are nested aggregates. (check-in: 7ea98aba78 user: drh tags: branch-3.41)
23:49
When translating arguments of aggregate functions into references to expression indexes, make sure to only translate them for the current aggregate when there are nested aggregates. Forum post 409ebc7368. (check-in: 898bfa1afd user: drh tags: trunk)
20:11
Improved diagnostic output from PRAGMA vdbe_addoptrace. (check-in: 050958c182 user: drh tags: trunk)
18:00
When changing a COLLATE expression node into TK_AGG_COLUMN because the nodes value is contained in an indexed expression, be sure to clear the EP_Collate property from the expression node. (check-in: af0f55cfcb user: drh tags: branch-3.41)
17:46
When changing a COLLATE expression node into TK_AGG_COLUMN because the nodes value is contained in an indexed expression, be sure to clear the EP_Collate property from the expression node. Fix for the assertion faults reported by forum post e45108732c and forum post 44270909bb. (check-in: cf6454ce26 user: drh tags: trunk)
15:01
Add the SQLITE_VTAB_USES_ALL_SCHEMAS option to sqlite3_vtab_config(). Update the sqlite_dbpage, sqlite_dbdata, and sqlite_dbptr virtual tables to make use of that interface. This was formerly handled by the internal sqlite3VtabUsesAllSchemas() routine that was called directly from sqlite_dbpage. But since sqlite_dbdata and sqlite_dbptr are an extension, an external interface to that functionality had to be provided. dbsqlfuzz 1a29c245175a63393b6a78c5b8cab5199939d6a8 (check-in: bcd51abee0 user: drh tags: trunk)
12:48
Make the sqlite_dbdata and sqlite3_dbptr virtual tables accessible to the CLI. (check-in: c0eff02854 user: drh tags: trunk)
12:45
Stronger constraint checking in allocateSpace(). (check-in: 0f9e65b6c1 user: drh tags: branch-3.41)
12:33
Stronger constraint checking in allocateSpace(). dbsqlfuzz 93d4c9ff5ef7cd29f16e767af1ee71c29ec5a4c0 (check-in: 9e968f4fbc user: drh tags: trunk)
2023-04-02
20:56
With the -DSQLITE_ENABLE_JSON_NAN_INF compile-time option, non-standard JSON numeric values "Inf", "Infinity", "-Inf", "-Infinity", "NaN", "QNaN", and "SNaN" are all accepted. SQLite should never generate these values, but it will accept that with the appropriate compile-time option. (check-in: 0a050e9013 user: drh tags: trunk)
20:46
More off-by-one errors in the new JSON parsing. (Closed-Leaf check-in: dbc9966208 user: drh tags: json-nan-inf)
20:27
Fix an off-by-one error in the recognition of -Infinity. (check-in: f7ebf3e628 user: drh tags: json-nan-inf)
18:49
Earlier detection of corruption in sqlite3BtreeDelete(). dbsqlfuzz a4c48c291d6e40157a1b749a05eaa7c7faf5a625. (check-in: 728633c0bd user: drh tags: branch-3.41)
16:43
Earlier detection of corruption in sqlite3BtreeDelete(). dbsqlfuzz a4c48c291d6e40157a1b749a05eaa7c7faf5a625. (check-in: 978dc71c38 user: drh tags: trunk)
14:53
Clear executable bit on base64.c (check-in: ec1ddbce7d user: larrybr tags: trunk)
2023-04-01
23:29
Allow special floating-point value names in JSON: "inf", "-inf", "infinity", "-infinity", "nan", "qnan", and "snan". All are converted into valid JSON values: 9e999, -9e999, or null. Requires the SQLITE_ENABLE_JSON_NAN_INF compile-time option to operate. (check-in: fc8793e5ac user: drh tags: json-nan-inf)
16:14
Swat grammar nit on README.md (check-in: 715c00e58b user: larrybr tags: trunk)
15:51
Fix harmless compiler warnings. (check-in: a4fb2864fe user: drh tags: trunk)
13:14
Improved error messages from PRAGMA integrity_check. Identify the root of the tree when a problem is found in a b-tree, making it easier to track the problem to a specific table or index. (check-in: a1cb152e69 user: drh tags: trunk)
12:22
In the b-tree module use %u instead of %d to print unsigned quantities such as page numbers and offsets. (check-in: 33ac62d8ee user: drh tags: trunk)
2023-03-31
23:59
Omit the the count-of-view optimization if there is a HAVING clause. (check-in: a8faea2842 user: drh tags: branch-3.41)
23:48
Omit the the count-of-view optimization if there is a HAVING clause. This fixes a problem that originated with check-in [9322a7c21f1c22ba]. dbsqlfuzz 6a107e3055bd22afab31cfddabc2d9d54fcbaf69 (check-in: babe2b5e59 user: drh tags: trunk)
16:27
Merge recent trunk fixes into the nan-inf branch. (Leaf check-in: a51fb9d72c user: drh tags: nan-inf)
2023-03-30
19:14
Earlier error detection for index expression usage by aggregate functions. dbsqlfuzz 29214ace4e25c98d2ddff8fbcf97afdda23f28b9 (check-in: cf8dd8cd08 user: drh tags: branch-3.41)
19:05
Earlier error detection for index expression usage by aggregate functions. dbsqlfuzz 29214ace4e25c98d2ddff8fbcf97afdda23f28b9 (check-in: 8e841e7f02 user: drh tags: trunk)
16:08
Omit a branch that is no longer needed following [c9c4f287652933eb]. (check-in: 960a488a2d user: drh tags: trunk)
12:19
Fix an error in new test script test/aggfault.test. (check-in: 8724fe7426 user: dan tags: trunk)
11:28
Cherrypick three fixes from trunk. (check-in: 5583ea82c6 user: drh tags: branch-3.41)
11:05
Fix a crash that could follow an OOM error while processing aggregate functions. (check-in: 804435a273 user: dan tags: trunk)
2023-03-29
21:58
Avoid having OP_SeekScan jump over an OP_IdxGT or OP_IdxGE that follows the OP_SeekGE opcode. Fix for [b50528af4468237c]. (check-in: c9c4f28765 user: dan tags: trunk)
18:54
Fix a problem with sqlite3_stmt_scanstatus() calls made from within an SQLITE_TRACE_STMT callback made from within a trigger. (check-in: 1fa78fafa1 user: dan tags: trunk)
17:26
Back out elements (1) and (2) from [96ec8306457eebf5]. (check-in: d8b17615f1 user: drh tags: nan-inf)
16:28
Merge recent trunk fixes into the nan-inf branch. (check-in: 248bf62945 user: drh tags: nan-inf)
15:16
Another #ifdef to omit code that is only used by STAT4. (check-in: 445c75567d user: drh tags: trunk)
14:42
New #ifdefs to omit code that is unused except under STAT4. (check-in: 09a9b30ba7 user: drh tags: trunk)
11:40
Enhance PRAGMA integrity_check so that it can detect that a NOT NULL column contains a NaN value and report that as an error. (check-in: fbc27e18aa user: drh tags: branch-3.41)
11:36
Enhance PRAGMA integrity_check so that it can detect that a NOT NULL column contains a NaN value and report that as an error. dbsqlfuzz f144b642fe6f1a1c196f258ac6e60118a0cb59b2. (check-in: 7638d9755d user: drh tags: trunk)
00:05
Modify the OP_IsType opcode so that it does not need to distinguish between NaN and other floating point values. Later: This branch causes an unnecessary slowdown of PRAGMA integrity_check. Check-in [7638d9755dc90fd3] does a better job of detecting when a NaN value occurs in a NOT NULL column. (Closed-Leaf check-in: 242cb36c3b user: drh tags: istype-opcode-refactor)
2023-03-28
16:13
Fix a weird corner case in aggregate function processing that results from the recent addition of support for index expressions on aggregate queries. (check-in: 36fd948e34 user: drh tags: branch-3.41)
16:02
Fix a weird corner case in aggregate function processing that results from the recent addition of support for index expressions on aggregate queries. Forum post bad532820c. (check-in: c34fd9fe1b user: drh tags: trunk)
11:21
Fix multiple problems with RETURNING on a DML statement against a view. (1) Do not allow a RETURNING clause to trick the code generator into thinking that the view being updated has an INSTEAD OF trigger. (2) Generate all result columns for a view in a DML statement. (3) The automatic covering index for a view should cover all result columns of the view. (check-in: b49816fcce user: drh tags: branch-3.41)
11:18
Fix multiple problems with RETURNING on a DML statement against a view, all inspired by forum post dc3b92cfa0. (1) Do not allow a RETURNING clause to trick the code generator into thinking that the view being updated has an INSTEAD OF trigger. (2) Generate all result columns for a view in a DML statement. (3) The automatic covering index for a view should cover all result columns of the view. (check-in: c8bedef0d6 user: drh tags: trunk)
2023-03-27
13:57
Remove a meaningless JS test. Add a timer to the OPFS async-side worker loader in an attempt to catch a browser-specific quirk in which the worker loading silently fails, per discussion in/around [forum post a708c98dcb3ef|forum:a708c98dcb3ef]. (check-in: 4fc1904b8e user: stephan tags: trunk)
13:27
Do not allow constant factoring during PRAGMA integrity_check, since the constants might be stored in registers that are later reused for other purposes. (check-in: a4b5f499d9 user: drh tags: branch-3.41)
13:24
Do not allow constant factoring during PRAGMA integrity_check, since the constants might be stored in registers that are later reused for other purposes. dbsqlfuzz dc9ab26037cf5ef797d28cd1ae0855ade584216d. Problem discovered by a new assert() statement added in [6f8b97f31a4c8552]. (check-in: 0bba27b781 user: drh tags: trunk)
13:10
Improvements to register allocation, especially in the ANALYZE command. New assert() statements added to help verify that memory allocation is correct, and to help fuzzer find lingering errors. (check-in: 636f6fad8d user: drh tags: branch-3.41)
2023-03-26
16:36
Improvements to register allocation, especially in the ANALYZE command. New assert() statements added to help verify that memory allocation is correct, and to help fuzzer find lingering errors. (check-in: 6f8b97f31a user: drh tags: trunk)
11:54
Disable factoring of constant values during ANALYZE. This is a temporary fix for forum post 07de5f6216. The register allocation logic in ANALYZE needs to be completely refactored, but that will take longer. This check-in will serve to resolve the issue until a better fix can be devised. (check-in: c3967d1259 user: drh tags: trunk)
2023-03-25
23:56
When the left table of a RIGHT JOIN is used inside an aggregate function and the left table employs an index on expressions, then make sure the expressions evaluate to NULL for the cases where the left table should be NULL. (check-in: c51df77ebe user: drh tags: branch-3.41)
23:52
When the left table of a RIGHT JOIN is used inside an aggregate function and the left table employs an index on expressions, then make sure the expressions evaluate to NULL for the cases where the left table should be NULL. Fix for forum post 9b491e1deb. (check-in: ffe23af73f user: drh tags: trunk)
23:40
Add usage detection to the NULL value generator for the left table of a RIGHT JOIN inside of an aggregate. (Closed-Leaf check-in: 4d05a009df user: drh tags: rightjoin-agg-idxexpr)
22:42
When reading sqlite_stat4 data during query planning, be sure to expand zeroblobs prior to running comparisons. (check-in: 60f4d19d91 user: drh tags: branch-3.41)
22:37
When reading sqlite_stat4 data during query planning, be sure to expand zeroblobs prior to running comparisons. Fix for the issue identified by forum post 5275207102. (check-in: 5c8dd8dfca user: drh tags: trunk)
21:01
When the left table of a RIGHT JOIN is used inside an aggregate function and the left table employs an index on expressions, then make sure the expressions evaluate to NULL for the cases where the left table should be NULL. Proposed fix for forum post 9b491e1deb. More testing an analysis needed - there is a FIXME in this check-in. (check-in: 3572b40a7d user: drh tags: rightjoin-agg-idxexpr)
19:46
In the byte-code generator, when the result of an expression needs to be in a particular register, always use the sqlite3ExprCode() routine because it has the smarts to know whether to use OP_Copy or OP_SCopy. Do not try to OP_SCopy inline because an OP_Copy might be required. (check-in: 2d439ccca4 user: drh tags: branch-3.41)
19:44
In the byte-code generator, when the result of an expression needs to be in a particular register, always use the sqlite3ExprCode() routine because it has the smarts to know whether to use OP_Copy or OP_SCopy. Do not try to OP_SCopy inline because an OP_Copy might be required. Fix for the problem identified by forum post 5522082cfc. (check-in: c104e5c6ee user: drh tags: trunk)
18:41
Add the tag-20230325-1 comment that was omitted from the prior check-in. (check-in: a13c01d076 user: drh tags: trunk)
18:33
The fix at [13c8c60bb6b4447b] was incomplete in that it failed to clear the reusable register cache that might contain registers in the STAT4 buffer region. This additional change corrects the problem. (check-in: 671bf6f532 user: drh tags: branch-3.41)
18:31
The fix at [2bf5413dc2c19d5f] was incomplete in that it failed to clear the reusable register cache that might contain registers in the STAT4 buffer region. This additional change corrects the problem. Forum post 83cb4a95a0. Test case in TH3. (check-in: 5d554e4d0f user: drh tags: trunk)
12:27
Even tighter bounds on the maximum length of the filename for sqlite3_load_extension(). (check-in: 787291414d user: drh tags: trunk)
03:17
Tighter constraints on the maximum length of the filename handed over to sqlite3_load_extension(), due to forum post a43074729e. This is a follow-on to [01f3877c7172d522] and forum post 08a0d6d9bf. (check-in: 9f351bdee2 user: drh tags: trunk)
02:07
New test case to further validate the fix at [221fdcec964f8317]. Forum post d34ad68c36. (check-in: a6e218a6e1 user: drh tags: trunk)
02:02
Fix a problem in cursor-hints for WITHOUT ROWID tables. (check-in: fc8ec188d9 user: drh tags: branch-3.41)
01:50
Fix CLI non-handling of OOM. (check-in: 44c76f001a user: drh tags: branch-3.41)
01:29
Fix CLI non-handling of OOM reported at Forum post 6872514e04. (check-in: 6f6a0fd63b user: larrybr tags: trunk)
2023-03-24
22:24
Remove undocumented, vestigial SQL functions in the CLI that were once used for the ".recover" command but are now no longer needed. This is a fix for the problem described by forum post be9c294ee0. (check-in: 74d14900af user: drh tags: branch-3.41)
22:17
Remove undocumented, vestigial SQL functions in the CLI that were once used for the ".recover" command but are now no longer needed. (check-in: 1ef461aa4e user: drh tags: trunk)
21:35
Fix possible integer overflow in bounds checking for the debugging function "shell_int32()" found in the CLI. This change does not affect the core SQLite. Forum post be9c294ee0. (check-in: 6211471138 user: drh tags: trunk)
21:27
Fix an error in the OP_SeekScan opcode. (check-in: b95e69330e user: drh tags: branch-3.41)
21:24
Fix an error in the OP_SeekScan opcode added by check-in [4a43430fd23f8835]. Problem reported by forum post 8cc1dc0fe9. (check-in: 651a13fcd1 user: drh tags: trunk)
20:41
Increase the version number to 3.41.3. (check-in: 9a19c6ce80 user: drh tags: branch-3.41)
20:39
Fix the handling of indexed expressions in an outer query that appear as corelated values inside an aggregate function within a subquery. (check-in: 76b90f267c user: drh tags: branch-3.41)
20:35
Fix the handling of indexed expressions in an outer query that appear as corelated values inside an aggregate function within a subquery. Forum post 79cf371080. (check-in: d8259877ea user: drh tags: trunk)
19:17
Fix a problem in cursor-hints for WITHOUT ROWID tables used in a RIGHT JOIN. Forum post 591006b1cc. (check-in: 221fdcec96 user: drh tags: trunk)
17:15
Add a JS test which checks for the issue described in forum post 895425b49a. (check-in: 98d30400e4 user: stephan tags: trunk)
17:01
Fix byte-code register allocation in ANALYZE for STAT4 when there multiple indexes with differing numbers of columns. (check-in: 13c8c60bb6 user: drh tags: branch-3.41)
16:57
Fix byte-code register allocation in ANALYZE for STAT4 when there multiple indexes with differing numbers of columns. forum post bc39e531e5. This problem arose when expression indexes were added by check-in [2131a5ca53f0e9b0]. (check-in: 2bf5413dc2 user: drh tags: trunk)
2023-03-23
19:22
Fix test cases so that they work when SQLITE_ENABLE_NAN_INF is defined. (check-in: 95c7af79cf user: drh tags: nan-inf)
12:00
Fix #ifdefs that use the wrong preprocessor macro. (check-in: 0aecf360fb user: drh tags: nan-inf)
10:58
The attempt to bring STAT4 up to 100% MC/DC at [55a26c67ed4a3a93] and at [168fa2fb22b8c1ad] are incorrect. Back them out and replace them with a simple NEVER() macro. Error reported by forum post dc4854437b. (check-in: 76e683c5f2 user: drh tags: branch-3.41)
10:54
The attempt to bring STAT4 up to 100% MC/DC at [55a26c67ed4a3a93] and at [168fa2fb22b8c1ad] are incorrect. Back them out and replace them with a simple NEVER() macro. Error reported by forum post dc4854437b. (check-in: 5992370a89 user: drh tags: trunk)
2023-03-22
20:21
Add the SQLITE_ENABLE_NAN_INF compile-time option which makes the following behavior changes: (1) sqlite3_value_double(NULL) returns NaN, (2) SQLite preserves NaN values rather than converting them to NULL. (3) CAST statements understand "NaN" and "Inf" and make the right conversions. (4) Non-standard JSON is never generated by SQLite JSON routines, but those routines will accept floating point literals "NaN", "Inf", and "-Inf". (check-in: 96ec830645 user: drh tags: nan-inf)
19:57
Internal cleanups in JS code. No functional changes. (check-in: 8fbdf7d104 user: stephan tags: trunk)
16:55
The floating-point-to-text conversion with the zero-padding option now renders NaN as "null". (check-in: ad59fa1766 user: drh tags: trunk)
16:37
For consistency, the ".mode json" output from the CLI now renders infinity in the same format as the JSON functions. (check-in: abee339d5e user: drh tags: trunk)
16:24
The double-to-text conversion renders infinity as 9e999, so that JSON output is compliant and so that values can be round-tripped. (check-in: b52081d0ac user: drh tags: trunk)
16:01
In the CLI, the magic parameter :inf and :nan bind floating point values Infinity and NaN, respectively, as an aid to testing SQLite's handling of those quantities. (check-in: c70a61d8fb user: drh tags: trunk)
14:51
Update the version number for the TEA tarball to 3.42.0, to match the core. (check-in: 03e6918e7f user: drh tags: trunk)
13:47
Merge the 3.41.2 patch into the reuse-schema-3.41 subbranch of reuse-schema (Leaf check-in: 995fa4d09d user: drh tags: reuse-schema-3.41)
13:35
Merge the 3.41.2 patches into the bedrock-3.41 subbranch of bedrock. (Leaf check-in: b7a144c499 user: drh tags: bedrock-3.41)
13:25
Merge the 3.41.2 patch into the wal2-3.41 subbranch of wal2. (Leaf check-in: db44f17a84 user: drh tags: wal2-3.41)
11:56
Version 3.41.2 (check-in: 0d1fc92f94 user: drh tags: release, version-3.41.2, branch-3.41)
11:12
Increment the version number in the TEA configure script to 3.41.2. (check-in: 2bb74aa501 user: drh tags: branch-3.41)
2023-03-21
14:20
Add ALWAYS() on a branch this is always true now due to [84417bbd144b2197]. (check-in: badf7d0e3c user: drh tags: trunk)
12:29
Add the fuzzcheck-asan.exe target to the MSVC makefile. (check-in: 0901bc0278 user: drh tags: trunk)
11:56
Add the fuzzcheck-asan target to the main posix makefile. (check-in: 55e94adddb user: drh tags: trunk)
11:27
Fix a valgrind error and potential buffer overread when handling a corrupt database. (check-in: cb8b34fa1a user: drh tags: branch-3.41)
11:13
Fix a valgrind error and potential buffer overread when handling a corrupt database. (check-in: b1e0cd6444 user: dan tags: trunk)
2023-03-20
20:22
Reinsert two NEVER() macros for b-tree branches that were previously needed for [b6a82f3c3b9d89fd] but which are now obsolete due to [73f0036f045bf371]. Later: dbsqlfuzz quickly found new cases for which those two branches are needed. The new test cases have been added to TH3. (Closed-Leaf check-in: 3065dadb3e user: drh tags: backout)
18:35
Minor change to btreeNext() to facilitate coverage testing. (check-in: 20b3ef04d8 user: drh tags: trunk)
15:50
Fix a problem causing a cursor to retain an out-of-date cell-info cache when processing a DISTINCT query on values that are identical according to their collation sequence, but different on disk. (check-in: b02811847c user: drh tags: branch-3.41)
14:59
Fix a problem causing a cursor to retain an out-of-date cell-info cache when processing a DISTINCT query on values that are identical according to their collation sequence, but different on disk. Forum post e123e6cde4. (check-in: 1b3abc1dae user: dan tags: trunk)
10:43
Back out the extra margin added to the input buffer of the CLI, as it is not needed. (check-in: ac8d1e5de5 user: drh tags: trunk)
01:59
Fix problems with the sqlite3_error_offset() function and its use in the CLI. (check-in: d5cd6c885b user: drh tags: branch-3.41)
01:55
A better fix for the sqlite3_error_offset() problem on generated columns. (check-in: 770b3e67c8 user: drh tags: trunk)
00:53
Expression errors in generated columns should not generate non-negative sqlite3_error_offset() returns. Second of two defenses against [33aa4c0de8a62e33]. (check-in: 2adb4e0dda user: drh tags: trunk)
00:48
When reporting errors in the CLI, ignore the output of sqlite3_error_offset() if the value returned is clearly out-of-range. One of two lines of defense against [33aa4c0de8a62e33]. (check-in: 26adbb80f5 user: drh tags: trunk)
2023-03-19
21:53
Increase the size of ref-count values in the pager layer to 64-bits, to avoid any reasonable possiblity of overflowing the counters. (check-in: 824611ad33 user: drh tags: branch-3.41)
21:48
Increase the size of ref-count values in the pager layer to 64-bits, to avoid any reasonable possiblity of overflowing the counters. There is a performance and memory penality for this. Forum post b741f15a35. (check-in: 6c5d99a813 user: drh tags: trunk)
10:30
Avoid a buffer overread in fts3 that could occur when processing a corrupt record. (check-in: 1f91fe4bfc user: drh tags: branch-3.41)
2023-03-18
16:12
Avoid a buffer overread in fts3 that could occur when processing a corrupt record. (check-in: 02ac2297ab user: dan tags: trunk)
2023-03-17
20:31
Fix json rendering so that it shows positive and negative infinity as 9.0e+999 and -9.0e+999 respectively. (Closed-Leaf check-in: efce4690a5 user: drh tags: numeric-only-json)
19:18
Add the ability to name functions using one of the join keywords like CROSS FULL INNER LEFT NATURAL OUTER RIGHT. (check-in: 0910b1925e user: drh tags: trunk)
19:07
Add test cases for functions named the same as join keywords. (Closed-Leaf check-in: 94944b239c user: drh tags: functions-named-left)
14:22
Fix a potential buffer overread in the recovery extension. (check-in: 78836713c9 user: dan tags: branch-3.41)
14:18
Fix a potential buffer overread in the recovery extension. (check-in: 0b3b5bf959 user: dan tags: trunk)
12:25
Ensure that an error does not delete the Table object out from under the xConstruct method of a virtual table. dbsqlfuzz 7cc8804a1c6d4e3d554d79096e6ea75a7c1c7d2d (check-in: c5bd0ea3b5 user: drh tags: branch-3.41)
10:43
Ensure that an error does not delete the Table object out from under the xConstruct method of a virtual table. dbsqlfuzz 7cc8804a1c6d4e3d554d79096e6ea75a7c1c7d2d (check-in: df4928c92b user: drh tags: trunk)
10:30
Increase the version number to 3.41.2 (check-in: 122f12f536 user: drh tags: branch-3.41)
00:42
Add safety margin on the CLI input buffer for tickets [33aa4c0de8a62e33], [b97e6c5e6a91d97f], [2971fbe3f993e95a], and [2971fbe3f993e95a]. (check-in: 741af08af1 user: drh tags: trunk)
00:10
Fix assert() statements that would (incorrectly) fire if an IF NOT EXISTS trigger that already exists contained two or more RETURNING clauses. (check-in: 9b43b34d81 user: drh tags: branch-3.41)
00:01
Fix assert() statements that would (incorrectly) fire if an IF NOT EXISTS trigger that already exists contained two or more RETURNING clauses. Tickets [89d259d45b855a0d] and [d15b3a4ea901ef0d]. (check-in: 648899e4de user: drh tags: trunk)
2023-03-16
21:05
Correctly handle SELECT DISTINCT ... ORDER BY when all of the result set terms are constant and there are more result set terms than ORDER BY terms. (check-in: 097512b604 user: drh tags: branch-3.41)
20:54
Correctly handle SELECT DISTINCT ... ORDER BY when all of the result set terms are constant and there are more result set terms than ORDER BY terms. Fix for these tickets: [c36cdb4afd504dc1], [4051a7f931d9ba24], [d6fd512f50513ab7]. (check-in: 12ad822d9b user: drh tags: trunk)
12:28
Additional debug/test output from the query invariant checker showing the row-number that is being checked. (check-in: e4b6eb58e6 user: drh tags: trunk)
11:50
Update the tracing output for the query-invariant checker such that it shows the SQL that is run to verify that a found query-invariant discrepency is valid. Changes to testing logic only. (check-in: 8f45ad2740 user: drh tags: trunk)
10:21
Do not use the one-pass optimization on an UPDATE if there is a subquery in the WHERE clause, since if the subquery is hidden behind a short-circuit operator, the subquery might not be evaluated until after one or more rows have been updated. (check-in: b5d8a9a6a5 user: drh tags: branch-3.41)
10:17
Do not use the one-pass optimization on an UPDATE if there is a subquery in the WHERE clause, since if the subquery is hidden behind a short-circuit operator, the subquery might not be evaluated until after one or more rows have been updated. Fix for the problem reported by forum post 0007d1fdb1. This is the same problem that was fixed by [73f0036f045bf371] only for UPDATE instead of DELETE. (check-in: 2c56b984a0 user: drh tags: trunk)
09:16
Remove a NEVER() from btreeNext(). (check-in: 40623f5ab0 user: drh tags: branch-3.41)
09:12
Fix a broken assert() in the recovery extension. (check-in: 048711e490 user: drh tags: branch-3.41)
09:07
Remove a NEVER() from btreeNext() that dbsqlfuzz 460aa158f9a2c41145831cc924296cde1f312b3f found could sometimes be reached. I will find a way to test that branch later. (check-in: 1dffeffe15 user: drh tags: trunk)
02:30
Another approach at attempting to contain the damage caused by corruption that leaves MemPage.isInit clear. Works better than the previous but is still not perfect. (Closed-Leaf check-in: ba964eb0f3 user: drh tags: corruption-in-btree-init)
01:20
When the btreeInitPage() routine detects database corruption, it should continue to the end and set MemPage.isInit before it returns SQLITE_CORRUPT, because if it leaves MemPage.isInit unset, then can cause difficulty later. dbsqlfuzz 460aa158f9a2c41145831cc924296cde1f312b3f (check-in: 44e83f8b8f user: drh tags: corruption-in-btree-init)
2023-03-15
18:05
Disallow the one-pass optimization for DELETE if the WHERE clause contains a subquery. (check-in: 25e1831885 user: drh tags: branch-3.41)
17:58
Disallow the one-pass optimization for DELETE if the WHERE clause contains a subquery. Fix for the problem reported by forum post e61252062c9d286d. This fix is more restrictive than necessary. It could be relaxed if the subquery does not involve the table that is the subject of the DELETE. (check-in: 73f0036f04 user: drh tags: trunk)
13:53
Fix a broken assert() in the recovery extension. (check-in: 4c4e66f293 user: dan tags: trunk)
2023-03-14
20:16
Fix Bloom filters on an expression index. (check-in: 11e0256b8c user: drh tags: branch-3.41)
20:08
Fix Bloom filters on an expression index. forum post 2e427099d5 and forum post d47a0e8e3a. This problem goes back to the original introduction of Bloom filters (check-in [633bfeeea2bccdd4]) for SQLite version 3.38.0. (check-in: c028fb669a user: drh tags: trunk)
2023-03-13
16:08
Include CLI's tip for -- in all builds. Better show optionality of its non-option arguments. (check-in: 9e2c771daa user: larrybr tags: trunk)
2023-03-11
23:29
The cherry-pick merge at [371838562a675c1b] caused a performance regression for some queries, which is here fixed. (check-in: 6d6d95fced user: drh tags: branch-3.41)
23:21
The check-in at [198b3e33dcfd74c7] caused a performance regression for some queries, which is here fixed. Problem reported by forum post b405033490fa56d9. (check-in: dc9f025dc4 user: drh tags: trunk)
12:27
Allow functions named using keywords "CROSS", "FULL", "INNER", "LEFT", "NATURAL", "OUTER", and "RIGHT". (check-in: eeac3d5ec9 user: drh tags: functions-named-left)
00:15
CLI help to reflect no-more-options option (check-in: 30d95a12eb user: larrybr tags: trunk)
2023-03-10
21:27
Fix a typo in a comment. No code changes. (check-in: 76acc07540 user: drh tags: trunk)
20:54
Give CLI a no-more-options option. (--) (check-in: 0822788752 user: larrybr tags: trunk)
13:36
Fix a problem with the fts5 snippet() function that shows up when snippets just 1 token in length are requested. (check-in: 96d5116d17 user: dan tags: trunk)
12:47
Merge the 3.41.1 patches into the bedrock branch. (check-in: 2780cc9f8b user: drh tags: bedrock-3.41)
12:13
Version 3.41.1 (check-in: 20399f3eda user: drh tags: release, version-3.41.1, branch-3.41)
11:57
Export SQLITE_FCNTL_RESET_CACHE to JS. (check-in: 6195cfc86b user: stephan tags: trunk)
00:59
Merge the branch-3.41 patches into the reuse-schema branch. (check-in: af08bd3e6e user: drh tags: reuse-schema-3.41)
00:21
Merge the latest 3.41 patches into a new branch called wal2-3.41. (check-in: e67bfc76fa user: drh tags: wal2-3.41)
2023-03-09
22:09
Replace a lingering use of 'self' with 'globalThis' in JS code, for node compatibility. (check-in: 7e3782b5aa user: stephan tags: trunk)
16:11
Reinstate some test cases accidentally removed by [cb023fe28560ce0f]. (check-in: 870de61f8e user: dan tags: trunk)
16:04
In the Bloom filter optimization, hash all strings and blobs into the same value, because we do not know if two different strings might compare equal even if they have different byte sequences, due to collating functions. Formerly, the hash of a string or blob was just its length. This could all be improved. (check-in: cc8a0ee40c user: drh tags: branch-3.41)
15:08
Fix countofview.test so that it works with SQLITE_OMIT_PROGRESS_CALLBACK builds. (check-in: d55a7742c9 user: dan tags: branch-3.41)
15:08
Fix countofview.test so that it works with SQLITE_OMIT_PROGRESS_CALLBACK builds. (check-in: 2fc7c3fcee user: dan tags: trunk)
14:14
Update the version number to 3.41.1 (check-in: e4e2e64725 user: drh tags: branch-3.41)
13:58
Merge count-of-view optimization fixes from trunk. But count-of-view is still off by default for this branch. (check-in: cbbe8986ea user: drh tags: branch-3.41)
08:51
Experimental addition of sqlite3-node.mjs, for node.js, based on feedback from forum post ac7a94d4f77db235 and related off-list discussions. Build changes only - no code changes. (check-in: a5db97fa17 user: stephan tags: trunk)
01:35
Fix a possible NULL pointer dereference due to the sqlite3_interrupt() enhancement in the 3.41.0 release. (check-in: 66d24a220e user: drh tags: branch-3.41)
2023-03-08
23:05
Fix a possible NULL pointer dereference due to the sqlite3_interrupt() enhancement at [bd8fa10e59f58886]. Reported by forum post f5a2b1db87. (check-in: 84417bbd14 user: drh tags: trunk)
22:48
Backout the OP_MakeRecord optimization as it does not work. (check-in: 25017312d0 user: drh tags: trunk)
18:05
Export the new SQLITE_CHANGESETAPPLY_IGNORENOOP flag to JS. (check-in: ac7359b263 user: stephan tags: trunk)
18:03
Add the SQLITE_CHANGESETAPPLY_IGNORENOOP flag, which may be passed to sqlite3changeset_apply_v2() to have it ignore changes that would be no-ops if applied to the database (e.g. deleting a row that has already been deleted), instead of considering them conflicts. (check-in: cb023fe285 user: dan tags: trunk)
17:09
Small performance improvement in the OP_MakeRecord opcode. (check-in: ca89daef0f user: drh tags: trunk)
14:37
Keep the historical datatype ("INT", not "NUM") for a table created as follows: "CREATE TABLE t1 AS SELECT CAST(123 AS INT) AS value;". The use of FLEXNUM only occurs on compound queries. (check-in: dc1033af4b user: drh tags: branch-3.41)
14:28
Change to [44135d6ea84f7ba6] that retains the historical datatype ("INT", not "NUM") for a table created as follows: "CREATE TABLE t1 AS SELECT CAST(123 AS INT) AS value;". The use of FLEXNUM only occurs on compound queries. (check-in: 6d5b589626 user: drh tags: trunk)
10:05
Extend wasm build to support a custom sqlite3.c to support building against sqlite3-see.c. The JS code now binds the SEE-specific functions if it detects an SEE build. (check-in: dd8612c8ad user: stephan tags: trunk)
00:47
Fix a problem in the count-of-view optimization that can lead to incorrect bytecode. dbsqlfuzz 23d782160b71c3f8f535ccb2da313dfc8eb8c631. (check-in: f45009533a user: drh tags: trunk)
00:04
Fix an assertion fault added by [65ffee234787213c]. (check-in: d00e68baf7 user: drh tags: branch-3.41)
2023-03-07
23:47
Fix a bug introduced 4 days ago by [e95439119ac200cb]: do not set the Expr.affExpr field of a generated column expression if the expression is a RAISE() function, as affExpr has a different meaning for RAISE. Forum post b312e075b5. (check-in: 1096b5a7cc user: drh tags: trunk)
19:39
A proposed change to [44135d6ea84f7ba6] that retains the historical datatype ("INT", not "NUM") for a table created as follows: "CREATE TABLE t1 AS SELECT CAST(123 AS INT) AS value;". (Closed-Leaf check-in: a0e54fe205 user: drh tags: flexnum-proposed-fix)
19:23
Improve how sqlite3.initWorker1API() determines whether it's running in a Worker thread. Based on feedback in forum post ac7a94d4f77db235. (check-in: 2f712b836a user: stephan tags: trunk)
19:12
Replace use of 'self' in JS code with 'globalThis', as that works in browsers and node environments. Avoid using globalThis.location if it's not set (e.g. in node). Based on feedback in forum post ac7a94d4f77db235. Minor JS build tweaks. (check-in: dbbe8f25e5 user: stephan tags: trunk)
12:59
In the JS sqlite3.vfs/vtab utility APIs, use a local reference to StructBinder instead of sqlite3.StructBinder, as that object is removed from the sqlite3 namespace during the final steps of API initialization. Based on feedback from forum post d19d96183badca70. (check-in: 0d89885d28 user: stephan tags: trunk)
02:24
Fix a couple minor spacing issues in the MSVC makefile. (check-in: 46b3ac6d1f user: mistachkin tags: trunk)
2023-03-06
23:39
Repair an unintential fork. (check-in: 8b524c849f user: drh tags: trunk)
23:38
Improvements to query invariant testing such that it uses the new SQLITE_DBCONFIG_REVERSE_SCANORDER opcode to sqlite3_db_config() to make more accurate judgements about when a query is ambiguous, and hence when query invariant testing is approprate. (check-in: be9ab292cd user: drh tags: trunk)
21:38
Cause CLI to fail noisily when deserialize option used for non-seekable "file". (check-in: 24bd7e8247 user: larrybr tags: trunk)
19:04
Add SQLITE_DBCONFIG_REVERSE_SCANORDER for direct C-language access to the "PRAGMA reverse_unordered_selects" setting. (check-in: 83e84531b4 user: drh tags: trunk)
2023-03-05
07:44
Rename sqlite3-worker1-bundler-friendly.js to sqlite3-worker1-bundler-friendly.mjs and refactor it to work as an ES6 module, based on feedback in forum post a255f89c2eadf4c4. (check-in: af312b1314 user: stephan tags: trunk)
07:33
Correct rendering of error messages in demo-worker1.js. Remove some stray EOL whitespace. (check-in: 1d5d515ad9 user: stephan tags: trunk)
2023-03-04
15:49
Cherry-pick the agg-with-indexed-expr optimization fix from trunk. (check-in: b2ad89d3f0 user: drh tags: branch-3.41)
15:36
Fix to check-in [b9190d3da70c4171] - the agg-with-indexed-expr optimization requested by ticket [99378177930f87bd] - that can cause an incorrect answer if an aggregate subquery has a GROUP BY clause, and that GROUP BY contains a term that is not in the result set, and the outer query makes use of expression indexes. Problem reported by forum post a68313d054. (check-in: e069738769 user: drh tags: trunk)
12:57
Show the output value from OP_AggFinal when doing byte-code tracing. (check-in: 35f10a06ba user: drh tags: trunk)
2023-03-03
21:17
Make the SQLITE_DBCONFIG_STMT_SCANSTATUS option on by default in the CLI. (check-in: 5a09191186 user: dan tags: trunk)
19:56
Fix a vdbe-coverage macro added by [f418bdd627e84e7d]. (check-in: 77f559d264 user: drh tags: trunk)
19:47
Do not use an expression index on a generated column if generated column has the wrong affinity. (check-in: 65ffee2347 user: drh tags: branch-3.41)
19:43
Follow-up to [e95439119ac200cb] to fix a case where a pointer is NULL due to OOM. (check-in: 2535bc8c25 user: drh tags: trunk)
18:47
Enhance PRAGMA integrity_check so that it can detect when there are extra bytes at the end of an index record, which might cause OP_IdxRowid to malfunction. (check-in: c143f08713 user: drh tags: branch-3.41)
18:35
Enhance PRAGMA integrity_check so that it can detect when there are extra bytes at the end of an index record, which might cause OP_IdxRowid to malfunction. dbsqlfuzz c1aa3986534d5feab8d21f28b3c1712df2ef358ba. Test case in TH3. (check-in: f418bdd627 user: drh tags: trunk)
17:11
Cherrypick the "(X IS [NOT] NULL)" fix from trunk onto branch-3.41. (check-in: 0fc7f7c2a9 user: drh tags: branch-3.41)
16:25
When it is known when preparing a statement that X cannot be NULL or is always NULL, transform the expression (X IS NULL) to integer value 1 or 0 instead of 'true' or 'false'. This is because under some circumstances, "Y IS TRUE" or "Y IS FALSE" may not be equivalent to "Y IS 1" of "Y IS 0". This problem was introduced by [de9c86c9e4cdb34f] and was reported by forum post 2cd11c2d37. (check-in: cc4bb05b36 user: dan tags: trunk)
15:12
Do not use an expression index on a generated column if generated column has the wrong affinity. dbsqlfuzz 65f5eb57f8859344d5f1f33e08c77ee12960ed83 (check-in: e95439119a user: drh tags: trunk)
10:42
Remove unnecessary call to sqlite3_dbdata_init() from shell.c.in. (check-in: c4d083a3ae user: dan tags: trunk)
2023-03-02
14:09
When flattening the right operand of a LEFT JOIN, ensure that the OP_IfNullRow opcode does not NULL-out a subquery result that was computed within OP_Once. (check-in: c80b262c9d user: drh tags: branch-3.41)
13:49
When flattening the right operand of a LEFT JOIN (check-in [41c27bc0ff1d3135]), ensure that the OP_IfNullRow opcode does not NULL-out a subquery result that was computed within OP_Once. This fixes the problem problem reported by forum post 402f05296d. (check-in: 8fe13f7a5e user: drh tags: trunk)
06:58
Resolve a parallel build timing issue when building sqlite3.c/h from ext/wasm. For the time being, do not add sqlite3_wasm_extra_init.c to fiddle.wasm because it can cause duplicate definitions of extensions which are already built into the shell (a better resolution for this conflict is pending). No longer add sqlite3_wasm_extra_init.c to speedtest1.wasm because it's useless there. (check-in: 75fdd5b83b user: stephan tags: trunk)
05:51
Rename some vars in the ext/wasm makefiles for consistency's sake. (check-in: c23589d92c user: stephan tags: trunk)
2023-03-01
20:44
When flattening a view that is the right operand of a LEFT JOIN always insert the TK_IF_NULL_ROW expression nodes, even for TK_COLUMN expressions, as the TK_COLUMN might be a column from an outer query and hence still need to be NULLed out. (check-in: 371838562a user: drh tags: branch-3.41)
20:23
When flattening a view that is the right operand of a LEFT JOIN, using the optimization of check-in [41c27bc0ff1d3135], always insert the TK_IF_NULL_ROW expression nodes, even for TK_COLUMN expressions, as the TK_COLUMN might be a column from an outer query and hence still need to be NULLed out. This fixes the problem described by forum post 26387ea7ef. (check-in: 198b3e33dc user: drh tags: trunk)
15:28
Make sure subtypes do not cross a subquery boundary even if the function that returned the value with a subtype is buried down inside a larger expression. (check-in: 9dc460318d user: drh tags: branch-3.41)
15:21
Follow-up to [bbaf1f2eb1e1637b]: Make sure subtypes do not cross a subquery boundary even if the function that returned the value with a subtype is buried down inside a larger expression. This fixes a problem identified by forum post 37dd14a538. (check-in: e72661eb68 user: drh tags: trunk)
13:54
Do not attempt to apply the count-of-view optimization to a CTE. dbsqlfuzz ef8623915d843b150c159166ee4548c78cc6895a (check-in: abc3a38363 user: drh tags: trunk)
2023-02-28
21:23
Activate SQLITE_DBCONFIG_STMT_SCANSTATUS in fuzzcheck. (check-in: 4fe1419ac3 user: drh tags: trunk)
20:06
Updates to speedtest1.c and the speed-check.sh test script so that they work with the new SQLITE_DBCONFIG_STMT_SCANSTATUS control. (check-in: bd02df052e user: drh tags: trunk)
20:04
Change the name of SQLITE_DBCONFIG_STMT_SCANSTATS to SQLITE_DBCONFIG_STMT_SCANSTATUS. (check-in: a63e4a150b user: dan tags: trunk)
19:39
Add an sqlite3_db_config() option - SQLITE_DBCONFIG_STMT_SCANSTATS - for enabling and disabling the collection of sqlite3_stmt_scanstats() statistics in SQLITE_ENABLE_STMT_SCANSTATUS builds. Collection of statistics is disabled by default. (check-in: 0f5579bef2 user: dan tags: trunk)
18:06
Only use a Bloom filter on an automatic index if one or more of the key columns in the index can take on non-TEXT values. (check-in: 5916705c73 user: drh tags: trunk)
14:28
In the Bloom filter optimization, hash all strings and blobs into the same value, because we do not know if two different strings might compare equal even if they have different byte sequences, due to collating functions. Formerly, the hash of a string or blob was just its length. This could all be improved. Fix for the issue reported by forum post 0846211821. (check-in: 090304b870 user: drh tags: trunk)
13:46
When an automatic index creates a Bloom filter, show that in the EXPLAIN QUERY PLAN output. (check-in: d7b2ac1c1a user: drh tags: trunk)
12:31
Performance optimization in the varint decoder for the cell parser. (check-in: b2b91c7cb4 user: drh tags: trunk)
11:02
Improve the error message generated by the recovery extension if it is used with a non-SQLITE_ENABLE_DBPAGE_VTAB build. (check-in: c1f2a1d55c user: dan tags: trunk)
2023-02-27
21:53
Make the "unref" operation on database pages a method which is part of the PgHdr object. This is a potential performance optimization. (Leaf check-in: 37c5c8aa0e user: drh tags: unref-opt)
18:55
Minor performance optimization in the computation of an affinity string for an index. (check-in: 07334aa17b user: drh tags: trunk)
14:48
Further to [46639f682975dac6], the parameters of a table valued function that is on the left side of a RIGHT JOIN do not need to be in the ON clause. Add new test cases and tags to associated test cases with the code. (check-in: 18ee689de3 user: drh tags: trunk)
07:23
Minor doc tweak for the previous commit. (check-in: a8832164d3 user: stephan tags: trunk)
07:12
Extend wasm build to enable inclusion of client-custom C code, initialized via the SQLITE_EXTRA_INIT mechanism, per discussion in forum post 1e1c04f3ed1bc96b. (check-in: 68a52cafff user: stephan tags: trunk)
2023-02-26
21:09
When a table-valued function appears as the right table of a RIGHT JOIN, the argument constraints on the table-valued function should be considered part of the ON clause of the RIGHT JOIN. (check-in: d225d077c4 user: drh tags: branch-3.41)
20:57
When a table-valued function appears as the right table of a RIGHT JOIN, the argument constraints on the table-valued function should be considered part of the ON clause of the RIGHT JOIN. Fix for the problem reported by forum post 422e635f3beafbf6. Test cases in TH3. Possibly related to the enhancement at [501609eddf2a46d5]. (check-in: 46639f6829 user: drh tags: trunk)
19:36
Correct substantive error (DML and DQL versus DML) of last check-in. (Leaf check-in: 703fa854f7 user: larrybr tags: db_config_ops_rewrite)
19:10
Revise doc for SQLITE_DBCONFIG_* options, for clarification and coverage of all vararg parameters. Also, a grammo nit swat. (check-in: aa25596b1e user: larrybr tags: db_config_ops_rewrite)
11:52
In the omit-unused-subquery-columns optimization, be sure to remove the EP_Skip and EP_Unlikely flags from the result set expressions that get nulled-out. dbsqlfuzz bf1d3ed6e0e0dd8766027797d43db40c776d2b15. Also fix an incorrect ".selecttrace" code block. (check-in: 83a7f13edb user: drh tags: branch-3.28)
11:36
In the omit-unused-subquery-columns optimization, be sure to remove the EP_Skip and EP_Unlikely flags from the result set expressions that get nulled-out. dbsqlfuzz bf1d3ed6e0e0dd8766027797d43db40c776d2b15. (check-in: 21aec65e5e user: drh tags: trunk)
2023-02-25
16:03
Split out a new variant of cellSizePtr() that applies only to leaf pages, for a small performance increase. (check-in: 22d32eef87 user: drh tags: trunk)
15:34
Remove an unnecessary and redundant corruption checks in defragmentPage(). (check-in: 2dc7342e12 user: drh tags: trunk)
15:15
Revert (mostly) to earlier CLI response to -echo and SQL at the command line. (check-in: 1c6cfcf6ed user: larrybr tags: trunk)
12:50
Performance optimization on sqlite3_vsnprintf(). (check-in: 4430e6e96d user: drh tags: trunk)
2023-02-24
21:23
Add the "on" option to the ".log" command in the CLI. Allow ".log on" and ".log off" even in --safe mode. Enable the .log command for fiddle builds. (check-in: 6bba9100ae user: drh tags: trunk)
21:05
In the CLI, do not emit warnings about the incorrect usage of sqlite3_config() in Fiddle. (check-in: 847021b402 user: drh tags: trunk)
19:58
Fix a problem with the sqlite3sessions_fullchangeset() and sqlite3changebatch_add() APIs on this branch. (check-in: a95a4bce88 user: dan tags: bedrock)
16:04
Modify the sqlite3_config() interface so that the SQLITE_CONFIG_LOG and SQLITE_CONFIG_PCACHE_HDRSZ opcodes can be called after sqlite3_initialize(). Enhancement request [0b75886e6d48f7c2]. (check-in: 7902fb806b user: drh tags: trunk)
15:59
Back out the SQLITE_CONFIG_URI option from anytime-config. (Closed-Leaf check-in: 0de98b8e21 user: drh tags: anytime-config)
13:45
Adjust testrunner.tcl to make use of the new number_of_cores TCL command available in testfixture, and to use no more than half the available cores. (check-in: e0122d3863 user: drh tags: trunk)
13:25
Add the "number_of_cores" TCL command to the testfixture. (check-in: 16ee5a7b5d user: drh tags: trunk)
12:55
Merge enhancements from trunk into the anytime-config branch. (check-in: 04b2fdf3bc user: drh tags: anytime-config)
11:54
Slightly faster and more precise floating-point to decimal conversion. See forum thread d1387c3979c7f557 for discussion. (check-in: 6dea6f4738 user: drh tags: trunk)
01:37
A simpler fix to the problem described by forum thread d1387c3979c7f557. See specifically post 2d2ddc5b70c31de5. This approach is simpler, but it also runs a little slower. (Closed-Leaf check-in: 334d22bc70 user: drh tags: fp-conversion-simpler)
01:08
Fix an incorrect optimization that was attempted as part of check-in [18de3a8e6b431a07]. (Closed-Leaf check-in: f32055e811 user: drh tags: fp-conversion)
2023-02-23
22:08
Omit unnecessary branches from the enhanced floating-point conversion logic. (check-in: 32b0ba0d27 user: drh tags: fp-conversion)
21:18
Increased precision of floating-point to decimal conversions when the floating point value has no fractional part. Forum post d1387c3979c7f557 (check-in: 18de3a8e6b user: drh tags: fp-conversion)
17:12
Provide -DHAVE_LOG2=0 and -DHAVE_LOG10=0 compile-time options for use on systems that lack the log2() and log10() standard math library routines, to cause SQLite to substitute its own alternatives. (check-in: ff3362ab53 user: drh tags: branch-3.41)
14:43
Fix harmless compiler warnings and a code indentation error. (check-in: de6c5c6bb4 user: drh tags: trunk)
14:22
Allow the sqlite3_config() interface to be invoked at any time for a few choosen options: SQLITE_CONFIG_LOG, SQLITE_CONFIG_URI, and SQLITE_CONFIG_PCACHE_HDRSZ. This list will likely change before release. (check-in: e1702eb48d user: drh tags: anytime-config)
01:52
Provide -DHAVE_LOG2=0 and -DHAVE_LOG10=0 compile-time options for use on systems that lack the log2() and log10() standard math library routines, to cause SQLite to substitute its own alternatives. (check-in: 7ee22f95e7 user: drh tags: trunk)
2023-02-22
21:47
Enable the count-of-view optimization by default. Enhancement request [eaed8e36ce888f1e]. (check-in: a4aacdd323 user: drh tags: trunk)
21:11
Avoid computing the values for unused result-set columns in subqueries. Performance optimization request [baa5bb76c35a124c]. (check-in: 7c2d340600 user: drh tags: trunk)
20:50
Update the version number to 3.42.0 to begin the next development cycle. (check-in: 6591021639 user: drh tags: trunk)
20:42
Remove the push-down optimization restriction that was added by check-in [1ad41840c5e0fa70] because it is no longer needed after the enhancements to compound query processing in check-in [27655c9353620aa5] This resolves the performance regression reported by forum post bcc4375032. (check-in: aa6bd6dff7 user: drh tags: trunk)
2023-02-21
21:26
Update the reuse-schema branch to version 3.41.0. (check-in: bbd35706b7 user: drh tags: reuse-schema)
21:22
Update the bedrock branch to version 3.41.0 (check-in: dc1d85707b user: drh tags: bedrock)
21:19
Update the wal2 branch to version 3.41.0. (check-in: 7bb1f6dca2 user: drh tags: wal2)
21:19
Update the begin-concurrent branch to version 3.41.0 (check-in: 918aea50ed user: drh tags: begin-concurrent)
20:08
Remove some unnecessary bind() calls in JS code. (check-in: 71215599cd user: stephan tags: trunk)
18:47
Unconditionally disable -sSTRICT_JS flag in wasm build because it no longer works with emsdk 3.1.31+. (check-in: b5e0b69649 user: stephan tags: trunk)
18:09
Version 3.41.0 (check-in: 05941c2a04 user: drh tags: trunk, release, version-3.41.0)
13:28
Disable DQS by default in the MSVC makefile for the amalgamation tarball. (check-in: 409a19145e user: drh tags: trunk)
12:42
Yet another comment typo fix. No changes to working code. (check-in: cdbdc8013f user: drh tags: trunk)
12:34
Fix a minor typo in a comment. No changes to working code. (check-in: 7981671d14 user: drh tags: trunk)
12:30
Fix formatting and improved documentation on the various sqlite3_file_control() opcodes. Other minor documentation changes. No changes to working code. (check-in: 13280f720a user: drh tags: trunk)
2023-02-20
19:43
Update the TEA version number to 3.41.0 (check-in: b450a920c0 user: drh tags: trunk)
16:55
Fix an incorrect #ifdef in the CLI. (check-in: 3c4d29cf22 user: drh tags: trunk)
2023-02-19
19:16
Fix a harmless compiler warning. (check-in: b2534d8de5 user: drh tags: trunk)
2023-02-18
21:59
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 38fc1d3dfc user: drh tags: reuse-schema)
21:52
Merge the lastest trunk code into the bedrock branch. (check-in: 73e9f8d0bf user: drh tags: bedrock)
21:42
Merge the latest trunk enhancements into the wal2 branch. (check-in: a36de0c803 user: drh tags: wal2)
21:35
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: 6fb8bb2e8f user: drh tags: begin-concurrent)
20:31
Fix stale requirement marks and fix a typo in the documentation for sqlite3_preupdate_hook(). (check-in: 655991f5d9 user: drh tags: trunk)
15:50
Fix a harmless UBSAN warning in debugging code of the new unhex() function. (check-in: 315574d5cb user: drh tags: trunk)
2023-02-17
22:48
Fix a harmless typo in the test case added by [29fc06465efb948f]. (check-in: e0a0bf56f1 user: drh tags: trunk)
18:27
Do not allow the COUNTOFVIEW optimization to run if the count() contains a FILTER clause. dbsqlfuzz 4f8e0de6e272bbbb3e1b41cb5aea31e0b47297e3 (check-in: 29fc06465e user: drh tags: trunk)
2023-02-16
21:01
Fix an #ifdef that uses a different macro name from the main branch. (check-in: ad6ac5d3e8 user: drh tags: branch-3.28)
19:41
A few simple test cases for the omit-unused-subquery-column optimization. (Closed-Leaf check-in: cf8f57c534 user: drh tags: omit-unused-subquery-columns)
19:04
Back-port omit-unused-subquery-column enhancements into the 3.28 branch. (check-in: 57a4e91f43 user: drh tags: branch-3.28)
18:04
Provide an optimization-disable mask for this optimization. Do not do the optimization if the subquery is an aggregate or is distinct, but allow it to be an ephemeral subquery. Do not omit columns that are used in the ORDER BY of the subquery. (check-in: 6b1a1f374d user: drh tags: omit-unused-subquery-columns)
15:54
Do not perform the omit-unused-subquery-columns optimizations on a subquery that is DISTINCT, as that can lead to incorrect results. (check-in: cc148503db user: drh tags: omit-unused-subquery-columns)
14:29
Do not compute result columns of subqueries that are never used. Make those columns NULL instead. This optimization potentially resolves the enhancement request described by [ticket baa5bb76c35a124c]. (check-in: 0163b697dd user: drh tags: branch-3.28)
01:29
Do not compute unused result columns of subqueries. This optimization will potentially resolve the performance optimization request of [ticket baa5bb76c35a124c]. (Closed-Leaf check-in: 0c21b6a5f8 user: drh tags: branch-3.26)
01:21
Update test cases so that they work with TCL 8.7 and later. (check-in: e9b762de0e user: drh tags: branch-3.26)
2023-02-15
19:53
Fix the subquery result column NULL-ifier so that it correctly handles subquery columns past the 63rd column. (check-in: 77b220a724 user: drh tags: omit-unused-subquery-columns)
17:53
Do not compute result columns of subqueries that are never used. Make those columns NULL instead. This optimization potentially resolves the enhancement request described by [ticket baa5bb76c35a124c]. (check-in: 5dec3cc022 user: drh tags: omit-unused-subquery-columns)
13:00
Update the configure script so that it contains the correct version number. (check-in: a7cbf30808 user: drh tags: branch-3.26)
2023-02-14
18:09
Update testrunner.tcl to run zipvfs test scripts on unix. (check-in: e6c8e19ab0 user: dan tags: trunk)
2023-02-13
19:32
Ignore extra parentheses around a subquery on the RHS of an IN operator, because that is what PostgreSQL does. (check-in: ecdeef43b2 user: drh tags: trunk)
18:42
Do not allow WHERE clause terms to match constant string index terms, which can happen if DQS_DDL is enabled. Follow-up to [44200596aa943963]. dbsqlfuzz 54c9db85ed4af7055f5fd0d50877875c82b11d46. (check-in: 2d2b91cc0f user: drh tags: trunk)
18:37
Allow vector-IN expressions like "(a, b) IN ( (?,?), (?,?) )" to use an index. (check-in: 18a99d9cfb user: dan tags: trunk)
18:26
Fix compile time option SQLITE_DEFAULT_SYNCHRONOUS so that it works consistently. (check-in: bf6f1ee77c user: dan tags: trunk)
16:10
Allow vector-IN expressions like "(a, b) IN ( (?,?), (?,?) )" to use an index. (Closed-Leaf check-in: 1815b15ddb user: dan tags: vector-in-fix)
12:46
In the LIKE optimization, do not analyze the new virtual WHERE clause terms until both have been added, since they are expected to be consecutive and the analysis might add complementary terms. This fixes a problem caused by [44200596aa943963] and discovered by dbsqlfuzz and recorded as case 7e3b5983727d843b910b2d9ab556e4afcd777cfb. (check-in: d35de3ad3f user: drh tags: trunk)
2023-02-11
21:11
Change a variable from 32 to 64-bits to avoid a harmless compiler warning in Xcode. Forum post 402d733c22. (check-in: 0216ce23cf user: drh tags: trunk)
2023-02-10
21:53
Do a better job of detecting when a WHERE clause term might be useful to an expression index. Fix for performance regression reported by forum thread e65800d8cb. (check-in: 44200596aa user: drh tags: trunk)
17:17
Fix a problem with the fts5 trigram tokenizer and LIKE or GLOB patterns for which contain runs of 2 or fewer non-wildcard characters that are 3 or more bytes when encoded as utf-8. (check-in: 00714b39b3 user: dan tags: trunk)
14:20
Ensure that the valueFromFunction() routine does not clear a prior parser error. dbsqlfuzz 6fa816f20cf5b62260d635d110b88f38e29d8fe1. (check-in: 7347664511 user: drh tags: trunk)
11:05
Minor text-only updates to wasm demo/test HTML and license header. (check-in: f28e2a8613 user: stephan tags: trunk)
11:04
Fix ext/wasm/fiddle build, which was silently broken by recent build refactoring. (check-in: dcf5329311 user: stephan tags: trunk)
2023-02-09
15:32
Disable the double-quoted string misfeature by default in CLI builds. DQS can be reenabled at run-time using the ".dbconfig dqs_dml" and ".dbconfig dqs_ddl" dot-commands. (check-in: c995932c3f user: drh tags: trunk)
12:59
Squelch two harmless signedness comparison warnings in shell.c.in. (check-in: bdd3edec13 user: stephan tags: trunk)
12:47
New test cases added to fuzzdata8.db. (check-in: be67bafccd user: drh tags: trunk)
11:51
The "flexnum" affinity that was added by [44135d6ea84f7ba6] needs to also be added to the output of the affinity() built-in function. dbsqlfuzz d309eaa5fe492c9606a8be876c2bc7dedb29d3d8 (check-in: f4ec68ceef user: drh tags: trunk)
2023-02-08
20:29
Back out the 'txn' enhancement to date/time functions. The duration of a "transaction" is confused and needs to be straightened out prior to moving forward with this change. (check-in: 4a145f0732 user: drh tags: trunk)
19:45
Be careful to maintain the value of 'txn' as long as there are active statements. Withdrawn See the attached Wiki page. (Closed-Leaf check-in: 98d10cb52a user: drh tags: does-not-work)
17:28
Always use 64-bit integers for stats associated with STAT1 and STAT4. (check-in: 6647d1cb8b user: drh tags: trunk)
17:28
Better fix the problem where optimizing an fts5 table too often causes it to become unreadable (first attempt was [35bed981]). (check-in: 459d986d38 user: dan tags: trunk)
14:49
Cause gcc warning suppression in shell.c to be nice in other project(s). (check-in: 6b41ba2e99 user: larrybr tags: trunk)
14:25
Update an assert() in the stat4 code that is only true for a well-formed database. (check-in: 04439f3b23 user: dan tags: trunk)
14:17
Fix an incorrect assert() in STAT4 logic added just a few days ago on 2023-02-01. (check-in: 168fa2fb22 user: drh tags: trunk)
12:47
Add the 'txn' date/time format. Change CURRENT_TIMESTAMP and similar to use 'tnx'-style semantics instead of 'now'-style. (check-in: 61cc8ed8d3 user: drh tags: trunk)
12:31
Test cases to show that CURRENT_TIMESTAMP and similar hold the same value across a transaction. (Closed-Leaf check-in: 7b2fa20e31 user: drh tags: txn-date)
12:01
Revert the behavior of date/time functions with no arguments so that they once again work like 'now', even while CURRENT_TIMESTAMP and similar work like 'txn'. (check-in: 06180caff0 user: drh tags: txn-date)
11:34
Change the behavior of date-time functions without any arguments (and thus the CURRENT_TIME, CURRENT_DATE, and CURRENT_TIMESTAMP variables) so that they work like 'txn' instead of like 'now'. This is an incompatibility with legacy, but brings SQLite into conformance with all other SQL systems. (check-in: 1ac78be545 user: drh tags: txn-date)
08:49
Merge wasi-patches branch into trunk. (check-in: 9902e66a37 user: stephan tags: trunk)
2023-02-07
23:55
Simplify the code and add test cases. (check-in: d3bed4caff user: drh tags: txn-date)
21:55
Add support for the 'txn' argument to date/time functions that works like 'now' but keeps the same time for the entire transaction. (check-in: 5e4f45af96 user: drh tags: txn-date)
21:03
Update an if(...) expression in sqlite3InitCallback() to match the same expression on trunk. (check-in: c73babca38 user: dan tags: reuse-schema)
18:41
Fix a test script problem causing "make test" to fail for non-RBU builds. (check-in: 2abc3f9de0 user: dan tags: trunk)
16:58
Fix a typo in example documentation code for sqlite3_vtab_in_next(). (check-in: a95dbfae61 user: drh tags: trunk)
16:23
Fix an pcache memory leak that might occur due to the munmap() enhancement of [754f331614f6f6e6] if "PRAGMA shrink_memory" is used. (check-in: f8c1f9c44b user: drh tags: bedrock)
15:57
Avoid loading (and then discarding) schemas for all attached databases within an ATTACH command. This is inefficient for connections using shared-schema. (check-in: 50174e82ea user: dan tags: reuse-schema)
15:29
Merge latest trunk changes into this branch. (check-in: 4d21640c58 user: dan tags: reuse-schema)
11:39
Merge the latest trunk enhancements into the bedrock branch. (check-in: b7d9f14d78 user: drh tags: bedrock)
11:19
Fix a dropped error code in wal.c. (check-in: 2537db6f6b user: dan tags: wal2)
10:58
Fix an assert() in sqlite3WalFindFrame() so that it matches the equivalent assert() on trunk. (check-in: f5bf91d9bf user: dan tags: wal2)
2023-02-06
22:25
Merge trunk into wasi-patches branch. (Closed-Leaf check-in: 656d36f50f user: stephan tags: wasi-patches)
21:20
Roll back part of [c54f29d8] which attempted to use symbols which that worker does not have access to. (check-in: 90b1221137 user: stephan tags: trunk)
19:00
Fix RBU test scripts to avoid attempting to copy or delete a locked file. (check-in: f25eb898fc user: dan tags: trunk)
19:00
Disable an invalid assert(). Add the "WAL2" compile-time property so that test scripts can more easily determine that they are dealing with a WAL2-capable build. (check-in: e93113259e user: drh tags: wal2)
17:48
Merge the latest trunk enhancements into the wal2 branch. (check-in: 44f8f33d4a user: drh tags: wal2)
17:35
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: 46e79167b9 user: drh tags: begin-concurrent)
16:23
Omit the obsolete client/server test cases. (check-in: 5dde07a91d user: drh tags: trunk)
15:49
Fix the build after the previous change (Closed-Leaf check-in: aea3b6f651 user: drh tags: test-cleanup)
15:46
Remove the long obsolete "client/server" mode tests. (check-in: 08e3114cae user: drh tags: test-cleanup)
15:46
Update test scripts speed1.test and speed1p.test so they may be run by testrunner.tcl. (check-in: e761d4b9c8 user: dan tags: trunk)
14:48
Shorten the status line for testrunner.tcl so that it fits on an 80-character terminal. (check-in: b760a7307c user: drh tags: trunk)
14:16
Fix error in the releasetest makefile target from the previous check-in. (check-in: e7fe287d79 user: drh tags: trunk)
14:11
Update "releasetest" makefile targets to use testrunner.tcl. (check-in: 1b95676b05 user: drh tags: trunk)
14:01
Add capability to override the JS API's internal use of console.log/debug/warn/error() with client-provided versions via the bootstrap-time config object. (check-in: c54f29d8e5 user: stephan tags: trunk)
13:36
Fix a formatting problem in scanstatus2.test introduced by [81c118d9]. (check-in: 928ab40edb user: dan tags: trunk)
11:43
Add the --fuzztest option to testrunner.tcl. Also, have it print whitespace over the top of the old report line before writing the new. (check-in: d83ce01fe1 user: dan tags: trunk)
11:02
Fix problems with test scripts preventing them from running with SQLITE_DEFAULT_MEMSTATUS=0 builds. Or builds without SQLITE_ENABLE_STAT4. (check-in: c0fbc89ed2 user: dan tags: trunk)
10:47
Fix some test scripts that were failing with SQLITE_OMIT_VIRTUALTABLE builds. (check-in: 81c118d90b user: dan tags: trunk)
2023-02-05
20:29
Do not use a Bloom filter if any outer loop lacks STAT1 data, since without STAT1 data, the query planner cannot make an accurate determination of whether or not a Bloom filter will be useful. This fixes the problem reported by forum post 56de336385. (check-in: e6ab96bd0b user: drh tags: trunk)
17:40
Add the "devtest" makefile target that runs both fuzztest and testrunner. (check-in: c81398c621 user: drh tags: trunk)
17:09
In fuzzcheck, only show the description of each database if the -v option is specified. (check-in: 6a58179aaf user: drh tags: trunk)
00:47
Restore a test for pBt NULL that was removed by [12a14711afa6cddb] but turned out to be necessary, as dbsqlfuzz quickly showed us. Test case added to TH3. (check-in: 647c89dd2f user: drh tags: trunk)
00:32
Modify the status line output from testrunner so that each line overwrites the previous rather than scrolling. (check-in: ad4d28cd68 user: drh tags: trunk)
00:24
Changes to the sqlite_dbpage virtual table to tag or remove unreachable branches. (check-in: 12a14711af user: drh tags: trunk)
2023-02-04
21:25
Avoid running rbu tests under permutation "journaltest", which does not support wal. Fix some other test script problems. (check-in: 92f018698a user: dan tags: trunk)
20:53
Add ALWAYS() and NEVER() macros to unreachable branchs in sqlite_dbpage. (check-in: db875cd6be user: drh tags: trunk)
20:07
Remove an ALWAYS() that can be false in some very rare cases. dbsqlfuzz 2274a23c85a93b870f7eb12fe686073da01abc33 (check-in: a4eb0b0d83 user: drh tags: trunk)
19:01
Updates to the testrunner.tcl script so that uses a separate sub-process for each test. And so that it runs the release test procedure currently handled by wapptest.tcl. (check-in: 4c3c587500 user: dan tags: trunk)
18:58
Changes so that wapptest.tcl still works. (Closed-Leaf check-in: 7624de3a93 user: dan tags: testrunner)
18:50
Update testrunner.tcl usage message. (check-in: b7c246bc3f user: dan tags: testrunner)
18:47
Add testrunner.tcl "njob" and "status" commands. (check-in: 3869cd3d30 user: dan tags: testrunner)
14:23
Better error message when trying to do an INSERT on an sqlite_dbpage virtual table. (check-in: a98e4908da user: drh tags: trunk)
2023-02-03
21:18
Fixes for testrunner.tcl on windows. (check-in: b98e19fc41 user: dan tags: testrunner)
19:28
Fix a problem where optimizing an fts5 table too often might cause it to become unreadable. (check-in: 35bed98141 user: dan tags: trunk)
18:47
Have testrunner.tcl run various builds as part of the 'release' command. (check-in: ba2fae30a8 user: dan tags: testrunner)
14:57
Attempt to fix harmless compiler warnings that reportedly appear in clang 15. (check-in: c045d76b90 user: drh tags: trunk)
12:03
Improved detection of invalid command-line arguments to the showdb and showwal debugging utility programs. (check-in: 75cdaafc77 user: drh tags: trunk)
11:32
Avoid using Tcl command [clock] in testrunner.tcl. (check-in: b2faf9289f user: dan tags: testrunner)
2023-02-02
20:27
Instead of free()ing them, retain allocated page buffers on an internal per-connection reuse-list when a page-cache is reset. (check-in: 754f331614 user: dan tags: bedrock)
20:15
Do not run test script pendingrace.test as part of the inmemory_journal permutation. (check-in: 69d934a1bf user: dan tags: testrunner)
19:41
Add configuration data for osx and windows to testrunner_data.tcl (check-in: e45d34656a user: dan tags: testrunner)
16:30
Improved and simplified logic for resolving the various aliases of the schema table. (check-in: 5c19491c36 user: drh tags: trunk)
15:28
Resolve all possible aliases and variations of the schema table names. (check-in: e7a0112b23 user: drh tags: trunk)
14:27
Merge latest enhancments into this branch from branch wal2. (Leaf check-in: 5a22010c35 user: dan tags: begin-concurrent-pnu-wal2)
14:21
Merge trunk enhancements into this branch. (check-in: c9b0180203 user: dan tags: wal2)
06:17
Remove automatic installation of JS-global S object for the sake of client libraries which embed this library, per request in the forum. (check-in: 9504f68af8 user: stephan tags: trunk)
2023-02-01
23:24
Adjustments of assert() statement in STAT4 in order to give 100% MC/DC. (check-in: 55a26c67ed user: drh tags: trunk)
20:45
New assert() statements to verify that sqlite3DeleteIndexSamples() is always called with non-NULL parameters. (check-in: 92c71fdd71 user: drh tags: trunk)
20:14
Update testrunner.tcl to use a separate process for each test script. And to run some extra tests too. (check-in: d090948a69 user: dan tags: testrunner)
15:41
Just because a CTE is used more than once, does not mean it should be tagged with M10d_Yes and thereby prohibited from participating in the query flattening optimization. See forum thread 1d571c02963. (check-in: 66f29c403d user: drh tags: trunk)
14:17
Fix a comment related to PENDING locks in os_unix.c. No code changes. (check-in: 6b3546c871 user: dan tags: trunk)
2023-01-31
20:43
Fix a race condition during hot-journal rollback on unix that could theoretically cause spurious corruption errors. (check-in: e365dca4e5 user: dan tags: trunk)
20:21
Fix a race condition during hot-journal rollback that could theoretically cause spurious corruption errors. (Closed-Leaf check-in: 20ea53ddf5 user: dan tags: pending-lock-race)
2023-01-30
20:44
Additional tweaks to the enhancement at [609fbb94b8f01d67] to further reduce the cost estimate for constructing an automatic index on an ephemeral table, in order to resolve the performance problem described by forum post 1d571c0296. (check-in: bf1aae7a8c user: drh tags: trunk)
2023-01-29
06:01
Two JS file renames which got inadvertently undone while setting up [9062b31174618c0e]. Cosmetic cleanups in ext/wasm/dist.make. (check-in: 0c2fde767f user: stephan tags: trunk)
05:09
Correct the handling of the worker1 and promiser JS files in the face of the bundler-friendly changes. Those files require separate, bundler-friendly copies. (check-in: 9062b31174 user: stephan tags: trunk)
2023-01-28
21:06
Do not assume that sub-queries that contain window functions are uncorrelated. (check-in: f27804484d user: dan tags: trunk)
21:01
Show more details about the SrcItem.fg field in tree-trace output. (check-in: 3d05dddd0b user: drh tags: trunk)
17:37
Fix a problem causing "PRAGMA quick_check" to return spurious corruption errors for a WITHOUT ROWID for which all columns are either virtual or part of the primary key, and for which the order of the columns in the primary key definition is different from the order in the table. (check-in: a7530f8971 user: dan tags: trunk)
16:37
Update sqllimits1.test to account for the fact that if an odd value is specified as the length in bytes of a utf-16 string, it is truncated to the largest smaller even number. (check-in: 74508470c4 user: dan tags: trunk)
09:51
Makefile doc touchups - no code/build changes. (check-in: 3458a481b9 user: stephan tags: trunk)
09:11
Overhaul ext/wasm/GNUmakefile to consolidate what amounts to much copy/paste/slightly-edit duplication into a single function, called once per distinctive build mode (vanilla, ESM, bundler-friendly). (check-in: 168e5a9301 user: stephan tags: trunk)
05:09
Enhance oo1.DB.exec() to simplify returning whole result sets. (check-in: 7b168ee2af user: stephan tags: trunk)
04:20
Add JS bundler-friendly JS build. Minor test code cleanups. (check-in: 24d3a53dea user: stephan tags: trunk)
2023-01-27
23:10
Fix compiler warning in base85.c. (check-in: bd9613fd63 user: drh tags: trunk)
20:25
Update ext/wasm/README-dist.txt for the bundler-friendly build. (Closed-Leaf check-in: 6a5c4f6b19 user: stephan tags: js-bundler-friendly)
20:15
Add an assert() to help static analyzers. (check-in: e446c8b4aa user: drh tags: trunk)
19:59
Do not try to run rbu tests with builds that do not support rbu. (check-in: c74ad902e3 user: dan tags: trunk)
19:56
Add a feature idea note to DB.exec(), derived from a forum discussion. (check-in: 792f43209c user: stephan tags: js-bundler-friendly)
17:19
Cherrypick [3773934e91c20ca243] into trunk. (check-in: 50cf4300a6 user: stephan tags: trunk)
17:14
Extract emcc version in JS build and use it to conditionally set build flags. Initially a workaround for Emscripten ticket #18610 but may have other uses. (check-in: 3773934e91 user: stephan tags: js-bundler-friendly)
07:53
Work around a JS null pointer deref which could be triggered from the dev console, but not (it seems) from client-side code. (check-in: eabb551b8b user: stephan tags: trunk)
05:37
Merge trunk into wasi-patches branch. (check-in: 2ce89f5efc user: stephan tags: wasi-patches)
05:17
Cherrypick [fa784101775b7|emscripten ticket #18609 workaround] into trunk. (check-in: 9a26fae545 user: stephan tags: trunk)
05:14
Work around upstream emscripten 3.1.31 ticket #18609. (check-in: fa78410177 user: stephan tags: js-bundler-friendly)
03:18
More work on creating a separate sqlite3.js build which is hopefully friendly to JS bundlers. (check-in: b7b896fb44 user: stephan tags: js-bundler-friendly)
02:21
Resolve a nested if-block bug in ext/wasm/c-pp.c which caused output after a nested block to be unduly elided. Remove a kludge, added in the previous check-in, which worked around that bug. (check-in: 7a026a4b24 user: stephan tags: js-bundler-friendly)
01:33
Beginnings of a bundler-friendly build of sqlite3.mjs. Not yet ready for downstream testing. (check-in: 4271bf5f41 user: stephan tags: js-bundler-friendly)
2023-01-26
20:08
End-of-line whitespace cleanups and doc typo fixes. No code changes. (check-in: bdfd72a083 user: stephan tags: trunk)
18:16
Have some RBU tests run as part of veryquick.test/testrunner.tcl. (check-in: f51406e3bf user: dan tags: trunk)
02:18
Improved fix to allow sqlite3_vtab_in_first() to reliably return SQLITE_ERROR. (check-in: b25eec1c13 user: drh tags: trunk)
2023-01-25
21:28
Fix a harmless compiler warning in FTS3. (check-in: 68d02d3c2a user: drh tags: trunk)
19:05
Defer calling the destructor for the user data on a module until after the module has disconnected. Forum post b68391eb71fdff73. (check-in: 1ab122289f user: drh tags: trunk)
17:24
Change the instrumentation messages on this branch so that they contain "v=7" instead of "v=6". (Leaf check-in: acea12d90f user: dan tags: schema-version-instr)
17:09
Experimental patch to put page buffers on an internal per-connection list for reuse instead of free()ing them when the page-cache is reset. (check-in: 1e4cfd2f30 user: dan tags: schema-version-instr)
16:56
Enhance the sqlite3_vtab_in_first() and sqlite3_vtab_in_next() interfaces so that they reliably return SQLITE_ERROR (and not SQLITE_MISUSE) if they are invoked on a parameter that did not have multi-value IN processing enabled via a prior call to sqlite3_vtab_in(). See forum thread a823d4a3d5f73def. (check-in: 144326dc17 user: drh tags: trunk)
15:45
Fix a problem with fts3 auxiliary functions and one or more NEAR expressions ORed together. (check-in: de4690a10a user: dan tags: trunk)
13:42
Fix another problem with fts3/4 auxiliary functions and NEAR expressions that consist entirely of deferred tokens. (check-in: a8c91c132f user: dan tags: trunk)
2023-01-24
20:17
Add scalar SQL function unhex(). (check-in: 890e9629a7 user: dan tags: trunk)
17:19
Update unhex() to allow a second argument, specifying a set of characters that are permitted to appear between pairs of hexadecimal digits. (Closed-Leaf check-in: 66c8562690 user: dan tags: unhex-function)
11:24
Fix a problem with using fts3 auxiliary functions with expressions like "E AND ...", where E is a NEAR expression that consists entirely of deferred tokens. (check-in: 39bfae4c46 user: dan tags: trunk)
2023-01-23
21:41
Suppress a harmless compiler warning. Forum post e3f72e9291189925. The code was legal and correct. The revised code is actually less clear in its intent. But at least now there will (hopefully) be no warning. (check-in: 48bb7c8878 user: drh tags: trunk)
20:45
Due to a coding error, check-in [8efd61e8518594e3] did not actually use just read transactions if the operation is read-only and the SQLITE_MAX_ATTACHED macro is set to 31 or more. This was due to a misuse of the writeMask field of Parse, pointed out by forum post aa173c18d5. (check-in: 8760566893 user: drh tags: trunk)
16:16
Add the missing CARRAY_BLOB macro to the carray.h extension header. (check-in: 10bf639cd1 user: drh tags: trunk)
14:11
Add experimental user function unhex(). (check-in: dbe424b5db user: dan tags: unhex-function)
2023-01-22
21:54
Give CLI .version a place in .help output. (check-in: 5f2dfdcc34 user: larrybr tags: trunk)
2023-01-21
16:53
Minor API doc cleanups and JS code simplification. (check-in: f608a3a456 user: stephan tags: trunk)
12:18
Merge trunk into wasi-patches branch. (check-in: 6fc20d75d4 user: stephan tags: wasi-patches)
00:59
Fix a memory leak in the TCL test harness associated with carray. (check-in: 5a316f9fd9 user: drh tags: trunk)
00:19
Fix harmless compiler warnings. (check-in: ded60f5b34 user: drh tags: trunk)
2023-01-20
21:00
Extend the carray extension to allow the use of BLOB values to be bound as an array of "struct iovec" objects. (check-in: e117a03ca6 user: drh tags: trunk)
19:19
Two branches associated with memdb are now always taken (I believe). Tag them with ALWAYS() to verify this. (check-in: 20b9b5aa4f user: drh tags: trunk)
17:50
Ensure that the database encoding cannot be changed while there are statements running. And that the connection is left in a valid state after an obscure OOM within sqlite3_deserialize(). (check-in: a02da71f3a user: dan tags: trunk)
15:13
Add tests for changing the database encoding via RESET_DATABASE/VACUUM. And test that it is not possible to trick another connection with this. (check-in: b869054acb user: dan tags: trunk)
13:34
The json_group_array(), json_group_object(), and fts5_source_id() functions should all be deterministic and innocuous. (check-in: edcb83fa0d user: drh tags: trunk)
2023-01-19
21:05
Add test logging around the pcache1FreePage() loop in pcache1TruncateUnsafe(). (check-in: a057f9cb2c user: dan tags: schema-version-instr)
18:16
Fix numbering issue in and remove duplicate test from windowB.test. (check-in: fa10e561f5 user: dan tags: trunk)
2023-01-18
17:39
Emit sqlite3-api.(m)js during the JS build process, which are the JS APIs without the Emscripten/wasm-loading parts. They are hypothetically useful for arbitrary build environments/toolchains but have notable caveats related to the wasm imports, as elaborated on in the makefile. (check-in: 966b55c513 user: stephan tags: trunk)
2023-01-17
19:34
Fix another issue with very large compressed LSM databases. (check-in: d71154265a user: dan tags: trunk)
19:00
Change an now unreachable testcase() into an assert(). (check-in: 517b2c4c4e user: drh tags: trunk)
18:40
Fix harmless compiler warnings in the CLI. (check-in: 7cf282d307 user: drh tags: trunk)
15:46
Update virtual tables json_each and json_tree so that adding "ORDER BY rowid" to a query does not require an external sort. (check-in: ce18f0ed68 user: dan tags: trunk)
13:33
Add test cases to confirm that the schema parsing quirk in which an ON CONFLICT clause is accepted and ignored on table CHECK constraints but raises an error on column CHECK constraints. We want to continue supporting this harmless quirk to avoid breaking legacy applications and databases that accidentally use it. (check-in: 92b6a9cd0f user: drh tags: trunk)
2023-01-16
21:49
Cause .clone to not trip over sequence table as reported at forum post 71ff9e6c4c. (check-in: b44d04f7b0 user: larrybr tags: trunk)
20:33
Another version of the debug-only logging on this branch. (check-in: 906caf8911 user: dan tags: schema-version-instr)
18:13
In the CLI, create our own private version of strncpy() to work around false-positive compiler warnings from Alpine Linux. (check-in: 83f21285fe user: drh tags: trunk)
2023-01-14
19:53
Omit the long-disused FTS1 and FTS2 implements from the active source tree. The code will persist forever in the source repository, but there is no point in carrying it around in the latest tarballs where it is never used. (check-in: 2bb50d5aed user: drh tags: trunk)
19:36
Add OOM check, per tip at forum post 933479b2d5 (Leaf check-in: c66c7734fe user: drh tags: branch-3.40)
19:27
Add OOM check, per tip at forum post 933479b2d5 (check-in: eda84dcffe user: larrybr tags: trunk)
19:09
Doc-only fix, per forum post 0cfaf6876b (check-in: eac135fd6a user: larrybr tags: trunk)
2023-01-13
20:49
Fix another lsm compression-mode bug. (check-in: f9fafc9413 user: dan tags: trunk)
19:32
In expression nodes of type REGISTER with sub-type COLUMN, ensure that the iColumn field is set correctly, as otherwise the "IS NULL" operator might be incorrectly optimized. Fix for the problem described by forum post d010a26798915b53. (check-in: 76b440c588 user: drh tags: branch-3.40)
19:29
In expression nodes of type REGISTER with sub-type COLUMN, ensure that the iColumn field is set correctly, as otherwise the "IS NULL" operator might be incorrectly optimized. Fix for the problem described by forum post d010a26798915b53. (check-in: 0819a1869a user: drh tags: trunk)
19:00
Fix an error in debugging output discovered while working on the problem with RETURNING reported by forum post d010a26798. (Leaf check-in: 3ae9127f15 user: drh tags: returning-is-null-fix)
18:20
Add missing "const" on variables in recent RBU fixes. (check-in: 9b8dcd7905 user: drh tags: trunk)
15:54
Enhance query planning so that it check for sqlite3_interrupt() calls and periodically invokes the progress handler callback (if any) during long query analyses. (check-in: bd8fa10e59 user: drh tags: trunk)
15:31
Update documentation for sqlite3_progress_handler(). (Closed-Leaf check-in: 41b4c407b7 user: drh tags: progress-during-prepare)
11:31
Remove an incorrect legacy assert(). (check-in: 3006b3b32f user: drh tags: progress-during-prepare)
2023-01-12
20:36
Reduce the frequency of calls to sqlite3ProgressCheck(). (check-in: 795aca4a26 user: drh tags: progress-during-prepare)
19:51
Fix sqlite3_prepare() so that it only invokes the progress handler on every N-th call to sqlite3ProgressCheck(), where N is the progress handler step count. Also fix faulty asserts exposed by the ability to interrupt in the middle of sqlite3_prepare(). (check-in: 0546165159 user: drh tags: progress-during-prepare)
19:43
Merge latest trunk changes, including fixes for RBU pass-through mode, with this branch. (check-in: deb26d034b user: dan tags: reuse-schema)
19:28
Do not attempt to run new test file rbupass.test if the "demo" VFS is not available. (check-in: c5d958eb94 user: dan tags: trunk)
19:11
Avoid crashing when using an RBU VFS with a version 1 parent VFS. (check-in: d149772d18 user: dan tags: trunk)
17:13
When deleting any old OAL file before starting an RBU update or vacuum, use the same VFS as will be used for the target database, even if this is not the system default. (check-in: 5a86c6cb1f user: dan tags: trunk)
15:44
Fix a startup race condition that could occur if a wal file grows from 0 bytes while a BEGIN CONCURRENT transaction is running. Cherrypick of [c1feca4d]. (check-in: 2c14f3832e user: dan tags: begin-concurrent-pnu-wal2)
15:30
Fix a startup race condition that could occur if a wal file grows from 0 bytes while a BEGIN CONCURRENT transaction is running. (check-in: c1feca4dda user: dan tags: begin-concurrent)
13:25
Attempt to provide a mechanism to do early termination of long-running statement preparation by invoking the progress handler at strategic points during sqlite3_parpare(). This experiment shows that sqlite3_prepare() might leave the resulting prepared statement uninitialized following an interrupt. (check-in: 79636f2d80 user: drh tags: progress-during-prepare)
2023-01-11
22:45
Merge trunk into wasi-patches branch and add missing yes/no result to the configure script's output for the --with-wasi-sdk=PATH test. (check-in: adc0ede0a4 user: stephan tags: wasi-patches)
20:52
Fix duplicate semicolon in btreeInt.h. Forum post 8db1711ca2 (check-in: 7526c46632 user: drh tags: trunk)
17:59
Fix a false-positive in the out-of-range jump detection logic that was added as part of RIGHT JOIN. (check-in: ab5bcb91cd user: drh tags: trunk)
17:50
If OP_Rewind has P2 of zero, that is an assertion that the table is never empty. This fixes a false-positive in the out-of-subroutine jump detection logic added in version 3.39.0, and which was causing the assertion on the previous check-in. (Closed-Leaf check-in: 33fd9997eb user: drh tags: code-generator-20230111)
16:44
Add an assert() to the byte-code engine that goes off if the OP_Halt opcode is invoked with SQLITE_INTERNAL. This causes the RIGHT JOIN error "Opcode jumps to ... which is outside the subroutine ..." to fail immediately, causing it to come more readily to tester's attention. There is at least one testcase in test/fuzzdata8.db that asserts due to this change. (check-in: b8f9944142 user: drh tags: code-generator-20230111)
16:25
Fix problems with compressed LSM databases larger than 2GiB. (check-in: f884224578 user: dan tags: trunk)
16:17
Improved progress-handler and interrupt detection during PRAGMA integrity_check. (check-in: 6db42780a9 user: drh tags: trunk)
16:02
Fix another 64-bit offset problem in lsm. (Closed-Leaf check-in: 1f3d0bdc20 user: dan tags: lsm-compress-fixes)
00:27
Add a new sqlite3_is_interrupted() interface that can be used by long-running app-defined functions and similar to see if they need to exit early due to an sqlite3_interrupt() call. (check-in: d030f34136 user: drh tags: trunk)
2023-01-10
19:57
When computing the datatypes for columns in a view, use the same datatype name as the underlying table if such is available and is consistent with the computed affinity of the column. Forum thread 7fb1fe9dcf310ef5. (check-in: 497a98363f user: drh tags: trunk)
15:07
Fix handling of unix paths that contain ".." components such that "/" is considered its own parent directory. Forum thread caa46bd1f2f2a255. (check-in: b829dd1b97 user: dan tags: trunk)
14:33
Improvements to the SQLITE_DIRECTONLY documentation. (check-in: b277ba40a8 user: drh tags: trunk)
14:31
Fix handling of unix paths that contain ".." components such that "/" is considered its own parent directory. (Closed-Leaf check-in: 3c6cadb396 user: dan tags: unix-path-fix)
2023-01-09
21:10
Fix some problems with large, compressed, lsm databases. (check-in: 956e985ff9 user: dan tags: lsm-compress-fixes)
18:42
Clarify help for .quit. (check-in: 8004a2b743 user: larrybr tags: trunk)
12:01
Fix JSON functions so that they work correctly under PRAGMA trusted_schema. Forum thread c88a671ad083d153. (check-in: 51a5d83c42 user: drh tags: trunk)
2023-01-07
22:28
Doc-only update, sqlite3_preupdate_hook() return (check-in: 2da51d7e1b user: larrybr tags: trunk)
13:40
Account for read-only connections on LSM databases with non-default block or page sizes. (check-in: 3a2075b089 user: dan tags: trunk)
2023-01-06
19:03
Fix the threshold for logging "PRAGMA schema_version" slowness. (check-in: ca3854cb6f user: dan tags: schema-version-instr)
2023-01-05
19:48
One more iteration of "PRAGMA schema_version" instrumentation. (check-in: 0d9081068e user: dan tags: schema-version-instr)
14:41
Changes a testcase() into an assert() due to the [e58bba93717cd6ff] change. (check-in: a6251d7289 user: drh tags: trunk)
13:55
Remove the unused sqlite3IsMemdb() routine, to avoid a harmless compiler warning. (check-in: 4f512a39af user: drh tags: branch-3.40)
13:41
Fix a problem with applying integer affinity to a MEM_IntReal value. Forum post d270125fae. (check-in: d28d9398a5 user: drh tags: branch-3.40)
13:35
Fix a problem with applying integer affinity to a MEM_IntReal value. Forum post d270125fae. (check-in: e58bba9371 user: dan tags: trunk)
01:32
Increase the version number to 3.40.2. (check-in: 43375ef8a7 user: drh tags: branch-3.40)
01:29
In the zipfile extension (which is not part of the SQLite amalgamation, but which is included in the CLI by default) ensure that fopen() is not invoked using a NULL filename. Fix for the issue reported by forum post d1c96a9032e564f8. (check-in: e4de577757 user: drh tags: branch-3.40)
01:26
In the zipfile extension (which is not part of the SQLite amalgamation, but which is included in the CLI by default) ensure that fopen() is not invoked using a NULL filename. Fix for the issue reported by forum post d1c96a9032e564f8. (check-in: d32757ddf5 user: drh tags: trunk)
2023-01-04
18:32
Adjustments to the tool/warnings.sh script to account for compiler differences. (check-in: 863c03bee1 user: drh tags: trunk)
17:46
Ensure that LIMIT clauses may be passed through to virtual table implementations even if the WHERE clause uses operators that may only be optimized by virtual, not built-in, tables (!=, functions, MATCH etc.). (check-in: f38caab23b user: dan tags: trunk)
16:54
Employ deliberate_fall_through macro to quiet some compilers. (check-in: 869635fb81 user: larrybr tags: trunk)
15:18
Enhance PRAGMA integrity_check so that it verifies that the string values stored in indexes are byte-for-byte identical to the values in the table, and not just equivalent according to the collating sequence. dbsqlfuzz 686e2e205e0c0594d3fb524bea0c25e621d1a870. (check-in: 9302e4bfdc user: drh tags: trunk)
11:58
Remove the unused "sqlite3StackAllocZero()" macro. (check-in: f0ca57207e user: drh tags: trunk)
11:57
Elaborate on the open-in-read-only fallback behavior of the SQLITE_OPEN_READWRITE flag, per user request. Unrelated trailing EOL whitespace cleanups. (check-in: 1003144fc1 user: stephan tags: trunk)
03:14
Remove the JS-side SQLITE_WASM_DEALLOC sanity check which triggers the problem mentioned in [688c5c13d156] and [ae0196d86ee8], for reasons covered in the code comments, per discussion in forum post e5b20e1feb. (check-in: 65ff3200c6 user: stephan tags: trunk)
2023-01-03
19:27
Small performance increase in the symbol hash table. (check-in: a19597b4fd user: drh tags: trunk)
18:51
Avoid an unnecessary call to strlen() in the sqlite3VdbeMemStringify() routine, for a performance increase and size reduction. (check-in: 284382d378 user: drh tags: trunk)
15:11
Small performance improvement in the btreeOverwriteCell() routine. (check-in: df5ea47130 user: drh tags: trunk)
2023-01-02
20:52
Add some docs explaining a particular piece of [ae0196d86ee8]. No code changes. (check-in: 7f96803c1c user: stephan tags: trunk)
20:07
Another reformulation of SQLITE_WASM_DEALLOC to attempt to work around a Safari-specific quirk reported in forum post e5b20e1feb. (check-in: ae0196d86e user: stephan tags: trunk)
2023-01-01
12:22
An alternative solution to mapping SQLITE_WASM_DEALLOC to the proper function pointer in JS, to account for a Safari-specific quirk reported in forum post e5b20e1feb. (check-in: 688c5c13d1 user: stephan tags: trunk)
2022-12-31
05:26
Remove redundant assignment in kvvfs's decoding. (check-in: 2ffbf0c73c user: peter.d.reid tags: trunk)
05:19
Avoid an infinite loop when an unexpected character is being decoded by kvvfs (check-in: 6909195f77 user: peter.d.reid tags: trunk)
2022-12-29
18:54
A call to sqlite3_declare_vtab() should not cause DML/DDL authorization failures. (check-in: eed1e03072 user: drh tags: trunk)
2022-12-28
14:55
Merge the 3.40.1 changes into the reuse-schema branch. (Leaf check-in: 126c68bd15 user: drh tags: reuse-schema-3.40)
14:03
Version 3.40.1 (check-in: df5c253c0b user: drh tags: release, version-3.40.1, branch-3.40)
2022-12-27
22:46
Add sqlite3changeset_new/old_js(), which work like sqlite3_preupdate_new/old_js() but on changesets. (check-in: e8afad630b user: stephan tags: trunk)
14:34
Expose sqlite3_preupdate_hook() and friends to the JS API. (check-in: cc02783a12 user: stephan tags: trunk)
14:14
Fix a broken assert() in fts5. (check-in: ff1d456161 user: dan tags: branch-3.40)
14:12
Fix a faulty assert() in fts5. (check-in: 4acff807c6 user: dan tags: branch-3.40)
14:11
Fix an assert() in fts5. Simplify memdb xLock/xUnlock some. (check-in: 43079c5246 user: dan tags: branch-3.40)
14:06
Fix a missing 0 at the end of an integer literal in the MEMSYS5 fix. (check-in: e3bc10e8a8 user: drh tags: branch-3.40)
14:03
Fix a missing 0 at the end of an integer literal in check-in [8da0f0c38a458c57] (check-in: e3776796f5 user: drh tags: trunk)
13:52
Fix a broken assert() in fts5. (check-in: ff5a9b054f user: dan tags: trunk)
12:25
Add links to module-symbols.html for newly-added APIs. (check-in: 335ef03eb9 user: stephan tags: trunk)
12:17
Add two more tests to [f99f8e3ecfe20]. (check-in: 9cffccd335 user: stephan tags: trunk)
12:13
Expose sqlite3_commit/rollback/update_hook() to JS API. (check-in: f99f8e3ecf user: stephan tags: trunk)
11:53
Fix minor problems in test scripts where.test and recover1.test. (check-in: 64588bd5da user: dan tags: branch-3.40)
11:40
Add an optional argument to oo1.DB.transaction() to specify an explicit BEGIN qualifier. (check-in: 507335c12b user: stephan tags: trunk)
2022-12-26
17:15
Expose the auto-extension API to JS and reorganize some nearby code. (check-in: 52b229d11d user: stephan tags: trunk)
17:09
Fix an unsafe use of sqlite3_mprintf() in sqlite3_overload_function() identified by forum post: https://sqlite.org/forum/forumpost/95b338860d. (check-in: a315222619 user: drh tags: branch-3.40)
17:02
Prevent the sessions rebaser from generating changesets containing UPDATE records for which non-PK fields are present in the old.* but not the new.* record. Also update the changeset iterator to work around such changesets. (check-in: 629dbe2543 user: drh tags: branch-3.40)
16:54
In the unix backend, when implementing the defenses against small file descriptors, delete a file just created if it was opened with O_EXCL|O_CREAT so that it can be created again the next time through the loop. Fix for the problem described by forum post 699af709ab3a8ccf. (check-in: 174acf3284 user: drh tags: branch-3.40)
16:45
Fix an over-zealous assert() reported by Yong Heng. (check-in: 1e9dbb5a1b user: drh tags: branch-3.40)
16:24
Ensure the RETURNING clause is honoured when a row of a temp table is updated by an ON CONFLICT clause. (check-in: ac9568cf87 user: drh tags: branch-3.40)
16:12
Add the SQLITE_FCNTL_RESET_CACHE verb. Use it to ensure that the page cache is purged before and after a the recovery extension is run. (check-in: 71dd920f92 user: drh tags: branch-3.40)
16:03
Fix corner cases in UTF8 handling in the REGEXP extension. Forum post 3ffe058b04. (check-in: 93e68b3983 user: drh tags: branch-3.40)
15:55
Fix a off-by-one error in code generation that comes up when doing a DISTINCT query against a virtual table with an OR term in the WHERE clause and where the ORDER BY clause has 64 or more references to the result set. Forum post dfe8084751. The error is harmless in production builds, but might cause an assertion fault in a debugging build. (check-in: cbcd7d9be5 user: drh tags: branch-3.40)
15:44
Fix safe mode authorizer callback to reject disallowed UDFs. Reported at Forum post 07beac8056151b2f. (check-in: 70964b8a1c user: drh tags: branch-3.40)
15:21
Fix an infinite loop in the MEMSYS5 auxiliary memory allocator that occurs for memory allocations between 500MiB and 1GiB in size. Error introduced by check-in [949133231f8f751a]. The problem only affects builds that include the SQLITE_ENABLE_MEMSYS5 compile-time option. (check-in: c10d40ca68 user: drh tags: branch-3.40)
15:14
Fix an infinite loop in the MEMSYS5 auxiliary memory allocator that occurs for memory allocations between 500MiB and 1GB in size. Error introduced by check-in [949133231f8f751a]. The problem only affects builds that include the SQLITE_ENABLE_MEMSYS5 compile-time option. (check-in: 8da0f0c38a user: drh tags: trunk)
15:08
Document sqlite3.capi.sqlite3_prepare_v3() as accepting an ArrayBuffer and ensure that it can. (check-in: ae3ae92ec4 user: stephan tags: trunk)
14:55
Correct some internal-use JS docs and update the 'string:flexible' type conversion to accept an ArrayBuffer (as it was recently documented to). (check-in: eff5d3bec2 user: stephan tags: trunk)
14:25
Only add an on-db-close cleanup entry for collations if adding the collation succeeds and xCompare is-a JS function. (check-in: 18a5480f1e user: stephan tags: trunk)
13:45
Extend [0e69b2c379e618] to support uninstalling stale JS-to-WASM function pointers added on behalf of UDFs. (check-in: 7a46e629dc user: stephan tags: trunk)
13:00
Add JS infrastructure which enables sqlite3.capi.sqlite3_close_v2() to clean up stale JS-to-WASM collation function conversions installed on behalf of a given db handle. The same for UDF mappings is TODO. (check-in: 0e69b2c379 user: stephan tags: trunk)
11:13
Reimplement sqlite3.capi.sqlite3_close_v2() and sqlite3session_delete() as a hand-written bindings so that they can attempt to clean up certain (potentially) FuncPtrAdapter-installed functions before closing. Correct the create-function family of JS-to-function-pointer automated conversions to include the UDF's arity as part of the mapping's key so that (un)binding a UDF to different functions for different arities works (and add tests confirming it). Correct a broken doc link in module-symbols.html. (check-in: 60b262ef0f user: stephan tags: trunk)
01:44
Grammar fixup in comment re SQLITE_TRACE_PROFILE trace event. (check-in: b6dc80cbf6 user: larrybr tags: trunk)
2022-12-25
23:54
module-symbols.html: add some missing links to C-side API docs for recently-added JS counterparts. (check-in: 7d4f4e96f3 user: stephan tags: trunk)
23:45
Update JS worker #1 API and related tests for recent API changes. (check-in: d797e183e9 user: stephan tags: trunk)
22:55
Rename the new wasm.irSizeof() to sizeofIR() because that seems clearer. (check-in: 49a83ca3ba user: stephan tags: trunk)
22:49
Minor internal API doc correction and extend a test for oo1.DB.selectValues(). (check-in: b7295b1ca7 user: stephan tags: trunk)
22:44
Add sqlite3.oo1.DB.selectValues(). Correct a logic error which could cause DB.selectValue(), DB.selectArray(), and DB.selectObject() to fail to finalize a statement if a call to bind() failed. Add more session API tests. (check-in: 6adc8a1014 user: stephan tags: trunk)
20:25
Merge wasm-session-api branch into trunk, adding the session API to the JS/WASM components. (check-in: dfb8b651fa user: stephan tags: trunk)
20:22
Add basic session API JS tests. (Closed-Leaf check-in: 64e032602c user: stephan tags: wasm-session-api)
20:05
Add sqlite3.wasm.irSizeof() and extend certain allocation functions to make use of it. (check-in: 1cbc7b1875 user: stephan tags: wasm-session-api)
17:12
Add tests confirming that JS sqlite3_exec()'s SQL argument participates in the 'string:flexible' type conversion. (check-in: 926d0c61a3 user: stephan tags: trunk)
17:09
Replace the "manual" implementation of sqlite3.capi.sqlite3_exec() with a briefer "automated" one via the [7f9ace1b11a67] feature addition. Minor code-adjacent internal cleanups. (check-in: 4888957baf user: stephan tags: trunk)
16:20
Remove duplicated JS binding of sqlite3changeset_apply_v2(). (check-in: 2e8336b6e1 user: stephan tags: wasm-session-api)
15:28
Add the address of the associated db handle to the sqlite3_trace_v2() output originating from sqlite3.oo1.DB's trace flag. (check-in: 0a36568c5a user: stephan tags: wasm-session-api)
15:14
Update the session-related JS bindings to account for today's internal API changes. (check-in: be63944d41 user: stephan tags: wasm-session-api)
14:13
Merge trunk into wasm-session-api branch. (check-in: 7f8f1acd82 user: stephan tags: wasm-session-api)
14:04
Add missing sqlite3_context_db_handle() JS binding. Reimplement sqlite3_set_authorizer() and sqlite3_set_auxdata() JS bindings to take advantage of [7f9ace1b11a67]. Teach FuncPtrAdapter to emit a console.warn() message if it is invoked after the library is bootstrapped, the goal being to inform users that it's an internal API and should not be invoked from client-side code. (check-in: 8e3d4f6294 user: stephan tags: trunk)
12:51
Enhance sqlite3.wasm.xWrap.FuncPtrAdapter to be able to handle sqlite3_create_function() and friends and reimplement those bindings to use this feature (this will also simplify certain session API bindings). Interal API changes only with no client-side breakage. (check-in: 7f9ace1b11 user: stephan tags: trunk)
10:22
Simplify the signature for JS functions, as opposed to function pointers, passed to sqlite3_exec(), eliminating the superfluous initial two arguments. Update related tests to demonstrate both function-passing approaches. (check-in: e7cc70cdda user: stephan tags: trunk)
2022-12-24
15:34
Incorporate wasi-sdk RANLIB configure script patch from the VMware OCTO team. (check-in: 478fe96ee7 user: stephan tags: wasi-patches)
15:31
Merge trunk into wasi-patches branch. (check-in: 52f40ab12e user: stephan tags: wasi-patches)
15:28
Replace JS-side use of SQLITE_TRANSIENT with the new SQLITE_WASM_DEALLOC, reducing the amount allocation/copying required by sqlite3_bind_blob/text() and sqlite3_result_blob/text(). Remove the 'experimental' log message from the virtual table tests. (check-in: ffe2999a91 user: stephan tags: trunk)
14:16
Extend oo1.Stmt.bind() to accept ArrayBuffer instances to bind as blobs. (check-in: f76bd30137 user: stephan tags: trunk)
13:46
Add a test for the (failure) case of client-level code calling the oo1.Stmt constructor directly. (check-in: 6a37874db0 user: stephan tags: trunk)
11:16
oo1.DB.exec() rowMode="$columnName": a minor optimization and a preemtive fix for a hypothetical corner-case bug. (check-in: 0b2df22bd9 user: stephan tags: trunk)
01:59
If sqlite3.oo1.DB.exec()'s callback returns a literal false, stop step()ing over results as if the end of the result set had been reached. Unrelated minor code-adjacent cleanups. (check-in: 33a58c8ece user: stephan tags: trunk)
2022-12-23
23:46
Reimplement JS's sqlite3_bind_text/blob() with hand-written bindings to permit more flexible inputs. Add automated JS-to-C function conversion to sqlite3_busy_handler(). sqlite3.wasm.xWrap()'s '*' argument conversion no longer treats JS strings as C-strings: those conversions require explicit opt-in via the 'string' converter (or equivalent). (check-in: 96ba44946b user: stephan tags: trunk)
21:23
Merge trunk into wasm-session-api branch. (check-in: 6cdb036d8e user: stephan tags: wasm-session-api)
21:10
Internal JS cleanups. Correct part of [ac136925a645] to account for the eTextRep flag being able to hold flags other than the encoding. (check-in: 1dfc03ab1e user: stephan tags: trunk)
19:33
Merge trunk into wasm-session-api branch. (check-in: f1decc831f user: stephan tags: wasm-session-api)
19:16
Consolidate/unify how the JS bindings of the create_function/collation family of functions react to a non-UTF8 encoding: they now treat a falsy value as SQLITE_UTF8 and fail with SQLITE_FORMAT for an invalid encoding. (check-in: deffe6fb21 user: stephan tags: trunk)
19:11
Add base64() and base85() to shell sources for the non-configured makefiles, too. (check-in: ac136925a6 user: larrybr tags: trunk)
19:04
Add base64() and base85() text/blob conversions to the CLI. (check-in: 4bc98a2d95 user: larrybr tags: trunk)
18:38
Explicitly omit threading and extension loading from the ext/wasm/c-pp binary build to avoid a link error on some systems. (check-in: 5d9a14715c user: stephan tags: trunk)
18:25
Add SQLITE_ENABLE_MATH_FUNCTIONS to the list of feature flags in sqlite3-wasm.c. (check-in: 58503cd148 user: stephan tags: trunk)
18:19
Cherry-pick [c4dab53b8ea3401abd] for sqlite3.wasm.xWrap() optimizations. (check-in: 9b97412d3a user: stephan tags: trunk)
18:14
Internal cleanups and minor speed optimizations in the sqlite3.wasm.xWrap() infrastructure. (check-in: c4dab53b8e user: stephan tags: wasm-session-api)
15:05
Another iteration of "PRAGMA schema_version" instrumentation. (check-in: d5a8d6cf05 user: dan tags: schema-version-instr)
14:49
Fix lots of harmless, nuisance compiler warnings, mostly unused parameter warnings in extensions. (check-in: c14bbe1606 user: drh tags: trunk)
14:11
Add sqlite3.capi JS bindings for the sqlite3session_...(), sqlite3changeset_...() and sqlite3changegroup_...() APIs, noting that they are completely untested. Aside from missing tests, these bindings reveal a slight string-argument-type shortcoming in the callback function pointer "reverse binding" which should ideally be resolved before publishing them. (check-in: 0a39172ee1 user: stephan tags: wasm-session-api)
11:46
Additional fixes for yet more completely harmless compiler warnings. (check-in: 7d3772f0bd user: drh tags: trunk)
11:46
Initial pieces for binding the session API to JS. Far from complete. See forum post 210e36a1e3 for the discussion. (check-in: cd8c100808 user: stephan tags: wasm-session-api)
11:32
Squelch a new (and, in this case, harmless) compiler warning. (check-in: a02e19dd6c user: stephan tags: trunk)
2022-12-22
21:32
Asserts added to ensure that the iCompare variable in the bytecode engine is correctly initialized before it is used. (check-in: 7b5900a111 user: drh tags: trunk)
19:12
Avoid having to reinitialize Vdbe.pResultRow upon each call to sqlite3_step() for a small size reduction and performance increase. (check-in: 6a00d67f59 user: drh tags: trunk)
18:44
Rename the Vdbe.pResultSet field to pResultRow in order to better distinguish it from other variables with similar names. (check-in: 1fd6211ef7 user: drh tags: trunk)
18:35
Small performance optimization associated with shared cache in the byte-code engine. (check-in: 3181331c1c user: drh tags: trunk)
17:36
Small performance optimization on the OP_Insert opcode. (check-in: 781fdcb9ce user: drh tags: trunk)
15:04
Fix an error in the previous commit causing timings to be logged for every "PRAGMA schema_version" command, not just those that are slower than 2 seconds. (check-in: 1e8220c1b4 user: dan tags: schema-version-instr)
14:29
Different version of "PRAGMA schema_version" instrumentation. (check-in: b9efbc538b user: dan tags: schema-version-instr)
10:53
sessionfuzz.c: use lt/gt brackets instead of double-quotes when #including zlib.h, as reported in forum post 91a104bd65. (check-in: 7d7780c350 user: stephan tags: trunk)
2022-12-21
21:01
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 1bfae9b3c6 user: drh tags: reuse-schema)
20:43
Merge the latest trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: bcab19d21b user: drh tags: begin-concurrent-pnu-wal2)
20:28
Merge the latest trunk enhancements into the wal2 branch. (check-in: 21ebd4cfcf user: drh tags: wal2)
20:17
Merge the latest trunk enhancements into the begin-concurrent-report branch. (Leaf check-in: 397fb07bb4 user: drh tags: begin-concurrent-report)
20:07
Update the begin-concurrent branch with the latest enhancements on trunk. (check-in: 0c198aee53 user: drh tags: begin-concurrent)
19:11
More efficient implementation of large precisions on the "%c" format for the built-in printf(). This is an effort to avoid a reported timeout on a (ridiculous) query generated by OSSFuzz. (check-in: 371f9b8838 user: drh tags: trunk)
18:28
Sync w/trunk prior to branch-purpose changes. (Leaf check-in: ae8f623f74 user: larrybr tags: extension_opts)
14:13
Ensure that the expression of a virtual column really is an expression and not just a reference to another column, as a real expression is necessary for the indexed expression coverage optimization to work properly. Forum thread 07b36e3899a9ae21. (check-in: 40549bacb3 user: drh tags: trunk)
12:18
New WHERETRACE entries for adding and removing objects from the Parse.pIdxEpr list as part of indexed expression coverage. Debug and testing changes only - no affect on production builds. (check-in: 4dc438a951 user: drh tags: trunk)
2022-12-20
15:22
Add about 150 new fuzzer cases to test/fuzzdata8.db. (check-in: a8d8d9cd65 user: drh tags: trunk)
15:02
Add ALWAYS() to always-true branches in the locking logic of the memdb VFS. (check-in: 01fa760212 user: drh tags: trunk)
14:02
Improvement to the dbsqlfuzz fix of [f113eebdbe68246f]. (check-in: 79d62956f2 user: drh tags: trunk)
01:48
Do not use indexed expressions to replace the expression being indexed on a RIGHT JOIN as that leads to problems, as shown by dbsqlfuzz a644e70d7683a7ca59c71861a153c1dccf8850b9. (check-in: f113eebdbe user: drh tags: trunk)
2022-12-19
20:14
Fix a faulty assert() in fts5. (check-in: 569018170b user: dan tags: trunk)
19:04
Remove an unused variable. (check-in: 5c4d94147d user: drh tags: trunk)
18:42
Hack for special gettimeofday() instrumentation of "PRAGMA schema_version". (check-in: 44dd01e315 user: dan tags: schema-version-instr)
14:46
Minor sed script tweak in the wasm GNUmakefile for BSD portability, as reported in forum post 4a97813fcbd4f63e. (check-in: 49efcf6d9f user: stephan tags: trunk)
14:43
Update test-opfs-vfs.js to account for recent API changes. Reported in forum post 4a97813fcbd4f63e. (check-in: 2a63674636 user: stephan tags: trunk)
14:06
Fix an assert() in fts5. Simplify memdb xLock/xUnlock some. (check-in: 7fe158aa80 user: dan tags: trunk)
12:25
Fix a minor problem with the printAggInfo() routine (used on during debugging). (check-in: c8329967f3 user: drh tags: trunk)
2022-12-18
12:00
JS namespace updates in ext/wasm/api/README.md. (check-in: ca59e736b1 user: stephan tags: trunk)
10:27
WIP, pre-sync-to-trunk check-in to capture extensive changes to shell source. (WASM and usual shell tweaks) (check-in: 3db119c8d7 user: larrybr tags: cli_extension)
2022-12-17
22:10
Fix an unnecessarily restrictive assert() in the aggregate logic. dbsqlfuzz 699bee2aa26c5dc84afabf6894685c316d936485 (check-in: 8cc0af81ad user: drh tags: trunk)
19:56
Remove slew of inadvertant tabs in favor of spaces. (check-in: 0aa6da69e1 user: larrybr tags: trunk)
12:49
Add NEVER/ALWAYS to branches that have become unreachable due to recent enhancements. (check-in: b4281db4e4 user: drh tags: trunk)
11:14
Update wasmfs.make to get WASMFS building again, but changes made to OPFS-over-WASMFS since we last tested it have made it incompatible with how we used it. It can now only be used from worker threads, eliminating the one benefit it had over the sqlite3_vfs OPFS implementation. Remove/amend references to WASMFS in the docs and remove all WASMFS-specific test app links from index.html. (check-in: 32dc98c800 user: stephan tags: trunk)
2022-12-16
18:32
Disallow some of the query invariant tests on SQL statements that contain a GROUP BY since output terms that are no covered by the GROUP BY are indeterminant. (check-in: 28ba1fec45 user: drh tags: trunk)
13:04
Expose a JS-friendly subset of sqlite3_config() to JS, with the notable caveats that (1) setting up the JS bindings requires starting the library, making sqlite3_config() illegal to call and (2) calling sqlite3_shutdown() in order to make it legal to call sqlite3_config() may undo certain JS-side library initialization. Move sqlite3_(de)serialize() into the int64-mode-only bindings because of their int64 args. (check-in: 62e0c931ac user: stephan tags: trunk)
12:07
In the fuzzer invariant checker, do not add new WHERE clause terms that make use of an ambiguous column name. (check-in: d5b46541c3 user: drh tags: trunk)
11:33
Add a test confirming that exceptions are not passed through C-space if a JS-side sqlite3_set_authorizer() callback throws. (check-in: 5a77c2c7aa user: stephan tags: trunk)
11:13
Add sqlite3_set_authorizer() support and related tests to JS. (check-in: 551b848894 user: stephan tags: trunk)
2022-12-15
20:03
Create a new affinity called FLEXNUM that works like NUMERIC except that it never tries to convert integer to real or real to integer. The affinity is only used internally - it is not possible to create a table column with this affinity. This affinity is used on subqueries and views that are built off of a compound SELECT and where the datatype is controlled by a CAST expression. dbsqlfuzz c9ee6f9a0a8b8fefb02cf69de2a8b67ca39525c8 (check-in: 44135d6ea8 user: drh tags: trunk)
18:56
Fix an incompatibility between the Tcl interface and the "memdb" vfs by allowing memdb to accept filenames that begin with '\' characters. (check-in: bd537f2057 user: dan tags: trunk)
18:50
Added a couple missing 'not part of the public API' tags on functions in sqlite3-wasm.c. No code changes. (check-in: eb27feecea user: stephan tags: trunk)
15:37
Omit the columnTypeImpl() function from the build when SQLITE_OMIT_DECLTYPE is defined, because it is no longer used in that case. (check-in: 751e344f4c user: drh tags: trunk)
13:45
Fix harmless compiler warnings. (check-in: ddb260cc52 user: drh tags: trunk)
11:39
Update a test case in scanstatus2.test to account for recent planner enhancements. (check-in: 53e07dc6b6 user: dan tags: trunk)
11:31
Fix an unsafe use of sqlite3_mprintf() in sqlite3_overload_function() identified by forum post: https://sqlite.org/forum/forumpost/95b338860d. (check-in: 9fa2b94c2e user: dan tags: trunk)
02:28
Internal refactoring of how sqlite3.wasm.xWrap() handles JS-to-C function pointer conversions, to enable similar conversions to be added more easily. (check-in: 10cfe3fae6 user: stephan tags: trunk)
02:26
Remove an unnecessary/obsolete Emscripten-specific export. (check-in: fa278022af user: stephan tags: trunk)
2022-12-14
23:53
Fix minor problems in the new sqlite3ExprDataType() function. (check-in: c1d5261b22 user: drh tags: trunk)
18:34
Adjust the query planner to be more aggressive about using co-routines rather than materializing subqueries and views. Implementation of enhancement request [73ebbb3a3d1a7bd3]. (check-in: 0b58d1b354 user: drh tags: trunk)
18:06
Rename the new peek/pokeF32() and peek/pokeF64() to peek/poke32f() and peek/poke64f() for consistency with related APIs and because they're easier on both the eyes and the fingers. (check-in: cc86f03ed6 user: stephan tags: trunk)
17:52
Merge all the latest trunk enhancements into the coroutines-exp2 enhancement branch. (Closed-Leaf check-in: ea278438b7 user: drh tags: coroutines-exp2)
17:46
Rework the code that computes the datatypes and affinities for subqueries and views. If the subquery/view is constructed from a compound SELECT where the affinity varies across arms of the compound, set the affinity for the corresponding column in the constructed view to be BLOB so that it is allowed to take on any data type. (check-in: 27655c9353 user: drh tags: trunk)
16:40
Slight reformulation of some test code to test multi-arg wasm.peek() call form. (check-in: 349bb28f61 user: stephan tags: trunk)
14:41
If the SELECT that implements a subquery or a VIEW or a CREATE TABLE AS is a compound with different result datatypes on two or more arms of the compound, then the overall column type becomes BLOB (ANY). (Closed-Leaf check-in: 6ebb178c6b user: drh tags: refactor-subquery-types)
14:40
Use the new peek/poke() variants throughout tester1.js. (check-in: ef7b783552 user: stephan tags: trunk)
14:28
Add convenience variants of sqlite3.wasm.peek/poke() for each numeric type to help reduce errors related to typos in the final argument (type-name strings). If wasm.xWrap.FuncPtrAdapter is called as a function, instead of a constructor, it now behaves as if it were called as a constructor (previously it threw an exception). (check-in: 14e3fc01b9 user: stephan tags: trunk)
09:06
Back out the part of the change in [88a05141c28e5ff1] that adds affinity to the materialization of a view, as the affinity can be undefined for a compound query. This passes all TCL tests, but shows failures in the TH3 tests derived from forum post 6f842bc5b2dadcb2, presumably because the WHERE clause of the query uses constraints of the form "source_crs_code='8675'" instead of "source_crs_code=8675". Perhaps further changes on this branch should reimplement affinity on joins in cases where the affinity is unambiguous. (check-in: fe5a77bcc4 user: drh tags: refactor-subquery-types)
08:12
Add a test to demonstrate/verify which object acts as "this" in a oo1.DB.exec() callback. (check-in: 8fc4b3f10f user: stephan tags: trunk)
08:01
A micro-optimization in sqlite3.oo1.DB.exec(). Changed the rowMode option of that method to only accept $X instead of $X, @X, and :X, as the extra options are entirely superfluous and may lead to confusion. (check-in: 82a6c7fdf5 user: stephan tags: trunk)
2022-12-13
19:52
Fix a comment in ext/session/test_session.c. (check-in: bd814af14b user: dan tags: trunk)
19:40
Prevent the sessions rebaser from generating changesets containing UPDATE records for which non-PK fields are present in the old.* but not the new.* record. Also update the changeset iterator to work around such changesets. (check-in: f9cd23dffb user: dan tags: trunk)
16:59
Remove an unused variable from sqlite3SubqueryColumnTypes(). (check-in: c6e3ff3969 user: drh tags: refactor-subquery-types)
16:55
Use standard datatype names for the column datatypes in views and subqueries. (check-in: baf2c24133 user: drh tags: refactor-subquery-types)
15:54
Refactor the sqlite3SelectAddColumnTypeAndCollation() routine. Improved comments. Now called sqlite3SubqueryColumnTypes(). (check-in: 4dfb1b450b user: drh tags: refactor-subquery-types)
14:59
Add extra test cases for applying sessions module changesets to databases that have been modified using "ALTER TABLE .. ADD COLUMN". (check-in: a7b404f21f user: dan tags: trunk)
13:33
Slightly faster implementation of sqlite3ExprAffinity(). (check-in: 01cf3278c9 user: drh tags: trunk)
10:54
Document the role of the sqlite3.client JS API property. (check-in: 5f11f1c7d5 user: stephan tags: trunk)
08:25
Extend the sqlite3.wasm function pointer argument converter to be able to handle the "two-layered context" of sqlite3_create_collation() and friends and make use of FuncPtrAdapter to perform JS-to-WASM function conversion for them. (check-in: 0a60b7215e user: stephan tags: trunk)
00:51
Merge recent trunk changes into the coroutine-exp2 branch. (check-in: c43f433bca user: drh tags: coroutines-exp2)
2022-12-12
21:22
Further fix for ticket [57c47526c34f01e8]. If a subquery has a result set column of the form "CAST(expr AS NUMERIC)" do not give that column NUMERIC affinity. NUMERIC affinity always goes to an integer if able, but a CAST to numeric is a no-op if the input is a number. So the two are not equivalent. (check-in: f0325359d5 user: drh tags: trunk)
18:58
If a subquery has a result column of the form "CAST(... AS NUMERIC)" then give that column no affinity rather than NUMERIC affinity. This is because casting to numeric preserves real values that could be integers but numeric affinity does not. By using no affinity on the column, we make the behavior consistent if the subquery is implemented as a co-routine or is materialized. (Closed-Leaf check-in: ece07d091c user: drh tags: cast-to-numeric)
18:42
Revert part of [9386d6f63468] because the new automatic function pointer binding cannot properly track per-context function mappings when the context is more complex than a single context-type pointer. e.g. it is fine for sqlite3_trace_v2() but it breaks down with sqlite3_create_collation() because that one needs to use the collation name as part of the context key and we cannot sensibly do so with the current code. (check-in: 6cd21b7907 user: stephan tags: trunk)
17:33
Add new logging code SQLITE_NOTICE_RBU and use it when logging for the spurious error that RBU injects into SQLite as part of applying an update. (check-in: cd881d3515 user: dan tags: trunk)
14:31
Move JS-to-C binding signatures from sqlite3-api-prologue.js to sqlite3-api-glue.js to allow for use of the new/experimental sqlite3.wasm.xWrap() feature which automatically binds JS functions to WASM/C as needed, which simplifies creation of bindings which take C function pointers. Reimplement sqlite3_exec(), sqlite3_create_collation(), sqlite3_progress_handler() to use this new feature. (check-in: 9386d6f634 user: stephan tags: trunk)
11:38
ext/wasm/module-symbols.html: for C APIs which have extended JS-side semantics, link to the JS-side API docs instead of the C docs. (check-in: d557015208 user: stephan tags: trunk)
11:22
ext/wasm/module-symbols.html: add a hyperlink to the API docs for each exported sqlite3_...() function. (check-in: 01d3a9bba3 user: stephan tags: trunk)
08:16
Rework the internals of how argument/result types are converted to/from wasm in prep for attempting to support automated conversions of function pointer argument types. (check-in: 58052d8285 user: stephan tags: trunk)
07:52
Add sqlite3.mjs to the new 'quick' wasm build for the sake of the snapshot build. (check-in: 5a3f2224c3 user: stephan tags: trunk)
07:31
Expose sqlite3_txn_state() to wasm. (check-in: f6f3397a46 user: stephan tags: trunk)
07:27
Expose a number of infrequently-used sqlite3_...() functions to wasm whose absences were noticed while documenting. (check-in: 3144e7c0b8 user: stephan tags: trunk)
2022-12-11
07:53
Minor build tweaks in ext/wasm to create a faster-running build for the common dev-mode cases. No code changes. (check-in: 6a61b14a6c user: stephan tags: trunk)
2022-12-10
19:22
Ensure that the types and collation sequences of a view are taken from the leftmost component of compound SELECTs, even when column names are explicitly provided for the view. Fix for ticket [679ed6a282a97c51] (check-in: 6f0bf89269 user: dan tags: trunk)
17:54
Ensure that the types and collation sequences of a view are taken from the leftmost component of compound SELECTs, even when column names are explicitly provided for the view. Possible fix for [679ed6a2]. (Closed-Leaf check-in: b0e49aa81a user: dan tags: tkt-679ed6a2)
17:45
Remove -flto from wasm build flags, as it increases build time and doesn't seem to have a measurable benefit. (check-in: 35a88747eb user: stephan tags: trunk)
17:20
Correct wasm heap corruption introduced in test code added in [e144fd5c88fa4] which led to unpredictable failures. (check-in: 6c1e07e385 user: stephan tags: trunk)
15:41
Remove two incorrect calls to structType.dipose() which prematurely freed objects in use by the virtual table test/demo code. (check-in: 060eb28489 user: stephan tags: trunk)
15:13
Expose sqlite3_column_value() to WASM and add sqlite3_column_js(). (check-in: 7783aa4af1 user: stephan tags: trunk)
12:06
Rerun autoconf using version 2.69 to minimize configure script differences with trunk. (check-in: b633428394 user: drh tags: wasi-patches)
10:24
Refactor the internal JS routines for converting UDF results and errors to JS into public APIs. (check-in: 35d1d63c7d user: stephan tags: trunk)
07:02
Imply configure flag --disable-shared when --with-wasi-sdk is active because libtool is running gcc for linking the shared lib, which cannot work in a wasi build. (check-in: 9253ba43c0 user: stephan tags: wasi-patches)
06:44
Add --with-wasi-sdk=DIR flag to configure.ac. This mode compiles but fails to link the DLL because libtool is apparently hard-coded to gcc for the DLL. (check-in: 39c9f44151 user: stephan tags: wasi-patches)
05:52
Run configure.ac through autoupdate, as required by autoconf for rebuilding configure. These (many) changes were made entirely by the autotools, except that some whitespace-only changes were reverted by hand to reduce noise, and are a preliminary step to adding a new flag to configure.ac. (check-in: 2be2d5d428 user: stephan tags: wasi-patches)
05:00
Merge trunk into wasi-patches branch. (check-in: 13dade955d user: stephan tags: wasi-patches)
2022-12-09
18:26
Remove the SQLITE_PREPARE_SAFEOPT flag. The name is obsolete and it is at the wrong level. Instead use the SF_UpdateFrom flags on the Select object. (check-in: 78723a9a7e user: drh tags: coroutines-exp2)
17:33
Do not allow OOM faults in EQP messages associated with automatic indexes on co-routines to go unreported. (check-in: d125d5afdf user: drh tags: coroutines-exp2)
15:26
Export sqlite3_result_subtype() and sqlite3_value_dup/free/subtype() to WASM. (check-in: 4600a7bbdc user: stephan tags: trunk)
15:12
Expose sqlite3_value_frombind/nochange/numeric_type() to WASM. Add a flag to sqlite3_value_to_js() to cause it to return undefined, instead of throwing, if no conversion can be found. (check-in: de8fc4bf34 user: stephan tags: trunk)
14:46
Refactor the sqlite3_value-to-JS conversion from an internal detail to sqlite3.capi.sqlite3_value_to_js() for use with routines like sqlite3_module::xFilter(). (check-in: f6dbf280f9 user: stephan tags: trunk)
13:49
Fix typo in the SQLITE_DBCONFIG_LOOKASIDE documentation. (check-in: c6e7582aea user: drh tags: trunk)
12:12
Remove some unused sqlite3_status() codes from the JS API. Add custom JS wrappers for sqlite3_create_collation/_v2() which accept JS functions (plus tests). Expand the argument options for sqlite3_wasm_db_error() to enable it to translate exception objects to C-level errors. (check-in: 073a2f1eb0 user: stephan tags: trunk)
09:23
Rename the oft-used, verbose sqlite3.wasm.get/setMemValue() and get/setPtrValue() to peek/poke() and peek/pokePtr(). The old names are retained as aliases just in case any client code actually uses them, but they are now deprecated. (check-in: ad0a8139b0 user: stephan tags: trunk)
08:44
Micro-optimization in the oft-activated JS-to-WASM arguments conversion step. (check-in: ee47e9b83c user: stephan tags: trunk)
07:17
Correct a test bug which broke the previous checkin's wasm tests in higher optimization levels. Test bug - it should not have worked in -O0 mode. (check-in: f07141b750 user: stephan tags: trunk)
05:47
Export sqlite3_status() and sqlite3_stmt_status() to wasm. Expand the arg/return semantics of wasm.get/setPtrValue() and get/setMemValue() to simplify handling of multiple pointers. Edit: tests pass when built with -O0 but fail with -Oz. Moving to branch to work out the breakage. Edit: it was a test bug - one too many levels of pointer indirection. It shouldn't have worked in low-optimization mode. (check-in: e144fd5c88 user: stephan tags: trunk)
02:23
JS API doc updates. (check-in: 4f80fd3b8d user: stephan tags: trunk)
02:12
Expose sqlite3_table_column_metadata() to wasm. (check-in: c31eb509e5 user: stephan tags: trunk)
01:49
Expose sqlite3_db_status() and sqlite3_db_config() to wasm, noting that the latter requires several internal wrappers to account for the various varidic forms (C varargs cannot be bound to wasm). (check-in: d575366891 user: stephan tags: trunk)
00:50
Reorganization and renaming in the new VFS/vtab JS pieces. (check-in: 1c2dda177a user: stephan tags: trunk)
2022-12-08
21:05
Support ".scanstats est" to enable including planner estimates in query profiles. (check-in: 0fe71287c9 user: dan tags: trunk)
18:18
Further docs and minor cleanups in the JS virtual table helper. (check-in: c31e7488ac user: stephan tags: trunk)
17:07
Ease-of-use/legibility improvements in the virtual table JS helpers. (check-in: 54c7ad7e08 user: stephan tags: trunk)
16:47
Improved comments on the new co-routine logic. Fix a C++-ism in the code. Update test cases to accommodate the more aggressive use of co-routines. (check-in: 9243e850ae user: drh tags: coroutines-exp2)
15:00
Initial support for virtual tables implemented in JavaScript. (check-in: a1454744c7 user: stephan tags: trunk)
13:56
Do not use a co-routine on a subquery that is participating in a self-join. (check-in: ea4306a03c user: drh tags: coroutines-exp2)
12:51
Describe the SQLITE_DBCONFIG_RESET_DATABASE flag's policy regarding virtual tables, per /chat discussion. (check-in: 53dcb81b02 user: stephan tags: trunk)
10:06
More work on the JS vtable tests. (Closed-Leaf check-in: 51e3c3b569 user: stephan tags: wasm-vtab)
09:06
Got JS non-eponymous vtable working thanks to a hint from Dan. (check-in: 750719b498 user: stephan tags: wasm-vtab)
04:19
Remove some dead JS code and tweak some docs. (check-in: 0ee495452c user: stephan tags: wasm-vtab)
2022-12-07
21:19
Merge the latest fixes and enhancements from trunk into the coroutines-exp2 branch. (check-in: 1c5f41986f user: drh tags: coroutines-exp2)
20:09
Reduce the overhead of SQLITE_ENABLE_STMT_SCANSTATUS some. (check-in: 212927e97e user: dan tags: trunk)
19:51
Fix harmless compiler warning in the dynamic continuation prompt of the CLI. (check-in: 68947b0a11 user: drh tags: trunk)
19:29
Omit CLI use of pragma_table_xinfo when it is not defined in the build. (check-in: 976c23520f user: larrybr tags: trunk)
17:29
Have sqlite3_stmt_scanstatus() report cycle, loop and row counts separately for creating an automatic index and using that automatic index. (check-in: 3bc9df82ea user: dan tags: trunk)
16:58
Streamline and improve testing of the locking in the memdb VFS. Follow-on to [15f0be8a640e7bfa]. (check-in: d71a08375a user: drh tags: trunk)
07:22
Work on an alternate (slightly simpler) approach to binding JS vtabs. Non-eponymous vtabs are not working, for reasons as yet unknown. (check-in: 6a0fefb93b user: stephan tags: wasm-vtab)
03:42
Add addOnDispose() method to Jaccwabyt and code-adjacent minor internal cleanups. (check-in: 6a2723fe3f user: stephan tags: wasm-vtab)
00:14
Fix a (harmless) off-by-one error in code generation that comes up when doing a DISTINCT query against a virtual table with an OR term in the WHERE clause and where the ORDER BY clause has 64 or more references to the result set. Forum post dfe8084751. NB: The bug is "harmless" in the sense that no harm comes of it in a production build. However, an assertion fault might occur in a debugging build given some really wonky SQL inputs without this fix. (check-in: 04af7ef770 user: drh tags: trunk)
2022-12-06
19:32
Enhance CLI .sha3sum to warn of text fields that are not to-blob-to-text reversible. (check-in: bbde0f36d0 user: larrybr tags: trunk)
19:25
Merge from trunk prepratory to branch end. (Closed-Leaf check-in: 1d01f8483a user: larrybr tags: sha3sum_text_validation)
19:20
Avoid several -Wall warnings in textfixture build. (check-in: 03ae8680e4 user: larrybr tags: trunk)
18:48
For CLI .sha3sum, emit warning to stderr for any invalidly encoded text fields. (check-in: 8e833ecc81 user: larrybr tags: sha3sum_text_validation)
18:48
Have sqlite3_stmt_scanstatus_v2() return an NCYCLE value for all loops, not just virtual tables ones. The value returned is the sum of the NCYCLE counts for the various opcodes that move or read data from the table or index cursor associated with the loop. (check-in: 9499b2f51e user: dan tags: trunk)
17:59
Clear a few more -Wall warnings and simplify dynaprompt feature keep/omit macros. (check-in: 540e895d87 user: larrybr tags: trunk)
15:24
Simplified experimental changes to promote the use of co-routines. Less cruft than the coroutines-exp1 branch, but still does not work. Checked in as a work-in-progress. (check-in: e2318a30bf user: drh tags: coroutines-exp2)
15:11
Fix compiler warnings in the new dynamic continuation prompt logic of the CLI. (check-in: 0d80500d35 user: drh tags: trunk)
13:12
In the unix backend, when implementing the defenses against small file descriptors, delete a file just created if it was opened with O_EXCL|O_CREAT so that it can be created again the next time through the loop. Fix for the problem described by forum post 699af709ab3a8ccf. (check-in: c0cfe0582a user: drh tags: trunk)
11:41
Support an SQLITE_SCANSTAT_NCYCLE statistic for "CO-ROUTINE" elements. (check-in: d3f6a207fd user: dan tags: trunk)
11:21
JS vtables: add infrastructure related to accessing and modifying sqlite3_index_info. (check-in: 0d77c34803 user: stephan tags: wasm-vtab)
09:49
Remove deprecated symbol sqlite3.opfs.OpfsDb, which was renamed to sqlite3.oo1.OpfsDb on 2022-11-29. (check-in: 0ce51bed65 user: stephan tags: wasm-vtab)
08:46
Rename wasm.cstringToJs() to wasm.cstrToJs() for consistency with other wasm.cstr... APIs. (check-in: cbf483ea0b user: stephan tags: wasm-vtab)
08:39
Add wasm.cArgvToJs() to support sqlite3_module::xConnect(). (check-in: c3ebdccf94 user: stephan tags: wasm-vtab)
08:21
Minor internal JS code/docs cleanups. (check-in: 21331bdd36 user: stephan tags: wasm-vtab)
06:21
Merge trunk into wasm-vtab branch. (check-in: d106edb956 user: stephan tags: wasm-vtab)
06:16
Minor test tweaks. (check-in: f902f3b2c7 user: stephan tags: wasm-vtab)
06:09
Add a demonstration sqlite3_vtab/module implemented in JS, based on ext/misc/templatevtab.c. Add oo1.selectArrays() and selectObjects(). (check-in: 60482c97e0 user: stephan tags: wasm-vtab)
05:31
Add optional feature: A CLI continuation prompt which reflects open lexemes and parens, similarly to PG shell. (check-in: f41f18b1c3 user: larrybr tags: trunk)
05:09
Add optional feature: A CLI continuation prompt which reflects open lexemes and parens, similarly to PG shell. (Leaf check-in: dac2ddc287 user: larrybr tags: dynamic_prompt)
00:54
Highly experimental (and non-working) changes aimed at increasing the number of occasions where a subquery can be implemented using a co-routine rather than being materialized. This is just saving work in progress. (Closed-Leaf check-in: e7d323c16e user: drh tags: coroutines-exp1)
2022-12-05
19:16
Enhance the sqlite3_stmt_scanstatus() API and add sqlite3_stmt_scanstatus_v2(). For creation of enhanced query performance reports. (check-in: 4893b4e3ea user: dan tags: trunk)
18:52
Update comments in sqlite.h.in to account for sqlite3_stmt_scanstatus_v2(). (Closed-Leaf check-in: 009462f234 user: dan tags: scanstatus_v2)
18:26
Merge latest trunk changes. (check-in: 1a72777b12 user: dan tags: scanstatus_v2)
18:19
Add loops and rows counters to "USE TEMP B-TREE FOR ORDER BY" records. Also fix the sqliteHwtime() function so that it returns a 64-bit value. (check-in: 41a0e05e8c user: dan tags: scanstatus_v2)
15:05
Remove two features of jaccwabyt which were fundamentally flawed, along with approx. 250 lines of unit tests which heavily relied on them. Thankfully, none of the sqlite3.js-level code used those bits. (check-in: a190abc307 user: stephan tags: wasm-vtab)
14:32
Jaccwabyt (JS) doc updates. (check-in: a329a809b5 user: stephan tags: wasm-vtab)
14:23
Fix a problem in the memdb vfs xLock() function allowing clients to upgrade to EXCLUSIVE locks when other connections are holding SHARED. (check-in: d18cce37b5 user: drh tags: branch-3.40)
14:20
Regenerate the configure script so that it includes the correct patch number. (check-in: e2ae2ea195 user: drh tags: branch-3.40)
14:20
Add test case that should have been part of previous commit. (check-in: dc7dd2d3e5 user: dan tags: trunk)
14:13
Expose sqlite3_get/set_auxdata() to wasm. Minor test app CSS tweaks. (check-in: 44659ad32a user: stephan tags: wasm-vtab)
14:12
Fix a problem in the memdb vfs xLock() function allowing clients to upgrade to EXCLUSIVE locks when other connections are holding SHARED. Forum post 5adb92e2baca3678. (check-in: 15f0be8a64 user: dan tags: trunk)
13:33
Export collation-related APIs and strncmp()/strnicmp() to wasm. (check-in: c3c56d9b94 user: stephan tags: wasm-vtab)
13:12
Export sqlite3_vtab_collation() to wasm. Rename 'flexible-string' JS argument adapter to 'string:flexible' for consistency. (check-in: 15f8042fdd user: stephan tags: wasm-vtab)
13:07
Remove SQLITE_EXPERIMENTAL tag from sqlite3_vtab_collation() and fix a related doc typo. (check-in: 35d670b359 user: stephan tags: trunk)
11:54
Rename 'static-string' argument adapter to 'string:static'. Replace JS unit tests which were lost via editing a generated copy of tester1.js instead of the original tester1.c-pp.js input file. (check-in: 9d81d51d5a user: stephan tags: wasm-vtab)
11:30
Export sqlite3_bind/value/result_pointer() to wasm. Add 'static-string' argument converter to support the lifetime requirements of bind/result_pointer()'s string argument. Correct an endless loop in wasm.cstrlen() when passed a non-C-string argument. (check-in: a94552434a user: stephan tags: wasm-vtab)
10:50
Remove obsolete "experimental" comments on the virtual-table interface documentation in sqlite.h.in. (check-in: 28fc32abdc user: drh tags: trunk)
07:51
More work on the JS side of the virtual table APIs. (check-in: cb9881ec00 user: stephan tags: wasm-vtab)
05:45
Remove some dead code. Improve some error checks and comments. (check-in: 6712fbe46a user: stephan tags: wasm-vtab)
05:30
Initial infrastructure for adding virtual table/table-valued function support to WASM. (check-in: c202d7a039 user: stephan tags: wasm-vtab)
02:52
Improved query planner cost estimates. Fix for ticket [e8b674241947eb3b]. (check-in: 1b779afa3e user: drh tags: trunk)
02:42
Use the smaller estimated row size for searching IPK tables, but use the original larger row size estimate for scanning, since the leaves can have large rows. (Closed-Leaf check-in: df3818997b user: drh tags: qp-tuning)
2022-12-04
23:20
Fix safe mode authorizer callback to reject disallowed UDFs. Reported at Forum post 07beac8056151b2f. (check-in: cefc032473 user: larrybr tags: trunk)
22:13
Fix safe mode authorizer callback to reject disallowed UDFs. Tests to follow. UPDATE: checked into the wrong branch. (Closed-Leaf check-in: 4d934f0063 user: larrybr tags: wrong branch.)
08:16
Export sqlite3_result_zeroblob/zeroblob64() to wasm. (check-in: a60e56627f user: stephan tags: trunk)
2022-12-03
21:24
Enhance SQLITE_SCANSTAT_NCYCLE so that it reports on virtual tables. (check-in: 622d8eb372 user: dan tags: scanstatus_v2)
19:04
Increase the nominal row size for IPK index lookups slightly, for better balance. (check-in: 1a61c500ad user: drh tags: qp-tuning)
18:21
Add TOTAL rows to the output generated by tool/vdbe_profile.tcl. (check-in: 9800586393 user: drh tags: qp-tuning)
18:16
Add CYCLES scanstat measurement to "USE TEMP B-TREE FOR ORDER BY" lines. (check-in: 365011ae8b user: dan tags: scanstatus_v2)
17:23
Add a test case to show that ticket [e8b674241947eb3b] has been fixed. (check-in: e20de6d450 user: drh tags: qp-tuning)
17:19
Make conglomerateur help with extension packaging. Otherwise a WIP check-in. (check-in: c4214d8d3c user: larrybr tags: extension_opts)
17:09
Further improvements to the estimated cost of sorting. Take into account the number of columns to be sorted. (check-in: f3290cf83b user: drh tags: qp-tuning)
16:09
Cause CLI .sha3sum to warn of text fields that do not survive CAST(CAST(t as BLOB) AS TEXT) due to invalid UTF encoding. (check-in: 123f2a0785 user: larrybr tags: sha3sum_text_validation)
15:41
Correct a memory leak in tester1.js. (check-in: e42b052dd7 user: stephan tags: trunk)
14:58
sqlite3.wasm.allocFromTypedArray() now optionally accepts an ArrayBuffer as its argument. (check-in: 75a1a796f8 user: stephan tags: trunk)
13:10
Rename wasm.xWrap.resultAdapter() X:free entries to X:dealloc for consistency with wasm.dealloc(). Add an undocumented feature to replace wasm.alloc/dealloc/realloc() with the C-standard allocators (after an allocator misuse led down a several-hour rabbit hole trying to discover a mis-free() violation). Related test updates. (check-in: d9807656f8 user: stephan tags: trunk)
13:05
Doc typo fix for SQLITE_MAX_ALLOCATION_SIZE in malloc.c. No code changes. (check-in: ed1ed21221 user: stephan tags: trunk)
11:51
Move kvvfs xRead()/xWrite() buffer from function-local stack memory to heap memory to accommodate changes in emsdk 3.1.27. (check-in: f1da32410c user: stephan tags: trunk)
11:16
JavaScript: add sqlite3.wasm.realloc(), sqlite3.capi.SQLITE_MAX_ALLOCATION_SIZE, and related tests. (check-in: eeb84ba5de user: stephan tags: trunk)
03:06
wasm build: rename the path to the wasm docs checkout, for clarity and consistency. (check-in: b820db3236 user: stephan tags: trunk)
02:42
wasm snapshot and doc-related build automation tweaks. (check-in: 13eb1abd06 user: stephan tags: trunk)
01:59
Rework the oo1.DB's distinct-per-VFS post-open() step to accept either a batch of SQL or a callback function. Increase OPFS's busy timeout to 10s. (check-in: 9feefe253a user: stephan tags: trunk)
00:52
Tuning the query planner by adjusting the weights that predict the relative performance of sorting and index lookup. (check-in: 9f2806da4d user: drh tags: qp-tuning)
2022-12-02
20:32
Enhance the sqlite3_stmt_scanstatus() API and add sqlite3_stmt_scanstatus_v2(). For creation of easier to read query performance reports. (check-in: 5580083364 user: dan tags: scanstatus_v2)
18:56
Minor internal tweaks to the OPFS VFS. Resolve a missing result code which lead to a null deref in xFileSize(). (check-in: 57dd593ef0 user: stephan tags: trunk)
18:06
OPFS VFS: translate createSyncAccessHandle() exceptions which appear to be locking violations to SQLITE_BUSY. This seems to improve concurrency considerably even with a reduced retry count of 5 (was 6). (check-in: 0d36021d10 user: stephan tags: trunk)
17:52
For the sqlite3_bind and sqlite3_result interfaces for UTF16 strings, round the number of bytes down to the next even number, to avoid creating a UTF16 string that is an odd number of bytes. Forum post 411199488d065f83. (check-in: b57e3c3db0 user: drh tags: trunk)
15:31
Use sqlite3_result_int64() instead of sqlite3_result_int() when returning potentially large values from the DBSTAT virtual table, to avoid integer overflows in the result. Forum post ada2ab044f. (check-in: 5652154a8c user: drh tags: trunk)
11:35
Minor touchups to the JS test index page and test server push rules. (check-in: 0881f3e923 user: stephan tags: trunk)
10:43
wasm builds: explicitly set a default stack size because emsdk 3.1.27 reduced it from 4MB to only 64kb, leading to memory corruption when kvvfs is used (it requires at least twice that for I/O). (check-in: 758112460f user: stephan tags: trunk)
09:23
wasm: after building snapshot zip file, emit instructions for pushing it to the test server. (check-in: 9615c77919 user: stephan tags: trunk)
08:51
Correct the problem which triggered the rollback in [7eec635562f6]: an incorrect default db page size (not a multiple of 512 bytes). (check-in: e06e490c24 user: stephan tags: trunk)
08:38
Roll back the SQLITE_DEFAULT_PAGE_SIZE part of [c260895faacb34] because kvvfs does not work at all with a page size of 8kb. (check-in: 7eec635562 user: stephan tags: trunk)
08:29
sqlite3-wasm.c: code legibility and coding style tweaks. Increase SQLITE_DEFAULT_PAGE_SIZE from 4k to 8k, as that improves OPFS speedtest1 performance by roughly 12%. (check-in: c260895faa user: stephan tags: trunk)
07:14
Expand JS tests for db export/import and document reason it cannot currently work with kvvfs. Fix a minor JS build dependencies bug. Update page title with PASS/FAIL prefix for tester1.js to improve overview when launching multiple test tabs. Add ability of tester1 should-run-test predicates to report why a given test is disabled. (check-in: 75f610d3a4 user: stephan tags: trunk)
03:37
Remove extraneous/unused sqlite3.oo1.version object. Add httpd makefile target. (check-in: 8e4d30ac03 user: stephan tags: trunk)
03:35
Experimental branch for more flexible selection of extensions and localization of details of incorporation by host. A WIP for now. (check-in: 98be19ba83 user: larrybr tags: extension_opts)
2022-12-01
15:22
sqlite3_js_create_file() now accepts an ArrayBuffer data source. Add test for OPFS-based export/re-import. The (sqlite3*) argument converter now optionally accepts sqlite3.oo1.DB instances. (check-in: 14a84b67fb user: stephan tags: trunk)
04:45
Reformulate and simplify some JS tests related to the previous checkin. (check-in: 9ea2d3dcf7 user: stephan tags: trunk)
03:55
Expand "sqlite3_vfs*" JS-to-WASM function argument conversions to accept VFS names (JS strings) and capi.sqlite3_vfs instances. Implement sqlite3_js_vfs_create_file() to facilitate creation of file-upload features which store the file in VFS-specific storage (where possible, e.g. "unix" and "opfs" VFSes). Correct an argument type check in the SQLite3Error and WasmAllocError constructors. (check-in: e1009b16d3 user: stephan tags: trunk)
2022-11-30
21:18
Add a testcase() macro to verify that the case of a NOT NULL error message hitting the string length limit. (check-in: 91f50964c1 user: drh tags: trunk)
20:22
Fix an over-zealous assert() reported by Yong Heng. (check-in: 6ee61f8ced user: drh tags: trunk)
19:11
Attempt to rationalize the bits associated with ".wheretrace". Provide a decoder key in sqliteInt.h for what each bit is intended to do. (check-in: 8ec361695a user: drh tags: trunk)
18:21
Rename some JS files from X.js to X.c-pp.js to keep the maintainer, and downstream build customizers, aware that those files contain constructs specific to the c-pp preprocessor and will not run as-is in JS. (check-in: 2eade7c7b1 user: stephan tags: trunk)
13:44
Always use nanosleep() (instead of usleep() or sleep) if the _POSIX_C_SOURCE macro says it should be available. See Fossil Forum post ab2e2593ae307946 for driver behind this enhancement. (check-in: 6620c57b9d user: drh tags: trunk)
11:50
Install sqlite3_malloc/sqlite3_free() as the JS-side WASM allocator (as opposed to replacing C-level's malloc()/free() with them). All tests work and this eliminates the potential for allocator discrepancies when using the (de)serialize APIs. (check-in: 95c78f6b46 user: stephan tags: trunk)
10:05
Merge trunk into wasi-patches branch. (check-in: 64cf34a855 user: stephan tags: wasi-patches)
08:37
Simplify how the OPFS VFS async proxy copies initial state sent to it from the synchronous side of the connection. Make the lock-wait time a multiple of the wait-loop timeout interval. (check-in: eddafafffa user: stephan tags: trunk)
07:48
OPFS VFS: remove an invalid TODO and fix a property name typo which caused xCheckReservedLock() to always report false. (check-in: 3b037caa2f user: stephan tags: trunk)
07:17
Rename some OPFS JS files. Prevent JS bindings of sqlite3_uri_...() from performing JS-to-C-string argument conversion on their first argument, as doing so is specifically illegal. (check-in: 79832808de user: stephan tags: trunk)
05:27
Refactor a significant chunk of the OPFS sqlite3_vfs init code into sqlite3.VfsHelper, and internal-use-only API encapsulating code relevant to creating new VFSes in JS. Intended to assist in pending experimentation with an alternative OPFS VFS. (check-in: e25d7b080a user: stephan tags: trunk)
03:08
Doc and logging text tweaks in the OPFS async proxy and test app. (check-in: 7ce8608e22 user: stephan tags: trunk)
2022-11-29
18:28
sqlite3.oo1.OpfsDb: default to journal_mode=persist, as current tests show it to be marginally faster than truncate/delete in Chrome v109. Also increase default busy_timeout from 2 seconds to 3, admittedly on a whim. (check-in: d0c8fa30a3 user: stephan tags: trunk)
18:00
OPFS speedtest1: hide a currently-broken/to-fix WASMFS-build link. (check-in: cde95d382f user: stephan tags: trunk)
17:52
Change the handling of hwtime.h to make it easier to compile performance measurement builds that make use of hwtime.h. This should not affect productions builds. (check-in: f64a224244 user: drh tags: trunk)
11:28
Fix legacy build system main.mk to include basexx.c in testfixture builds. (check-in: 8c9200b7e1 user: dan tags: trunk)
06:56
Rename one instance of opfs.OpfsDb to oo1.OpfsDb, as per [0c5c51f4fb04]. (check-in: 75b04c9b30 user: stephan tags: trunk)
06:09
Minor internal cleanups and docs in the OPFS sqlite3_vfs. (check-in: 61799b05ff user: stephan tags: trunk)
05:25
Internal restructuring of the OPFS sqlite3_vfs in order to facilitate certain experimentation and improve error reporting/hints if it cannot be activated. Deprecate the name sqlite3.opfs.OpfsDb, preferring sqlite3.oo1.OpfsDb for consistency with JsStorageDb and any future DB subclasses. (check-in: 0c5c51f4fb user: stephan tags: trunk)
02:23
Add an explicit warning about the current API-instability of the sqlite3.opfs namespace, which may need to be eliminated based on re-thinking of how the OPFS sqlite3_vfs is registered. Comment changes only - no code. (check-in: 0cb2fd1417 user: stephan tags: trunk)
2022-11-28
21:17
Check-in [8d5b76593d82b3a5] contained an error that was causing some obscure error codes to be lost. Fixed here. (check-in: 46cdd3637d user: drh tags: trunk)
21:09
Get ext/misc/basexx.c into the testfixture.exe build for MSC. (check-in: bb2c5d088e user: larrybr tags: trunk)
20:08
Fix harmless compiler warnings. (check-in: 8d5b76593d user: drh tags: trunk)
19:42
Implementation of enhancement request [695a1a53dea6b240]: The query planner has improved awareness of when indexes on expressions are covering and adjusts their costs accordingly. (check-in: e3474d79b2 user: drh tags: trunk)
18:41
Add the SQLITE_FCNTL_RESET_CACHE verb. Use it to ensure that the page cache is purged before and after a the recovery extension is run. (check-in: 6db0bc4bc0 user: dan tags: trunk)
18:17
Test cases added derived from the enhancment ticket. (Leaf check-in: c022c0152a user: drh tags: covering-indexed-expr)
16:11
Merge trunk changes into covering-index-expr branch. (check-in: 89d775ada3 user: drh tags: covering-indexed-expr)
15:23
Rework the covering index checking routine, whereIsCoveringIndex(), so that it can return a "maybe" result for aggregate queries where we are not exactly sure. The index is scored as if it is covering, but the main table is still opened. (check-in: b8eec42143 user: drh tags: covering-indexed-expr)
14:51
Add (optional) base64 and base85 UDF extensions. (check-in: b44ab10c49 user: larrybr tags: trunk)
14:11
Sync w/trunk, zap surplus space. (Closed-Leaf check-in: b8345630a2 user: larrybr tags: base_convert)
13:47
Ensure the RETURNING clause is honoured when a row of a temp table is updated by an ON CONFLICT clause. (check-in: a2449bcc2c user: dan tags: trunk)
02:28
Conform CLI .trace arg handling to its help. (check-in: 31546ea320 user: larrybr tags: trunk)
2022-11-27
00:57
Document an OPFS API change in Chrome v108 which does not break our code but does change several formerly async methods to synchronous. No code changes. (check-in: e9dd87e28a user: stephan tags: trunk)
2022-11-26
20:52
Better reporting of when the WHERE clause analysis thinks that an index is covering. (check-in: 17ebcf316b user: drh tags: covering-indexed-expr)
20:48
Show which AggInfo.aCol an Expr node represents in the tree trace debugging logic. Does not affect production builds. (check-in: b8076f4dc5 user: drh tags: trunk)
20:13
Merge trunk fixes into the covering-indexed-expr branch. (check-in: 9ac67ff968 user: drh tags: covering-indexed-expr)
20:12
Fix an incorrect assertion-fault in the "TREETRACE" debugging logic on select.c. The problem does not affect production builds. (check-in: f11bb42292 user: drh tags: trunk)
15:24
OPFS VFS: add the opfs-unlock-asap=1 URI flag which tells the VFS to release implicit locks ASAP instead of during VFS idle time. This improves concurrency notably in the test app but brings a significant performance penalty in speedtest1 (roughly 4x slowdown). This is not the final word in OPFS concurrency, but gets us a step further. (check-in: 9542f9ce9e user: stephan tags: trunk)
14:19
Experimental changes to help the query planner detect when an expression index is coverting. Works somewhat, but there are tests that fail. (check-in: 968c189bcf user: drh tags: covering-indexed-expr)
2022-11-25
17:05
Relax restriction (8) on the push-down optimization so that it only applies if one or more columns uses a collating sequence other than BINARY. See forum post 3824ced748baa808 and check-in [346a3b12b861ce7b]. (check-in: adbca3448e user: drh tags: trunk)
16:32
Fix #ifdefs so that restrictions (8) and (9) of the push-down optimization are still enforced even if compiled with SQLITE_OMIT_WINDOWFUNC. This fixes a bug introduced by check-in [346a3b12b861ce7b]. (check-in: 09e1e42e0f user: drh tags: trunk)
16:10
Improve the query planner such that it is able to make use of indexed expressions within an aggregate query with GROUP BY. This implements enhancement request [99378177930f87bd]. (check-in: b9190d3da7 user: drh tags: trunk)
15:52
Add restriction (9) to the push-down optimization: If the subquery is a compound then all arms of the compound must have the same affinity. dbsqlfuzz 3a548de406a50e896c1bf7142692d35d339d697f. (check-in: 1ad41840c5 user: drh tags: trunk)
13:26
Remove a redundant assert() statement. (Closed-Leaf check-in: e3e1b453dc user: drh tags: agg-with-indexed-expr)
13:15
Improve the robustness of the updateAccumulator() routine against OOM. (check-in: d2844f577b user: drh tags: agg-with-indexed-expr)
13:08
Improved comments. Add assert()s to verify that the AggInfo structure is unchanged after registers have been assigned. (check-in: 5200b84195 user: drh tags: agg-with-indexed-expr)
2022-11-24
23:35
Correctly deal with IF-NULL-ROW operators when dealing with indexed expressions in aggregates. (check-in: 939cb47025 user: drh tags: agg-with-indexed-expr)
20:11
Speed up base85() conversions and sync w/trunk. (check-in: 17b823500a user: larrybr tags: base_convert)
19:02
Take care not to try to add comments to a TK_AGG_COLUMN opcode that does not have an associated Table object because it is a reference to an indexed expression. (check-in: 5fc23863e4 user: drh tags: agg-with-indexed-expr)
18:45
Change a NEVER() into an assert(). (check-in: a0fd44f4e5 user: drh tags: agg-with-indexed-expr)
17:58
Fix a test case in fts3expr4.test to account for different locales. (check-in: a2b6883ac2 user: dan tags: trunk)
17:53
More work on the OPFS concurrency testing app. (Closed-Leaf check-in: c0458caca3 user: stephan tags: opfs-unlock-asap)
16:03
JS documentation cleanups. No code changes. (check-in: 18e89a436d user: stephan tags: trunk)
15:32
Update multiplex3.test to account for the fact that the multiplexor xDelete method may return an error even if it manages to delete the first chunk of a file. (check-in: 1a7f325473 user: dan tags: trunk)
15:04
Add NEVER() and ALWAYS() macros on branches that are believed to be unreachable. (check-in: 3a901e88c8 user: drh tags: agg-with-indexed-expr)
13:19
New test cases. Fix the logic so that it works for GROUP BY aggregates that do not require sorting. (check-in: ef6ebe7922 user: drh tags: agg-with-indexed-expr)
02:59
Speed up base64 conversions, and add test with more data for the baseNN conversion to grind. (check-in: 6c84ae4ba8 user: larrybr tags: base_convert)
02:35
Add sqlite3.oo1.DB.prototype.checkRc() and tests for both that method and its class-level counterpart. (check-in: f7eaa6ba21 user: stephan tags: trunk)
01:41
Merge the latest trunk changes into the agg-with-indexed-expr branch to simplify diffs. (check-in: 38c3d3f1ed user: drh tags: agg-with-indexed-expr)
01:40
Add explanatory comment to the new optimization. And add a test case. (check-in: e6c20f61de user: drh tags: agg-with-indexed-expr)
2022-11-23
21:09
Minor JS doc updates. (check-in: 27efd63ad7 user: stephan tags: trunk)
21:03
Add optional zSchema argument to sqlite3_js_db_export(). (check-in: 9c23644b1e user: stephan tags: trunk)
20:49
OPFS concurrency test: add a URL flag to enable/disable unlock-asap mode. (check-in: 1c1bf22ead user: stephan tags: opfs-unlock-asap)
19:03
Add an experimental OPFS VFS-specific URI flag, opfs-unlock-asap, which tells the VFS to release implicit locks ASAP. This permits higher concurrency but hurts performance considerably. This may or may not be obsoleted by other concurrency-related experimentation. (check-in: d23c917013 user: stephan tags: opfs-unlock-asap)
18:51
Aggregates with GROUP BY now make use of expressions on indexes. This code works and gets the correct answer for the test case in the ticket. Lots more testing and documentation is needed, however. (check-in: 8dcf9f2031 user: drh tags: agg-with-indexed-expr)
17:56
This attempt at modifying AggInfo to make use of indexed expressions does not work. It gets an incorrect answer for the test case shown in the ticket. (check-in: 84c06023f4 user: drh tags: agg-with-indexed-expr)
16:39
Initial infrastructure for adding a mode to the OPFS VFS which causes implicit locks to be released ASAP, which increases concurrency at the cost of performance. (check-in: c5b7a9715a user: stephan tags: opfs-unlock-asap)
16:08
Update Makefile.in to include new target "sqlite3r.c". For generating "sqlite3r.c" and "sqlite3r.h", versions of the amalgamation that include the recover extension. To build the shell tool against these files, add -DSQLITE_HAVE_SQLITE3R. (check-in: 5f135575b9 user: dan tags: trunk)
15:52
Remove a bit of over-cleverness which breaks loading of sqlite3.js in some main-thread cases. Broken by [96f76e7616]. (check-in: 220cc4c639 user: stephan tags: trunk)
15:33
OPFS concurrency tester: ensure that the work interval timer does not overlap with the work time. (check-in: 8f2076553b user: stephan tags: trunk)
14:13
Further foundation prep work prior to starting to flesh-out the optimizeAggregateUseOfIndexedExpr() routine. (check-in: 23145fe999 user: drh tags: agg-with-indexed-expr)
2022-11-22
22:46
Add more baseNN tests, get oversize error trapping working, and sync w/trunk (check-in: 03819e9368 user: larrybr tags: base_convert)
20:58
Merge enhancements and fixes from trunk. (check-in: f8932e04d4 user: drh tags: agg-with-indexed-expr)
20:37
Add the stub function: optimizeAggregateUsingIndexedExpr(). The hope is that we can fill this in with a routine that does useful optimizations. (check-in: d85bb724fd user: drh tags: agg-with-indexed-expr)
20:04
Avoid naming collision between the sha1 and shathree extensions. (check-in: 9ec923b5dc user: mistachkin tags: trunk)
19:56
Include the treetrace bitmap comment accidentally omitted from the previous check-in. (check-in: db07471c53 user: drh tags: trunk)
19:51
Merge trunk fixes and enhancements into the agg-with-indexed-expr branch. (check-in: 070634781a user: drh tags: agg-with-indexed-expr)
19:49
Rename the SELECTTRACE macro to TREETRACE, so that is corresponds to the new CLI command. Renumber all of the bits in the bitmask used to enable various kinds of tracing, and add a trace bitmap decoder in sqliteInt.h. Changes to debugging logic only. No (intentional) changes to production code. (check-in: 8036445a36 user: drh tags: trunk)
19:12
Sync w/trunk. Ready for merge to trunk. (check-in: ff67460e1a user: larrybr tags: base_convert)
19:04
Add test/basexx1.test to test is_base85(t), base85(x) and base64(x). Sync w/trunk. (check-in: 4e43345477 user: larrybr tags: base_convert)
18:24
Fix the error message in the CLI for "no such VFS". Forum post 1217fdd6b3. (check-in: b344f33d16 user: drh tags: branch-3.40)
18:24
Fix the error message in the CLI for "no such VFS". Forum post 1217fdd6b3. (check-in: 861af465fd user: drh tags: trunk)
16:12
Add Makefile.in targets for sqlite3r.c and sqlite3r.h, versions of the amalgamation that include the recover extension. (Closed-Leaf check-in: 59a837cfc7 user: dan tags: make-sqlite3r.c)
15:48
Bump the version number to 3.40.1. (check-in: d0ca348b25 user: drh tags: branch-3.40)
15:47
Fix last function pointer in sqlite3Apis init. Reported at forum post eba0faa96d. (check-in: b3795d28fe user: drh tags: branch-3.40)
15:43
Since the memory registers used by the columns and functions of an AggInfo object are sequential, it is not neecessary to remember each register separately. We can simply remember the first one and do the math when others are needed. (check-in: dc5bd34963 user: drh tags: agg-with-indexed-expr)
15:41
Fix last function pointer in sqlite3Apis init. Reported at forum post eba0faa96d. (check-in: 6d5dc9eed5 user: larrybr tags: trunk)
14:31
Omit the unnecessary AggInfo.mnReg field. (check-in: d79c58ef08 user: drh tags: agg-with-indexed-expr)
14:10
Factor out the allocation of registers for aggregates into a separate subroutine. (check-in: 4475799d5b user: drh tags: agg-with-indexed-expr)
13:33
This is the first in what is anticipated to be a long sequence of incremental changes aimed at improving aggregate query processing, and in particular helping aggregate queries take better advantage of indexes on expression. The end goal is to resolve ticket [99378177930f87bd], though it remains to be seen whether or not I can get there with this approach. (check-in: cba837eae9 user: drh tags: agg-with-indexed-expr)
12:47
Convert an ALWAYS() in sqlite3DbSpanDup() into an assert(), for a performance increase and size reduction. (check-in: 21e80a2973 user: drh tags: trunk)
2022-11-21
17:40
Split out the debugging code that dumps an AggInfo object into a separate subroutine called printAggInfo() so that it can be invoked interactively during debugging. No changes to production code. (check-in: dc33cfbede user: drh tags: trunk)
16:40
Change the name of the Parse.pIdxExpr field to pIdxEpr so that the name is distinct from all other identifiers in the code and thus less confusing. (check-in: a2962d0187 user: drh tags: trunk)
16:03
Merge trunk into wasi-patches branch to clean up the diff view. (check-in: 95de6742d3 user: stephan tags: wasi-patches)
16:00
OPFS contention test: give each worker a distinct recognizable name instead of a random one. (check-in: 5f564bf7de user: stephan tags: trunk)
15:55
Performance optimization and size reduction in insertCell() by omitting the "pRC" argument and instead returning the result code as an integer. (check-in: bee94d1bb0 user: drh tags: trunk)
14:13
Performance optimization to sqlite3BtreeInsert(). (check-in: b8976ebfe0 user: drh tags: trunk)
13:35
Small performance improvement in sqlite3BtreeTransferRow(). (check-in: dab959ea3e user: drh tags: trunk)
06:07
Add new JS tests dir to those pushed to the test server. (check-in: 07182dca9f user: stephan tags: trunk)
05:18
More tweaking of OPFS concurrency measures and the related test app. (check-in: a8d4da1501 user: stephan tags: trunk)
04:12
Resolve missing SQLITE_LOCKED result code which triggered a new (since last checkin) exception in the OPFS VFS. Improve output of the OPFS contention tester app. (check-in: 2debbbca33 user: stephan tags: trunk)
03:50
Add test app for experimenting with multi-worker OPFS concurrency. Tweak OPFS VFS to significantly improve the otherwise "unfortunate" concurrency situation. (check-in: 96f76e7616 user: stephan tags: trunk)
02:18
Get clean builds for MS tools. Add build examples for extension glommer (basexx.c) Make sure extensions build for dynamic load and built into shell. (check-in: da940d507e user: larrybr tags: base_convert)
00:11
Fix a base64 decode bug. Provide for convenient inclusion of extension(s) built into the CLI, to simplify testing and for its own sake. Improve comments. Cure collision between base64.c and base85.c when both are in the same translation unit. (check-in: 07543d23a9 user: larrybr tags: base_convert)
2022-11-20
15:30
Remove check for WASM_WASI macro when detecting wasi compilation mode, as that macro is project-specific. Rely only on __wasi__ (exposed by clang) to detect wasi compilation mode. (check-in: d469ac0c44 user: stephan tags: wasi-patches)
05:47
js dist: account for a file rename in the previous checkin. (check-in: 469f9011a8 user: stephan tags: trunk)
05:36
Further minor cleanups in the JS build related to vanilla vs ESM. (check-in: 100a596800 user: stephan tags: trunk)
04:14
Remove an obsolete reference to WASMFS from ext/wasm/index.html. (check-in: 51ff681864 user: stephan tags: trunk)
04:14
Generic cleanups and doc additions in the wasm build files. (check-in: d10f385e36 user: stephan tags: trunk)
04:13
Add 'snapshot' target to create distinctly-named snapshot builds of the wasm deliverables zip file. (check-in: f7620aa09e user: stephan tags: trunk)
01:15
Minor cleanups in the ESM-related preprocessor filtering. (check-in: 205884a273 user: stephan tags: trunk)
2022-11-19
20:10
New assert()s confirm that BTREE_PREFORMAT must be the same value as OPFLAG_PREFORMAT. (check-in: f40bf2c642 user: drh tags: trunk)
19:37
Performance optimization in sqlite3BtreeInsert(). (check-in: 9776fa3175 user: drh tags: trunk)
18:43
Performance improvement and size reduction in balance_nonroot(). (check-in: 715bc81eb8 user: drh tags: trunk)
18:17
Small performance improvement and size reduction in btree. (check-in: daa07149c0 user: drh tags: trunk)
16:16
Get tester1.js working via an ES6 worker module and add that variant to the dist zipfile. (check-in: 90480586f1 user: stephan tags: trunk)
15:03
Elide a wasi-incompatible shell.c block in SQLITE_WASI builds. (check-in: 9b8b15a779 user: stephan tags: wasi-patches)
14:18
Improved comments on the pageFreeArray() routine of btree.c. No changes to code. (check-in: 0c2adc6d35 user: drh tags: trunk)
13:09
Streamline the decodeFlags() routine in btree.c for a small performance increase. (check-in: 4cb285210b user: drh tags: trunk)
07:44
Default to SQLITE_THREADSAFE=0 and SQLITE_OMIT_LOAD_EXTENSION for wasi builds. (check-in: 382ba3b284 user: stephan tags: wasi-patches)
07:39
Account for lack of mmap(), getpid(), and shared memory APIs in wasi. (check-in: 80ff026fb4 user: stephan tags: wasi-patches)
07:17
Preliminary patches to get sqlite3.c building as-is in WASI environments. (check-in: 19c04d71bf user: stephan tags: wasi-patches)
05:26
Add build of sqlite3.mjs (ES6 module), add a test app for it, and include it in the dist build. (check-in: 2e783670e1 user: stephan tags: trunk)
02:58
Integrate a custom preprocessor to the JS build process to facilitate creation of both vanilla JS and ES6 Module builds from the same source files. There is still some build-level reworking pending to make an ESM build a first-class deliverable. (check-in: 10c723d96d user: stephan tags: trunk)
02:51
More work towards creation of a ES6 JS module. (Closed-Leaf check-in: 6b826e700f user: stephan tags: js-cpp)
02:39
New extensions for base85 and base64 conversion UDFs (check-in: 5cc1fe1ddc user: larrybr tags: base_convert)
02:32
Create new branch named "base_convert" (check-in: 0cbf55407a user: larrybr tags: base_convert)
00:22
Small performance optimization in btree.c. (check-in: f710cce135 user: drh tags: trunk)
00:08
Databases created using sqlite3_deserialize() should report their filename as an empty string, not as "x". Fix for ticket [53043c9793715f08]. (check-in: ff494449ef user: drh tags: trunk)
2022-11-18
17:57
Update the version number to 3.41.0 to begin the next development cycle. (check-in: 5c669f5f39 user: drh tags: trunk)
17:50
Add the SQLITE_DBCONFIG_LENIENT_JSON configuration option. Modify the built-in JSON routines such that when this setting is active, arguments that that ought to be JSON but still give a reasonable result (ex: NULL) rather than raising an error. (Leaf check-in: 186db57d26 user: drh tags: lenient-json)
15:22
shell.c.in: on non-Windows platforms, check for $XDG_CONFIG_HOME/sqlite3/sqliterc before ~/.sqliterc, per request in forum post 7a16582b1e403c81. (check-in: 17065d095d user: stephan tags: trunk)
02:29
Replace use of cpp with the fit-to-purpose c-pp to avoid cpp's C-centric/JS-unfriendly quirks. (check-in: 49d70f071e user: stephan tags: js-cpp)
2022-11-17
19:24
Fix corner cases in UTF8 handling in the REGEXP extension. Forum post 3ffe058b04. (check-in: abb18f61c5 user: drh tags: trunk)
15:21
Merge trunk into js-cpp branch. (check-in: e047b33d1f user: stephan tags: js-cpp)
14:40
Use the log10() and log2() functions from the standard C library to implement the equivalent SQL functions, in the hope that this will prevent reported precision problems. See forum post cfceb1230bdcfd84 and the surrounding thread. (check-in: 7c572d02e6 user: drh tags: trunk)
13:58
Split out the documentation for sqlite3_value_encoding() into its own page and make it clear that this interface is intended for testing and debugging only. Forum thread c9f445453da950ad. Comment changes only - no changes to code. (check-in: 9048a766ff user: drh tags: trunk)
01:24
Raise an error if an attempt is made to compile the CLI with the SQLITE_OMIT_COMPLETE option, since sqlite3_complete() really is necessary for the CLI to operate sanely. (check-in: a119a9e2ad user: drh tags: trunk)
2022-11-16
21:52
Change a self.X JS reference to X to account for a symbol resolution discrepancy between vanilla JS and ES6 modules, as explained in forum post 801d8f77e5115141. (check-in: 0590de4da1 user: stephan tags: trunk)
21:39
wasm build: include FTS5 instead of FTS4, per /chat and HN discussions. (check-in: 85c3f2ac5a user: stephan tags: trunk)
19:57
Fix harmless typo in comment, reported by Debian in Fossil https://fossil-scm.org/forum/forumpost/15f7327318. (check-in: 5689f0d9ad user: drh tags: trunk)
19:53
Avoid returning SQLITE_SCHEMA if the first query run on a connection is "SELECT nosuchcolumn" or similar. Forum post c1798f77ef (check-in: 3dc4f75d77 user: drh tags: trunk)
16:14
Merge version 3.40.0 into the reuse-schema branch. (check-in: 2aec00a729 user: drh tags: reuse-schema)
16:11
Merge the 3.40.0 release into the begin-concurrent-pnu-wal2 branch. (check-in: a090de41be user: drh tags: begin-concurrent-pnu-wal2)
16:05
Merge the 3.40.0 release changes into the begin-concurrent-report branch. (check-in: 9fc6241017 user: drh tags: begin-concurrent-report)
16:00
Merge the 3.40.0 release into the wal2 branch. (check-in: 2df915ef04 user: drh tags: wal2)
15:59
Merge 3.40.0 into the begin-concurrent branch. (check-in: a06d57ee9e user: drh tags: begin-concurrent)
12:10
Version 3.40.0 (check-in: 89c459e766 user: drh tags: trunk, release, major-release, version-3.40.0)
2022-11-14
19:42
Previous change to the fake_big_file command in the test harness was not correct. This one should fix the problem. (check-in: 6ee57a2e4e user: drh tags: trunk)
18:57
Change the fake_big_file test command so that it fails for files larger than 2MB on Windows, as we have observed that Window10 will sometimes bluescreen when operating on very large sparse files. (check-in: d39ffd2aba user: drh tags: trunk)
17:48
Avoid running bigsort.test with SQLITE_DEBUG builds. The assert() statements added in [7c96a56] make it too slow. (check-in: fa68dd8928 user: dan tags: trunk)
13:41
Merge the 3.40.0 rc1 changes into the reuse-schema branch. (check-in: 886788b61e user: drh tags: reuse-schema)
13:18
Merge the 3.40.0 rc1 changes into the begin-concurrent-pnu-wal2 branch. (check-in: b0e2b9aa2c user: drh tags: begin-concurrent-pnu-wal2)
13:10
Merge the 3.40.0 rc1 changes into the wal2 branch. (check-in: a5a610a650 user: drh tags: wal2)
12:54
Merge the 3.40.0 rc1 changes into the begin-concurrent-report branch. (check-in: 4d3f2531a9 user: drh tags: begin-concurrent-report)
12:44
Merge 3.40.0 rc1 into the begin-concurrent branch. (check-in: 5ba588e7eb user: drh tags: begin-concurrent)
2022-11-13
19:29
Remove some outdated code comments. No code changes. (check-in: 80ff592a9d user: stephan tags: trunk)
2022-11-12
17:17
Disable the ability to change the schema_version cookie when SQLITE_DBCONFIG_DEFENSIVE mode is enabled. This is a security enhancement inspired by the question in forum post 2b9cc3dae1f1e5f6. (check-in: 1d81381e8f user: drh tags: trunk)
2022-11-10
23:10
Remove unnecessary tabs in the ChaCha20 implementation. Forum post 0cdce5db8c. (check-in: b7179efbdb user: drh tags: trunk)
19:19
Avoid returning SQLITE_SCHEMA if the first query run on a connection is "SELECT nosuchcolumn" or similar. Forum post c1798f77ef (Closed-Leaf check-in: d31c019fd6 user: dan tags: schema-error-fix)
13:22
Automatically relinquish implicitly-acquired OPFS file locks during VFS idle time in an attempt to help alleviate cross-tab locking contention like that described in forum post 58a377083cd24a. (check-in: 8daf24ff73 user: stephan tags: trunk)
13:14
Rework automatically acquired OPFS locks to be released during idle time. This eliminates the performance hit reported in [46304ba057707c]. (Closed-Leaf check-in: a7fe91afca user: stephan tags: opfs-lock-without-xlock)
11:35
OPFS: if an op which needs a lock is called when no lock has been obtained, automatically lock it at the start of the op and unlock it at the end of that op. This is an attempt to alleviate the cross-tab contention described in forum post 58a377083cd24a but it increases speedtest1 run time by approximately 4x. Perhaps auto-lock can be combined with the older idle-time-based auto-unlock to unlock such locks (but not those from xLock()) to improve this? (check-in: 46304ba057 user: stephan tags: opfs-lock-without-xlock)
2022-11-09
11:17
Better handle an error in the fts5 integrity-check code. dbsqlfuzz e87c62f9b67ea21aebdc36ab71cab7cc3eda8dc3. (check-in: ae43e97087 user: dan tags: trunk)
11:02
Additional defense against corrupt database files in dbdata.c. (check-in: 2e70d1e5c9 user: drh tags: trunk)
10:17
Increase the precision of the nData parameter to the dbdataValue() routine inside the sqlite_dbdata virtual table, to avoid the possibility of integer overflow. (check-in: 295447b44f user: drh tags: trunk)
2022-11-08
20:04
Fix a problem with URI formatting in calls to sqlite3rbu_vacuum(zDb, NULL) causing problems on win32. First reported here <https://sqlite.org/forum/forumpost/a7ae915a9d>. (check-in: 77ccc8ea8a user: dan tags: trunk)
19:36
Do not attempt to run test script dbpagefault.test with SQLITE_OMIT_VIRTUALTABLE builds. (check-in: 901918c486 user: dan tags: trunk)
15:49
Fix a problem in main.mk preventing the amalgamation-testfixture target from building. (check-in: ccf00a0e22 user: dan tags: trunk)
2022-11-07
19:40
Further improvements to the handling of the u32 and u16 typedefs in the shell.c source file. (check-in: 55a19677d7 user: drh tags: trunk)
18:36
Improve the ability of mkshellc.tcl to remove redundant typedefs from the generated shell.c code. This is needed to get shell.c to build on older C compilers. (check-in: 3645585f37 user: drh tags: trunk)
18:09
Update this branch to match latest trunk changes. (check-in: 833f6374cc user: dan tags: reuse-schema)
18:00
Add the sqlite3rbu_rename_handler() API. To override the default routine that RBU uses to rename files. (check-in: ebbb1f88e7 user: dan tags: trunk)
17:21
Minor doc updates in speed-check.sh. No code changes. (check-in: d2ed4116fb user: stephan tags: trunk)
15:23
Fix an obsolete comment. (check-in: e377c0a1ef user: drh tags: trunk)
15:01
Fix typo in comment. (check-in: c3b94d7d46 user: drh tags: trunk)
13:06
Add sqlite3.wasm.alloc.impl() as a "public back door" into the low-level non-throwing allocator. Correct sqlite3.WasmAllocError constructor to behave like its usages expect it to and add tests for that. (check-in: cea8bf9a14 user: stephan tags: trunk)
12:21
Fix requirements marks so that they match documentation corrections. (check-in: 10d6189d23 user: drh tags: trunk)
12:12
Minor wasm doc touchups. No code changes. (check-in: 2c44836891 user: stephan tags: trunk)
11:19
Fix the documentation regarding negative length parameters for sqlite3_result_text() interfaces, to point out that the length parameter to sqlite3_result_text64() cannot be negative. Forum post cf1d043b07. Comment/documentation change only. (check-in: 8016507651 user: drh tags: trunk)
11:05
Make sure that the recoverStrlen() function (used internally by the new recovery extension) is 64-bit safe. (check-in: ea30a6bfc4 user: drh tags: trunk)
2022-11-06
17:19
The recoverAssertMutexHeld() function is for testing and verification only and should be a harmless no-op for production builds. [forum/forumpost/b4f2c7d402|Forum post b4f2c7d402]. (check-in: d75504710c user: drh tags: trunk)
13:12
shell.c.in: on non-Windows platforms, check for $XDG_CONFIG_HOME/sqlite3/sqliterc before ~/.sqliterc, per request in forum post 7a16582b1e403c81. (Closed-Leaf check-in: 49c6e438a8 user: stephan tags: sqliterc-xdg-config)
2022-11-05
19:26
Update test file dbpagefault.test to account for the restriction on using SQLITE_VTAB_DIRECTONLY virtual tables from within triggers. (check-in: 2b68fc8aa3 user: dan tags: trunk)
17:52
Fix harmless compiler warnings. (check-in: fe44e7ef53 user: drh tags: reuse-schema)
15:31
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 224eaf2622 user: drh tags: reuse-schema)
2022-11-04
19:09
Merge the latest trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: aa2e247b58 user: drh tags: begin-concurrent-pnu-wal2)
18:58
Merge the latest trunk enhancements into the wal2 branch. (check-in: ca63a1bee1 user: drh tags: wal2)
18:47
Merge the latest trunk enhancements into the begin-concurrent-report branch. (check-in: d8568a848a user: drh tags: begin-concurrent-report)
18:33
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: b361ee983c user: drh tags: begin-concurrent)
18:32
Tweaks to recover module test scripts to work with various permutations. (check-in: 454c61e818 user: dan tags: trunk)
17:07
Another test case fix for auto-vacuum builds. (check-in: c1c47eff48 user: dan tags: trunk)
16:39
Fixes to recover module test scripts so that they may be used with SQLITE_DEFAULT_AUTOVACUUM and SQLITE_SECURE_DELETE builds. (check-in: 0e5597ce53 user: dan tags: trunk)
15:17
Fix Tcl tests so that they again build and run with SQLITE_OMIT_VIRTUALTABLE defined. (check-in: 06a9dbea40 user: dan tags: trunk)
12:59
Remove an unimportant testcase() macro that is no longer reachable due to the improvement in corruption detection. (check-in: cd7e3568a9 user: drh tags: trunk)
11:59
Add another test case for the OP_Found fix. (check-in: 6cdd64a445 user: dan tags: trunk)
11:54
Enhance the ability of the OP_Found and similar opcodes to detect truncated index records and report SQLITE_CORRUPT. dbsqlfuzz 2b12f90aeff8e081706c7e9b58834f04869f446c. Test cases in TH3. (check-in: 059a09da2c user: drh tags: trunk)
09:02
Correct sqlite3-wasm.c's SQLITE_DEFAULT_CACHE_SIZE (it's measured in kb, not bytes). (check-in: 479ad980df user: stephan tags: trunk)
2022-11-03
22:51
Add experimental esm target to ext/wasm/GNUmakefile to tell emcc to generate sqlite3.mjs (ES6 module) instead of sqlite3.js. Related to discussion at ed4596cf8496a39b. (check-in: e55d8eba83 user: stephan tags: trunk)
22:14
Experimentally use clang's C preprocessor to filter #ifdef's out of the generated sqlite3-api.js, the goal being to see if we can feasibly use cpp to include ES6 module-specific code in the main code base and conditionally filter it out. (check-in: 718a6d371e user: stephan tags: js-cpp)
21:21
Globally replace '' with "" for empty JS strings to please C preprocessor. (check-in: e92e1f42be user: stephan tags: trunk)
21:08
Experimental changes that try to identify indexes as covering when they contain expressions which do cover all data uses. This check-in does not work, because the AggInfo object might still refer to individual columns. The purpose of this check-in is to preserve the idea. I might come back to it later. (Leaf check-in: 018914a5a1 user: drh tags: indexed-expr-exp)
2022-11-02
14:08
Minor build cleanups and fix a harmless race condition in the OPFS part of tester1.js. (check-in: 70ee6ee014 user: stephan tags: trunk)
14:08
Clarify documentation regarding the --recovery-db option to ".recover" and the magic 789 configuration option it is associated with. (check-in: f6fa0cffa9 user: drh tags: trunk)
13:09
Minor improvements to API documentation in comments for the recovery extension. (check-in: ed1c3515ad user: drh tags: trunk)
11:53
Add sqlite3_wasm_vfs_create_file() to replace Emscripten's FS.createDataFile() in a (mostly) VFS-agnostic way. Add a test for worker1's export (to bytearray) support. Re-add worker1 open-from-bytearray using sqlite3_wasm_vfs_create_file() but it's untested (requires a new interactive test app or maybe reconsideration). (check-in: b35e1225c9 user: stephan tags: trunk)
11:25
Emcc seems confused by SQLITE_DEBUG, for reasons unknown. Use NDEBUG instead to simplify the #ifdef logic in sqlite3recover.c. (check-in: 2610779ac8 user: drh tags: trunk)
08:49
Fix a symbol name typo which broke and exception-handling case in OPFS xOpen(). (check-in: 5bc83d5695 user: stephan tags: trunk)
08:10
Fix a missing symbol in non-SQLITE_DEBUG builds. (check-in: 17cdcad627 user: stephan tags: trunk)
2022-11-01
21:42
Fix a harmless compiler warning. (check-in: 663a89164f user: drh tags: trunk)
19:35
Instead of (const char*), use a special type - sqlite3_filename - as the filename argument passed to VFS method xOpen(). (check-in: 90df04e5a2 user: dan tags: trunk)
18:56
Fix harmless compiler warnings. (Closed-Leaf check-in: de829770aa user: drh tags: sqlite3_filename)
17:43
Instead of (const char*), use a special type - sqlite3_filename - as the filename argument passed to VFS method xOpen(). (check-in: bd1fe4de8a user: dan tags: sqlite3_filename)
14:13
Fix compilation errors in the recover API seen with MSVC. (check-in: 78d17c4fed user: mistachkin tags: trunk)
13:12
Fix a #ifdef involving SQLITE_OS_KV that was adding code unnecessarily. (check-in: b6c1b6e4a3 user: drh tags: trunk)
12:10
Enforce affinity on materialized tables for subqueries and views. Also, do not allow UNION ALL flattening if the affinity of a result column varies between different arms of the compound. This is a fix for ticket [57c47526c34f01e8]. (check-in: 88a05141c2 user: drh tags: trunk)
12:01
Improvements to comments. Change the "optimization_control" TCL command in the test harness so that it returns the new optimization mask, for verification. (Closed-Leaf check-in: a3a500127d user: drh tags: tkt-57c47526)
11:09
Minor internal cleanups in the js pieces. (check-in: 271391b4e3 user: stephan tags: trunk)
07:49
Significant cleanups and expansion of the sqlite3.opfs utilities. Add oo1.DB.dbVfsName(). Add VFS name to worker1:open's arguments and result. (check-in: 86a341d7e0 user: stephan tags: trunk)
01:07
Do not flatten a UNION ALL subquery where the column affinities do not match on all arms. Force that subquery to be materialized. (check-in: 1b8a128832 user: drh tags: tkt-57c47526)
00:52
Enforce column affinity on the materialization of a subquery or view. (check-in: b6692de374 user: drh tags: tkt-57c47526)
2022-10-31
18:11
Make the UPDATE method of the sqlite_dbpage virtual table rebust against OOM errors. Forum post bbcf0dd6ca. Test case in TH3. (Leaf check-in: 852f2c9583 user: drh tags: branch-3.39)
18:04
Extra OOM check in shell_error_context() of the CLI. forum post 5708841db0. (check-in: d6893183c2 user: drh tags: branch-3.39)
18:01
Make the UPDATE method of the sqlite_dbpage virtual table rebust against OOM errors. Forum post bbcf0dd6ca. Test case in TH3. (check-in: d15c9a4a32 user: drh tags: trunk)
13:50
Worker1: use a list, rather than a single slot, to manage the default db link so that we can keep the least-recently-opened db as the default. Re-introduce worker1.export() but do not yet expose it until an equivalent import() (or open() option) is implemented. (check-in: c7750c101d user: stephan tags: trunk)
11:53
Internal tweaks to the OPFS VFS result codes. (check-in: 32e1a2d2eb user: stephan tags: trunk)
11:09
Add oo1.DB.exec() 'returnValue' option, which specifies what exec() should return. Defaults to the db object and enables direct return of the result rows array or a list of the individual SQL statements. Other code-adjacent internal cleanups. (check-in: 69d36a6aa5 user: stephan tags: trunk)
10:53
Avoid a segfault that could occur when running the recover API on a database handle with memory-mapping enabled. (check-in: e02c697281 user: dan tags: trunk)
01:22
Extra OOM check in shell_error_context() of the CLI. forum post 5708841db0. (check-in: cb12ac5de1 user: drh tags: trunk)
2022-10-30
11:39
Add oo1.DB.selectArray() and selectObject(). (check-in: 7660db2a2e user: stephan tags: trunk)
11:22
Refactoring towards being able to distinguish locking-related errors from non-locking errors in OPFS VFS operations. On a branch because it's not yet clear whether this is a misuse of the SQLITE_IOERR_... codes. Edit: indeed, this is a misuse of the result codes. (Closed-Leaf check-in: 646fe2ce87 user: stephan tags: opfs-locking-result-codes)
10:24
Adjust automatic OPFS locking retries such that they will wait up to a total of 3 seconds spanning 4 attempts. (check-in: bbce49d81a user: stephan tags: trunk)
09:47
Minor WASM build cleanups. Enable custom Module.instantiateWasm() when not in WASMFS mode (where it doesn't work). Add sqlite3.debugModule URL param to enable some module-init-time debugging output. (check-in: 50f678846a user: stephan tags: trunk)
08:39
Reduce wasm module's starting memory from 128mb to 16mb. The latter value is needed only for WASMFS-based batch-runner.js, as WASMFS builds cannot be configured for dynamic memory growth without a tremendous performance hit. (check-in: ed9d93c487 user: stephan tags: trunk)
07:01
Minor updates to the Windows batch tools. (check-in: b42f56205f user: mistachkin tags: trunk)
2022-10-29
12:31
Update ext/wasm/README.md for recent developments. (check-in: c76ec31ebf user: stephan tags: trunk)
10:14
More styling of module-symbols.html. (check-in: a36f42a836 user: stephan tags: trunk)
09:45
Expand and document the wasm doc-update make rules. Extend the dist rules to fail more readily if there's a problem. (check-in: 362ec11ec0 user: stephan tags: trunk)
07:54
Move the sqlite3.capi.wasm namespace to sqlite3.wasm. This causes a tiny bit of naming confusion with the sqlite3.wasm *file*, but seems to make more sense than having it as a sub-namespace of capi. (check-in: 3f16eb18d6 user: stephan tags: trunk)
2022-10-28
18:52
Fix harmless compiler warnings in testing code. (check-in: 2f53612388 user: drh tags: trunk)
18:35
Add sqlite3recover() support to fuzzcheck. (check-in: e65c5bdc5b user: drh tags: trunk)
14:33
Remove sqlite3_interrupt() from the WASM build, as it is essentially impossible to employ in JS's threading model. (check-in: e853875900 user: stephan tags: trunk)
11:40
Add ext/wasm/module-symbols.html. Adjacent minor JS touchups. (check-in: 24f12e681e user: stephan tags: trunk)
10:36
Minor sqlite3.oo1 API reorg prompted by documenting. (check-in: 55237924ca user: stephan tags: trunk)
2022-10-27
23:17
Fix a minor problem with sqlite_dbdata. (check-in: 58c2e49279 user: drh tags: trunk)
20:27
Fix another crash in the recover extension triggered by a corrupt database. (check-in: d125377378 user: dan tags: trunk)
19:06
Fix another problem to do with recovering from in-memory databases. (check-in: 5a7bfd4a21 user: dan tags: trunk)
19:02
Ensure that the VFS wrapper in the recover extension does not attempt to invoke undefined methods on the underlying VFS. (check-in: 347c575108 user: dan tags: trunk)
18:35
Fix an assert() failure in the recover extension triggered by a zero value as the first page-number in an overflow page chain. (check-in: 44c0874c33 user: dan tags: trunk)
18:20
In the CLI, ensure that input to utf8_width_print is not NULL, or if it is, change it to an empty string. For for the problem reported by forum post 2961cf13eec61876. (check-in: 9ecc9d25ea user: drh tags: trunk)
18:19
Change the name of the ".recover" command option "--freelist-corrupt" to "--ignore-freelist". (check-in: afce8443ac user: dan tags: trunk)
14:41
speedtest1.html: when vfs==kvvfs, increase --size from 2 to 4, as enabled by [a4d40f6346e7]. --size 5 is 4.96mb out of (supposedly) 5mb, which works but is a bit too close to the edge. (check-in: a608d584a8 user: stephan tags: trunk)
14:28
Automatically set temp_store=MEMORY if the VFS is kvvfs. (check-in: a4d40f6346 user: drh tags: trunk)
14:00
Do not accept a NULL pointer for the filename in KVVFS. (check-in: fdecbd3b5b user: drh tags: trunk)
12:46
The kvvfs VFS should remember the page size when writing to the database. (check-in: fc5503c8ac user: drh tags: trunk)
11:32
Re-enable the .recovery and .dbinfo commands in shell.c.in in the fiddle build, as those were fixed by [3d20d77a3511] and [cd0aa27d1732]. (check-in: ba3a7a4a99 user: stephan tags: trunk)
11:25
Do not use sqlite3_result_text16() in the recover extension if SQLITE_OMIT_UTF16 is defined. (check-in: 3d20d77a35 user: dan tags: trunk)
11:12
Fix a problem with running ".recover" on an in-memory database. (check-in: 87b4cca2b8 user: dan tags: trunk)
10:51
Do not use sqlite3_mutex_xxx() functions in sqlite3recover.c when built with SQLITE_THREADSAFE=0. (check-in: cd0aa27d17 user: dan tags: trunk)
03:57
Minor doc typo fixes. (check-in: ed8d3f25a4 user: stephan tags: trunk)
03:56
Restructure and simplify the feature-detection #defines of the recovery support in shell.c.in and disable it when building fiddle because it uses features we elide from the wasm build (e.g. utf16), leading to link errors. (check-in: ddd10c05c5 user: stephan tags: trunk)
03:03
Expose sqlite3_randomness() to WASM and add a custom binding for it which can populate a JS byte array. Add WhWasmUtil.isPtr(). (check-in: 333e67076b user: stephan tags: trunk)
2022-10-26
21:14
Disable the push-down optimization for sub-queries that are INTERSECT, UNION or EXCEPT compounds. dbsqlfuzz a34f455c91ad75a0cf8cd9476841903f42930a7a. This corrects an issue that was introduce 12 days earlier by [ed14863dd72e35fa]. (check-in: 346a3b12b8 user: dan tags: trunk)
20:12
Remove an unused variable from the recovery extension. (check-in: a029dddff4 user: drh tags: trunk)
18:41
Add the "recover" extension in ext/recover/, for salvaging data from corrupt databases. (check-in: a820792548 user: dan tags: trunk)
18:29
Remove an undefined left-shift operation from the recover extension. (Leaf check-in: a67082357a user: dan tags: recover-extension)
18:22
Merge further changes from trunk, including fix to dbdata.c. (check-in: bcf6b48d52 user: dan tags: recover-extension)
18:04
Make the shell .recover command and the dbdata.c module more robust in the face of corrupted databases. (check-in: 4eef562a00 user: dan tags: trunk)
15:40
Correct misuse of localhost-mode-only symbol S in fiddle-worker.js, which should fix the outage reported in forum post 67d985ac0bbe407f. (check-in: 3b5aa50c22 user: stephan tags: trunk)
15:34
Corrected link to fiddle in ext/wasm/index.html (broken by [3d7b4f36b7dd]). (check-in: 6efa0bae16 user: stephan tags: trunk)
11:27
Replace the newly-removed oo1.DB.getFilename() with DB.dbFilename() with the hope that the distinction from the dbInstance.filename property is clearer. (check-in: 0b80543d75 user: stephan tags: trunk)
11:12
Remove oo1.DB.hasFilename() and getFilename(), as they are unnecessary. (check-in: 75c546b982 user: stephan tags: trunk)
11:11
Remove the sqlite3StdTypeMap global constant that was made obsolete by [aa6e908619624867]. (check-in: 3dfdfb3f12 user: drh tags: trunk)
06:05
Add --download-version flag to ext/wasm/version-info.c and correct dist target's output version format to match. (check-in: 6f2a40d06d user: stephan tags: trunk)
2022-10-25
16:57
Add doc page link to the wasm dist README.txt. (check-in: c2380668d9 user: stephan tags: trunk)
16:04
Correct -O level for fiddle build when built from the top-most directory (-Os instead of -O0). (check-in: ff4fc29c38 user: stephan tags: trunk)
15:59
Rename fiddle.html to index.html and move fiddle push-to-server rules from GNUmakefile into fiddle.make. (check-in: 3d7b4f36b7 user: stephan tags: trunk)
15:38
speedtest1: use the current (or default) vfs->xDelete method to unlink the db. This is specifically necessary when running the opfs vfs in a wasm build of speedtest1. This worked without this fix until recently because the affected test code was performing similar acrobatics in its stead. (check-in: d3c830bd37 user: stephan tags: trunk)
13:46
Fix the ".dump" command in the CLI so that it is more rebust against corrupt database files. At the same time, enhance the sqlite3_strglob() and sqlite3_strlike() interfaces so that they will do sensible things with NULL string pointers. (check-in: 681c85ef69 user: drh tags: branch-3.39)
13:44
Enhance the sqlite3_strglob() and sqlite3_strlike() interfaces so that they will do sensible things with NULL string pointers. This is an extra layer of defense against bugs such as reported by forum post 730b554179. (check-in: 8ba9c884bd user: drh tags: trunk)
13:42
Make the ".dump" command of the CLI more robust against malformed databases. See forum post 730b554179. (check-in: 0573edfb9e user: drh tags: trunk)
11:05
Merge latest trunk changes with this branch. (check-in: 757e3f5859 user: dan tags: recover-extension)
08:41
Minor doc tweaks in the JS GNUmakefile. (check-in: 9c8df130b8 user: stephan tags: trunk)
08:15
Remove persistence from the 'reverse log order?' checkbox in tester1.js to eliminate an inconsistency between the main-thread and worker-thread modes (the latter having no option for persistence of that setting). (check-in: ecf906b07f user: stephan tags: trunk)
08:06
Minor cleanups and doc improvements in the OPFS sqlite3_vfs proxy. (check-in: 48645f7bca user: stephan tags: trunk)
2022-10-24
21:58
This check-in attempts to make the SrcItem object smaller by combining the zDatabase and pSchema fields into a single union. It mostly works, but there are some issues, and the performance savings is minimal. So it is side-tracked onto this dead-end branch. (Closed-Leaf check-in: 80fbb30f28 user: drh tags: failed-opt-attempt)
18:42
Fix typo in comment. (check-in: f65c95658f user: drh tags: trunk)
18:33
Add a comment to a previously undescribed member of the Walker union. (check-in: 69d704224e user: drh tags: trunk)
15:51
Use the same "PRAGMA synchronous" setting for the output of a "VACUUM INTO" as are configured for the database being vacuumed. (check-in: 86cb21ca12 user: dan tags: trunk)
13:50
Improve the ability of the query planner to recognize covering indexes even on tables with more than 63 columns and where the index is over columns beyond the 63rd column. (check-in: 3d1992de47 user: drh tags: branch-3.28)
13:20
Improve the ability of the query planner to recognize covering indexes even on tables with more than 63 columns and where the index is over columns beyond the 63rd column. (check-in: f058773e41 user: drh tags: trunk)
12:38
Update the fuzzinvariant logic in fuzzcheck to the latest code from dbsqlfuzz. (check-in: 739ad58476 user: drh tags: trunk)
11:10
Fix built-in documentation for the ".mode qbox" command in the CLI. (check-in: 3d7ea33be1 user: drh tags: trunk)
11:02
Test cases for covering indexes on wide tables. (Closed-Leaf check-in: 64c3777eb3 user: drh tags: covering-index-enh)
2022-10-23
20:09
The wide-table covering index detection must take into account aggregate queries. (check-in: 9ac73f83c5 user: drh tags: covering-index-enh)
2022-10-22
23:09
More frequently send the complete SELECT statement into sqlite3WhereBegin() so that it can more accurately determine index coverage. (check-in: f6d09c5a0d user: drh tags: covering-index-enh)
20:13
Enhance the query planner with the ability to discern when an index is covering even when it indexes columns well beyond the 63rd column. (check-in: 1390417be4 user: drh tags: covering-index-enh)
14:16
This branch attempts to improve the detection of covering indexes. This first check-in merely improves a parameter name to sqlite3WhereBegin() to be more descriptive of what it contains, and ensures that a subroutine is not inlines so that sqlite3WhereBegin() runs slightly faster. (check-in: cadf5f6bb1 user: drh tags: covering-index-enh)
13:49
Clarification on the meaning of SrcList and SrcItem and especially the SrcItem.colUsed and Index.colNotIdxed fields. Comment changes only - no changes to code. (check-in: d96f6cc847 user: drh tags: trunk)
2022-10-21
20:12
Begin transitioning the fixed-length (64-bit) bitmap used to keep track of the subset of columns of a table that are used by a query into a more general structure that can work with wide tables. Experimental. (Closed-Leaf check-in: 5dd7858820 user: drh tags: column-set)
17:48
Add SQLITE_DQS to the compileoptions_used list, per request in forum post 8b1060122b. Force DQS=0 in sqlite3-wasm.c. (check-in: fcd9e0dbe3 user: stephan tags: trunk)
17:37
Macro name typo fix in OS_KV builds. (check-in: 9cf1142b0c user: stephan tags: trunk)
17:18
Ensure that the RtreeCell object in rtreeUpdate has all bytes initialized. (check-in: 1e38742bde user: drh tags: trunk)
06:58
Add kvvfs tests to tester1.js. Fix a scopedAlloc() misuse in oo1.DB ctor caused by refactoring earlier this morning (and caught by these new tests). (check-in: 8e0f001ab7 user: stephan tags: trunk)
06:26
Add timing info and OPFS sanity tests to tester1.js (check-in: 99915b0076 user: stephan tags: trunk)
05:27
Expose sqlite3_vfs_unregister() to WASM and unregister kvvfs in Worker threads to avoid its unintended use there (in contexts other than local/sessionStorage). Correct registration of window functions, extend oo1.DB.createFunction() to support window functions, and add window function tests to tester1.js. Correct an incorrect 1-arg handling case for DB.exec(). Add per-test assertion counts to tester1.js. (check-in: f07ce15479 user: stephan tags: trunk)
2022-10-20
23:48
Make semantics for UDF xFinal() result handling and error reporting handling more flexible. (check-in: 89f3e1982e user: stephan tags: trunk)
21:28
Add more JS tests. Flesh out the aggregate UDF tests to use sqlite3_aggregate_context() so that they can each be used multiple times in the same statement. Add sqlite3_js_aggregate_context() convenience helper. (check-in: 9d034ef5e1 user: stephan tags: trunk)
18:58
Apply magic.txt correction and addition reported in forum post 2d2366a04a0385. (check-in: 9bf26e2aa3 user: stephan tags: trunk)
18:31
Rename sqlite3_web_... to sqlite3_js_... Document the worker1.close.unlink option. Fix unlink usage in speedtest1.html. Minor JS build cleanups. (check-in: ac9af71b72 user: stephan tags: trunk)
16:30
Add a bit to the optimization disabling mask for the indexed expression optimization. (check-in: 56df1482ab user: drh tags: trunk)
16:22
Add test case for previous commit. (check-in: 535867a9c8 user: dan tags: trunk)
16:12
Only enable the bMaybeNullRow flag on IndexedExpr for an index on an expression, not on a virtual column. But do enable it for the right operand of a right join. (check-in: a9657c87c5 user: drh tags: trunk)
13:36
The generalized indexed expression optimization of [2435112867fbd7b6] makes the prior [a47efb7c8520a011] enhancement from 2017 obsolete. This check-in removes the older optimization. (check-in: 56442c9bdd user: drh tags: trunk)
10:46
Fix minor problems in test1.c test code. (check-in: 6e545e2b84 user: dan tags: trunk)
05:14
Rework sqlite3_wasm_vfs_unlink(), add sqlite3_wasm_db_vfs(), update some docs. (check-in: cdd46858f0 user: stephan tags: trunk)
04:00
Minor internal JS cleanups. (check-in: 818ef0b5c9 user: stephan tags: trunk)
2022-10-19
18:04
In the CLI, never use strcmp() or strncmp() directly. Instead use wrapper functions cli_strcmp() and cli_strncmp() that work correctly even if the input is a NULL pointer. Forum post 142b868da7560d0b. (check-in: 7450a561f8 user: drh tags: trunk)
18:03
Move file /ext/misc/dbdata.c to the /ext/recover/ directory. (check-in: f6d5ac807e user: dan tags: recover-extension)
11:58
Fix references to "SrcList_item" in comments as that object has since [bfd5bf2c73110fcb] (2021-02-21) been called "SrcItem". Comment changes only. No changes to code. (check-in: e3648a07f5 user: drh tags: trunk)
11:22
If a query uses an index where one or more of the columns of the index is an expression and if the corresponding expression is used elsewhere in the query, then strive to read the value of the expression out of the index, rather than recomputing it. This is the "Indexed Expression Optimizations". (check-in: 3da1032878 user: drh tags: branch-3.28)
10:56
If a query uses an index where one or more of the columns of the index is an expression or a virtual column, and if the corresponding expression is used elsewhere in the query, then strive to read the value of the expression out of the index, rather than recomputing it. This is the "Indexed Expression Optimizations". (check-in: 2435112867 user: drh tags: trunk)
07:51
Update the wasm/js 'push' rule to account for this morning's changes. (check-in: c4a0f745fb user: stephan tags: trunk)
07:34
Rename several demo/test files and include more of them in the end-user dist archive. (check-in: 9c85835f6f user: stephan tags: trunk)
06:14
Minor wasm/js build tweaks. (check-in: bcbee1ec01 user: stephan tags: trunk)
06:06
Update the dist rules for this evening's js/wasm build changes and include an index.html specifically for the subset of apps included in the dist archive. (check-in: a0ef0f32e9 user: stephan tags: trunk)
04:44
Apply considerable acrobatics to get the JS/WASM deliverables building to and loadable from a directory other than the one which contains the app-level code. Requires an only-slightly-leaky abstraction of passing a URL argument when loading sqlite3.js but provides much greater flexibility in where the JS/WASM files are located. (check-in: 6d468dab9e user: stephan tags: trunk)
01:07
Considerable wasm/js build cleanups and reworking. Remove wasmfs builds from the end-user deliverables and disable the wasmfs build by default, per /chat discussion, as it doubles our deliverable count for only marginal gain. Attempt to move the sqlite3.js/wasm files into subdirectories but rediscovered that that breaks loading in Worker mode because URI resolution of the wasm files differs depending on whether the main script is loaded from a script tag or a Worker. (check-in: 5b23e0675e user: stephan tags: trunk)
2022-10-18
22:37
If a virtual column whose value is constant gets indexed, do not include that column in the IndexedExpr list. dbsqlfuzz 59ac17a99b9a5c4930ee71cc153c9428a0c0e794 (Closed-Leaf check-in: c21eb903f0 user: drh tags: index-expr-opt)
20:36
More work on the JS end-user deliverables. Add tool/stripccomments.c to support that. (check-in: 2156f0744a user: stephan tags: trunk)
20:27
Improved byte-code comments for the OP_Column opcodes used by the indexed expression optimization. (check-in: bf6d837fdd user: drh tags: index-expr-opt)
16:47
Fix the indexed expression resolver for generated columns so that it picks the correct table in a self-join. (check-in: 54c3eb085a user: drh tags: index-expr-opt)
16:32
Merge recent trunk fixes into the index-expr-opt branch. (check-in: 6198ab4b87 user: drh tags: index-expr-opt)
15:02
Add new test file windowE.test, to test the window functions modules response to an inconsistent collation sequence. (check-in: 740a2eb092 user: dan tags: trunk)
13:27
Correct sort order for serial-type 10 entries in the database file. This is a continuation of [4fb77e96fa89a23a]. (check-in: 904b54625d user: drh tags: trunk)
11:28
Merge trunk fixes into the index-expr-opt branch. (check-in: c7b9cc645b user: drh tags: index-expr-opt)
10:27
Fix sqlite3VdbeRecordCompareWithSkip() so that it sorts the internal-use serial-type of 10 together with NULLs. dbsqlfuzz 5ff35e9d49a5fcca5051e23960ff2f483a538bab (check-in: 4fb77e96fa user: drh tags: trunk)
2022-10-17
17:36
Add ext/wasm/README-dist.txt, intended to have been in the previous checkin. (check-in: c9080b6505 user: stephan tags: trunk)
17:34
Initial draft of archive generation for the wasm/js deliverables. (check-in: f6cee114c7 user: stephan tags: trunk)
16:47
Repair version-info.c after a local mishap caused all of the intended edits from [36e197cb3d0c]/[e9b407a4d0a0] to get deleted before checkin. Simplify version-info build (only requires sqlite3.h, not the library). (check-in: 6e511df500 user: stephan tags: trunk)
16:31
Merge trunk changes into the index-expr-opt branch. (check-in: a1485ce6c8 user: drh tags: index-expr-opt)
16:29
Fix a potential call to strlen() with a null argument in the command-line shell following an OOM error. forum post 9c4f2ebe22. (check-in: 67bb8eda73 user: drh tags: branch-3.39)
16:09
Fix a potential call to strlen() with a null argument in the command-line shell following an OOM error. forum post 9c4f2ebe22. (check-in: b6413a6dff user: drh tags: trunk)
15:53
Missing file-rename for the previous checkin. (check-in: e9b407a4d0 user: stephan tags: trunk)
15:52
Rework ext/wasm/version-info.c to make it more useful for the upcoming dist build rules. (check-in: 36e197cb3d user: stephan tags: trunk)
14:46
Improved comments and function names. No logic changes. (check-in: 8f460b3b15 user: drh tags: index-expr-opt)
14:30
Get the indexed expression optimization working for virtual generated columns. (check-in: 8a510cb088 user: drh tags: index-expr-opt)
14:29
Merge trunk enhancements into index-expr-opt branch. (check-in: 56ef97e64e user: drh tags: index-expr-opt)
10:15
Make use of alloca() in wherePathSolver() when SQLITE_USE_ALLOCA is defined. (check-in: 4575247152 user: drh tags: trunk)
09:56
Remove a use of alloca() that does more harm than good. (check-in: 2ab3cf4d71 user: drh tags: trunk)
2022-10-16
23:33
Typo fix. (check-in: 650126c92a user: stephan tags: trunk)
18:57
Minor tweak to get bring an edge case of oo1.DB.createFunction() into aggreement with its docs. (check-in: 8d59ccd9f3 user: stephan tags: trunk)
18:50
Add aggregate function support to sqlite3.oo1.DB.createFunction(). Change signature of the options object used by that function so that the callback property names match those of the corresponding C APIs. (check-in: a7db6e4b50 user: stephan tags: trunk)
16:38
JS: add build-time-generated version info to the sqlite3.version object. Remove some stray debug output from tester1.js. (check-in: b5f462c2d8 user: stephan tags: trunk)
15:38
Add a top-level license and build-time version info header to generated sqlite3*.js. Correct a broken link in ext/wasm/index.html. (check-in: 0f1a06e8e3 user: stephan tags: trunk)
2022-10-15
19:18
Exclude slow test recovercorrupt.test from veryquick.test. (check-in: ff9a733532 user: dan tags: recover-extension)
18:26
Add missing comments and fix other code issues. (check-in: 8ed4e4a80d user: dan tags: recover-extension)
15:39
Merge latest trunk changes. (check-in: 42255ead8e user: dan tags: recover-extension)
12:01
Enable the index-on-expression optimization even when the expression is used as an argument to an aggregate function. (check-in: 462b3c7f39 user: drh tags: index-expr-opt)
11:27
Only extract an expression from an index when the index is not a null row in an outer join. (check-in: 08b033c737 user: drh tags: index-expr-opt)
2022-10-14
19:56
Merge fixes from trunk. (check-in: 1cb65f36c3 user: drh tags: index-expr-opt)
19:30
Fix a problem with using the push-down optimization on compound SELECTs where component SELECTs use different collation sequences. dbsqlfuzz 11516f050100243e5a845f5a2b48a90ed2efaf2e. This problem appears to go all the way back to the beginning of the push-down optimization in check-in 6df18e949d367629 in SQLite 3.8.11. (check-in: ed14863dd7 user: dan tags: trunk)
19:21
Add missing initializer from the extension loader. Fix for check-in [d6d449978245b4fa]. (check-in: 565d74c36f user: drh tags: trunk)
15:52
Generic minor cleanups and docs in the OPFS async proxy. (check-in: a4423ca234 user: stephan tags: trunk)
15:46
Handle recovering databases with reserved bytes at the end of each page. (check-in: 52d0235ef3 user: dan tags: recover-extension)
15:10
Fix a problem in the LIKE and GLOB operators that may occur when the character immediately following a "%" or "*" wildcard is U+80. Reported by forum post 61bf7ccbdf. (check-in: 2da677c45b user: dan tags: trunk)
13:26
Remove a resolved TODO comment. (check-in: 32fd4ac382 user: stephan tags: trunk)
02:00
Cancel IndexExpr objects when they go out of scope. (check-in: 0963519371 user: drh tags: index-expr-opt)
2022-10-13
21:08
This experimental branch attempts to use columns for an index-on-expression in place of the expression that is being indexed. This particular check-in mostly works, but there are still issues. (check-in: 2e8d4fd4cf user: drh tags: index-expr-opt)
20:06
Add tests for detecting page size of databases. (check-in: 31f9e2369f user: dan tags: recover-extension)
16:48
Move the rest of testing1.js into tester1.js and eliminate the dependency on jaccwabyt_test.c. Extend the list of default config-related #defines in sqlite3-wasm.c and reorganize them for maintainability. (check-in: 4e2a8aff2d user: stephan tags: trunk)
15:09
Optimize the IS NULL and IS NOT NULL operators so that they avoid loading large strings or blobs off of disk if all it needs to know is whether or not the string or blob is NULL. (check-in: cb94350185 user: drh tags: trunk)
14:54
Improvements to the description of the OPFLAG_TYPEOFARG option to OP_Column. (Closed-Leaf check-in: 5e9c67ba18 user: drh tags: isnull-opt)
14:35
Adjust the implementation of sqlite3VdbeTypeofColumn() to make it easier to test (and slightly smaller). (check-in: 79fdd021df user: drh tags: isnull-opt)
14:01
Fix a typo in the documentation of the OP_Column opcode. Forum post a2b5bd6d43. (check-in: 043e76e616 user: drh tags: trunk)
12:47
Proposed optimization to the IS NULL and NOT NULL operators that avoids loading the entire content of larges strings and BLOBs. Response to forum post 3c08d4715dc05b00. (check-in: 45f1715654 user: drh tags: isnull-opt)
08:03
Port the first 180-odd unit tests from testing1.* into the new tester1.*. Fix a stray-keystroke-induced typo which broke pstack.allocChunks(). (check-in: ef689e33e4 user: stephan tags: trunk)
2022-10-12
18:40
Updates to the fuzzer query invariant checker - tracking changes made over in dbsqlfuzz. (check-in: 4ca16a304a user: drh tags: trunk)
18:30
Changes to Makefile.msc to fix the build on Windows following the previous merge. (check-in: 368fa6b25b user: drh tags: trunk)
18:13
Merge fiddle-opfs branch into trunk. (check-in: 98f954942a user: stephan tags: trunk)
16:35
Merge trunk into fiddle-opfs as a preliminary step for a clean merge in the other direction. (Closed-Leaf check-in: 5e1848ce38 user: stephan tags: fiddle-opfs)
15:54
Add initial infrastructure for setting up function/regression tests for the JS/WASM APIs. (check-in: 7f5db9829b user: stephan tags: fiddle-opfs)
15:40
Minor doc cleanups and corrections in sqlite3-wasm.c (check-in: 5144c122a9 user: stephan tags: fiddle-opfs)
14:39
Correct mismatched H1 tags in test code. Minor CSS tweaks. (check-in: 4d8eb90a37 user: stephan tags: fiddle-opfs)
12:49
Add the sqlite3_value_encoding() interface. (check-in: d6d4499782 user: drh tags: trunk)
2022-10-11
13:57
Enhance the OP_IsType opcode so that it is slightly smaller and faster and so that it works correctly with invalid serial-type codes 10 and 11. (check-in: 846f863e0d user: drh tags: trunk)
12:02
Improved the ability of the CLI to handle very long input lines. Potentially a fix for the bug reported by forum post fa4bb2941a. (check-in: d0e107ee00 user: drh tags: trunk)
2022-10-10
23:54
Enhance the "PRAGMA integrity_check" statement so that it verifies datatype constraints on non-STRICT tables: (1) Columns with TEXT affinity should not contain numeric values, and (2) columns with NUMERIC affinity should not contain TEXT values that could be converted into numbers. (check-in: aa6e908619 user: drh tags: trunk)
21:21
Code clean-up for the integrity_check enhancement. (Closed-Leaf check-in: a140173102 user: drh tags: integrity_check_datatypes)
19:38
Fix corner-case bugs in the new integrity_check logic. All tests pass now. (check-in: dbab9d52a8 user: drh tags: integrity_check_datatypes)
18:25
An attempt to enhance PRAGMA integrity check so that it does data type checking on non-STRICT tables. Specifically: (1) Columns with TEXT affinity should not contain numeric values, and (2) columns with numeric affinity should not contain text values that can be converted to numeric. (check-in: 8b1e7f0524 user: drh tags: integrity_check_datatypes)
12:10
Improved detection of database corrupting when moving pages on an autovacuumed database when creating a new btree. dbsqlfuzz 9a55397eae13cec64aebf1fd35489c3a90bdaac5 (check-in: 835e191213 user: drh tags: branch-3.39)
12:02
Improved detection of database corrupting when moving pages on an autovacuumed database when creating a new btree. dbsqlfuzz 9a55397eae13cec64aebf1fd35489c3a90bdaac5 (check-in: 327965bc71 user: drh tags: trunk)
2022-10-09
17:08
Remove some extraneous debug output. (check-in: 56ff42053f user: stephan tags: fiddle-opfs)
17:03
Remove a now-unnecessary --cachesize flag for the OPFS sqlite3_vfs speedtest1-worker.html invocation. (check-in: 08b516d695 user: stephan tags: fiddle-opfs)
15:12
Minor cleaups in the post-init async phase of sqlite3 module initialization. (check-in: 2e024a6b53 user: stephan tags: fiddle-opfs)
13:35
Remove ext/wasm/kvvfs.make which was inadvertently resurrected in [92b500da70a3]. (check-in: 2e7fa085fc user: stephan tags: fiddle-opfs)
13:33
Cherrypick [ea370b9b05f7ed7eaa] and part of [92b500da] into kv-vfs branch. (Leaf check-in: 812638039e user: stephan tags: kv-vfs)
13:26
Refactor kvvfs JS bits to make use of [ea370b9b05f7ed7eaa]. At main-thread startup, if kvvfs is available, replace the kvvfs I/O methods with JS impls. Checkin part 2 of 2, to account for cherrypicking [ea370b9b05f7ed7eaa] into the kv-vfs branch. (check-in: a9047e020a user: stephan tags: fiddle-opfs)
13:19
Refactor os_kv.c so that the kvvfs read/write/delete methods can be swapped out at runtime by JS implementations. This eliminates the kvvfs dependency on Emscripten. Checkin part 1 of 2, to account for cherrypicking. (check-in: ea370b9b05 user: stephan tags: fiddle-opfs)
11:42
Add -DSQLITE_OS_KV_OPTIONAL to speedtest1 flags for kvvfs testing purposes. (check-in: 92b500da70 user: stephan tags: fiddle-opfs)
2022-10-08
17:27
When casting an odd-length BLOB into a TEXT with encoding UTF16, omit the last byte. dbsqlfuzz c5df68b5bbdf6c9f3c1851e41e88f49ac05c9969 (check-in: 1e2796b374 user: drh tags: trunk)
2022-10-07
19:11
Fix a problem causing the seek-scan optimization to skip over valid rows that could occur when it is used with expressions of the form (a IN (?,?..) AND b >= ?). dbsqlfuzz ab1db6dc0efb04cba1cd3431ee6da4894fdc4520. (check-in: b6be4ce6db user: drh tags: branch-3.39)
18:57
Fix a problem causing the seek-scan optimization to skip over valid rows that could occur when it is used with expressions of the form (a IN (?,?..) AND b >= ?). dbsqlfuzz ab1db6dc0efb04cba1cd3431ee6da4894fdc4520. (check-in: 63d9efe277 user: dan tags: trunk)
18:06
Fix a problem that occurred when using a bloom filter to optimize an (ipk = ?) lookup in the case where the RHS of the expression is a TEXT value. First reported by forum post f61a8b7053. (check-in: dc01d9d8d8 user: drh tags: branch-3.39)
17:58
Increase the version number to 3.39.5. (check-in: 8eb0048ece user: drh tags: branch-3.39)
15:55
Improved tracing output for showing all registers used by the OP_SeekGE opcode. This applies to debugging builds only. (check-in: 0aa6dee7f7 user: drh tags: trunk)
2022-10-06
21:00
Ensure the page-size, auto-vacuum and other settings are copied into the recovered database. (check-in: 078520f282 user: dan tags: recover-extension)
17:20
Add code to determine the database page-size by searching for well-formed pages. (check-in: 0dbd0ccef5 user: dan tags: recover-extension)
14:10
Fix a problem that occurred when using a bloom filter to optimize an (ipk = ?) lookup in the case where the RHS of the expression is a TEXT value. First reported by forum post f61a8b7053. (check-in: 8e14c351b2 user: dan tags: trunk)
2022-10-05
16:58
Improve handling of corruption in the sqlite_schema table b-tree structure. (check-in: 2be0dba12f user: dan tags: recover-extension)
2022-10-04
19:47
Merge latest trunk changes. (check-in: b0feecaa84 user: dan tags: recover-extension)
19:43
Better handling for databases with corrupt headers. (check-in: 17f68d8036 user: dan tags: recover-extension)
17:06
Replace time-based auto-unlock of opfs sync handles with lock acquisition/release via sqlite3_io_methods::xLock/xUnlock(). (check-in: 2625b7cfe1 user: stephan tags: fiddle-opfs)
14:50
Attempt to clarify the operation of the xLock and xUnlock VFS I/O methods. Assert() statements added to prove that they behave as the documentation says. (check-in: 3efa811251 user: drh tags: trunk)
11:14
Tweaks to the opfs async wait/relinquish times. (check-in: 35f33c23e5 user: stephan tags: fiddle-opfs)
10:35
Change the name of the autoconf-generated configuration file from "config.h" to "sqlite_cfg.h" to work around a bug in a dependency checker, reported in a tweet from Joey Castillo. (check-in: 897e187cad user: drh tags: trunk)
09:12
Update ext/wasm/api/README.md to account for recent changes. (check-in: 9d488081fc user: stephan tags: fiddle-opfs)
09:12
OPFS async proxy: add a wait-and-retry policy to the get-sync-handle step to help account for cross-tab locking. (check-in: 45c48c63d3 user: stephan tags: fiddle-opfs)
08:58
Update the 'start in speedtest kvvfs' link in speedtest1-worker to account for recent changes. (check-in: f4d5ba412e user: stephan tags: fiddle-opfs)
01:21
Minor pstack doc update. (check-in: 6b4fb7c4e3 user: stephan tags: fiddle-opfs)
01:11
Minor cleanups and additions in sqlite3.capi.wasm.pstack. (check-in: 97bd670d38 user: stephan tags: fiddle-opfs)
00:54
Add a test/debug mechanism to shut down the OPFS async listener so that it can be inspected (it normally can't be because its tight event-listening loop ties up the thread) and then restarted. (check-in: 7d0bcff4e9 user: stephan tags: fiddle-opfs)
2022-10-03
23:13
Set default page cache size to 16mb in wasm builds. Fix an off-by-one counter in sqlite3_wasm_enum_json(). Minor coding style conformance tweaks. (check-in: 72a9e589cc user: stephan tags: fiddle-opfs)
22:51
Add a --cachesize flag to the speedtest1-worker-opfs link in index.html because opfs is much faster with that. (check-in: 5b8f8e33af user: stephan tags: fiddle-opfs)
22:38
Minor JS doc updates and typo fixes. (check-in: 3cfcc14dfd user: stephan tags: fiddle-opfs)
18:23
In os_kv.c, every xWrite method call on a database should record the page size. (check-in: e9411c74fc user: drh tags: kv-vfs)
18:07
Add configurable cache_size to batch-runner and speedtest1-worker. Add SQL tracing to demo-123.js just for demonstration's sake. (check-in: 2ab065133b user: stephan tags: fiddle-opfs)
18:05
Omit WAL mode from the wasm build. (check-in: 88efe2a62b user: stephan tags: fiddle-opfs)
15:22
Adjust the --help output for speedtest1 to clarify that the argument to the --cachesize option is in pages, not bytes. (check-in: d7c2be6bdc user: drh tags: trunk)
14:01
Merge the speedtest1 enhancements from trunk (and fiddle-opfs) into the kv-vfs branch. (check-in: 3d350aa0c0 user: drh tags: kv-vfs)
13:56
Copy all of the fiddle-opfs changes to speedtest1 into trunk. (check-in: f3d31c9982 user: drh tags: trunk)
13:46
Resolve/remove a TODO. (check-in: 2ea35fea3b user: stephan tags: fiddle-opfs)
13:45
Add the --vfs option to speedtest1. (check-in: aeb884029a user: drh tags: trunk)
13:24
Merge the latest trunk enhancements into the kv-vfs branch. (check-in: f4aefe63d9 user: drh tags: kv-vfs)
13:03
Export sqlite3_trace_v2() to wasm and use it to ensure that the new per-VFS post-open SQL support in the DB ctor works. Default opfs vfs to journal_mode=truncate, as it's faster in that mode. Add 't' DB open-mode flag to enable SQL tracing to console.log(). (check-in: 508f7f6d63 user: stephan tags: fiddle-opfs)
11:42
Reimplement fiddle_reset_db() so that it works with all VFSes. (check-in: 1846205290 user: stephan tags: fiddle-opfs)
11:33
Experimentally relinquish the OPFS VFS sync access handle when the db is idle and reacquire it on demand, the goal being to help alleviate cross-tab locking issues. (check-in: 2703ac9842 user: stephan tags: fiddle-opfs)
11:23
Add journal=MODE to the list of supported URL flags for speedtest1-worker.html. (check-in: 5c43e8d2ec user: stephan tags: fiddle-opfs)
09:21
OPFS VFS now lazily opens its sync access handle, as a step towards experimenting with relinquishing it during idle times to help avoid cross-tab and page-reload locking issues. (check-in: a984e1ba43 user: stephan tags: fiddle-opfs)
08:30
Partial revert of [a82e6faaa642] to remove the 'I' alias for 'j' wasm function signature letter. In hindsight, that change seems premature. (check-in: dcd46af914 user: stephan tags: fiddle-opfs)
08:21
Minor JS API tweaks prompted by documenting them. (check-in: a82e6faaa6 user: stephan tags: fiddle-opfs)
2022-10-02
22:50
More cleanups in the UDF argument and result handling, in particular int64. Consolidate some duplicate int64/bigint range checking code. Expose the UDF low-level utilities (arg/result conversion) to client code. Add the sqlite3_context pointer to the JS-side UDF wrappers for API consistency. (check-in: 10ab77af95 user: stephan tags: fiddle-opfs)
20:13
Minor doc typo fix in sqlite.h.in. (check-in: 372802aaa2 user: stephan tags: trunk)
20:08
JS: clean up create_function() wrapper and add support for create_window_function(). Eliminate an extraneous blob copy when a UDF returns a blob. Make use of newfound JS-fu to clean up how sqlite3ApiBootstrap() config is initialized. (check-in: d3bad9347c user: stephan tags: fiddle-opfs)
18:47
js: implement a hand-written wrapper for sqlite3_create_function_v2() which converts, if necessary, JS-function-type args to WASM function wrappers. Replace DB.createFunction() impl with the new one. (check-in: 435ab33384 user: stephan tags: fiddle-opfs)
03:14
Doc typo fixes. (check-in: e528675da3 user: stephan tags: fiddle-opfs)
03:11
More fleshing out of sqlite3.capi.wasm.pstack. (check-in: eb5726677a user: stephan tags: fiddle-opfs)
01:48
Document the roles of the new (this past week) JS files added to the build process. (check-in: 8b3bc7313a user: stephan tags: fiddle-opfs)
00:09
General internal cleanups in the oo1 API. (check-in: f9db664f75 user: stephan tags: fiddle-opfs)
2022-10-01
20:27
Performance optimization in sqlite3_prepare() (discovered while working on the stmt-cache branch). (check-in: cd494240cc user: drh tags: trunk)
19:21
Correct fiddle db export breakage caused by a post-testing API change made in [1fa019c88dea]. (check-in: e73cc44ec3 user: stephan tags: fiddle-opfs)
18:55
Pedantic constness tweak. (check-in: c8a173cf16 user: stephan tags: fiddle-opfs)
18:47
wasm: correct a memleak caused by a shadowed var in the previous checkin. Add a stack-like allocator, sqlite3.capi.wasm.pstack, as a faster way of managing short-lived pointers (like the one which got shadowed). (check-in: 1fa019c88d user: stephan tags: fiddle-opfs)
16:01
Fiddle: fix makefile dependency issue and duplicate inclusion of post-js.js. Reimplement db export using sqlite3_serialize(). (check-in: 29db7de792 user: stephan tags: fiddle-opfs)
13:45
Merge trunk into fiddle-opfs branch. (check-in: 64ebcbe416 user: stephan tags: fiddle-opfs)
13:38
Tweak sqlite3-worker1.js to be able to load either sqlite3.js or sqlite3-wasmfs.js, noting that the latter still does not load in a Worker because of an Emscripten loader bug. (check-in: 000ef7059b user: stephan tags: fiddle-opfs)
13:28
Merge the Parse.prepFlags change from trunk. (Leaf check-in: c8d77f3980 user: drh tags: stmt-cache)
13:17
Replace the Parse.disableVtab field with Parse.prepFlags for increased generality, a small size reduction, and a small performance increase. (check-in: b7da0bcdf7 user: drh tags: trunk)
12:04
Note two wasm-related potential TODOs. (check-in: 5636e82864 user: stephan tags: fiddle-opfs)
12:00
Merge the latest trunk enhancements into the stmt-cache branch. (check-in: 7812aea6ea user: drh tags: stmt-cache)
2022-09-30
23:49
Remove a couple of weird quirks of the Worker1 and Promiser APIs. The Worker1 (now undocumented) unlink capability needs to be reevaluated to work equivalently for all storage backends. (check-in: 9f2b331a32 user: stephan tags: fiddle-opfs)
23:02
Tweaks to the Worker1 and Promiser APIs prompted by documenting them. (check-in: c68b9aa160 user: stephan tags: fiddle-opfs)
22:40
Remove one of the NEVER() macros added by [5166acf3f0040459] because it is reachable after all. (check-in: bd8ae5febb user: drh tags: trunk)
20:59
New test cases in fuzzdata8.db (check-in: aa367a3c97 user: drh tags: trunk)
20:53
Fix a bug in the demoDelete fix from [d76a301e22e05722]. (check-in: 7e761a0253 user: drh tags: trunk)
20:48
Add NEVER() to two error-detection tests that were made unreachable by the previous check-in. (check-in: 5166acf3f0 user: drh tags: trunk)
20:35
Add JS wrapper for sqlite3_exec() which knows how to handle a JS callback. Add some console.error() reporting of module-load failures, as they otherwise often get silently swallowed up by the loader's mechanisms. Add 'flexible-string' JS-to-WASM argument converter which performs more X-to-string conversions than the 'string' arg converter does. (check-in: 96818aa83f user: stephan tags: fiddle-opfs)
20:15
Better handle a case of database corruption where a b-tree page is one of its own ancestor pages. (check-in: a24e468048 user: dan tags: trunk)
16:49
Add sqlite3.version object. Add more state to the Worker #1 config-get response, including sqlite3.version. (check-in: 711f458d18 user: stephan tags: fiddle-opfs)
15:46
Add oo1.JsStorageDb.clearStorage/storageSize() methods, copies of capi.sqlite3_web_kvvfs_clear/size(). (check-in: 1e09efe7fa user: stephan tags: fiddle-opfs)
15:24
batch-runner.js: force WebSQL batches to not abort for a failed statement (necessary for apples-to-apples-ish benchmark comparisons). (check-in: 60f0c5cb04 user: stephan tags: fiddle-opfs)
14:35
Improvements to the "demoDelete" method in the demovfs, suggested by forum post cad18961c2. (check-in: d76a301e22 user: drh tags: trunk)
14:14
Merge recent trunk enhancements into the reuse-schema branch. (check-in: b119a5e896 user: drh tags: reuse-schema)
14:04
Merge the latest trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: 68a61513f9 user: drh tags: begin-concurrent-pnu-wal2)
13:54
Merge recent trunk enhancements into the wal2 branch. (check-in: c22c7c8798 user: drh tags: wal2)
13:42
Merge the latest trunk changes into the begin-concurrent-report branch (check-in: 4d6141f32d user: drh tags: begin-concurrent-report)
13:29
Merge all recent trunk enhancements into the begin-concurrent branch. (check-in: ba2539f6de user: drh tags: begin-concurrent)
12:27
Merge version 3.39.4 changes into the reuse-schema-3.39 branch. (Leaf check-in: 8102592836 user: drh tags: reuse-schema-3.39)
12:10
Expose sqlite3_msize() to wasm. (check-in: aa6ad34f3b user: stephan tags: fiddle-opfs)
11:01
Add oo1.JsStorageDb() as a convenience wrapper for oo1.DB(...,'kvvfs'). Minor doc cleanups. (check-in: 8a7998709f user: stephan tags: fiddle-opfs)
10:55
wasm: expose sqlite3_de/serialize(), sqlite3_malloc/free() and friends, noting that the former explicitly lies on use of the latter for memory management so is not generically safe for use in wasm. (check-in: fbc0edb5d3 user: stephan tags: fiddle-opfs)
2022-09-29
22:08
Add JS infrastructure to ostensibly allow us to customize the wasm imports, which will hypothetically allow us to eliminate the dependency on EM_JS(), but the corresponding Emscripten glue-level feature currently breaks fatally with WASMFS builds so it's disabled. (check-in: 88d9253b0d user: stephan tags: fiddle-opfs)
17:35
Ensure that the wasm builds always, even when passing -Ox flags from the CLI, use -g3 to avoid problems caused by symbol minification with optimization levels -O2 and higher. (check-in: 27d24d5d27 user: stephan tags: fiddle-opfs)
16:54
Finish eliminating explicit Emscripten module dependencies in test code and fiddle. The only remnant in public code is the Emscripten-generated module load/init interface. (check-in: 7be78dd4ef user: stephan tags: fiddle-opfs)
15:55
Version 3.39.4 (check-in: a29f994989 user: drh tags: release, branch-3.39, version-3.39.4)
13:17
Rework the Emscripten-emitted module loader/init function such that it passes on the sqlite3 module, instead of the Emscripten module, to the first then() of sqlite3InitModule()'s returned Promise. This eliminates any need to mention the Emscripten module object in client-side code unless they want to configure it in advance for loading-status reports. (check-in: 0dbaa0e2b5 user: stephan tags: fiddle-opfs)
2022-09-28
19:19
Fix misuse of the sqlite3_set_auxdata() interface in the ICU extension. (check-in: 6607dd0103 user: drh tags: branch-3.39)
19:14
Fix misuse of the sqlite3_set_auxdata() interface in the ICU extension. (check-in: f25cf63471 user: drh tags: trunk)
18:10
Wasm: expose sqlite3_exec() and use it to simplify the db-reset logic in batch-runner.js a bit. (check-in: 2e2821f782 user: stephan tags: fiddle-opfs)
17:52
More work on batch-runner.html/js to facilitate speed comparisons between various VFSes and WebSQL. (check-in: 3bd1bc2406 user: stephan tags: fiddle-opfs)
17:10
Prototype implementation of "PRAGMA reset_database". This pragma differs from SQLITE_DBCONFIG_RESET_DATABASE in that the pragma only works if the database is reasonably well-formed, whereas the dbconfig works regardless. (Leaf check-in: cf0999d4f8 user: drh tags: reset-database)
13:38
Remove a NEVER macro in defragmentPage() that dbsqlfuzz discovered can be true. crash-32d9312f145cdce41613573f6431d9a3e439e3d7 (check-in: a4342fc020 user: drh tags: branch-3.39)
13:01
Correct duplicate copies of sqlite3-api.js being embedded in the wasmfs-based builds. (check-in: bbfcfba260 user: stephan tags: fiddle-opfs)
07:53
Work around broken -Os wasm builds by adding the -g3 flag. Unrelated documentation tweaks. (check-in: f5d6bf8616 user: stephan tags: fiddle-opfs)
2022-09-27
17:03
Minor doc correction. (check-in: 093f6e4b36 user: stephan tags: fiddle-opfs)
17:00
Fix a potential division by zero error in this version of RBU that might occur if an external client checkpoints a wal file created by a suspended RBU process. (Leaf check-in: 73edd93adf user: dan tags: branch-3.14)
16:35
Provide the SQLITE_MAX_ALLOCATION_SIZE compile-time option for limiting the maximum memory allocation size. (check-in: 584de6a996 user: drh tags: trunk)
14:31
Comment the -Os wasm builds as being broken (mysteriously missing JS bits). (check-in: f61475ef82 user: stephan tags: fiddle-opfs)
13:40
WASM API renaming. Reworked JS API bootstrap's async post-init into a generic mechanism, no longer OPFS-specific. (check-in: c42a8cb090 user: stephan tags: fiddle-opfs)
09:17
wasm/js: rename /persistent to /opfs to account for potential future persistent storage options. Minor flag-handling cleanups in the speedtest1 pages. Minor API tweaks in oo1. (check-in: 4dc972a365 user: stephan tags: fiddle-opfs)
02:04
Enhance defensive mode so that it disallows CREATE TRIGGER statements if the statements within the trigger attempt to write on a shadow table. Also make the legacy FTS3 code more robust against integer overflow during memory allocation. (check-in: c41f25e6f3 user: drh tags: branch-3.39)
01:53
Make the legacy FTS3 code more robust against integer overflow during memory allocation. (check-in: 5517bc5098 user: drh tags: trunk)
00:56
Enhance defensive mode so that it disallows CREATE TRIGGER statements if the statements within the trigger attempt to write on a shadow table. (check-in: 3283bbd12a user: drh tags: trunk)
2022-09-26
20:51
Modify implementation of recovery to break recovery of the lost_and_found table into multiple steps. (check-in: adedfd040b user: dan tags: recover-extension)
13:55
Fiddle: replace db export routine with a C-side one which works for both Emscripten FS-hosted and OPFS-hosted db files. Minor code-adjacent cleanups. (check-in: 3579a8d6f1 user: stephan tags: fiddle-opfs)
11:38
Get fiddle db export working for OPFS VFS. Add root dir handle to the main OPFS VFS worker to enable creation of certain utility functions without delegating to the async worker. Add sqlite3.capi.sqlite3_wasm_rc_str() to map integer result codes back to their SQLITE_xxx counterparts. Minor doc touchups. (check-in: 9b2244e1c8 user: stephan tags: fiddle-opfs)
11:34
wasm: change StructBinder signature for sqlite3_file::pMethods from 'P' to 'p' to eliminate an unnecessary and inconsistent level of magic. (check-in: 85f2e877e5 user: stephan tags: fiddle-opfs)
2022-09-24
19:54
Add the SQLITE_RECOVER_SLOWINDEXES option, for specifying that indexes should be created and populated along with tables, instead of separately at the end of the recovery operation. (check-in: ad9dba9d1e user: dan tags: recover-extension)
19:17
Add sqlite3_recover_step() to header file sqlite3recover.h. Update the API docs in this file. (check-in: 47f4161530 user: dan tags: recover-extension)
18:05
Update things to use sqlite3_recover_step() internally. (check-in: f4b15aad30 user: dan tags: recover-extension)
11:32
Fiddle: move, rather than copy, data buffers between the threads. Fix the case of an uploaded db failing to install because its filename is the same as the opened db. (check-in: bcec4f964a user: stephan tags: fiddle-opfs)
10:15
Resolve "already configured" warnings from shell's main() when starting it up in fiddle mode. (check-in: 114ef3552a user: stephan tags: fiddle-opfs)
10:12
Reworked out the OPFS async proxy metrics are fetched so that they play more nicely with the tight event-polling loop. (check-in: ef503ced5c user: stephan tags: fiddle-opfs)
07:36
Refactoring towards getting fiddle to support OPFS as a first-class citizen. Certain operations, e.g. import, export, and unlink, are not OPFS-aware. (check-in: 1b923ed643 user: stephan tags: fiddle-opfs)
2022-09-23
21:01
Internal changes to the recover extension towards a step() style interface. (check-in: 73926d5c8c user: dan tags: recover-extension)
11:40
Fix various compiler warnings in new code on this branch. (check-in: ae49e9efde user: dan tags: recover-extension)
11:30
Merge latest trunk changes into this branch. (check-in: e87fa70ab0 user: dan tags: recover-extension)
2022-09-21
20:24
Reformulate some JS to work around a buggy/broken code transformation in one of the Emscripten-driven code optimizers. (check-in: e1249369d5 user: stephan tags: fiddle-opfs)
19:51
Put pieces in place for fiddle to support opfs, but more cleanup is required in the sqlite3.js/fiddle connection. bigIntEnabled now defaults to whether the Emscripten's module has bigint enabled. Add wasm-sensible defaults for several SQLITE_ENABLE/OMIT flags in sqlite3-wasm.c. (check-in: 7c7fb7535e user: stephan tags: fiddle-opfs)
18:21
Reduced and improved comments on the constraintCompatibleWithOuterJoin() function. (check-in: 38aaf26e08 user: drh tags: trunk)
16:21
shell.c.in: when building in fiddle mode, define _POSIX_SOURCE (ifndef) so that emcc's string.h reveals strdup(). (check-in: fb85b269c4 user: stephan tags: fiddle-opfs)
14:02
Correct mistyped --shrink-memory flag in speedtest1-worker. Minor OPFS proxy cleanups. (check-in: 86e2b55ec9 user: stephan tags: fiddle-opfs)
12:27
Doc cleanups and additions. Add a way for the OPFS async runner to propagate exception text to the calling thread. (check-in: 5c5e806528 user: stephan tags: fiddle-opfs)
12:25
Added some structure to the wasm demo link list. (check-in: 777077c4c2 user: stephan tags: fiddle-opfs)
09:54
The RIGHT JOIN logic added to version 3.39.0 added a new restriction on the query flattener which resulted in a performance regression for some queries, as documented by forum post 96b9e5709cf47cda. This change removes that restriction (thus restoring performance) and fixes the problem that RIGHT JOIN was having in a different way. (check-in: 501609eddf user: drh tags: trunk)
08:41
Add a link to fiddle.html in the wasm test app index.html. (check-in: 96c734c07a user: stephan tags: fiddle-opfs)
08:39
Move fiddle build rules into the wasm-centric build files. Add rule to push wasm bits to the wasm test server. (check-in: 113f8204dc user: stephan tags: fiddle-opfs)
00:16
Break out the decision of whether or not a constraint term is usable by an outer join into a subroutine: constraintCompatibleWithOuterJoin(). (Closed-Leaf check-in: c7fbc9b045 user: drh tags: flattener-omit-restriction-29)
2022-09-20
22:19
Do not allow EP_InnerON terms to be used on a outer join. (check-in: f47aa74569 user: drh tags: flattener-omit-restriction-29)
21:07
Add new test cases that (current) get an incorrect answer. (check-in: fe5c377364 user: drh tags: flattener-omit-restriction-29)
19:45
New test cases for query flattening when there are ON clauses and outer joins. (check-in: db55387b19 user: drh tags: flattener-omit-restriction-29)
19:22
Modify the OP_IfNotOpen opcode so that the jump is taken if the cursor is open but was previously set to a NULL row using OP_NullRow. (check-in: 1292d68caa user: drh tags: flattener-omit-restriction-29)
18:18
Remove code that has been previously commented out. (check-in: 852b385a5d user: drh tags: flattener-omit-restriction-29)
17:43
Merge the fuzzcheck fix from trunk into the flattener improvement branch. (check-in: 930a8c1561 user: drh tags: flattener-omit-restriction-29)
17:21
Update the fuzz invariant checker to conform to the latest changes in dbsqlfuzz. (check-in: 8d8c124349 user: drh tags: trunk)
16:57
Is the query flattener restriction 29 (do not allow both EP_InnerON and EP_OuterON constraints on the same FROM clause term) really necessary? This branch explores what happens if we omit that restriction. This is an effort to address the performance regression reported by forum post 96b9e5709cf47cda that is caused by flattener restriction 29. (check-in: 19270577ad user: drh tags: flattener-omit-restriction-29)
16:20
Correct a too-strict is-opfs-available check. (check-in: 1b5f1b4a6c user: stephan tags: fiddle-opfs)
16:10
Merge kv-vfs-magic-names branch into fiddle-opfs branch and make some kvvfs-relevant tweaks. (check-in: e3d36dcdd3 user: stephan tags: fiddle-opfs)
14:52
Export the sqlite3_uri_...() family of functions to wasm. (check-in: 72bebc848f user: stephan tags: fiddle-opfs)
14:39
Merge opfs-proxy-atomics branch into the fiddle-opfs branch. (check-in: 25a36920d4 user: stephan tags: fiddle-opfs)
14:36
When compiled with SQLITE_OS_KV_OPTIONAL, the magic names ":localStorage:" and ":sessionStorage:" are recognized and converted to use the kv-vfs. (Leaf check-in: c5db9262d0 user: drh tags: kv-vfs-magic-names)
14:21
Remove an obsolete file. (Closed-Leaf check-in: 1e43855498 user: stephan tags: opfs-proxy-atomics)
13:25
Speed up de/serialization of func args and return values in the OPFS VFS proxy. (check-in: 5bf235bbe0 user: stephan tags: opfs-proxy-atomics)
10:47
OPFS proxy: remove one sanity-checking-only level of proxy function to shave off a few microseconds. (check-in: b534831f3e user: stephan tags: opfs-proxy-atomics)
10:11
Remove extraneous result-code SAB slots. Doc additions. (check-in: 88de20712b user: stephan tags: opfs-proxy-atomics)
08:27
An alternative messaging strategy for the OPFS VFS proxy which uses only SharedArrayBuffer and Atomics, instead of worker messages, for communication (only the initial one-time handshake during initialization uses worker messages). It runs speedtest1 approx. 15-20% faster but still 20-ish% slower than WASMFS Edit: further tests showed it to be very close to the same speed as the Worker-message variant, inconsistently faster or slower within a small margin of error. The former impl is easier to understand, though. (check-in: a83ee3082d user: stephan tags: opfs-proxy-atomics)
03:31
OPFS VFS: further internal refactoring towards experimenting with a new comms model. (check-in: 5ca412ced2 user: stephan tags: fiddle-opfs)
01:28
OPFS VFS: moved i/o buffer from per-file to the VFS, and related refactoring, in prep for experimentation with a new inter-worker comms model. (check-in: d4d63e4580 user: stephan tags: fiddle-opfs)
2022-09-19
19:25
Clarify comments that describe query flattener restrictions associated with outer joins. No code changes. (check-in: 2647d73bb1 user: drh tags: trunk)
18:22
Further metrics and buffer-copy optimizations in the OPFS proxy, but with little effect. (check-in: d1f1fe6f1c user: stephan tags: fiddle-opfs)
17:41
Fix a minor comment typo. No changes to code or documentation. (check-in: 8032db4ade user: drh tags: trunk)
17:09
Cut the speedtest1 runtime of the OPFS VFS proxy by approximately 3/4ths via xRead/xWrite buffer-copying optimizations. Still slower than the WASMFS impl by approx. 1/5th. (check-in: fb7f287310 user: stephan tags: fiddle-opfs)
14:56
Remove an obsolete file. Update wasmfs build for today's changes. Fix the case that OPFS.xTruncate() is passed a BigInt instead of a Number. (check-in: 9760539250 user: stephan tags: fiddle-opfs)
13:44
Add sqlite3_web_vfs_list() to JS API. Corrected OPFS VFS's registering itself as the default VFS. speedtest1-worker now uses the xDelete() of both the default VFS and OPFS, to avoid that it starts up with a persistent OPFS test db (the native app calls unlink(), but that unlink call operates on a different virtual filesystem than the OPFS VFS). (check-in: 2ec7e09139 user: stephan tags: fiddle-opfs)
13:16
Merge kv-vfs branch into fiddle-opfs. Adjust various JS APIs and apps to deal with the new method of handling kvvfs. Adjust speedtest1 JS build to include sqlite3-api.js so that it can use kvvfs and opfs VFSes. Permit passing of the vfs as a URL parameter to certain demo/test apps. Milestone: speedtest-worker.html?vfs=opfs runs with the standalone OPFS impl. (check-in: ec09f32f7a user: stephan tags: fiddle-opfs)
11:47
speedtest1: add --vfs NAME flag and eliminate code duplication in argc size verification for all flags which take a value. (check-in: 281d098671 user: stephan tags: fiddle-opfs)
10:13
Minor doc improvements in demo-123.js. (check-in: 9370ce9478 user: stephan tags: fiddle-opfs)
09:58
Generic cleanups in the OPFS VFS proxies. (check-in: 7d5f6adc3b user: stephan tags: fiddle-opfs)
09:25
Correct OPFS VFS xRead() to copy the result buffer if the result code is SQLITE_IOERR_SHORT_READ. (check-in: 56668f9902 user: stephan tags: fiddle-opfs)
05:19
Replace OPFS VFS xSleep() impl with a more efficient one (no Worker round-trip needed). (check-in: b9773f1648 user: stephan tags: fiddle-opfs)
03:57
Rename demo-oo1.* to demo-123.* and add demo-123-worker.html, which runs the same demo via a Worker. Doc typo fixes. (check-in: 2e4a005bd3 user: stephan tags: fiddle-opfs)
00:40
Disable build of wasmfs-using components on aarch64 (ARM), as wasmfs won't build there. (check-in: 9a9eeebc2c user: stephan tags: fiddle-opfs)
2022-09-18
17:59
Remove a NEVER macro in defragmentPage() that dbsqlfuzz discovered can be true. crash-32d9312f145cdce41613573f6431d9a3e439e3d7 (check-in: 90403759e1 user: drh tags: trunk)
17:32
Numerous cleanups in the JS bits. Removed some now-defunct wasm test files. Expose sqlite3.opfs object containing various OPFS-specific utilities. (check-in: 26e625d05d user: stephan tags: fiddle-opfs)
03:05
Move the OPFS VFS bits back into api/sqlite3-api-opfs.js. Refactor the OPFS VFS init process to use a Promise-returning function which the client must call, as that eliminates any uncertainty about when the VFS (necessarily activated asynchronously) actually becomes available to the client. Rename x-sync-async.* to test-opfs-vfs.* Milestone: first successful test of OPFS without WASMFS. (check-in: b2abf60dbf user: stephan tags: fiddle-opfs)
02:35
Move the OPFS VFS bits back into api/sqlite3-api-opfs.js. Refactor the OPFS VFS init process to use a Promise-returning function which the client must call, as that eliminates any uncertainty about when the VFS (necessarily activated asynchronously) actually becomes available to the client. (check-in: 1c660970d0 user: stephan tags: fiddle-opfs)
00:16
Plug OPFS methods in to their sqlite3_vfs/io_methods counterparts. Add URL args to control debug output and running of sanity-checks in the OPFS init code. (check-in: a0e93ed20b user: stephan tags: fiddle-opfs)
2022-09-17
23:47
Correct OPFS xRead() and xWrite() impls and add a very basic sanity test for them. (check-in: cd06cc6700 user: stephan tags: fiddle-opfs)
23:29
Implement OPFS xAccess(), albeit with more limited semantics than the VFS API calls for. Add a way for OPFS xDelete() to optionally recursively remove empty dirs left over after deleting a file. (check-in: c342b5d745 user: stephan tags: fiddle-opfs)
21:13
Generic cleanups in the OPFS sync/async proxy. (check-in: f36bddbe54 user: stephan tags: fiddle-opfs)
20:50
Add the remaining vfs/io_methods wrappers to the OPFS sync/async proxy, but most are not yet tested. (check-in: 44db913214 user: stephan tags: fiddle-opfs)
18:31
Fix an uninitialized variable in the decoder kv-vfs. (check-in: 354726aa6c user: drh tags: kv-vfs)
18:29
Include the kv-vfs as an optional VFS on unix builds if the SQLITE_OS_KV_OPTIONAL compile-time option is present. (check-in: 852812d1e2 user: drh tags: kv-vfs)
17:26
Merge the latest trunk enhancements into the kv-vfs branch. (check-in: 37c7ca25a6 user: drh tags: kv-vfs)
15:08
Add initial bits of an experimental async-impl-via-synchronous-interface proxy intended to marshal OPFS via sqlite3_vfs API. (check-in: 38da059b47 user: stephan tags: fiddle-opfs)
2022-09-16
20:16
Merge kv-vfs branch into fiddle-opfs branch. Adjust speedtest1 --size flags to account for new size limit. (check-in: afb79050e6 user: stephan tags: fiddle-opfs)
15:19
Corrections to the xRead method for databases in the os_kv.c VFS so that it correctly reads the header, and thus avoids unnecessary cache flushes. This changes also includes an optimization to the header read logic. (check-in: ef54961ce6 user: drh tags: kv-vfs)
12:49
When calculating kvvfs sessionStorage/localStorage size, multiply it by 2 to account for JS using 16-bit characters. (check-in: 52d1b185b9 user: stephan tags: fiddle-opfs)
11:45
Merge kv-vfs branch into fiddle-opfs branch for [21915af560b1|synchronous=off fix]. Remove some duplicate debug output in OPFS test code. (check-in: 13899bb98c user: stephan tags: fiddle-opfs)
11:37
Fix os_kv.c so that it uses SQLITE_FCNTL_SYNC and hence works even with PRAGMA synchronous=OFF. (check-in: 21915af560 user: drh tags: kv-vfs)
02:30
Add batch-runner-kvvfs.html, a kvvfs-specific build of batch-runner.html. Reduce the speedtest1 --size X value for the batch list generation to 5 so that the kvvfs batch runner can handle it. (check-in: d8df25920a user: stephan tags: fiddle-opfs)
02:28
Remove --nosync flag from speedtest1-kvvfs.html, as that seems to be the trigger for the 'no such table: z1' error. That app now warns if that flag is passed to it via URL args. (check-in: ad0677e8ab user: stephan tags: fiddle-opfs)
01:08
Pull the src/os_kv.c part of [13839759f8f4] into the kv-vfs branch. (check-in: e334449912 user: stephan tags: kv-vfs)
01:05
Add return value checks to kvstorageWrite(), necessary for recognizing storage-full errors in the JS binding. speedtest1-kvvfs.html runs successfully on localStorage with --size 1 to 6 and starts failing with storage shortage at --size 7. (check-in: 13839759f8 user: stephan tags: fiddle-opfs)
2022-09-15
06:42
More work on the synchronous OPFS experimentation. Numerous wasm/js build tweaks. Add speeedtest-wasmfs.html, the wasmfs/opfs counterpart of speedtest1.html. (check-in: 00ee49a3a2 user: stephan tags: fiddle-opfs)
03:54
Fix windows builds of recover extension. (check-in: abcbb6abfe user: dan tags: recover-extension)
03:16
Remove some stale comments. Get scratchpad-opfs-worker2.js running again in prep for reuse in experimenting with the OPFS all-synchronous API. (check-in: 4cbbd37018 user: stephan tags: fiddle-opfs)
03:09
Split wasmfs-enabled build of sqlite3.js/wasm into sqlite3-wasmfs.js/wasm, as enabling wasmfs breaks all tests/demos which run from a Worker thread. (check-in: 08476f3c21 user: stephan tags: fiddle-opfs)
02:27
Clean up some JS documentation. (check-in: 925fdbfc6c user: stephan tags: fiddle-opfs)
2022-09-14
20:45
Include recovery extension in configure/make builds of testfixture. (check-in: d2f4652144 user: dan tags: recover-extension)
18:57
Extra tests and fixes. (check-in: deed533693 user: dan tags: recover-extension)
16:37
Fix recovery of utf-16 databases. (check-in: 5b05be0861 user: dan tags: recover-extension)
2022-09-13
20:40
Add OOM tests for the recovery extension. (check-in: 9b6b4c7162 user: dan tags: recover-extension)
19:47
Fix a broken error handling case in the recovery extension. (check-in: 60089547e1 user: dan tags: recover-extension)
19:27
Add/apply various kvvfs-specific utility APIs to the JS layer to assist in testing and analysis. Correct a backwards default arg check for sqlite3ApiBootstrap(). Add exports for sqlite3_db_handle(), sqlite3_file_control(), and the SQLITE_FCNTL_xxx enum. (check-in: 0d78961870 user: stephan tags: fiddle-opfs)
18:08
Add tests. Deal issues surrounding aborting recovery from within the SQL callback, and avoiding the pending-byte page. (check-in: 4e97dd31f5 user: dan tags: recover-extension)
2022-09-12
22:27
Get testing1.js working with a kvvfs build. (check-in: 333a45725d user: stephan tags: fiddle-opfs)
20:21
Remove an extraneous key-copy op in the EM_JS impl of kvstorageDelete(). (check-in: 1c5aeee455 user: stephan tags: kv-vfs)
20:18
Merge kv-vfs branch into fiddle-opfs and add speedtest1-kvvfs.html test app (which currently fails early on). (check-in: 8b1608a9a3 user: stephan tags: fiddle-opfs)
20:02
Fix some problems with handling corrupt database in the recovery extension. (check-in: ed318be824 user: dan tags: recover-extension)
19:33
Fix the <sys/time.h> include in os_kv.c. (check-in: 878cc93e77 user: drh tags: kv-vfs)
19:29
Add a gettimeofday()-based implementation of xCurrentTimeInt64() to os_kv.c. (check-in: e393ed650e user: drh tags: kv-vfs)
19:23
More tests for the recover module. (check-in: 37fb093b95 user: dan tags: recover-extension)
18:10
Fix a debugging/testing edit in the previous check-in. (check-in: 6fc8d34c0a user: drh tags: kv-vfs)
17:59
Add sqlite3.oo1.DB.clearKvvfsStorage(). Add controls to kvvfs1.js demo to reset and query the db without requiring the dev console. (check-in: d845c6c22b user: stephan tags: fiddle-opfs)
17:44
Faster text decoder for kv_os.c. (check-in: 3354a2edb7 user: drh tags: kv-vfs)
16:09
Merge kv-vfs branch into fiddle-opfs branch to add kvvfs-based wasm build and demo. (check-in: a7d8b26acd user: stephan tags: fiddle-opfs)
16:07
New run-time options to the speed-check.sh script. (check-in: ff46bc9d2a user: drh tags: trunk)
15:59
Fix uninitialized variable in rollback-journal processing in os_kv.c (check-in: e49682c5ea user: drh tags: kv-vfs)
13:05
Resolve missing kvvfs JS test: sqlite3_initialize() must be called by the client in this build. Add basic sanity test of kvvfs using sessionStorage(). (check-in: 250a935aeb user: stephan tags: kv-vfs)
12:41
Fix the amalgamation so that it builds with the standard unix backend again. (check-in: 0adf158f4e user: drh tags: kv-vfs)
12:39
Initial build of kvvfs in wasm. It loads but cannot find the VFS for as-yet-unknown reasons (sqlite3 shell works fine), and most APIs throw "null function or function signature mismatch" from deep within wasm, presumably as a side effect of the "missing" VFS. (check-in: 1a2f24a0bd user: stephan tags: kv-vfs)
2022-09-11
16:59
Minor cleanups and documentation in the wasm pieces. (check-in: 4e6ce32987 user: stephan tags: fiddle-opfs)
05:44
Correct the result code from kvstorageRead() for the OOM case to be a negative value. (check-in: cdbf09fa1b user: stephan tags: fiddle-opfs)
05:38
Minor cleanups and docs for the EM_JS() impls of the kvvfs read/write/delete ops. (check-in: 53b7572e44 user: stephan tags: fiddle-opfs)
04:49
Add EM_JS() impl for kvstorageRead(). (check-in: 06610314fc user: stephan tags: fiddle-opfs)
02:43
Initial prototype impls of write/delete-key ops for the pending kvvfs which use sessionStorage or localStorage for db page storage. read-key op is pending. (check-in: a4bd96f534 user: stephan tags: fiddle-opfs)
2022-09-10
20:01
Rework recover extension code for readability. (check-in: 1a2540960e user: dan tags: recover-extension)
18:38
Improved comments in os_kv.c. Better names for the key/value name spaces. (check-in: 8e1652a385 user: drh tags: kv-vfs)
18:20
Move the vfskv.c extension to src/os_kv.c and make it part of the amalgamation, activated if and only if SQLITE_OS_KV is true. (check-in: f6632e69c2 user: drh tags: kv-vfs)
13:50
Enhance the b-tree page sorting code to ensure that sqlite3PagerRekey() never overloads a page number and uses only the PENDING_BYTE page for temporary storage. (check-in: aa6a5b7297 user: dan tags: branch-3.39)
2022-09-09
20:44
Further fixes to comments in sqlite3recover.h. Also rework some data structures in sqlite3recover.c. (check-in: 599d1f8ec2 user: dan tags: recover-extension)
17:50
Fix harmless compiler warning seen with MSVC. (check-in: 73c4c68d3b user: mistachkin tags: trunk)
16:25
Handle recovery of virtual tables by recovering each shadow table individually, then writing the CREATE VIRTUAL TABLE statement directly into the sqlite_schema table. (check-in: 5f2d5ccd56 user: dan tags: recover-extension)
16:16
Database must be named either "local" or "session". Each has a distinct namespace. (check-in: c8e4127929 user: drh tags: kv-vfs)
14:22
Separate sqlite3_io_methods objects for database files and journals. (check-in: 74fbf6c2a9 user: drh tags: kv-vfs)
11:41
Simple reading and writing now works. (check-in: 00845ac9ef user: drh tags: kv-vfs)
05:39
Remove a reference to a completed TODO. (check-in: 757ad69607 user: stephan tags: fiddle-opfs)
04:50
speedtest1 wasm: add a link in the worker variant which launches the main-thread variant with the selected CLI flags. Append collected stdout/stderr to the main-thread page after execution is finished to avoid having to open the dev tools (which inexplicably slows down wasm execution). (check-in: 02709ee2be user: stephan tags: fiddle-opfs)
2022-09-08
21:43
Update comments in sqlite3recover.h. (check-in: 14164047c4 user: dan tags: recover-extension)
21:33
Make use of the --big-transactions flag in the speedtest1 JS apps. (check-in: f2846dcbca user: stephan tags: fiddle-opfs)
21:09
Add speedtest1 --big-transactions flag to cause its large tests which rely on implicit transactions to be wrapped in BEGIN/COMMIT, per /chat discussion. Added to support of the WASMFS build, which slows down significantly when thousands of implicit transactions are used. (check-in: 51395c005d user: stephan tags: fiddle-opfs)
20:04
Minor build cleanups and tweaks in the speedtest1 wasm apps. (check-in: 5240fb4d79 user: stephan tags: fiddle-opfs)
19:53
Experimentally add --nomutex flag to speedtest1 to have it open db with the SQLITE_OPEN_NOMUTEX flag. (check-in: 45ef576b2e user: stephan tags: fiddle-opfs)
19:22
Update the shell to use the recover extension for the .recover command. (check-in: ae832e7708 user: dan tags: recover-extension)
17:42
Fix problems with recovering the sqlite_sequence table. (check-in: 356d2209ea user: dan tags: recover-extension)
17:12
Compiles and loads as an extension. Starts to run but quickly hits issues. (check-in: 2e38726f46 user: drh tags: kv-vfs)
16:27
Compiles without error, but untested. (check-in: a329939c32 user: drh tags: kv-vfs)
15:48
Code snapshot. Completely untested. Probably does not compile. (check-in: 51e267696d user: drh tags: kv-vfs)
15:30
Add speedtest1-worker.html, an interactive Worker-thread variant of speedtest1.html. Add ext/wasm/index.html to act as a gateway to the various test pages. (check-in: f16c68ee6d user: stephan tags: fiddle-opfs)
11:04
Add new test file recoverclobber.test. (check-in: cb4e950c47 user: dan tags: recover-extension)
2022-09-07
20:14
Enhance an assert() to impose for tighter constraints on the operation of pcache. (check-in: 461511cc99 user: drh tags: branch-3.39)
20:11
Enhance an assert() to impose for tighter constraints on the operation of pcache. (check-in: 42105eb43a user: drh tags: trunk)
19:58
Fix the windows build so that it works with -DSQLITE_OMIT_AUTOINIT. (check-in: 1662eb07d8 user: drh tags: branch-3.39)
19:50
Ensure that the Rekey() operation does not overwrite an existing page number. (check-in: cd1e40064c user: drh tags: branch-3.39)
19:35
Increase the version number to 3.39.4 (check-in: e98bed127d user: drh tags: branch-3.39)
19:28
An improved technique for ensuring that the Rekey() operation does not overwrite an existing page number. This approach does not change the semantics of the underlying pluggable pcache and it is easier to prove correct. This replaces the changes at [aadd38f99a3e5abc] and [81cff9f1955874aa]. (check-in: 7dbddde79e user: drh tags: trunk)
17:29
Non-working code towards a VFS for text key/value storage. (check-in: f9c89ee8d5 user: drh tags: kv-vfs)
16:41
Ensure that the recover extension properly escapes CR and NL characters in text mode. Also that it holds transactions open on both input and output databases for the duration of a recovery operation. (check-in: 6cca8913e7 user: dan tags: recover-extension)
2022-09-06
23:04
Add a note about Emscripten's -sSINGLE_FILE flag, why it would be nice, and why we can't use it. (check-in: 5ea0623630 user: stephan tags: fiddle-opfs)
20:17
Get speedtest1.js working with WASMFS/OPFS. (check-in: 40e60f570d user: stephan tags: fiddle-opfs)
19:38
Tests and a fix for the SQLITE_RECOVER_ROWIDS option. (check-in: 1d5000f571 user: dan tags: recover-extension)
16:47
Initial build of speedtest1.wasm and speedtest1.html with which to run it. (check-in: 4441535e3e user: stephan tags: fiddle-opfs)
16:35
Minor internal doc clarifications. (check-in: 09796cc2bf user: stephan tags: fiddle-opfs)
09:59
Merge trunk into fiddle-opfs branch. (check-in: 7f76eaec79 user: stephan tags: fiddle-opfs)
2022-09-05
22:54
Add the tool/omittest-msvc.tcl script that will try to build using MSVC using various compile-time options, to ensure that the compile-time options all build without errors. (check-in: 6b00ecb59f user: drh tags: trunk)
22:53
Get the tool/omittest-msvc.tcl script working. (Closed-Leaf check-in: 82b89f8a07 user: drh tags: msvc-omit-test)
21:22
Fix a problem with script mode and lost-and-found tables. (check-in: 09ec588d2f user: dan tags: recover-extension)
21:00
Add a mode to output SQL statements instead of populating a database to the recover extension. (check-in: 73058416e7 user: dan tags: recover-extension)
20:42
Add a prototype for a script, similar to tool/omittest.tcl, that is designed to test builds using MSVC to ensure they work with various OMIT options. (check-in: b1e37a0bd3 user: drh tags: msvc-omit-test)
18:17
Fix the windows build so that it works with -DSQLITE_OMIT_AUTOINIT. (check-in: f74a5ea8c9 user: drh tags: trunk)
15:56
Add the SQLITE_RECOVER_ROWIDS option. To specify that rowid values that are not also explicit INTEGER PRIMARY KEY values should be preserved. (check-in: 69cc9aba56 user: dan tags: recover-extension)
13:36
Merge patches for version 3.39.3 into the reuse-schema-3.39 branch. (check-in: efd54164b0 user: drh tags: reuse-schema-3.39)
13:24
Minor cleanups in OO API #1. Add Sudoku SQL to batch-runner.js's list. (check-in: 4488cb5798 user: stephan tags: fiddle-opfs)
12:39
Version 3.39.3 patches applied to the begin-concurrent branch. (Leaf check-in: 31304de83e user: drh tags: begin-concurrent-3.39)
11:02
Version 3.39.3 (check-in: 4635f4a69c user: drh tags: release, branch-3.39, version-3.39.3)
2022-09-03
21:08
Add an option to assume the freelist is corrupt when recovering data. (check-in: 253e498f52 user: dan tags: recover-extension)
20:31
Take the freelist into account when recovering data that is not linked in to any tree associated with a schema entry. (check-in: dbd1f1efb3 user: dan tags: recover-extension)
20:07
Further work on making the recover extension compatible with the .recover command. (check-in: f2ac315844 user: dan tags: recover-extension)
11:41
wasm: minor text and build cleanups. (check-in: 36ceef94e1 user: stephan tags: fiddle-opfs)
2022-09-02
21:21
Ensure the Pager.journalOff variable is zeroed if an error occurs while writing the initial header to the journal file. (check-in: fe547035ce user: dan tags: branch-3.39)
21:19
Ensure the Pager.journalOff variable is zeroed if an error occurs while writing the initial header to the journal file. (check-in: da7af29096 user: dan tags: trunk)
19:18
Remove a NEVER() that is sometimes true. (check-in: 85a8a11740 user: drh tags: branch-3.39)
17:26
Fix an assert() associated with the dbsqlfuzz error at [8372468bb5d8922c]. (check-in: f448480e1b user: drh tags: branch-3.39)
17:25
Fix an assert() associated with the dbsqlfuzz error at [8372468bb5d8922c]. (check-in: 54251f81eb user: drh tags: trunk)
16:45
When an OOM occurs and sets the Parse.nErr value, also set the Parse.nErr value for all outer Parse objects. dbsqlfuzz d33f60aaa67733aa700cd69dacf8e0e23a327a29 (check-in: 073621afa2 user: drh tags: branch-3.39)
15:53
When an OOM occurs and sets the Parse.nErr value, also set the Parse.nErr value for all outer Parse objects. dbsqlfuzz d33f60aaa67733aa700cd69dacf8e0e23a327a29 (Leaf check-in: b17a250368 user: drh tags: branch-3.39-pcache)
15:19
If sqlite3PcacheMove() moves a page on top of another, swap the two pages, moving the other back to the page number of the original. (check-in: 04eb9f97b9 user: drh tags: branch-3.39-pcache)
15:09
If sqlite3PcacheMove() really performs a swap, then be sure to renumber the second page. (check-in: 81cff9f195 user: drh tags: trunk)
14:29
Enhance the pcache1 implementation so that during an xRekey operation if another page already exists at the destination, that other page gets moved to the source key. (check-in: aadd38f99a user: drh tags: trunk)
12:12
Mutex protect access to the sqlite3_test_directory and sqlite3_data_directory global variables. See forum thread 719a11e1314d1c70. (check-in: 34c6ec3989 user: drh tags: branch-3.39)
11:45
Mutex protect access to the sqlite3_test_directory and sqlite3_data_directory global variables. See forum thread 719a11e1314d1c70. (check-in: 8e6ad3a3e9 user: drh tags: trunk)
11:12
Improved mutex protection of the sqlite3_temp_directory and sqlite3_data_directory global variables. (Closed-Leaf check-in: ebbe9634d6 user: drh tags: tempdir-mutex)
00:36
Experimental changes to put sqlite3_temp_directory behind a mutex. (check-in: 5ee3515fbb user: drh tags: tempdir-mutex)
2022-09-01
21:00
Further work on making recovery extension compatible with the shell tool ".recover" code. (check-in: 8df7c7d0dc user: dan tags: recover-extension)
14:33
Defer deleting a transient SELECT statement associated with a flattening of one arm of a compound SELECT until after the parse has completed. (check-in: 8403c0d5d6 user: drh tags: branch-3.39)
13:51
Defer deleting a transient SELECT statement associated with a flattening of one arm of a compound SELECT until after the parse has completed. This is a follow-up and enhancement to check-in [6e6b3729e0549de0] in response to an assertion fault reported by Chromium. (check-in: 1c4157c71c user: drh tags: trunk)
10:41
In the query planner, add a heuristic that will reduce the cost of a full table scan for a materialized view or subquery if the full scan is the outer-most loop. This is shown to speed up some queries. (check-in: e3754cc188 user: drh tags: branch-3.28)
10:29
In the query planner, add a heuristic that will reduce the estimated cost of a full table scan for a materialized view or subquery if the full scan is the outer-most loop. This is shown to speed up some queries. (check-in: 609fbb94b8 user: drh tags: trunk)
2022-08-31
20:45
Add new files for an extension to recover data from corrupted databases. (check-in: f8298eeba0 user: dan tags: recover-extension)
15:04
Enhance the b-tree page sorting code to ensure that sqlite3PagerRekey() never overloads a page number and uses only the PENDING_BYTE page for temporary storage. (check-in: 5007742886 user: drh tags: trunk)
14:40
Do not attempt the OP_Count optimization on queries with HAVING clauses. This fixes a problem exposed by [2cf373b10c9bc4cb]. (check-in: 5f93239a8c user: drh tags: branch-3.39)
00:44
Checked in the wrong change by mistake. (Closed-Leaf check-in: 984a07d7f1 user: drh tags: mistake)
2022-08-30
17:57
batch-runner.js: add rudimentary metrics export to CSV. Add a toggle to reverse the log output mode (in normal order or most recent first). (check-in: b26e2bc055 user: stephan tags: fiddle-opfs)
16:54
Improved comments in pcache1.c. No changes to code. (check-in: dd017bb1b3 user: drh tags: trunk)
14:13
Any function call can abort. Take this into account when deciding if a DML statement needs a statement journal. See forum thread 9b9e4716c0d7bbd1 for more information. (check-in: 5bf4c5fd0a user: drh tags: branch-3.39)
10:26
batch-runner.js: re-enable unlink-before-run so that OPFS speedtest1 batch can work. (check-in: ba08f7a7f1 user: stephan tags: fiddle-opfs)
10:04
batch-runner.js: move generated SQL files into ./sql and start adding hand-written ones (like the Mandelbrot) to that set. (check-in: 06c106a7d2 user: stephan tags: fiddle-opfs)
09:51
Remove the .timer script entry from fiddle app because emscripten has removed getrusage(), which breaks the timer. (check-in: 9034f19ae5 user: stephan tags: fiddle-opfs)
09:49
wasm util: remove superfluous function.bind() calls to eliminate a level of call() indirection. (check-in: 1aab962798 user: stephan tags: fiddle-opfs)
00:11
Any function call can abort. Take this into account when deciding if a DML statement needs a statement journal. See forum thread 9b9e4716c0d7bbd1 for more information. (check-in: 5c95ae6c9b user: drh tags: trunk)
2022-08-29
18:58
Lots of tweaking in batch-runner.js. Minor internal API update in OO #1 API. (check-in: 24b82b9504 user: stephan tags: fiddle-opfs)
17:41
Add test descriptions to the speedtest1 '-- begin' markers for potential display by the downstream JS code which uses those markers. (check-in: e5b7006f0f user: stephan tags: fiddle-opfs)
12:39
Add batch-runner.js for running batch SQL scripts with timing info. (check-in: 11f3ed6115 user: stephan tags: fiddle-opfs)
12:31
Add get/setPtrValue() to the common wasm utils. (check-in: 24d70fc458 user: stephan tags: fiddle-opfs)
09:51
Add begin/end comment markers to the test blocks in speedtest1 --script output to facilitate chopping up the output into chunks for JS-side processing. (check-in: ef0b7ef2d2 user: stephan tags: fiddle-opfs)
08:04
oo #1 api: correct a case where a null callback is called. Rename some vars for clarity. Increase wasm-side memory in order to be able to load the speedtest1 output. (check-in: b5058f14fa user: stephan tags: fiddle-opfs)
2022-08-27
16:11
More assert() statements in the page cache. (check-in: 7c96a56c0d user: drh tags: trunk)
14:43
Ensure that every pcache page always has either the PGHDR_DIRTY or the PGHDR_CLEAN bit set, even during transient page reshuffling during btree balancing. (check-in: e67f03c166 user: drh tags: trunk)
2022-08-25
19:38
Merge changes from trunk into the fiddle-opfs branch. (check-in: 34279797be user: stephan tags: fiddle-opfs)
19:29
Ensure that sqlite3_prepare() inputs always have a semicolon terminator in speedtest1. (check-in: c72756b0f2 user: drh tags: trunk)
19:19
Add the --script option to speedtest1. (check-in: 1c87d7c58d user: drh tags: trunk)
18:29
Fix the bytecode engine so that it is able to handle an incoming SQLITE_TOOBIG error, which is now possible using the statement cache. (check-in: 7763b98b36 user: drh tags: stmt-cache)
17:12
Do not attempt to cache DDL statement. (check-in: 8f6a1f77b8 user: drh tags: stmt-cache)
15:09
Improved documentation of new features. Minor speed enhancements. (check-in: da9aa5476c user: drh tags: stmt-cache)
14:31
Merge changes from trunk into the stmt-cache branch. (check-in: bc988ce727 user: drh tags: stmt-cache)
13:32
Remove a NEVER() macro for a condition that is actually reachable following an OOM. dbsqlfuzz crash-6ef3cd3b18ccc5de86120950a0498641acd90a33.txt. (check-in: b573e2cffa user: dan tags: trunk)
13:27
Consolidate oo1.DB.exec() and oo1.DB.execMulti() into oo1.DB.exec(). This is a bit less efficient but certainly easier for a client to deal with and lightens the maintenance burden. (check-in: 7eff7213df user: stephan tags: fiddle-opfs)
13:09
If a perpared statement runs the Expire opcode, then disqualify it from being cached. (check-in: f27d919f35 user: drh tags: stmt-cache)
11:39
Refactor and expand the worker1 docs, consolidating them into the top of their file instead of scattered around the internals. Accommodate an API change from yesterday in demo-oo1.js. (check-in: 0a65747047 user: stephan tags: fiddle-opfs)
2022-08-24
23:50
Change sqlite3_prepare_v3() to require SQLITE_PREPARE_CACHE in order for a statement to be a cache candidate. But any statement can pull from the cache. Also add statement cache control to the CLI. (check-in: c9dc536db9 user: drh tags: stmt-cache)
20:57
Change DB.exec() rowMode default from 'stmt' to 'array', per /chat discussion. Add DB.exec() rowMode option for fetching a specific column by name. Add result column names to worker1 exec() callback interface, as there's otherwise no way to get that info from a worker. (check-in: 1bb37e5c47 user: stephan tags: fiddle-opfs)
18:39
Expand the worker1 'exec' op handling for per-row callbacks for API-level consistency and smooth some edges between worker1 core and worker1-promiser. Add worker1 'config-get' message to fetch the serializable parts of the sqlite3.config state. Improve the 'open' op's handling of the 'persistent' option (noting that we cannot yet test that case from a worker). (check-in: 509f883920 user: stephan tags: fiddle-opfs)
17:59
Add a mutex to the sqlite3_db_config() interface so that it is threadsafe when two or more threads call it on the same database connection at the same time. (check-in: 459ad8846e user: drh tags: trunk)
17:55
First attempt at adding a built-in prepared statement cache. This is mostly working, but still has a few obscure faults. (check-in: c217b763b1 user: drh tags: stmt-cache)
14:50
js: resolve the mysterious "extra" unhandled exception notification, caused by inadvertently forking one promise into two separate ones (failing to properly reassign a then() result). Fix a typo in new Worker 1 code which caused the DB(filename) name to be incorrect. (check-in: 7467ac8880 user: stephan tags: fiddle-opfs)
11:51
Fix an inefficiency in the ".dump" command when outputing large blob literals. (check-in: c055d05dbd user: dan tags: trunk)
05:59
More work on how to configure the sqlite3 JS API bootstrapping process from higher-level code. Initial version of sqlite3-worker1-promiser, a Promise-based proxy for the Worker API #1. (check-in: b030f321bd user: stephan tags: fiddle-opfs)
00:51
The very basics of a Promise-based proxy for the Worker #1 API. Still requires considerable cleanup, testing, and a solution for the exec-callback-via-event-type-name problem. (check-in: 1e447849fb user: stephan tags: fiddle-opfs)
00:10
Significant restructuring of the Worker #1 request/response object structures to improve readability and clarity. (check-in: 03b9db9b98 user: stephan tags: fiddle-opfs)
2022-08-23
20:11
Change the names of the Vdbe.pVNext and Vdbe.ppVPrev fields to make them unique. Change to ppVPrev to save a few bytes and a few CPU cycles. (check-in: 34b8ea3187 user: drh tags: trunk)
17:51
Enhance assert() statements to enforce tighter bounds on the P5 operand of the OP_Next and OP_Prev opcodes. (check-in: 4e0a07fc6f user: drh tags: trunk)
17:02
Wasm build flag tweaks and documentation. (check-in: c8eb3aa8e0 user: stephan tags: fiddle-opfs)
16:55
Add mksourceid binary to the clean rules and $(TESTPROGS) to distclean. (check-in: ae3e82f5a3 user: stephan tags: trunk)
2022-08-22
21:37
More experimentation with how client-side config state can be passed on to initialize the JS-side sqlite3 API. (check-in: ea2acc454c user: stephan tags: fiddle-opfs)
16:30
Merge recent trunk enhancements into the reuse-schema branch. (check-in: 9c05a48ee0 user: drh tags: reuse-schema)
16:08
Merge all recent trunk changes into the begin-concurrent-pnu-wal2 branch. (check-in: dde76e91d3 user: drh tags: begin-concurrent-pnu-wal2)
15:57
Merge all recent trunk enhancements into the wal2 branch. (check-in: 0b7578bf3d user: drh tags: wal2)
15:48
Merge all recent trunk enhancements into the begin-concurrent-report branch. (check-in: 2ec6e9e134 user: drh tags: begin-concurrent-report)
15:42
Merge all recent trunk enhancements into the begin-concurrent branch. (check-in: 7eac6136ab user: drh tags: begin-concurrent)
15:18
Performance enhancement for sqlite3DbFree(). (check-in: c296a9d958 user: drh tags: trunk)
14:03
Merge recent trunk changes into the fiddle-opfs branch. (check-in: e215d55a97 user: stephan tags: fiddle-opfs)
13:34
Refactor JS API amalgamation such that the bootstrapping/configuration is deferred until the whole amalgamation is available, to facilitate providing clients with a way to initialize the API with their own config (noting that we're still one small level of refactoring away from being able to actually do that). (check-in: 9dbe9a6aec user: stephan tags: fiddle-opfs)
08:55
wasm: accommodated a JS API rename. (check-in: 00991335c4 user: stephan tags: fiddle-opfs)
02:00
Add the new internal interface sqlite3DbNNFreeNN(db,ptr) where both the db and ptr parameters are guaranteed to be non-NULL. Use this where appropriate to save more than 2 million CPU cycles on the standard performance test. (check-in: e5eaa80e81 user: drh tags: trunk)
2022-08-20
19:45
Merge the test case for dbsqlfuzz 18fe4e257be7fa3ecfb0424ab7427e41e97ef9e3 assertion fault, which is fixed with the previous check-in. (check-in: 2d13ec086e user: drh tags: trunk)
19:33
Enhance the enforcement of SQLITE_VTAB_DIRECTONLY so that it applies to DML statements within triggers. Do not allow DML stratements against virtual tables within triggers unless either the virtual table is SQLITE_VTAB_INNOCUOUS or PRAGMA trusted_schema is ON. (check-in: 9433ea4070 user: drh tags: trunk)
2022-08-19
20:10
Add test case for fuzzer case crash-18fe4e. (Closed-Leaf check-in: 8372468bb5 user: dan tags: crash-18fe4e)
2022-08-18
15:53
Add notes to ext/wasm/README.md explaining how to run tests on a remote machine. (check-in: 7a3c444fb5 user: drh tags: fiddle-opfs)
12:21
javascript: rename and simplify DB.callInTransaction() as DB.transaction(). Add DB.savepoint(), which works the same as transaction() but uses savepoints. Correct concatenation of arguments to SQLite3Error to use spaces instead of commas. Test that demo-oo1.js works with persistent OPFS storage (output differs due to persistent rows, but the demo works). (check-in: e8c323f12b user: stephan tags: fiddle-opfs)
11:16
Improve an exception check in demo-oo1.js. (check-in: 55e1b775fa user: stephan tags: fiddle-opfs)
2022-08-17
20:18
In the ".dump" command of the CLI, if a schema statement ends with an unterminated comment, try to terminate that comment prior to appending the ";" at the end. Forum post d7be961c5c. (check-in: 96e112da1a user: drh tags: trunk)
18:07
Enhance the "PRAGMA integrity_check" statement so that it verifies the rows of a WITHOUT ROWID table are in the correct order. (check-in: 62f934bff4 user: drh tags: trunk)
17:14
Minor code simplification in the code generator for PRAGMA integrity check. (check-in: a3b9c7a6c9 user: drh tags: trunk)
16:44
Minor cleanups, reorgs, and doc updates for the JS APIs. Renamed sqlite3(-api)-worker.js to sqlite3(-api)-worker1.js, for symmetry with sqlite3-api-oo1.js. (check-in: f5059ee6f9 user: stephan tags: fiddle-opfs)
2022-08-16
17:29
wasm: minor cleanups in the OO API #1 demo. (check-in: b9cdcc06a8 user: stephan tags: fiddle-opfs)
17:18
Change the legacy RC4-based PRNG to use the RFC-7539 chacha20 algorithm. (check-in: a0f8011519 user: drh tags: trunk)
16:57
Fix obsolete comments. Add new comments. Fix non-standard spacing. (Closed-Leaf check-in: a0d224c6a6 user: drh tags: chacha20-prng)
16:40
Fix an off-by-one error in the ChaCha20 initialization code. (check-in: 72e220eed4 user: drh tags: chacha20-prng)
16:36
wasm: add a small demo/presentation app for JS OO API #1 and make a few minor additions to that API. (check-in: d6d79b661a user: stephan tags: fiddle-opfs)
16:16
wasm: move another file and update testing1/testing2 to account for [e38d00c2b82d]. Disable wasmfs by default as it breaks the worker-based module loader (reason as yet unknown). (check-in: 6dad5e0573 user: stephan tags: fiddle-opfs)
16:11
wasm: accommodate moving generated sqlite3.js in the previous checkin. (check-in: 41762f9518 user: stephan tags: fiddle-opfs)
16:06
wasm: disable shared cache mode by default. Experimentally move wasm-build generated files up one dir to rule the extra dir out as a problem for Emscripten-related worker-loading failures. (check-in: e38d00c2b8 user: stephan tags: fiddle-opfs)
14:09
Omit an unnecessary test case from corruptN.test that does not work with the new RFC-7539 PRNG. (check-in: d9e8c65ed2 user: drh tags: chacha20-prng)
10:52
Add assert() statements to verify that the SQLITE_OPEN_EXCLUSIVE flag is always passed to the VFS when opening a temporary file. (check-in: e123da49cc user: dan tags: trunk)
00:04
Replace the RC4-based PRNG with one based on ChaCha20 (RFC 7539). 3x faster. (check-in: 084d8776fa user: drh tags: chacha20-prng)
2022-08-15
19:23
Extra test for SQLITE_MAX_COMPOUND_SELECT. (check-in: c271096736 user: dan tags: trunk)
18:36
The new --script option to dbtotxt.c looks for an SQL script at the head of the file and generates a CLI script that will construct the database then run the SQL. (check-in: 6170e638eb user: drh tags: trunk)
12:26
In the documentation emphasize that the use of shared cache is discouraged. Fix test cases so that they all work with shared cache disabled. (check-in: 52c3ae063e user: drh tags: trunk)
2022-08-13
17:13
Add worker-style variant of the tests added in [ae24ac0f7dd9], but building this with wasmfs causes them to throw inexplicable exceptions from the Emscripten glue (without wasmfs it builds and runs fine, but storage is not persistent). (check-in: 6401595e59 user: stephan tags: fiddle-opfs)
16:36
wasmfs: use unix-none VFS by default to avoid locking errors in non-OPFS mode. (check-in: 75561dea1a user: stephan tags: fiddle-opfs)
16:11
Add scratchpad/test app for WASMFS/OPFS running in the main window thread. Enable WASMFS by default in the library build. (check-in: ae24ac0f7d user: stephan tags: fiddle-opfs)
13:56
Cleanups in the wasmfs/opfs integration but disable it in order to get the build into a known-working state before continuing with experimentation. (check-in: 41045be752 user: stephan tags: fiddle-opfs)
13:51
Remove OPFS from the fiddle build for the time being - will re-enable once the breakage is figured out via testing with the core API. (check-in: 3bc510a614 user: stephan tags: fiddle-opfs)
13:46
wasm OO API #1: added DB.callInTransaction() and Stmt.stepFinalize(). (check-in: e37dddc1dd user: stephan tags: fiddle-opfs)
13:42
Corrected TextDecoder.decode() usage to run when its input references a SharedArrayBuffer. (check-in: d4d773405c user: stephan tags: fiddle-opfs)
2022-08-12
18:54
Use new -DSQLITE_DEFAULT_UNIX_VFS="unix-none" for fiddle build to bypass OPFS locking errors. (check-in: b3a93ec75a user: stephan tags: fiddle-opfs)
18:46
Add the (undocumented) SQLITE_DEFAULT_UNIX_VFS compile-time option. (check-in: 49828bdec5 user: drh tags: trunk)
18:07
Updated fiddle deps to ensure that sqlite3.c is built first. (check-in: f0ca026114 user: stephan tags: fiddle-opfs)
17:57
Build fiddle with WASMFS OPFS support and attempt to use it if available. It does not work because of an inexplicable exception in Emscripten-generated code and perpetually-locked db, but it's not yet clear why. (check-in: a16f0a46ec user: stephan tags: fiddle-opfs)
17:55
Minor wasm-related doc clarification and remove an obsolete code comment. (check-in: 1b1f650a08 user: stephan tags: trunk)
13:07
wasm: document the role of sqlite3-wasm.c. Other minor doc updates. (check-in: 4c10b9b18f user: stephan tags: trunk)
09:32
wasm: corrected (in as-yet unused code) a flags check. (check-in: 06b6113783 user: stephan tags: trunk)
2022-08-11
15:45
Wasm-related doc additions and tweaks. (check-in: ec55a3aa44 user: stephan tags: trunk)
09:18
Merge in wasm-cleanups branch, reorganizing and updating the wasm-related components. (check-in: c072594d3d user: stephan tags: trunk)
2022-08-10
18:40
Fix another harmless comment typo that causes a typo in the documentation. (check-in: bb084adb53 user: drh tags: trunk)
18:33
Remove (harmless) duplicate words in comments used to generate parts of the documentation. forum post 54abbe9ccd (check-in: b5e4f0db09 user: drh tags: trunk)
17:03
Merge the branch-3.28a fixes into branch-3.28. (check-in: ba6bf33147 user: drh tags: branch-3.28)
15:29
Fix handling of columns with names that are SQL keywords in the ".expert" command. (check-in: 5e1b8221c3 user: dan tags: trunk)
13:22
wasm opfs: error handling fix for an impossible-to-reach error case. Minor cosmetic tweaks in the wasm JSON enum. (Closed-Leaf check-in: 683a3b937e user: stephan tags: wasm-cleanups)
11:26
wasm refactoring part 2 of (apparently) 2: moved ext/fiddle/... into ext/wasm and restructured the core API-related parts of the JS/WASM considerably. (check-in: 27f9da4eaa user: stephan tags: wasm-cleanups)
09:36
wasm/fiddle refactoring part 1 of N: move fiddle app from ext/fiddle to ext/wasm/fiddle, which only contains files intended to be pushed to the live site. Disabled build of the non-fiddle wasm parts, pending a later step of the refactoring. (check-in: fb4eb93080 user: stephan tags: wasm-cleanups)
07:58
Merged in trunk for pending tree refactoring. (check-in: c3a3cb0103 user: stephan tags: wasm-cleanups)
2022-08-09
20:22
Fix a rounding error caused by scalar->logarithm->scalar conversion when using stat4 data to estimate some range scans. (check-in: 68d86f2b20 user: drh tags: branch-3.28)
16:13
Allow the name of an index to collide with a table in a different schema. (check-in: f963c25238 user: drh tags: trunk)
14:28
Omit the (undocumented) SQLITE_PCACHE_SEPARATE_HEADER compile-time option. (check-in: 60947da687 user: drh tags: trunk)
2022-08-08
19:29
Avoid some cases of signed integer overflow in fts5 by casting to unsigned values. (check-in: 46a78c8c0e user: dan tags: trunk)
16:25
Avoid trying to cast an over-sized floating point value into an integer. (check-in: 3518cd7cb1 user: drh tags: trunk)
13:04
Remove an unreachable branch in the numericType() helper routine. (check-in: a99cc008e4 user: drh tags: trunk)
12:19
Do not attempt to convert an oversized floating point value into an integer. (check-in: 6c4fc8385e user: drh tags: trunk)
2022-08-06
15:28
Fix a rounding error caused by scalar->logarithm->scalar conversion when using stat4 data to estimate some range scans. (check-in: 86e30d7c4b user: dan tags: trunk)
2022-08-05
19:37
Avoid having fts3 read uninitialized values when processing deferred tokens. (check-in: 8e2bfe5803 user: drh tags: branch-3.39)
17:16
Avoid having fts3 read uninitialized values when processing deferred tokens. (check-in: 98729c5fa6 user: dan tags: trunk)
05:30
Fix harmless compiler warning seen with MSVC. (check-in: e36217f253 user: mistachkin tags: trunk)
2022-08-04
17:17
Fix a problem with the query optimizer for LIMIT/OFFSET queries when underlying query is a UNION ALL and both arms of the UNION ALL are subqueries with an ORDER BY clause. (check-in: 5e1db87cfa user: drh tags: branch-3.39)
17:15
Fix a problem with the query optimizer for LIMIT/OFFSET queries when underlying query is a UNION ALL and both arms of the UNION ALL are subqueries with an ORDER BY clause. This bug was reported at forum post 6b5e9188f0657616. The problem was introduced in 2015 (SQLite version 3.9.0) by check-in [4b631364354068af]. See also ticket [b65cb2c8d91f6685]. (check-in: 6c806f64bb user: drh tags: trunk)
14:02
Fix a typo on a comment used to generate bytecode documentation. (check-in: 64348d0b66 user: drh tags: trunk)
2022-08-03
19:53
Performance optimization to the math opcodes of the bytecode engine. (check-in: 597347d9c3 user: drh tags: trunk)
19:37
Small performance increase on the binding interfaces. (check-in: aab24c37fb user: drh tags: trunk)
17:27
Improvement on the previous check-in. (check-in: 0d0c31117a user: drh tags: branch-3.39)
17:26
Improvement on the previous check-in. (check-in: c1ab0ea295 user: drh tags: trunk)
16:04
For an IN operator used with a RIGHT JOIN, use the number of terms in the vector, not the number of equality terms, to size the column map. dbsqlfuzz 14cfdad6ca45e607163f54049ddf5065183dc657. (check-in: 003e4eee6b user: drh tags: branch-3.39)
15:58
For an IN operator used with a RIGHT JOIN, use the number of terms in the vector, not the number of equality terms, to size the column map. dbsqlfuzz 14cfdad6ca45e607163f54049ddf5065183dc657, CVE-2022-3195. This problem was injected by [a193749730d6cfba] which was part of the RIGHT JOIN enhancement for version 3.39.0. (check-in: b184c8d922 user: drh tags: trunk)
2022-08-01
13:17
Bump the version number up to 3.39.3. (check-in: d0f7f22a8f user: drh tags: branch-3.39)
13:15
In the xUpdate method of the GeoPoly virtual table, make sure that the number of updated columns does not exceed the underlying implementation, even if the virtual table object records an excess number of column in the nAux field due to table constraints in the table definition. Fix for the problem reported by forum post a096ab7d96bb057a. (check-in: a8ae721617 user: drh tags: branch-3.39)
13:14
In the xUpdate method of the GeoPoly virtual table, make sure that the number of updated columns does not exceed the underlying implementation, even if the virtual table object records an excess number of column in the nAux field due to table constraints in the table definition. Fix for the problem reported by forum post a096ab7d96bb057a. A test case for this problem is in dbsqlfuzz. (check-in: a04dd475c2 user: drh tags: trunk)
2022-07-26
19:10
Restore a VDBE coverage macro that is mistakenly deleted for check-in [92ac01d41d46ab73]. (check-in: 01de7ec44f user: drh tags: trunk)
18:43
Fix another problem related to aggregate query LEFT JOIN flattening. (check-in: 8e12c6f59b user: dan tags: trunk)
15:41
Omit a unused variable initialization in order to suppress a harmless compiler warning. (check-in: 2d703c5e94 user: drh tags: trunk)
15:39
Add test cases related to fix [e717e029]. (Closed-Leaf check-in: 2909f36bfb user: dan tags: flatten-left-join)
15:32
Make sure IF_NULL_ROW expressions receive a separate slot in the sorter used to implement GROUP BY. (check-in: 2bda4fca06 user: drh tags: flatten-left-join)
14:37
Improved AggInfo.aCol debugging output, intended to debug a problem with LEFT JOIN flattening into an aggregate query with GROUP BY. (check-in: e717e029bd user: drh tags: flatten-left-join)
10:16
Add a OOM term to a single assert() statement. (check-in: 217fc3ebd4 user: drh tags: trunk)
01:20
Performance optimization: avoid unnecessary calls to computeLimitRegisters(). (check-in: f48bd8f85d user: drh tags: trunk)
2022-07-25
23:34
Fix an assert() that was made out-of-date by [b52393ac28debe98]. (check-in: db8230e80e user: drh tags: trunk)
23:01
Performance optimization by only invoking sqlite3FkCheck() when it is actually needed. (check-in: 98b0e830bc user: drh tags: trunk)
22:31
Performance optimization in sqlite3ViewGetColumnNames(). (check-in: 390717e688 user: drh tags: trunk)
22:02
Fix a harmless compiler warning. (check-in: 9aba7417c6 user: drh tags: trunk)
21:37
In-line a call to sqlite3ExprCode() in insert.c, for a size reduction and performance increase. (check-in: 35066b1446 user: drh tags: trunk)
20:21
Performance optimization in computing the Expr.nHeight field. (check-in: 1798ce97c8 user: drh tags: trunk)
19:05
Small performance increase and size reduction by splitting out the sqlite3VdbeGetLastOp() from sqlite3VdbeGetOp(). (check-in: 92ac01d41d user: drh tags: trunk)
16:06
Fix an error in the aggregate query LEFT JOIN flattening optimization from [2cf373b10c9bc4cb] and further enhance that optimization so that it works even if there is a GROUP BY clause. (check-in: b52393ac28 user: drh tags: trunk)
15:54
Allow subqueries on the right-hand side of a LEFT JOIN to be flattened even if they contain a GROUP BY clause. (Closed-Leaf check-in: 816da9a893 user: drh tags: flatten-left-join)
14:05
TK_IF_NULL_ROW expressions must be accumulated in the same way as TK_COLUMN expressions in an aggregate query. Proposed fix for the problem identifyed by dbsqlfuzz 8e17857db2c5a9294c975123ac807156a6559f13. (check-in: 40d0880720 user: drh tags: flatten-left-join)
11:19
If the LHS of a LEFT JOIN is flattened into an aggregate parent query, avoid executing OP_IfNullRow on an unopened cursor by disallowing the index-only optimization. (Later:) Does not work if automatic indexes are disabled. (Closed-Leaf check-in: dbe522b011 user: dan tags: nonworking-flatten-left-join)
11:04
Reduce a timeout in walsetlk.test from 2000ms to 1100ms so that the test runs a bit faster. (check-in: 836fa09706 user: dan tags: trunk)
2022-07-23
12:51
Simplifications to sqlite3FinishCoding() for a small size reduction and performance increase. (check-in: a995614b9a user: drh tags: trunk)
00:53
Remove a branch that is no longer reachable due to the previous check-in. (check-in: 8b4d1b9317 user: drh tags: trunk)
00:44
Use sqlite3ParserAddCleanup() rather than pParse->pConstExpr to implement sqlite3ExprDeferredDelete(). This is a better solution than check-in [c538d07535092722]. (check-in: 2a6f6971fa user: drh tags: trunk)
2022-07-22
20:48
Updates to the 'vtshim' extension. (Leaf check-in: 163c6cdf93 user: mistachkin tags: xShadowName2)
20:24
Add experimental 'xShadowName2' method for virtual table modules. (check-in: 57beb700c0 user: mistachkin tags: xShadowName2)
19:28
Omit the EP_MemToken flag that was made obsolete by [e1f1cfe7f4387b60], for a size reduction and performance increase. (check-in: 28934a9d92 user: drh tags: trunk)
18:25
In a TK_BLOB Expr node, the Expr.zToken might not be a well-formed BLOB literal if there has been a prior OOM. dbsqlfuzz 23871e5805d6c45b392f9b7aa1e8a2b98f3c27cd. (check-in: c538d07535 user: drh tags: trunk)
14:52
Update the documentation for SQLITE_OPEN_NOFOLLOW to state more clearly that nothing in the database path is allowed to be a symbolic link. (check-in: de9222697b user: drh tags: trunk)
2022-07-21
18:37
Fix harmless compiler warning seen with MSVC. (check-in: 648172de20 user: mistachkin tags: trunk)
16:07
Merge the fixes from branch-3.39 into the reuse-schema branch. (check-in: 578538baf2 user: drh tags: reuse-schema-3.39)
15:24
Version 3.39.2 (check-in: 698edb7753 user: drh tags: release, branch-3.39, version-3.39.2)
12:26
In the query planner, restore the former aggressiveness in reordering of FROM clause terms that existed prior to version 3.39.0 for queries that contain no RIGHT or FULL JOINs. (check-in: 9141e873c5 user: drh tags: branch-3.39)
2022-07-20
20:36
Make use of the sqlite3ExprDeferredDelete() interface in the previous check-in, and in another place where it might be helpful. (check-in: 22f90e9683 user: drh tags: trunk)
17:01
Simplify the logic that converts the "1" expression in "ORDER BY 1" into a copy of the expression that defines the first output column. (check-in: 449935914c user: drh tags: branch-3.39)
16:42
Simplify the logic that converts the "1" expression in "ORDER BY 1" into a copy of the expression that defines the first output column. Fix for CVE-2022-3034. Test case in TH3. (check-in: e1f1cfe7f4 user: drh tags: trunk)
10:09
Merged in trunk. (check-in: d662796c65 user: stephan tags: wasm-cleanups)
2022-07-19
21:12
Improve accuracy of julian day milliseconds calculation. (check-in: e5e9311863 user: larrybr tags: trunk)
2022-07-18
19:32
Remove a few unsuitable scripts from the "veryquick" test suite. Also have every second testrunner.tcl process favour running test scripts that contain text like "testrunner: slow" before any others. (check-in: 22d280a5cd user: dan tags: trunk)
18:13
Add the "testrunner" makefile target. (check-in: 954c659315 user: drh tags: trunk)
15:27
Increase the size of loop variables in the printf() implementation to avoid integer overflow on multi-gigabyte string arguments. CVE-2022-35737. (check-in: 26db4fc22f user: drh tags: branch-3.39)
15:02
Increase the size of loop variables in the printf() implementation to avoid integer overflow on multi-gigabyte string arguments. CVE-2022-35737. (check-in: aab790a16e user: drh tags: trunk)
13:55
Enhance the REGEXP extension so that it will accept the start-of-input mark ("^") in the middle of parentheses. Forum post 0d6a9160f81ef1a8. (check-in: ed8a8ebd62 user: drh tags: trunk)
13:10
Fix a problem in the REGEXP extension for the {M,N} construct where M is zero. See forum post 8694e55a2c29963c for more information. (check-in: af15bb7530 user: drh tags: trunk)
11:44
Enhance the ext/misc/regexp.c code so that when it is compiled with SQLITE_DEBUG, a new function named regexp_bytecode() is available that prints out the compiled NFA as human-readable text, for debugging purposes. (check-in: cb5c08978f user: drh tags: trunk)
2022-07-16
18:08
Fixes for the generated "mallocs.tcl" and "leaks.tcl" scripts generated by running tcl tests with the --malloctrace=1 option. (check-in: 449799e2d5 user: dan tags: trunk)
2022-07-15
20:39
In the query planner, restore the former aggressiveness in reordering of FROM clause terms that existed prior to version 3.39.0 for queries that contain no RIGHT or FULL JOINs. (check-in: 92d60b64eb user: drh tags: trunk)
15:24
Fix harmless compiler warnings seen with MSVC. (check-in: 2be8fa158e user: mistachkin tags: branch-3.39)
15:11
Fix a memory leak in fts3 that could occur when processing a corrupt database. (check-in: 48f323b956 user: dan tags: branch-3.39)
15:08
Fix a memory leak in fts3 that could occur when processing a corrupt database. (check-in: d74f6f6d51 user: dan tags: trunk)
12:34
Fix the whereKeyStats() routine (part of STAT4 processing only) so that it is able to cope with row-value comparisons against the primary key index of a WITHOUT ROWID table. Forum post 3607259d3c. (check-in: 2a6f761864 user: drh tags: branch-3.39)
12:16
Fix the whereKeyStats() routine (part of STAT4 processing only) so that it is able to cope with row-value comparisons against the primary key index of a WITHOUT ROWID table. Forum post 3607259d3c. (check-in: 0620e419a9 user: drh tags: trunk)
12:07
Update some faulty assert() statements in fts3. (check-in: 958d104bcf user: dan tags: branch-3.39)
11:34
Update some faulty assert() statements in fts3. (check-in: b072851be1 user: dan tags: trunk)
2022-07-14
21:17
Ensure all testrunner.tcl processes use the same pending-byte value when accessing testrunner.db. Otherwise locking doesn't work and the db is corrupted. (check-in: b65225653e user: dan tags: trunk)
18:09
Update testrunner.tcl so that it can run the test suites defined in permutation.test. (check-in: 15ce937ef4 user: dan tags: trunk)
01:54
Bump the version number up to 3.39.2. (check-in: c4dbcb282d user: drh tags: branch-3.39)
01:49
When applying the omit-ORDER-BY optimization, defer deleting the AST of the deleted ORDER BY clause until after code generation ends. (check-in: b88d6c4b81 user: drh tags: branch-3.39)
01:48
When applying the omit-ORDER-BY optimization [85ddaf1b59a19cbd], defer deleting the AST of the deleted ORDER BY clause until after code generation ends. Fix for CVE-2022-3039. Test case in TH3. (check-in: f22f95b838 user: drh tags: trunk)
2022-07-13
21:28
Fix testrunner.tcl so that it can detect the number of logical cores on osx. (check-in: 14918f2822 user: dan tags: trunk)
21:10
Minor change to help message in testrunner.tcl. (check-in: e4f9cb01d7 user: dan tags: trunk)
21:02
Add new script test/testrunner.tcl. For running a set of test scripts using multiple processes. (check-in: 0122e93dc1 user: dan tags: trunk)
20:26
Fix a problem preventing "testrunnter.tcl all" from working. (Closed-Leaf check-in: 0ed1e83c6f user: dan tags: testrunner)
19:57
Update testrunner.tcl to allow the user to specify which tests to run on the command line. (check-in: 900febcf36 user: dan tags: testrunner)
19:41
Version 3.39.1 (check-in: 7c16541a0e user: drh tags: release, branch-3.39, version-3.39.1)
17:46
Fix testrunner.tcl so that it checks for memory leaks. (check-in: 106f6724d5 user: dan tags: testrunner)
16:06
The query flattener should not run if the subquery is a compound that contains a RIGHT JOIN in any arm and the subquery is not the first element of the outer query. Otherwise, prior elements of the outer query will not have the JT_LTORJ flag set. Fix for the problem reported in forum post 174afeae5734d42d. (check-in: cf9ed7f2e1 user: drh tags: branch-3.39)
15:52
The query flattener should not run if the subquery is a compound that contains a RIGHT JOIN in any arm and the subquery is not the first element of the outer query. Otherwise, prior elements of the outer query will not have the JT_LTORJ flag set. Fix for the problem reported in forum post 174afeae5734d42d. (check-in: 274e244c85 user: drh tags: trunk)
11:27
Fix test case error messages so that they work with after the removal of the unnecessary zErrMsg clearing from [44d77a7f807f5dc3]. (check-in: 7b167b87d6 user: drh tags: branch-3.39)
2022-07-12
20:31
Add test/testrunner.tcl, an experimental script for distributing the work of veryquick.test between multiple processes. (check-in: ef229cbb7f user: dan tags: testrunner)
15:53
Renamed the SQLITE_SHELL_WASM_WEB_MODE to SQLITE_SHELL_FIDDLE, which seems to be more in line with project convensions and indicates that that flag is only intended for /fiddle mode, as opposed to arbitrary wasm-on-the-web use. (check-in: d1d019bfa2 user: stephan tags: trunk)
15:17
Fix another test case error message similar to those fixed in [b3d6b3c3]. (check-in: 6d0f677291 user: dan tags: trunk)
15:12
Update makefiles to fix building the non-amalgamation testfixture with SQLITE_DEBUG. (check-in: 1ca7056417 user: dan tags: branch-3.39)
15:10
Update makefiles to fix building the non-amalgamation testfixture with SQLITE_DEBUG. (check-in: d9c4a9d09b user: dan tags: trunk)
10:46
Fix a bug in wapptest.tcl introduced by [51255bad4c1fb607]. (check-in: b26d097e09 user: drh tags: trunk)
09:40
Renamed SQLITE_SHELL_WASM_MODE to SQLITE_SHELL_WASM_WEB_MODE and no longer automatically enable it if __EMSCRIPTEN__ is defined, in order to facilitate using Emscripten to build the shell for CLI-based WASM runtimes (which cannot make use of the web-specific user input changes). The fiddle build now explicitly passes the new flag on at compile-time. (check-in: ee059ad5a8 user: stephan tags: trunk)
07:13
Back out the pager performance enhancement at [a1c090e08139f99d3], because it turns out we should never allow a zero key into the pcache interface according to the design specs, even if that page is immediately released without ever being used. (check-in: ec96293ead user: drh tags: trunk)
2022-07-11
22:20
Add the --config option to wapptest.tcl. The argument is a glob pattern. All configurations must match the glob pattern in order to run. The default value is "*". (check-in: 51255bad4c user: drh tags: trunk)
21:40
Update the expected error messages in some OOM test cases to account for [44d77a7f807]. (check-in: b3d6b3c3fc user: dan tags: trunk)
19:48
Use 64-bit memory allocation APIs in the sqlite_stmt virtual table, to avoid harmless compiler warnings. (check-in: 4c40b38cbe user: drh tags: branch-3.39)
19:47
Use 64-bit memory allocation APIs in the sqlite_stmt virtual table, to avoid harmless compiler warnings. (check-in: afb9e60ee3 user: drh tags: trunk)
19:29
Fix harmless compiler warnings. (check-in: 9931bb202e user: drh tags: branch-3.39)
19:12
In the sqlite_stmt extension, store the result of strlen() in a 64-bit integer to avoid a compiler warning, even though we know that the length will always fit comfortably in 32 bits. (check-in: 3fe1945249 user: drh tags: trunk)
18:26
Fix harmless compiler warnings about unused debugging functions in treeview.c. (check-in: 4d6f907712 user: drh tags: trunk)
18:11
Back out the optimization at [1a8c2e54375ee2cf7] because there are some cases where it does not work. (check-in: fe39c8d5fd user: drh tags: trunk)
14:44
Increase the version number to 3.39.1. (check-in: 88b1b0327f user: drh tags: branch-3.39)
14:43
Ensure that the Parse.nErr flag is set following an SQLITE_TOOBIG error on a nested parse. Fix for the problem identified by forum post d5a82ba9eedee30c. Also, remove unnecessary clearing of the Parse.zErrMsg field following a nested parse. (check-in: eaef7b7190 user: drh tags: branch-3.39)
14:39
Fix a problem in fts3 to do with deferred tokens and OR expressions. (check-in: bbe999e345 user: drh tags: branch-3.39)
14:36
Ensure that the Parse.nErr flag is set following an SQLITE_TOOBIG error on a nested parse. Fix for the problem identified by forum post d5a82ba9eedee30c. Also, remove unnecessary clearing of the Parse.zErrMsg field following a nested parse. (check-in: 44d77a7f80 user: drh tags: trunk)
14:26
Fix a problem in fts3 to do with deferred tokens and OR expressions. (check-in: d0bfe5c574 user: dan tags: trunk)
2022-07-10
21:12
When an OOM occurs and sets the Parse.nErr value, also set the Parse.nErr value for all outer Parse objects. dbsqlfuzz d33f60aaa67733aa700cd69dacf8e0e23a327a29 (check-in: 9a494d2594 user: drh tags: trunk)
2022-07-08
20:03
Performance optimizations in the WHERE clause processing of the query planner. (check-in: 50c8e8de52 user: drh tags: trunk)
18:23
Omit an unnecessary structure initialization in whereLoopAddAll(), replacing it with an assert() to show that the initialization has already occurred, for a small performance increase and size reduction. (check-in: 27be9e9634 user: drh tags: trunk)
17:57
Size reduction and performance optimization in whereLoopAddBtreeIndex(). (check-in: 64d2312c12 user: drh tags: trunk)
16:56
In wherePathSolver(), defer initializing variables until they are actually needed, in case they are not needed. This gives a small performance increase. (check-in: 6f28a9652a user: drh tags: trunk)
15:06
Upgrade the TEA build system used to build the Tcl package. (check-in: ace65da8fa user: dan tags: trunk)
13:57
Fix typo in autoconf/tea/win/makefile.vc. (Closed-Leaf check-in: 094b2aadd5 user: dan tags: tea-upgrade)
11:55
Remove an obsolete statement from a comment. No changes to code. (check-in: 99afb3f41b user: drh tags: trunk)
11:21
Update options in the TEA package msvc makefile to match other builds. (check-in: d72e12b99d user: dan tags: tea-upgrade)
11:14
Update the build options used for the TEA package to match those used to build the binaries at download.html. (check-in: 9d6d9dba66 user: dan tags: tea-upgrade)
2022-07-07
22:59
Very small size reduction and performance increase in btree.c. (check-in: 9a7c031a82 user: drh tags: trunk)
21:04
Size reduction and performance increase in defragementPage() of btree.c. (check-in: 1b03f197b5 user: drh tags: trunk)
20:49
Upgrade the TEA build system in autoconf/tea/. To match tclconfig commit 20fe9e6f59 and Tcl Sample Extension be47fb0446. (check-in: 1531f73918 user: dan tags: tea-upgrade)
20:29
Size reduction and performance increase in the pageFindSlot() routine of btree.c. (check-in: 5d247e3856 user: drh tags: trunk)
20:11
Size reduction and performance increase in the freeSpace() routine of btree.c. (check-in: 7d7aed053f user: drh tags: trunk)
2022-07-06
23:50
Fix harmless compiler warnings seen with MSVC. (check-in: 61e2094afb user: mistachkin tags: trunk)
15:44
Avoid ignoring the last line of a csv file if the final field is empty and there is no trailing CFLS. Also have the csv extension treat the last line of a file in the same way as any other line if it is short fields. (check-in: 587795d47f user: dan tags: trunk)
13:59
Avoid dropping error codes in the xBegin() method of virtual table sqlite_dbpage. (check-in: 570e2bce59 user: dan tags: trunk)
2022-07-05
19:56
Fix for builds with both SQLITE_DEBUG and SQLITE_OMIT_WINDOWFUNC defined. (check-in: dfe46de2d4 user: dan tags: branch-3.39)
19:53
Fix for builds with both SQLITE_DEBUG and SQLITE_OMIT_WINDOWFUNC defined. (check-in: 77916947ce user: dan tags: trunk)
17:49
Fix a problem in the csv extension that was triggered when the very first field in the csv file is zero bytes in size. (check-in: b12ddabf07 user: dan tags: trunk)
10:40
Fix an assert() in btree to be more precise, as the previous form of that asser might fail due to recent performance optimizations. (check-in: 4774938134 user: drh tags: trunk)
2022-07-04
15:14
Size reduction and performance optimization in sqlite3WalFindFrame(). (check-in: 1a8c2e5437 user: drh tags: trunk)
09:41
In the getNormalPage() routine of pager.c, consolidate pgno error checking into a single spot for small size reduction and performance increase. (check-in: a1c090e081 user: drh tags: trunk)
2022-07-03
18:12
Enhance the REGEXP extension so that the end-of-input indicate ("$") is allowed to occur on one branch of an OR ("|"). Forum post 0107d5d40dd273e2, second issue. (check-in: 3c04d21e6c user: drh tags: trunk)
14:32
Fix the initial-prefix optimization for the REGEXP extension such that it works even if the prefix contains characters that require a 3-byte UTF8 encoding. This should fix the problem reported by forum post 96692f8ba5. (check-in: 7a32ccccef user: drh tags: branch-3.39)
14:25
Fix the initial-prefix optimization for the REGEXP extension such that it works even if the prefix contains characters that require a 3-byte UTF8 encoding. This should fix the problem reported by forum post 96692f8ba5. (check-in: c94595a6e1 user: drh tags: trunk)
11:16
Improved comment on sqlite3VdbeSwap(). No changes to code. (check-in: 6a8e4fb72a user: drh tags: trunk)
11:12
Remove debugging code that has always been commented out. Cosmetic change. (check-in: b54064170c user: drh tags: trunk)
2022-07-01
21:03
Do not attempt the OP_Count optimization on queries with HAVING clauses. This fixes a problem exposed by [2cf373b10c9bc4cb]. (check-in: 566b7842ee user: dan tags: trunk)
19:42
Performance improvement in resolveP2Values(). Save over 1 million CPU cycles by omitting the loop termination condition and exiting when the OP_Init (always the first opcode in any VDBE program) is encountered. (check-in: bb179140c8 user: drh tags: trunk)
12:09
In the sqlite_stmt virtual table, add two ALWAYS() macros on branches that have been come always true due to the [84a91c255e3d7772] optimization. REVISED: Dbsqlfuzz found a case where the ALWAYS() is false. (Closed-Leaf check-in: bf34eddb66 user: drh tags: mistake)
2022-06-30
22:46
Small performance improvement to sqlite3_finalize(). (check-in: 8a6913b66c user: drh tags: trunk)
14:19
Fix documentation and test-script typos and a dependency problem on a Makefile. Fix the sqlite_stmt extension virtual table so that it shows the state of all prepared statements for a single instant in time. (check-in: 0a9e08be6d user: drh tags: branch-3.39)
11:01
Add missing "finish_test" command to the end of test script merge1.test. (check-in: 13cb3f1e63 user: dan tags: trunk)
2022-06-29
15:16
Have the sqlite_stmt table buffer all data for the current scan within the xFilter method. (check-in: 84a91c255e user: dan tags: trunk)
2022-06-28
21:52
Merge latest fixes from begin-concurrent-pnu-wal2 branch. (Leaf check-in: 77fe737610 user: dan tags: begin-concurrent-report-wal2)
2022-06-27
21:43
Merge in fix for wal2 recovery. (check-in: 41d4f14bc6 user: dan tags: begin-concurrent-pnu-wal2)
21:42
Fix a problem causing false corruption reports following recovery of a *-wal file that contains one or more transactions and a *-wal2 file that contains a valid header but no valid transactions. (check-in: f6eafb65a4 user: dan tags: wal2)
11:28
Fix a missing dependency for json.lo in Makefile.in (check-in: 65930a5c06 user: drh tags: trunk)
2022-06-25
21:41
wasm: corrected the isInt32() check to account for negative values. (check-in: 7223f4bb58 user: stephan tags: wasm-cleanups)
20:32
Put an ALWAYS() on an unreachable branch. (check-in: 58caa50a41 user: drh tags: trunk)
19:43
Allow flattening of a subquery that is the right operand of a LEFT JOIN in an aggregate query as long as there is no GROUP BY clause. (The GROUP BY clause will interfere with the operation of the TK_IF_NULL_ROW expression nodes.) (check-in: 2cf373b10c user: drh tags: trunk)
19:30
Increase the version number to 3.40.0 so as to begin the next development cycle. (check-in: 4542e32302 user: drh tags: trunk)
19:07
wasm: added bindings for sqlite3_extended_result_codes(), sqlite3_open_v2(), and the SQLITE_OPEN_... flags. (check-in: ac876ab991 user: stephan tags: wasm-cleanups)
18:55
Fix documentation type. forum post 8d900996ed. (check-in: 869061f18d user: drh tags: trunk)
18:18
wasm: lots of doc additions and refactoring. Refactored the WASM memory heap usage to hopefully eventually account for a runtime-growable heap. Differentiate between supported TypedArray types for input SQL strings vs binding/fetching blobs. Might (untested) have implemented the ability to bind UtfNNArray values as blobs, where NN is one of 16 or 32. (check-in: e10d57dfba user: stephan tags: wasm-cleanups)
17:20
Merge version 3.39.0 into the reuse-schema branch. (check-in: bee9903df5 user: drh tags: reuse-schema)
17:08
Merge version 3.39.0 into the begin-concurrent-pnu-wal2 branch. (check-in: 09cfef38da user: drh tags: begin-concurrent-pnu-wal2)
16:53
Merge version 3.39.0 into the wal2 branch. (check-in: ad3a7005e7 user: drh tags: wal2)
16:43
Merge version 3.39.0 into the begin-concurrent-report branch. (check-in: 7726389cd5 user: drh tags: begin-concurrent-report)
16:24
Merge version 3.39.0 into the begin concurrent branch. (check-in: fb45624a31 user: drh tags: begin-concurrent)
14:57
Version 3.39.0 (check-in: 14e166f40d user: drh tags: trunk, release, major-release, version-3.39.0)
10:30
wasm: added utility C code to generate a JSON-format "enum" of the numerous SQLITE_xyz constants so that we do not risk those getting out of sync in the JS code. Renamed initSqlite3Module to sqlite3InitModule. Cleanups in the TypedArray handling. (check-in: 778062e3b4 user: stephan tags: wasm-cleanups)
07:42
wasm: eliminated the need for Stmt objects to keep ahold of memory allocated for bound strings and blobs. Added alternate string/blob bind impls which are hypothetically more efficient but not yet proven to be so. (check-in: da1d3151a4 user: stephan tags: wasm-cleanups)
06:46
wasm: eliminated the dependency on the deprecated emcc-provided allocate() function. Adjacent cleanups in blob binding. (check-in: 140618b212 user: stephan tags: wasm-cleanups)
03:53
wasm: corrected the propagation of text/blob values via UDFs. DB.exec()'s sql may now be an array of strings which get concatenated together before passing it on to sqlite3_prepare_v2(). DB.exec()'s callback now applies to the first statement which has result columns instead of only the first statement. Fixed a precedence but which caused isInt32() to report false positives. (check-in: 37a8fecb56 user: stephan tags: wasm-cleanups)
02:54
Minor wasm doc tweaks. (check-in: 42dc500819 user: stephan tags: wasm-cleanups)
02:39
Change a harmless assert() into a testcase(). The actually test case code is in TH3. Fix for the problem described at forum post ed29e196d5c4f3d5. (check-in: cd6254fcd3 user: drh tags: trunk)
02:37
wasm binding: consolidated the two sqlite3_prepare_v2() bindings behind a single dispathcer. Various internal cleanups and refactoring. Branched because trunk is in pencils-down mode for pending 3.39 release. (check-in: ab3e50dab4 user: stephan tags: wasm-cleanups)
2022-06-24
16:15
Merge the 3.39.0 release candidate 1 changes into the reuse-schema branch. (check-in: 506a3e6f24 user: drh tags: reuse-schema)
15:26
Merge the latest changes into the begin-concurrent-pnu-wal2 branch. (check-in: d3fa692179 user: drh tags: begin-concurrent-pnu-wal2)
15:15
Merge 3.39.0 release candidate 1 into the wal2 branch. (check-in: 5a5e6e368f user: drh tags: wal2)
15:04
Merge the version 3.39.0 release candidate 1 changes into the begin-concurrent-report branch. (check-in: 1b28ad2caa user: drh tags: begin-concurrent-report)
14:55
Merge 3.39.0 release candidate 1 changes into the begin-concurrent branch. (check-in: 5ae706a401 user: drh tags: begin-concurrent)
12:56
Fix a harmless UBSAN warning associated with PRAGMA schema_version found by OSSFuzz. (check-in: e93fd170ce user: drh tags: trunk)
11:05
In sqlite3WhereBegin, do not proceed with coding the loop if an error is detected as part of WHERE expression analysis. For for the assertion-fault described by forum post c3496cf6b1. (check-in: db5266dec6 user: dan tags: trunk)
11:02
A minor fix to test/fuzzinvariants.c so that it works even with column names that originally contain a ':' and that are disambiguated. (check-in: 8d9b1fff9d user: drh tags: trunk)
2022-06-23
22:43
New test cases for query flattening with LEFT JOIN. (Closed-Leaf check-in: 27f68e4732 user: drh tags: flatten-left-join)
20:56
Reintroduce flattener constraint (3c), but this time make it apply only if the outer query holds a GROUP BY, not if the outer query is an aggregate. (check-in: 641dfb9182 user: drh tags: flatten-left-join)
15:15
Add back the ability to flatten a LEFT JOIN subquery - previously removed due to ticket [cad1ab4cb7b0fc344]. (check-in: f8fe936ad4 user: drh tags: flatten-left-join)
12:36
Minor correction to a comment. No code changes. (check-in: 5fa00959eb user: drh tags: trunk)
2022-06-22
18:51
Enhance the TCL scrip that generates sqlite3-all.c so that it outputs all text in its original order. (check-in: 83ff1a28e3 user: drh tags: trunk)
18:33
Fix requirements marks that changed due to typo fixes in the documentation. (check-in: 5247df0599 user: drh tags: trunk)
15:55
More comment fixes. No changes to code. (check-in: 5c9133ef43 user: drh tags: trunk)
14:43
Allow more line with on the debugging output for SrcItem elements in the parse tree. This affects debugging builds only and is a no-op for production builds. (check-in: edbe24e7fc user: drh tags: trunk)
14:25
Additional enhancements to comments. No changes to code. (check-in: d9a320448f user: drh tags: trunk)
14:00
Give dbtotxt an option to prepend .open --hexdb (check-in: afeee6125d user: larrybr tags: trunk)
12:54
Fix a typo in a comment. No changes to code. (check-in: ef9de201b3 user: drh tags: trunk)
2022-06-21
18:38
Disable the short-cut query planner if the NOT INDEXED modifier is used. Forum post 454d706296. (check-in: bd87d107fe user: drh tags: trunk)
13:41
Allow a HAVING clause on any aggregate query, even if there is no GROUP BY clause. This brings SQLite into closer agreement with PostgreSQL and fixes the concern raised by forum post 1a7fea4651. (check-in: 9322a7c21f user: drh tags: trunk)
12:54
When doing a push-down of a WHERE clause into an aggregate subquery that has no FROM clause, do not convert the WHERE clause into a HAVING clause as should normally be done for an aggregate, but leave it as a WHERE clause. We will use a different approach to address forum post 1a7fea4651. (Leaf check-in: 1f57584102 user: drh tags: backout)
2022-06-20
19:12
Add an ALWAYS() macro to an always-true branch. (check-in: 364645d8fe user: drh tags: trunk)
18:26
Do not allow FROM-clause terms on the left side of a RIGHT or FULL JOIN to be reordered. forum post 6650cd40b5634f35. This is probably more strict that necessary to get correct behavior, but for the first release that supports RIGHT/FULL JOIN it is perhaps better to be correct than fast. A less strict constraint might be to prohibit FROM-clause terms that originate on the left side of a RIGHT JOIN from crossing from the right side to the left side of a LEFT JOIN. Revisit this later. (check-in: 238453ffab user: drh tags: trunk)
17:04
Do not allow an ON clause to references tables to its right if there is a RIGHT or FULL join anywhere in the query. Other RDBMSes prohibit this always, but SQLite must allow ON clauses to reference tables to their right for legacy compatibility, unless there is a RIGHT or FULL join someplace in the query, in which case there is no legacy to support. (check-in: e615dbe02c user: drh tags: trunk)
12:42
The fix at [cab9b4cccd13bf0a] was incomplete, as demonstrated by forum post 57bdf2217d. This check-in should complete the fix. (check-in: fb0a23b678 user: drh tags: trunk)
2022-06-19
16:55
Follow-up to check-in [0057bbb508e7662b] - ensure that the database page has been initialized prior to continuing with the optimization. If the page is not initialized, that indicates that the database is corrupt. dbsqlfuzz 09ee46becd5e6d1b2a55c9f8ad767335a90aadb0. (check-in: 11162446f1 user: drh tags: trunk)
2022-06-18
20:20
Enable query invariant checking in fuzzcheck by default. There is no way to turn it off. Update the invariant checking logic to be consistant with dbsqlfuzz. (check-in: 66ca729bbb user: drh tags: trunk)
14:50
Abandon a query-invariant check in fuzzcheck if the call to sqlite3_bind_value() returns anything other than SQLITE_OK or SQLITE_RANGE. (check-in: d31e1cd2ab user: drh tags: trunk)
10:26
In the --query-invariants option of fuzzcheck, correctly deal with OOMs causing the return value of sqlite3_column_name() to be NULL. (check-in: eabbee4a51 user: drh tags: trunk)
2022-06-17
21:31
Fix the OP_Concat operator such that when concatenating a BLOB with an odd number of bytes on a database that is UTF16, the size of the resulting string is reduced to a multiple of two. (check-in: 5eb2c23635 user: drh tags: trunk)
17:11
Omit the --query-invariants processing in fuzzcheck for queries that contain the implies_nonnull_row() test function. (check-in: 0602a08448 user: drh tags: trunk)
16:52
Do not run --query-invariants on statements that make use of sqlite_offset(). (check-in: c5ac4cbfb1 user: drh tags: trunk)
16:39
Various fixes and improvements to the --query-invariants option of fuzzcheck. (check-in: 09aca89b7c user: drh tags: trunk)
16:32
Allow integers and floating point numbers to compare equal. (Closed-Leaf check-in: 0fe2e465ba user: drh tags: query-invariants)
16:09
Improve query-invariants to the point that it would have discovered the [f23a429d4153518d] bug if that bug had not already been fixed. (check-in: 2a7251ed9c user: drh tags: query-invariants)
15:52
Only run query-invariant checks after the original query has run to completion, so that we know it does not error-out on a subsequent row. (check-in: d1fc857bb8 user: drh tags: query-invariants)
15:11
Fix the virtual table detection mechanism to avoid false-positives that were blocking all failures. Then fix a few of the additional problems that are revealed by that fix. More fixes are needed. (check-in: 42b2e6676f user: drh tags: query-invariants)
12:25
Fix the new --query-invariants option on fuzzcheck so that it does not use an unprotected sqlite3_value object as an argument to sqlite3_value_int64(). (check-in: d9f820151d user: drh tags: trunk)
11:39
Avoid omitting the rhs of FULL JOINs in cases where it is only correct to omit the rhs of a LEFT JOIN. Fix for the problem reported by forum post 5610c17c3d. (check-in: f23a429d41 user: dan tags: trunk)
00:24
Tiny fiddle cleanups. (Closed-Leaf check-in: 01969ba568 user: stephan tags: fiddle-indexeddb)
2022-06-16
23:55
fiddle: initial proof of concept of using Emscripten's IndexedDB virtual filesystem for a persistent db. There's still much work to do to integrate this into something useful for clients but the concept is now proven. (check-in: 65c152d335 user: stephan tags: fiddle-indexeddb)
20:29
Minor fix to the query invariant testing logic of fuzzcheck. (check-in: 447e62a094 user: drh tags: trunk)
13:57
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 7f405fe209 user: drh tags: reuse-schema)
13:56
Merge the latest trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: 82e7e83601 user: drh tags: begin-concurrent-pnu-wal2)
13:44
Merge the latest trunk enhancements into the wal2 branch. (check-in: c8ad869938 user: drh tags: wal2)
13:44
Merge the latest trunk enhancements into the begin-concurrent-report branch. (check-in: 8b446d0b85 user: drh tags: begin-concurrent-report)
13:37
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: 221e07ed78 user: drh tags: begin-concurrent)
2022-06-15
20:18
Improvements to query invariants in fuzzcheck. (check-in: 3a461f61b4 user: drh tags: trunk)
16:26
Improvements to query invariant checking in fuzzcheck. (check-in: 56c60a35ea user: drh tags: trunk)
14:57
When running an incremental vacuum, detect growth in the size of the database file (which can only occur if the file is corrupt) and fail with SQLITE_CORRUPT. (check-in: cd7a441245 user: drh tags: trunk)
12:50
Add the --query-invariants option to fuzzcheck. No changes to the SQLite core. (check-in: fef282f9fb user: drh tags: trunk)
12:32
Dbsqlfuzz discovered a case where a bytecode branch is in fact taken, so change the designator from VdbeCoverageNeverTaken() to VdbeCoverage(). Test case in TH3. (check-in: 988a2a759f user: drh tags: trunk)
10:46
Add the --query-invariants flag to fuzzcheck. The query invariant checks are only run if that flag is enabled. (Closed-Leaf check-in: d13b462129 user: drh tags: query-invariant-tests)
10:37
Improvements to query invariant testing. Almost working now. (check-in: e039820418 user: drh tags: query-invariant-tests)
2022-06-14
22:21
Fix the OP_NullRow opcode so that it works even if it applied to an ephemeral cursor that has not yet been created. (check-in: 0e925654c2 user: drh tags: trunk)
21:34
Add missing SQLITE_FCNTL_SIZE_HINT call to a path taken during transaction rollback. (check-in: 6c3266c1b4 user: dan tags: trunk)
19:12
Attempt to enhance fuzzcheck to do some simple invariant testing on queries. This is an incremental check-in for a work-in-progress. (check-in: ce2d780163 user: drh tags: query-invariant-tests)
2022-06-13
12:42
Do not remove the EP_CanBeNull flag from expressions during a LEFT JOIN strength reduction if the query also contains a RIGHT JOIN. Fix for the problem identified by [forum/forumpost/b40696f50145d21c|forum post b40696f50145d21c]. (check-in: b1be2259e2 user: drh tags: trunk)
2022-06-10
16:41
The same restrictions on the use of WHERE clause terms to drive indexes in the presence of RIGHT JOINs also apply to the use of WHERE clause terms to manufacture automatic indexes. This fixes a problem identified by forum post 51e6959f61. (check-in: 342c501f53 user: drh tags: trunk)
15:43
fiddle: minor style tweaks, including using swapped colors for the input/output fields to help (hopefully) reduce the "which field is which?" dissonance. (check-in: e25dad868f user: stephan tags: trunk)
11:28
Do not allow constant propagation between WHERE-clause terms and ON-clause terms as this can confuse RIGHT JOIN. Fix for the problem reported by forum post 8e4c352937e82929. (check-in: cab9b4cccd user: drh tags: trunk)
10:10
Fix a faulty assert() statement identified by forum post 0b91a75039. (check-in: 1f132bb03a user: drh tags: trunk)
09:31
fiddle: modernized the UI based on related code in fossil's /pikchrshow. Changed the color scheme to match sqlite.org. (check-in: c4523ffcc0 user: stephan tags: trunk)
2022-06-09
20:26
Do not allow the subtype of a value to cross a subquery boundary. This fixes the problem identified by forum post 3d9caa45cbe38c78. (check-in: bbaf1f2eb1 user: drh tags: trunk)
17:17
Prevent subtype values from slipping across a subquery boundry when the subquery is implemented as a co-routine. (Closed-Leaf check-in: 9e51a6c0fb user: drh tags: subtype-subquery)
16:19
The subtype of a value should not propagate across a subquery boundary. Proposed fix for the problem reported by forum post 3d9caa45cbe38c78. Additional works is needed as not all cases are covered. (check-in: 08af1fe27e user: drh tags: subtype-subquery)
2022-06-08
18:29
Move an #ifdef in shell.c to avoid a harmless "unused function" compiler warning. (check-in: 5abb5ef500 user: drh tags: trunk)
18:20
Avoid zeroing the value returned by sqlite3_changes() when a DML statement is automatically reprepared in sqlite3_step(). (check-in: 09c8f9f197 user: dan tags: trunk)
17:48
Improved comments on the new query flattener restriction of the previous check-in. Also a NEVER() macro on an unreachable branch. (check-in: 8c9e2d6315 user: drh tags: trunk)
15:38
Fix the query flattener so that it refuses a flattening that might leave both an inner-join and outer-join ON-clause constraint (or equivalent) on the same term of the FROM clause. (check-in: f6c4fb48b6 user: drh tags: trunk)
15:30
Add restriction (29) to the query flattener - do not allow flattening that would leave both EP_InnerON and EP_OuterON constraints on the same join term. (Leaf check-in: c585d6a467 user: drh tags: right-join-query-flattener)
13:13
New test cases refute check-in [3f45007d544e5f78]. (check-in: 12d3c96c39 user: drh tags: right-join-query-flattener)
12:46
Do not allow a partial index scan on the left table of a RIGHT JOIN, because since the index is partial, some rows will be omitted from the scan, and those rows will subsequently be picked up by the no-match logic in the right-join post-processing loop. forum post c4676c4956. (check-in: 615c002611 user: drh tags: trunk)
12:35
Minor fix to test/index9.test so that it can be invoked with other index tests using a wildcard. (check-in: ccbd6e7749 user: drh tags: trunk)
12:20
Update the routine that determines whether or not a partial index can be used so that it is not specific to LEFT JOIN. (check-in: 5a107fd7fa user: drh tags: trunk)
2022-06-07
13:09
Fix the query flattener to deal with a RIGHT JOIN corner case described by forum post 323f86cc30. (check-in: 3f45007d54 user: drh tags: trunk)
11:02
Test cases for forum post 323f86cc30 added to join8.test, though commented out so that they do not (yet) run. (check-in: 7f97cb67d0 user: drh tags: trunk)
10:14
Preserve the database encoding on the CAST operator in the sqlite3ValueFromExpr() routine. Forum thread 800eecf5e6cdc3f4. Test case in TH3. (check-in: 3f6a442099 user: drh tags: trunk)
2022-06-06
23:22
More precise determination of when a WHERE clause can be used to drive an index on an outer join. (check-in: 318543a911 user: drh tags: trunk)
22:33
More precise determination of when a WHERE/ON clause term can be used as an indexed join constraint. Testcase macros added to ensure test coverage. (Closed-Leaf check-in: f419e98c51 user: drh tags: outer-join-tests)
21:08
Extra test cases for outer joins. (check-in: c750576528 user: dan tags: outer-join-tests)
15:27
Do not allow a WHERE clause constraint to be used to drive an index for the right operand of a RIGHT JOIN, since this can cause problem if the constraint implies a not-NULL value for one of the columns for the left operand of the same join. See forum post 206d99a16dd9212f. (check-in: 4a31b7942a user: drh tags: trunk)
15:22
In CLI, drop .dbinfo command when build options prevent it from working. (check-in: 4b50a55165 user: larrybr tags: trunk)
14:00
Sync w/trunk, pickup fts3corrupt6.test change. (Closed-Leaf check-in: 268072f636 user: larrybr tags: dbinfo-guard)
06:29
fiddle: replaced the huge file selection widget with a smaller proxy button. (check-in: f7c17449ea user: stephan tags: trunk)
06:17
Fix a test case in fts3corrupt6.test. Was failing due to [f1dfbc4f]. (check-in: 04b2e47784 user: dan tags: trunk)
04:09
shell: in WASM mode, permit ATTACH because the filesystem is a virtual sandbox and ATTACH can be used to provide more import/export options. Minor doc updates in sqlite3-api.js. (check-in: f28de5b726 user: stephan tags: trunk)
2022-06-05
22:58
In CLI, drop .dbinfo command when build options prevent it from working. (check-in: 2512d2f68d user: larrybr tags: dbinfo-guard)
22:40
Create new branch named "dbinfo-guard" (check-in: 8d942ba72e user: larrybr tags: dbinfo-guard)
2022-06-03
14:08
Fix to test case in fts3corrupt.test. No changes to source code. (check-in: d18818afc6 user: dan tags: trunk)
13:52
Fix a 1-byte overread in fts3 that could occur when processing corrupt records. (check-in: f1dfbc4f74 user: dan tags: trunk)
2022-06-02
16:26
Fix a problem with flattening and window functions causing an "IS <column>" to be transformed to "IS TRUE" or "IS FALSE" when <column> is a view or sub-select expression that is the literal value "TRUE" or "FALSE". (check-in: 2a952c7738 user: dan tags: trunk)
02:45
Avoid a direct use of abort() in debug builds to prevent a compilation issue for Windows CE. (check-in: 8eb9a7dd07 user: mistachkin tags: trunk)
2022-06-01
20:08
New test cases for row values and RIGHT JOIN. (check-in: 5f0582b90f user: drh tags: trunk)
16:05
Ensure that subqueries associated with row-values are invoked before being used when processing a RIGHT JOIN. Fix for the problem described by forum post 087de2d9ec87305b. (check-in: 5a9465dcc0 user: drh tags: trunk)
16:04
fiddle: added another UI element to the list of those which are disabled during long-running activities. Added DB.close() binding to the Worker-based wasm binding. (check-in: 5933163ed1 user: stephan tags: trunk)
15:53
Ensure that all necessary row-value subqueries are invoked while running the right-join post processing. (Closed-Leaf check-in: e4e71b4cd4 user: drh tags: row-value-right-join)
14:52
Minor tweaks to, and consolidation of, the wasm-related build flags. (check-in: f0ad6b1b32 user: stephan tags: trunk)
14:32
Fix a minor problem in the Tcl "incrblob" command. This does not affect the SQLite core. (check-in: e96feccc21 user: dan tags: trunk)
13:32
Candidate fix for the problem with row-value WHERE clause constraints on a RIGHT JOIN. (check-in: fdd782a7bb user: drh tags: row-value-right-join)
13:32
Only include the code for sqlite_offset() if compiled with -DSQLITE_ENABLE_OFFSET_SQL_FUNC. (check-in: 382cd7e10b user: drh tags: trunk)
13:01
Fix a typo in a comment in a test case. No changes to code. (check-in: 570efa45dd user: drh tags: row-value-right-join)
11:58
Additional enhancements to the test cases. (check-in: 55cfad74ca user: drh tags: row-value-right-join)
11:46
Fix test cases in the previous check-in to make them postgres-compatible. (check-in: f223ba72b6 user: drh tags: row-value-right-join)
11:43
Test case for forum post 087de2d9ec showing a problem when a row-value constraint is used with RIGHT JOIN. (check-in: d1e3e0d26e user: drh tags: row-value-right-join)
11:20
The Worker-specific variants of the most significant DB-class JS bindings are implemented, most notably various uses of DB.exec(). (check-in: 371d6f7497 user: stephan tags: trunk)
11:05
Move the sqlite_offset() function implementation to be an in-line function, thereby avoiding special case code and freeing up a bit in the FuncDef.flags field. (check-in: 1c9812c458 user: drh tags: trunk)
08:09
Initial proof of concept code for a JavaScript binding which runs in the main window thread but acts on a db handle running in a Worker thread. Expanded the DB.exec() and DB() constructor to simplify certain use cases. (check-in: d9efe3e92d user: stephan tags: trunk)
00:00
Initial bits for a JS API variant in which the client operates in the main thread and sqlite3 in a Worker. This is far from complete. (check-in: f6d6f96979 user: stephan tags: trunk)
2022-05-31
18:18
New FULL JOIN test cases. No changes to code. (check-in: 13e89ef664 user: drh tags: trunk)
17:24
More JOIN test cases inspired by the problem fixed in [3869fd9a2b9483cb]. (check-in: f2d224c5fa user: drh tags: trunk)
15:18
Fix an assert that is incorrect for a corrupt database. (check-in: fe0a840805 user: drh tags: trunk)
14:19
Many new PG-confirmed test cases in joinD.test. (check-in: 481e89c764 user: drh tags: trunk)
11:22
Restore an ON-clause test case (removed by [3869fd9a2b9483cb]) that turns out to be necessary for correct operation. Fix for forum post c2554d560bac97c5. (check-in: f407ec678f user: drh tags: trunk)
11:13
Add back in a test case for ON-clauses that was removed yesterday by [3869fd9a2b9483cbf] but which turned out to be necessary after all. (Closed-Leaf check-in: aba52a90ee user: drh tags: right-join-bug-20220531)
10:48
Add test cases for forum post c2554d560bac97c5. (check-in: e66d5ae86c user: drh tags: right-join-bug-20220531)
02:03
Updated the wasm builds to generate gzip'ed copies of relevant files to take advantage of althttpd's new capability of substituting gzip files in place of requested files. This cuts over-the-wire size of the fiddle app by more than half. (check-in: 40925585f1 user: stephan tags: trunk)
2022-05-30
17:33
For an outer join, then ON-clause constraints need to be evaluated at just the right moment - not too early and not too late. Fix for the problem reported by forum post 3902c7b833. (check-in: 3869fd9a2b user: drh tags: trunk)
2022-05-28
15:01
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 4d46296ef6 user: drh tags: reuse-schema)
14:51
Merge the latest trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: 4d65f45b31 user: drh tags: begin-concurrent-pnu-wal2)
14:44
Merge the latest trunk enhancements into the wal2 branch. (check-in: 934656f13d user: drh tags: wal2)
14:32
Merge the latest trunk enhancements into the begin-concurrent-report branch. (check-in: 034d2c511a user: drh tags: begin-concurrent-report)
14:25
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: d6f6ee5cbc user: drh tags: begin-concurrent)
14:03
Apply the UPDATE-FROM file from check-in [98b3816bbaf539ea] to update-delete-limit builds. (check-in: 7e87892c24 user: drh tags: trunk)
11:59
fiddle: changed the internal key of the session/local storage to avoid conflicts with the pikchr fiddle app (which is derived from this one) when running from the same HTTP origin as an instance of that app in a dev environment. (check-in: fd668da5cc user: stephan tags: trunk)
11:29
fiddle: corrected a piece of far-corner-case error handling and made the various checkbox config options persistent. (check-in: 2ba429a4f8 user: stephan tags: trunk)
2022-05-27
18:06
Mark an always-true conditional as ALWAYS(). (check-in: 3492fe8a21 user: drh tags: trunk)
17:36
Minor simplification to ALTER TABLE logic. (check-in: 01beb0365c user: drh tags: trunk)
17:13
Corrected a broken HTML comment (was using a C-style comment closer). (check-in: db742e3e7d user: stephan tags: trunk)
15:33
Fix another problem with ALTER TABLE and UPDATE...FROM in triggers. (check-in: 33cf12235e user: dan tags: trunk)
15:04
Fix further issues with ALTER TABLE and triggers that contain UPDATE..FROM statements. (check-in: 53fbc269dd user: dan tags: trunk)
14:41
Omit an unnecessary branch. (check-in: f56473f9cc user: drh tags: trunk)
03:27
fiddle: added an option to completely wipe/reset the db. The Options area can now be toggled on/off via tapping the label at its top. Running the input SQL is now limited to the selected area if any text is currently selected, per suggestion in the forum. (check-in: d100283e37 user: stephan tags: trunk)
2022-05-26
19:10
Fix issues with ALTER TABLE and triggers containing "UPDATE...FROM" statements. (check-in: 2fba0d41b7 user: dan tags: trunk)
17:33
Correct handling of outer joins in the FROM clause of an UPDATE statement that occurs inside of a trigger. Follow-on to [98b3816bbaf539ea]. (check-in: 664a49fa81 user: drh tags: trunk)
14:46
Clarification of the meaning of the N parameter in sqlite3_db_name(). Documentation only. No changes to code. (check-in: f22f41d2c8 user: drh tags: trunk)
05:18
Fixed a minor cut/paste mistake in the previous checkin. Affects only internal docs. (check-in: 37e3764839 user: stephan tags: trunk)
05:08
Makefile.in: added explanations, intended for maintainers and hackers, of the various emcc flags used for building the wasm files. No code or build rule changes. (check-in: 1a15915909 user: stephan tags: trunk)
2022-05-25
13:10
Slight increase in the accuracy of log10(). (check-in: c48a735bd4 user: drh tags: trunk)
12:49
Do not allow the right operand of a RIGHT JOIN to be reordered with other FROM clause terms that are even further to the right. Fix for the issue identified by forum post 5cfe08eed6. (check-in: 4be0c60e38 user: drh tags: trunk)
11:17
Add in a VdbeCoverage() macro accidentally omitted from [d64ae49a1f251317]. (check-in: 18b5cea039 user: drh tags: trunk)
11:09
Fix the UPDATE-FROM logic so that it works the same as PostgreSQL when the FROM clause contains an outer join. (check-in: 98b3816bba user: drh tags: trunk)
08:51
Got the sqlite3-api JS bits wrapped up in deferred-load module. Whether that's going to be easier to use, in practice, remains to be seen. Consolidated two of the test-related JS files. (check-in: dd83cc05f2 user: stephan tags: trunk)
04:38
Renamed EXPORTED_FUNCTIONS.sqlite3 to EXPORTED_FUNCTIONS.sqlite3-api to avoid any potential confusion about that file (not) being an sqlite3 database. (check-in: 3d6245c6f9 user: stephan tags: trunk)
04:35
Add the ability to import/export db files into/from fiddle. (check-in: e0c30438a4 user: stephan tags: trunk)
04:20
Further minor cleanups and docs in the fiddle app and worker. (Closed-Leaf check-in: 199e01799d user: stephan tags: fiddle-local-db)
03:08
fiddle: refactored so that it no longer exposes any global symbols. Doing so with the main sqlite3.api module will be much tricker. (Edit: it _does_ export a global symbol, but it's the function to init the module instead of the module itself. Not sure that's any cleaner.) (check-in: cd227be805 user: stephan tags: fiddle-local-db)
02:32
An attempt to get UPDATE FROM working when the FROM clause contains a RIGHT or FULL JOIN. (Closed-Leaf check-in: a124e4f96f user: drh tags: update-from-right-join)
2022-05-24
22:16
fiddle: added support for exporting (downloading) the current db file. To do this we had to fall back to named dbs, instead of defaulting to an in-memory one, but the virtual filesystem is an in-memory FS, so the end effect is the same. (check-in: 7c7fd34c8a user: stephan tags: fiddle-local-db)
19:01
fiddle: initial work on loading a client-side db file. Works but requires some cleanup. Export is not yet implemented. (check-in: 0fa8378c00 user: stephan tags: fiddle-local-db)
16:05
When an ON clause on an INNER JOIN references a table to the right of of the join, just convert the ON clause to an ordinary WHERE clause term, in order to be compatible with older versions of SQLite. See forum thread 687b0bf563a1d4f1 for details. (check-in: 2b6ebba26d user: drh tags: trunk)
14:45
Use more descriptive var names in ext/fiddle/Makefile. (check-in: 2f9a42fb14 user: stephan tags: trunk)
14:36
fiddle: lots of generic refactoring, restructuring, and cleanup in the higher-level code. Added push-fiddle ext/fiddle/Makefile target to push the fiddle app to a remote server via rsync. (check-in: ed19fef345 user: stephan tags: trunk)
01:15
wasm/JS: minor doc updates, corrected bind()ing of the undefined value to behave as documented, removed some superfluous code. (check-in: 526c8c7280 user: stephan tags: trunk)
00:35
wasm/JS: documented DB.selectValue() and corrected the fetching of NULL columns via Stmt.get(). (check-in: 70f91fab82 user: stephan tags: trunk)
00:22
wasm/JS: added support for scalar UDFs. Fixed a deallocation problem with bind()ed strings/blobs. (check-in: 325a9ee31a user: stephan tags: trunk)
2022-05-23
19:38
wasm: minor refactoring and doc updates. (check-in: 6044605b2a user: stephan tags: trunk)
16:54
fiddle: cleaned up and documented the status-loading progress mechanism in prep for reusing it in the sqlite3-api worker. (check-in: 107e349786 user: stephan tags: trunk)
13:55
wasm: added missing 'use strict' and fixed an undeclared var use caught by that. (check-in: c16a7f4950 user: stephan tags: trunk)
13:52
wasm: corrected isSupportedBindType() to behave as documented. (check-in: 7e2d2e8072 user: stephan tags: trunk)
12:37
New test cases to further demonstrate the difference in name matching rules for LEFT JOIN versus RIGHT JOIN that protect legacy behavior. Forum thread e90a8e6e6fa652ac. (check-in: 2c586060a0 user: drh tags: trunk)
11:51
Add an assert() to clear a harmless static-analyzer warning. (check-in: 919ba2f047 user: drh tags: trunk)
10:57
Do not run the subroutine that materializes a view or subquery until just before the materialization is actually needed, so that if the materialization turns out to never been needed, unnecessary work can be avoided. (check-in: d64ae49a1f user: drh tags: trunk)
01:11
WASM: removed the in64-related bindings, as MDN says that calling a wasm function which has an int64 type in its signature will currently throw because JS has no 64-bit integer support. Those bindings now use doubles and simply hope that the user doesn't exceed their integer precision (2^53-1, approx 9 quadrillion). (check-in: 392e848282 user: stephan tags: trunk)
2022-05-22
22:10
WASM: an arg handling fix for DB.exec({multi:true...}). (check-in: 0d6332f706 user: stephan tags: trunk)
22:00
WASM: added exec(), execMulti(), and several getters. Various touchups and fixes. (check-in: b790c91b85 user: stephan tags: trunk)
19:09
Implemented Stmt.get() and friends for WASM OO #1 wrapper. Added basic tests for prepare/step/get. Restructured module init output to introduce only 1 global-scope symbol instead of 2. (check-in: 601dc3fa29 user: stephan tags: trunk)
16:25
WASM: added bindings for sqlite3_compileoption_get/used(), moved OO #1 into sqlite3-api.js since it can only be used from the same thread as that API and separating them complicates client-side use. Started adding test utilities and tests for the OO1 API. (check-in: f3bc0328c8 user: stephan tags: trunk)
14:07
WASM OO wrapper #1: prepare() and bind() APIs are in place but are untested, pending fetch/get APIs. (check-in: 84c8f63a1c user: stephan tags: trunk)
00:27
Build refactoring for the fiddle/wasm bits. Set up wasm binding of a chunk of the core C API and added some infastructure for creating test pages for it. (check-in: dea098b64e user: stephan tags: trunk)
2022-05-21
21:13
Minor fiddle-related build restructuring to support upcoming development of the C-style wasm sqlite3 interface, plus some commentary about the plans and goals for that. (check-in: c7cfdd4c36 user: stephan tags: trunk)
18:03
Defer materializing a view or subquery until the materialization is actually needed, so that if it is not needed, not useless work is performed. (Closed-Leaf check-in: 16bf350683 user: drh tags: deferred-materialize)
15:54
Fix a typo in a comment. (check-in: 34d7045b2c user: drh tags: deferred-materialize)
15:12
Use the newer OP_BeginSubrtn opcode instead of OP_Integer to start the subroutine used to matrialize a view. This does not change execution but does make the byte code a little easier to read. (check-in: cebd4fd606 user: drh tags: deferred-materialize)
14:19
fiddle: refactor into main thread (UI) and worker thread (wasm module). Added bits needed to support triggering sqlite3_interrupt() but do not yet have a second SharedWorker to test it with. (check-in: 5ff3326856 user: stephan tags: trunk)
00:45
fiddle: add a selection list of example queries. (check-in: 74abf03977 user: stephan tags: trunk)
00:01
In the shell WASM build, call open_db() early so that we can get access to the global db handle from certain experimentation-only function without having to first run some SQL code. (check-in: 31706ef851 user: stephan tags: trunk)
2022-05-20
13:50
Added the standard sqlite license header to the the fiddle JS files. Minor internal renamings in those same files. (check-in: 67e40d99ff user: stephan tags: trunk)
13:27
Add a terminal-style view to the fiddle app, based on jquery.terminal. (Leaf check-in: 82b57f2e21 user: stephan tags: fiddle-terminal-view)
2022-05-19
22:04
#if'd out the '.nonce' and '.check' commends in WASM builds. (check-in: 326f79ea54 user: stephan tags: trunk)
21:56
#if'd out the the '.cd' and '.clone' commands for WASM builds. (check-in: fa391868dd user: stephan tags: trunk)
18:14
fiddle: consolidated two duplicate CSS rules. Internal doc typo fix. (check-in: d3175a793f user: stephan tags: trunk)
17:47
Added a disclaimer about fiddle's experimental and subject-to-change/removal nature. (check-in: 75b4f57408 user: stephan tags: trunk)
16:59
Merge the changes to support the "fiddle" extension. (check-in: 58585f01aa user: drh tags: trunk)
16:49
When building fiddle from its own directory (e.g. from emacs instead of the normal build process), force -O0 the sake of compilation speed. The top-level build now defaults to -Oz, which is more appropriate for that case. (Closed-Leaf check-in: 56b82ae806 user: stephan tags: fiddle)
16:42
Tweaks to the fiddle make target so that it builds with all of the same extensions as the standard CLI. (check-in: d46a6cb974 user: drh tags: fiddle)
16:30
Added a toggle to swap input/output field positions and simplified setup of checkboxes which toggle a CSS class on a given element. (check-in: eae3ab10c8 user: stephan tags: fiddle)
16:11
Default to top/bottom layout with input on the bottom. Offer a toggle to swap input/output positions. (check-in: 362d236aca user: stephan tags: fiddle)
15:58
Numerous layout tweaks, the most significant being that the layout now adapts to the window size. Swapped positions of the input/output areas. This version supports, by uncommenting a few bits, a jquery.terminal-based view but alternatives to that 300kb dependency are still under investigation. (check-in: 1aad3642c9 user: stephan tags: fiddle)
10:58
fiddle make target now accepts fiddle_cflags=... from the CLI to overrid -Ox and such for one-off builds. (check-in: 4609a4f862 user: stephan tags: fiddle)
10:38
Ensure that the output area is cleared of any init-time messages which the emscripten bootstrapping process emits when downloading of the wasm module is slow. (check-in: 1d8d059357 user: stephan tags: fiddle)
10:24
#if'd out the '.log' command in WASM builds. Cleaned up the user-visible parts of the WASM module initialization. (check-in: b5fa12f824 user: stephan tags: fiddle)
09:55
Split the fiddle JS code into separate pre-/post-init files to simplify editing. emcc will combine these into the final fiddle.js, so the number of output deliverables does not change. (check-in: d3d8ea0118 user: stephan tags: fiddle)
09:22
Added an option to auto-clear the output area before submitting the input. Experimentally inverted the colors in the input/output areas. (check-in: 1a1e4e7fdb user: stephan tags: fiddle)
01:12
Replaced the toggle for the notes/caveats section of the fiddle UI with a button to remove that section. (check-in: 6661d60527 user: stephan tags: fiddle)
00:38
#if'd out the '.import' command in WASM builds. Several minor cosmetic UI tweaks. (check-in: e4f87eb7c3 user: stephan tags: fiddle)
2022-05-18
23:40
#if out the '.load' command in WASM builds. Several UI layout tweaks. (check-in: 67d98297f0 user: stephan tags: fiddle)
22:58
In wasm builds, ifdef out shell commands which require file I/O, pipes, or which trigger an exit() (.quit and .exit). Documented some of the quirks and limitations of the C/WASM crossover. Keep the JS code from calling into the C code after an exit() has been triggered. (check-in: bee436e62a user: stephan tags: fiddle)
21:18
Improved handling/reporting of conditions which trigger an exit() from native code, e.g. calling the '.read' command. Added a Help button which simply submits the '.help' command. Added commented-out variants of various -Ox flags to simplify experimenting with them. (check-in: bf06ddf412 user: stephan tags: fiddle)
20:44
Experimental code to provide a SIZE_HINT when writing the -wal file. (Leaf check-in: 3b29080dbf user: drh tags: wal-size-hint)
18:10
Code style fixes: s/char const/const char/. (check-in: 9bf042b2eb user: stephan tags: fiddle)
17:40
The fiddle input/output areas now stretch and shrink as needed to account for their available space. (check-in: 4eec05457f user: stephan tags: fiddle)
17:22
Increased default size of the fiddle output area, changed the .nullvalue default in the input area, and minor CSS tweaks. (check-in: 281aaae731 user: stephan tags: fiddle)
17:14
Initial version of an sqlfiddle-style application using a WASM build of the sqlite3 shell. (check-in: af9c21c9e0 user: stephan tags: fiddle)
2022-05-17
15:33
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 495f0353db user: drh tags: reuse-schema)
15:11
Fix harmless compiler warnings in the new unixFullPathname implementation. (check-in: f7e1ceb5b5 user: drh tags: trunk)
15:01
Avoid treating constant expressions like "? IN ()" or "? NOT IN ()" as integers if they appear in a GROUP BY or ORDER BY clause. (check-in: d8b249e8cd user: dan tags: trunk)
14:59
Add the sqlite3_db_name() interface. (check-in: 2ad152236c user: drh tags: trunk)
2022-05-16
16:55
Add memory barriers to multi-threaded code in test4.c. (check-in: 9260f4e0fd user: dan tags: trunk)
16:10
Fix a problem in test file swarmvtab3.test causing occasional failures. (check-in: f935c155ef user: dan tags: trunk)
2022-05-14
19:05
Do not allow an index scan on an index-on-expression for a RIGHT JOIN because the index might not be positioned on the correct row when running the the right-join no-match loop. dbsqlfuzz 39ee60004ff027a9e2846cf76e02cd5ac0953739 (check-in: 2277f9ba70 user: drh tags: trunk)
17:40
Improved debugging comment generation for the OP_Column opcode. (check-in: 3e073bfddf user: drh tags: trunk)
15:59
Improvements to the decision of when to check ON constraints for an inner join that is an operand to a RIGHT JOIN. Fix for issue identify by forum post c06b10ad7e. (check-in: 9d17233c7d user: drh tags: trunk)
2022-05-13
23:01
Change an unreachable branch into an assert(). (check-in: 778e57a558 user: drh tags: trunk)
20:11
Transitive equality constriants do not work on a RIGHT JOIN, since the right-hand side might be a non-matched row. (check-in: 0f96810b84 user: drh tags: trunk)
19:50
Walk back the optimization from check-in [cc458317bd77046c] that tries to reuse the same ephemeral cursor of a list subquery when that subquery is reused, as it does not work in cases where the list subquery is used both for lookups and for scans. (check-in: 12ee29d632 user: drh tags: trunk)
17:45
Defer generating WHERE clause constraints for a RIGHT JOIN until after the ON-clause processing for the RIGHT JOIN has done its own row elimination. This fixes and incorrect output from some RIGHT JOINs that was identified by forum post 41cc3851d864c5e6. (check-in: 238d9c247c user: drh tags: trunk)
16:38
Redefine the acccess rules for the Expr.w union so that the Expr.w.iJoin member is accessible on either EP_OuterON or EP_InnerON. (check-in: 6f741d6cfb user: drh tags: trunk)
15:36
Corrections to the header comment to the new joinE.test script. Add the generator TCL as a comment at the bottom of the script. (check-in: 2f4456f67f user: drh tags: trunk)
15:31
New test cases for outer joins. Case joinE-32 currently gets an incorrect answer. See forum post 41cc3851d8 for the bug report. (check-in: 02b24863e6 user: drh tags: trunk)
14:52
Improved names for flags on the Expr object: EP_FromJoin becames EP_OuterON and EP_InnerJoin becomes EP_InnerON. (check-in: 1ffea07ff9 user: drh tags: trunk)
2022-05-12
17:09
Fix a harmless compiler warning in the CLI. (check-in: 7a2ac303d1 user: drh tags: trunk)
11:56
Ensure that ON clauses are applied to the correct outer join. (check-in: c7e3a13a32 user: drh tags: trunk)
11:45
Add IS NOT DISTINCT FROM and IS DISTINCT FROM binary operators which are equivalent to IS and IS NOT, respectively, for compatability with PostgreSQL and hence standard SQL. (check-in: db27611e17 user: drh tags: trunk)
11:01
Fix the ".echo" command of the CLI so that it shows the results of input lines immediately, before invoking sqlite3_prepare(). (check-in: cf7fdabdba user: drh tags: trunk)
2022-05-11
20:29
Zap stray --help output from intermediate version. (Closed-Leaf check-in: deb7372b18 user: larrybr tags: echo-sql)
19:59
Change .echo on effect so that SQL is echoed before prepare. This slightly alters echoed output when multiple SQL statements are submitted at once. Also sync with trunk. (check-in: c1eff632c4 user: larrybr tags: echo-sql)
17:57
The unix interface now resolves all symbolic links in filenames before actually using those filenames. (check-in: d55273e36e user: drh tags: trunk)
17:45
Use osReadlink() in os_unix.c, not readlink() directly. (Closed-Leaf check-in: c3da4c1611 user: drh tags: resolve-symlinks)
16:46
For the unix VFS, rewrite the xFullPathname method so that it automatically resolves all symbolic links, rendering a canonical pathname that contains no symlinks. (check-in: 40c9273d0e user: drh tags: resolve-symlinks)
03:42
Fix .import leak in CLI and add shell leak testing to debug builds and the Tcl test suite. (check-in: df842ebc79 user: larrybr tags: trunk)
03:29
Sync w/ trunk (Closed-Leaf check-in: 1284225b0a user: larrybr tags: import-leak-plug)
2022-05-10
23:28
Fix a bug in the sqlite3WhereMalloc() routines that were added by chekc-in [f237e1d8cc41b937]. The bug was detected by dbsqlfuzz test case 4c5e3e89bc251d28378be88233f531b84ec66901. (check-in: 764b71267e user: drh tags: trunk)
22:32
Make tester.tcl work on more Windows Tcl installations. And sync w/ trunk. (check-in: d25fbdf877 user: larrybr tags: import-leak-plug)
18:43
New requirement marks. (check-in: e8479e56c6 user: drh tags: trunk)
18:18
Fix a stale requirement mark. (check-in: fcda7fb1f1 user: drh tags: trunk)
17:42
Fix a stale requirement mark. (check-in: 3eda4030f7 user: drh tags: echo-sql)
15:55
Fix a harmless UBSAN warning. (check-in: 8f9355028b user: drh tags: trunk)
14:57
Sync w/ trunk (check-in: b7285f92bb user: larrybr tags: echo-sql)
14:55
For CLI, add ".echo sql" dot-command. (check-in: 35cef458ca user: larrybr tags: echo-sql)
13:06
Merge all recent trunk changes into the reuse-schema branch. (check-in: 9f6d6e6135 user: drh tags: reuse-schema)
12:45
Merge the latest trunk enhancements into theh begin-concurrent-pnu-wal2 branch. (check-in: d28af1f8a5 user: drh tags: begin-concurrent-pnu-wal2)
12:39
Merge recent trunk enhancements into the wal2 branch. (check-in: 33d77fea40 user: drh tags: wal2)
12:24
Merge the latest trunk enhancements into the begin-concurrent-report branch. Had to restore the sqlite3VdbeSerialPut() routine that was removed in check-in [6f4d6f212a3558c2] when it was inlined because that routine is used again in a different place by this branch. (check-in: e6b5224d71 user: drh tags: begin-concurrent-report)
12:00
Merge recent trunk enhancements into the begin-concurrent branch. (check-in: f65bd76760 user: drh tags: begin-concurrent)
06:04
Sync w/trunk (check-in: 536691ed0f user: larrybr tags: import-leak-plug)
01:11
Cause most shell tests to be run under Tcl suite valgrind config. (check-in: cd085b36ff user: larrybr tags: import-leak-plug)
00:24
Simplified "hidden" and "no-expand" handling in the *-expander. (check-in: c6c3115f3a user: drh tags: trunk)
2022-05-09
21:57
Update this branch with latest changes from trunk, and the fts5 fix for "BEGIN CCONCURRENT" transactions. (check-in: c013544116 user: dan tags: begin-concurrent-report-wal2)
18:33
Create new branch named "echo-sql" (check-in: 042f2935c9 user: larrybr tags: echo-sql)
17:55
Minor STAT4 test case change due to the ANALYZE enhancement of [eb59c46a5aed69bc|check-in eb59c46a5aed69bc]. (check-in: 8ce2fecb58 user: drh tags: trunk)
16:29
Add ALWAYS() on two unreachable branches in the * expander. (check-in: 387c852375 user: drh tags: trunk)
14:22
Ensure that fts5 closes the read-only blob handle used to read the fts index at the end of each xUpdate operation. This doesn't matter for stock SQLite, as the handle will be closed in the subsequent xRollback or xSync call, but prevents "BEGIN CONCURRENT" transactions from being committed on this branch. (check-in: 093b60846c user: dan tags: begin-concurrent-pnu-wal2)
12:59
Simplify a branch in the "*" expansion logic. New test case for an INSTEAD OF trigger on a RIGHT and FULL outer join. (check-in: d2717348f4 user: drh tags: trunk)
12:29
Simplify .import leak plug and arrange for CLI to be run under valgrind. (check-in: 0d3e238019 user: larrybr tags: import-leak-plug)
2022-05-07
03:53
Stop a memory leak in .import, and add leak complaint to CLI debug builds. (check-in: f5f09368b3 user: larrybr tags: import-leak-plug)
02:21
Create new branch named "import-leak-plug" (check-in: 4a4cecab23 user: larrybr tags: import-leak-plug)
2022-05-06
22:29
Perserve the requested reserved-bytes size for the database file when doing a VACUUM. (check-in: dac6d87c71 user: drh tags: trunk)
17:06
Merge the 3.38.5 fix into the 3.38 subbranch of reuse-schema. (Leaf check-in: bfccca2ba3 user: drh tags: reuse-schema-3.38)
16:52
Merge the 3.38.5 fix into the begin-concurrent-wal2 subbranch for 3.38. (Leaf check-in: 0586b3e963 user: drh tags: begin-concurrent-wal2-3.38)
15:25
Version 3.38.5 (Leaf check-in: 78d9c993d4 user: drh tags: release, version-3.38.5, branch-3.38)
01:02
Prevent an infinite loop on SQLITE_ERROR_RETRY when trying to modify a corrupt schema while PRAGMA writeable_schema=ON is active. dbsqlfuzz ded83609f475cc989c7339d45efb5151c1495501 (check-in: 7fcdb760a4 user: drh tags: branch-3.38)
00:43
Prevent an infinite loop on SQLITE_ERROR_RETRY when trying to modify a corrupt schema while PRAGMA writeable_schema=ON is active. dbsqlfuzz ded83609f475cc989c7339d45efb5151c1495501 (check-in: 217b33234d user: drh tags: trunk)
2022-05-05
10:04
Update the version number to 3.38.5 (check-in: bf73b57f70 user: drh tags: branch-3.38)
10:03
Backout check-in [9fb20a21feb8f697] which was incorrect. (check-in: 66f65b322a user: drh tags: branch-3.38)
10:02
Backout check-in [9fb20a21feb8f697] which was incorrect. (check-in: 99225618a8 user: drh tags: trunk)
03:49
Cause CLI to use ExportHandler interface for its query output, and implement built-in subclasses of it, all in preparation for supporting implementations by shell extensions. (a WIP) (check-in: 9b37e0be1a user: larrybr tags: cli_extension)
2022-05-04
18:43
Improvements for name resolution for parenthsized joins. (check-in: 006b2d9c52 user: drh tags: trunk)
17:43
New test cases for RIGHT and FULL JOIN, focusing on cases that make use of Bloom filters, and a bug fix related to when ON-clause constraints are applied. (check-in: 67510354e6 user: drh tags: trunk)
17:30
Code EP_InnerJoin constraints at the same time that EP_FromJoin constraints are coded. (Closed-Leaf check-in: b57033d2af user: drh tags: joinD)
16:46
Merge version-3.38.4 into the reuse-schema-3.38 subbranch. (check-in: d5b0fd8434 user: drh tags: reuse-schema-3.38)
16:36
Merge the version 3.38.4 fixes into the begin-concurrent-wal2-3.38 branch. (check-in: 8473718d19 user: drh tags: begin-concurrent-wal2-3.38)
15:45
Version 3.38.4 (check-in: d402f49871 user: drh tags: release, version-3.38.4, branch-3.38)
14:46
Merge ON-clause constraint usage fix from trunk into the joinD branch. (check-in: 0a20d4a859 user: drh tags: joinD)
14:45
Fix ON-clause constraint usage for FULL and RIGHT JOINs. (check-in: 544268a723 user: drh tags: trunk)
11:49
New test cases using various join types and Bloom filters. Two cases differ from PG and need to be resolved. (check-in: befa8cbc06 user: drh tags: joinD)
03:48
Fix CLI use of wrong allocator for free(). (check-in: 4f83c442c9 user: larrybr tags: branch-3.38)
03:45
Fix CLI use of wrong allocator for free(). (check-in: 9fb20a21fe user: larrybr tags: trunk)
02:01
In the query planner, do not let tables commute across any outer join. (check-in: 8cee538823 user: drh tags: trunk)
2022-05-03
21:58
Typos cleared from README.md (check-in: be3a1879c8 user: larrybr tags: trunk)
19:51
Fix multi-byte column name rendition on .import and display of NULL in columnar modes. (check-in: f863aabe9d user: larrybr tags: branch-3.38)
16:26
Merge Bloom filter bug fix from trunk into the right-join branch. (Closed-Leaf check-in: 72131ad1bd user: drh tags: right-join)
16:18
Fix a typo in a comment. (check-in: c19c3c4869 user: drh tags: right-join)
14:26
Increase the version number to 3.38.4. (check-in: def971a0e9 user: drh tags: branch-3.38)
14:25
Fix the Bloom filter pull-down optimization so that it jumps to the correct place if it encounters a NULL key. Fix for the bug described by forum thread 2482b32700384a0f. (check-in: 3dc9fc2f2d user: drh tags: branch-3.38)
14:01
Fix the Bloom filter pull-down optimization so that it jumps to the correct place if it encounters a NULL key. Fix for the bug described by forum thread 2482b32700384a0f. (check-in: 6eda9b1a77 user: drh tags: trunk)
12:11
Add assert()s to show that jumps always land an an instruction that is between 1 and Vdbe.nOp-1. Had these assert()s been in place before, they would have caused an assertion fault for the byte-code error reported by forum post 2482b32700. (check-in: 8f8a58feb7 user: drh tags: trunk)
2022-05-02
20:49
Organize the various flag bits of the ExprList_item object into a substructure so that the whole lot can be copied all at once. Faster and smaller code. (check-in: 5341d4bbe9 user: drh tags: right-join)
20:14
Merge trunk fixes into the right-join branch. (check-in: e01f4c05c2 user: drh tags: right-join)
20:04
Improved comments. (check-in: 158b80bed6 user: drh tags: right-join)
19:59
Name resolution and "*" wildcard expansion for parenthesized FROM clauses seems to work the same as PG. The code is chaos, however, and needs some cleanup. (check-in: 6f9c0b07aa user: drh tags: right-join)
15:47
Remove a testcase() macro taht was made obsolete by [a8da85c57e07721d]. (check-in: 053cf45eca user: drh tags: trunk)
15:31
Document (in comments) that the SQLITE_FlttnUnionAll bit has a specific value needed by TH3. (check-in: bcaa4a4474 user: drh tags: trunk)
15:23
Fix a harmless compiler warning in sqlite3TreeViewWinFunc() (a routine that does not even appear in release builds). (check-in: daff607003 user: drh tags: trunk)
15:10
Merge the latest trunk fixes and enhancements into the right-join branch. (check-in: afbcf075c1 user: drh tags: right-join)
14:32
Improvement on check-in [a193749730d6cfba] so that the subroutine call to the IN operator right-hand side generator from the RIGHT JOIN no-match logic does not generate unreachable byte code. (check-in: cc458317bd user: drh tags: trunk)
11:24
Bring the comments on sqlite3FindInIndex() into closer alignment with what that routine actually does. (check-in: 40f3274745 user: drh tags: trunk)
2022-05-01
14:26
Remove FILE* from shell extension interface. (check-in: 27ff5ce517 user: larrybr tags: cli_extension)
04:55
Get sqlite3x.exe and extensions tested with MSVC build. (check-in: d2b16c29fc user: larrybr tags: cli_extension)
2022-04-30
19:55
Defensive code in sqlite3TreeViewWindow() to fix a compiler warning. (check-in: b250c218b4 user: drh tags: trunk)
18:40
Simplified fix to the problem with subroutine reuse in the RIGHT JOIN no-match logic for a subquery on the right-hand side of an IN operator. The code still needs simplification. (check-in: a193749730 user: drh tags: trunk)
17:22
Fix another problem with subroutine reuse in the RIGHT JOIN no-match code for the subquery on the right-hand side of an IN operator. The current code works for all known cases, but seems unnecessarily complex and in need of simplification. Later: The fuzzer finds memory leaks with this version. (Closed-Leaf check-in: ad32da8045 user: drh tags: not-working)
12:55
Preserve the COLLATE operator on an index on an expression when resolving the use of that expression into a reference to the index. See forum thread 7efabf4b03328e57 for details. (check-in: ef72f9e289 user: drh tags: branch-3.38)
12:35
Preserve the COLLATE operator on an index on an expression when resolving the use of that expression into a reference to the index. See forum thread 7efabf4b03328e57 for details. (check-in: a8da85c57e user: drh tags: trunk)
00:06
Further improvements to codeEqualityTerm() for cases when an IN operator with a right-hand side subquery is used as a constraint that needs to be processed by the RIGHT JOIN non-matched logic. (check-in: bb2798be3f user: drh tags: trunk)
00:05
Enhance the TreeView debugging output for Expr with opcode TK_IN so as to show the RHS table and the subroutine address. (check-in: aec1e4cd59 user: drh tags: trunk)
2022-04-29
21:38
For Tcl extension, get Tk option into MSVC build. (check-in: c3494fa757 user: larrybr tags: cli_extension)
19:00
Enhance the codeEqualityTerm() routine inside the code generator so that it is able to reuse an IN operator that has an invariant subquery on its right-hand side while coding the non-matched loop of a RIGHT JOIN. dbsqlfuzz 19f1102a70cf966ab249de56d944fc20dbebcfcf (check-in: 56dd306546 user: drh tags: trunk)
18:36
Get MSVC build going for sqlite3x.exe and extensions. And sync w/trunk. (check-in: cd5e57e0fe user: larrybr tags: cli_extension)
17:45
With TreeView, only show the table columns for a SrcItem if the data source is a subquery rather than a persistent table. (check-in: 7b4a0d0fa1 user: drh tags: trunk)
17:13
Multiple enhancements to the TreeView output for SrcItem, cherrypicked from the right-join experimental branch. (check-in: 293afa8111 user: drh tags: trunk)
17:03
Show the USING clause as part of the tree-view display of SrcItem. (check-in: 9cba3ce577 user: drh tags: right-join)
12:09
Minor typo fix in a comment, for the benefit of broken IDE syntax highlighters. (check-in: 680ccecbc8 user: drh tags: trunk)
2022-04-28
18:33
Fix problem with SQLITE_OMIT_VIRTUALTABLE builds. (check-in: a99ee612b9 user: dan tags: trunk)
18:17
In treeview.c, show the columns of the table associated with each SrcItem. (check-in: 3aafccb5c3 user: drh tags: right-join)
17:35
Tweaks to the name resolution on parenthesized joins. A small number of tests fail now due to extra columns appearing in the expansion of "*". (check-in: c86804917e user: drh tags: right-join)
12:52
Merge trunk enhancements into the right-join branch. (check-in: 3fd9706bba user: drh tags: right-join)
2022-04-27
21:10
The -DSQLITE_MXFILENAMESZ=N option for some non-negative integer value N prevents SQLite from ever creating a hole larger than N bytes in a named file for which a size hint has been issued. The exception code never runs, except for cases when the application deliberately corrupts the size hint. (Leaf check-in: 0c2da4ff64 user: drh tags: mkfileholesz)
18:38
Fix a harmless typo in a comment. (check-in: e1f4a115df user: drh tags: trunk)
16:41
When computing STAT1 values using ANALYZE, if a ratio comes out to be between 1.0 and 1.1, then round it down to 1 rather than the using the default rounding rule of changing it to 2. The reduces the estimation error for the case where a column value is very nearly, but not quite unique. (check-in: eb59c46a5a user: drh tags: trunk)
13:33
Fix a test problem in rbubusy.test causing a crash under some circumstances. (check-in: bc5bbd9fa6 user: dan tags: trunk)
13:12
Merge the version 3.38.3 fixes into the reuse-schema-3.8 subbranch. (check-in: 436d0a5837 user: drh tags: reuse-schema-3.38)
13:00
Merge version 3.38.3 fixes onto the begin-concurrent-wal2-3.38 branch. (check-in: 5590f0a4e6 user: drh tags: begin-concurrent-wal2-3.38)
12:03
Version 3.38.3 (check-in: 9547e2c38a user: drh tags: release, version-3.38.3, branch-3.38)
2022-04-26
20:58
Modify utility function sqlite3SetString() so that it may be used safely on Parse.zErrMsg. Fuzzer test case "crash-1604e5d76c92574e21e437049dab9b672e06b767.txt". (check-in: b9c7d2c1bd user: drh tags: branch-3.38)
19:48
Cherry-pick various minor fixes from trunk into branch-3.38. (check-in: fece097c70 user: drh tags: branch-3.38)
19:16
Update corruptL.test so that it works with SQLITE_ENABLE_OVERSIZE_CELL_CHECK builds. (check-in: b1bec72043 user: dan tags: trunk)
2022-04-25
23:00
Reverse the order of two tests to stop a harmless initialized value warning from MSAN - reported by OSSFuzz. (check-in: fb7e1a07a9 user: drh tags: branch-3.38)
21:31
Fix a problem with using multiple SQLITE_SUBTYPE function as window functions in a single query. (check-in: 9caca6cb3e user: drh tags: branch-3.38)
21:22
Increase the version number to 3.38.3. (check-in: b113afa224 user: drh tags: branch-3.38)
21:21
Fix a problem with automatic indexes introduced by check-in [664b461bb5063d980] and reported by forum post 0d3200f4f3bcd3a3. (check-in: 4fbb9ffe72 user: drh tags: branch-3.38)
20:56
Fix a problem with automatic indexes introduced by check-in [664b461bb5063d980] and reported by forum post 0d3200f4f3bcd3a3. (check-in: 134cfb18ff user: drh tags: trunk)
20:47
Do not allow the push-down optimization on the right table of a RIGHT JOIN. (Closed-Leaf check-in: 05917bfa02 user: drh tags: autoindex-fix)
20:38
The pushDownWhereTerms() routine should be using sqlite3ExprIsTableConstraint(), not sqlite3ExprIsTableConstant(). This fixes many problems, but still an error persists in join7.test. (check-in: 10bf0e6138 user: drh tags: autoindex-fix)
19:40
Failed first attempt to fix a problem with automatic indexes introduced by check-in [664b461bb5063d980] and reported by forum post 0d3200f4f3bcd3a3. I thought that I had tested this prior to check-in and that it worked. But after checking it in, I find that there are many test failures. (check-in: 7ca3456c00 user: drh tags: autoindex-fix)
14:59
Add a new optimizer disabling bit to disable just the UNION ALL branch of the query flattener. (check-in: c0f9ebab54 user: drh tags: trunk)
14:49
Avoid unintended side-effects on Parse.nSelect in the sqlite3ViewGetColumnNames() routine. (check-in: 59789fe1e7 user: drh tags: trunk)
10:43
Remove NEVER() on branches formerly thought to unreachable (see check-in [71272caff5874137]) in order to fix the first bug reported by forum post 28821db852. (check-in: bd6811d811 user: drh tags: trunk)
2022-04-24
20:00
Get CLI conformed to revised doc for it, and take recent fixes. (check-in: 60e85c7e71 user: larrybr tags: cli_extension)
2022-04-23
19:26
Merge enhancements and fixes from trunk into the right-join branch. (check-in: 2fb165cf8b user: drh tags: right-join)
19:21
Prevent the ORDER BY LIMIT optimization from running if the innermost loop is a right-join, as doing so will get an incorrect answer. (check-in: 3aefc874d3 user: drh tags: trunk)
18:46
In debug builds, add extra code to verify that there are no jumps that try to escape from the right-join body subroutine. (check-in: 45fe919266 user: drh tags: trunk)
18:34
Fix false-positives in sqlite3VdbeNoJumpsOutsideSubrtn(). All tests pass now. (Closed-Leaf check-in: 1300d978d5 user: drh tags: right-join-subrtn-check)
18:04
For debug builds, if the RIGHT JOIN body subroutine contains a jump that escapes the subroutine, then abort the prepared statement with a descriptive error and SQLITE_INTERNAL. This extra sanity check causes many tests to fail. (check-in: 2c5bb2bff2 user: drh tags: right-join-subrtn-check)
14:30
Fix an operator typo - This indicates that the branch needs further investigation and verification. (check-in: f6ab67965b user: drh tags: right-join)
07:31
Correctly resolve left and right USING columns of an outer join in a parenthesized subjoin. (check-in: ea91aba88c user: drh tags: right-join)
07:29
Fix minor problems with the new join table name resolution logic. (Closed-Leaf check-in: 3a6b0db451 user: drh tags: right-join-colnames)
2022-04-22
23:18
Add the ability to access the USING columns of the right or left tables of an OUTER JOIN even if the OUTER JOIN is in parentheses. Prototype code only. (check-in: c3a427575f user: drh tags: right-join-colnames)
19:52
Merge the latest enhancements and fixes from trunk onto the right-join branch. (check-in: 7f8983345d user: drh tags: right-join)
18:07
Make use of the "%!S" format when running ExplainSubquery. (check-in: 9425d79cb4 user: drh tags: trunk)
17:36
Improve EXPLAIN QUERY PLAN output and comments on bytecode listings by distinguishing between "subquery" and "join" and using consistent names across EQP and bytecode. (check-in: a2d3ee9242 user: drh tags: trunk)
16:15
Honor the MATERIALIZED keyword on a common table expression by not flattening the CTE into an outer query. (check-in: 8d631a6b9e user: drh tags: trunk)
15:18
Add test cases to check the handling of SQLITE_BUSY in rbu. (check-in: 6fccc733c6 user: dan tags: trunk)
13:34
Simplification of data structures in the wildcard expander for SF_NestedFrom queries. (check-in: f7c1826234 user: drh tags: trunk)
12:46
Minor simplification to the result-set wildcard expander for SF_NestedFrom. (check-in: d942530a65 user: drh tags: right-join)
09:57
Merge the latest trunk fixes into the right-join branch. (check-in: c74dc574c3 user: drh tags: right-join)
2022-04-21
23:34
Previous fix to join8.test needs a return. (check-in: 7b4cd705a0 user: drh tags: trunk)
23:01
Disable join8.test if the build lacks support for virtual tables. (check-in: 94e1916a2f user: drh tags: trunk)
19:38
Add support for RIGHT and FULL JOIN. (check-in: f766dff012 user: drh tags: trunk)
19:25
Fix harmless compiler warnings. (check-in: 2925566412 user: drh tags: right-join)
19:20
Fix a harmless uninitialized variable warning in MSVC. (check-in: b870d2a2fa user: drh tags: trunk)
19:14
Fix harmless compiler warnings in the CLI. (check-in: dfd2100bc4 user: drh tags: trunk)
14:48
Make sure the code generator knows to invoke row-value subroutines which running the right-join post-processing loop. (check-in: fd328e52ae user: drh tags: right-join)
14:08
Ensure correct fg.isNestedFrom values even on crazy parses. (check-in: e611e8e62c user: drh tags: right-join)
13:11
Avoid materializing columns of SF_NestedFrom subqueries that are never used. Other code improvements manually imported from the right-join-paren branch. (check-in: cd8272fc2a user: drh tags: right-join)
12:11
Further attempts to get name resolution to work correctly with parenthisized FROM clauses. Work-in-progress. Lots of crashes and wrong answers. (Closed-Leaf check-in: 6b326b3bcf user: drh tags: right-join-paren)
01:49
Attempting to improve name resolution for parenthesized FROM clauses. Only partially working. (check-in: 959b718214 user: drh tags: right-join-paren)
2022-04-20
22:41
For CLI, fix how columnar mode fills in empty portions of wrapped row outputs. (check-in: 77aed89192 user: larrybr tags: trunk)
21:58
Try to avoid materializing unused columns when processing a parenthesized FROM clause. (check-in: 07906e3c4f user: drh tags: right-join-paren)
18:12
Small correction to the new bUsed logic of sqlite3ProcessJoin(). (check-in: ba04142e09 user: drh tags: right-join)
16:54
Merge window function fix from trunk. (check-in: b6b9e185f8 user: drh tags: right-join)
16:53
Remove an unnecessary assignment operation. (check-in: ed46527aca user: drh tags: right-join)
16:42
Fix a problem with using multiple SQLITE_SUBTYPE function as window functions in a single query. (check-in: 9430ead7ba user: dan tags: trunk)
16:26
Comment fixes and improvements in sqlite3ProcessJoin(). (check-in: 1118655f4d user: drh tags: right-join)
15:07
Improved tracking of nested SELECT objects used to implement parenthensized FROM terms. (check-in: 0da2232624 user: drh tags: right-join)
12:15
Also show the ENAME_SPAN value in sqlite3TreeViewExprList(), if there is one. (check-in: c1d4286177 user: drh tags: right-join)
12:14
Improved TreeView output for ExprList: Show the ENAME_TAB value, if there is one. (check-in: eb3f883b45 user: drh tags: right-join)
12:02
Add a new comment to the body of lookupName(). No code changes. (check-in: 22fa9b9b45 user: drh tags: right-join)
2022-04-19
23:00
Merge the ALTER TABLE fix from trunk. (check-in: d5ceaef3fc user: drh tags: right-join)
20:47
Fix a problem in ALTER TABLE with handling "table.*" expressions within SELECT statements in triggers. (check-in: 24755fd065 user: dan tags: trunk)
19:51
Improved comment on the JF_LTORJ constant definition. (check-in: e0744da95f user: drh tags: right-join)
18:23
Fix a NULL-pointer dereference that can occur on an aggregate query that uses FULL JOIN. dbsqlfuzz 496a35dd4eefcd7935aaaeb0c69056bf49785d28. (check-in: 63b8f8aec2 user: drh tags: right-join)
15:56
Mark an unreachable "just-in-case" branch as unreachable. (check-in: b966d52437 user: drh tags: right-join)
15:01
Add 512 new join test cases derived from PostgreSQL output. (check-in: 78d58e461f user: drh tags: right-join)
09:39
Remove unnecessary cases for the resolver. (check-in: 5bc9aa68e2 user: drh tags: right-join)
02:03
Add the omitted "finish_test" to the end of joinA.test. (check-in: 0907505cc9 user: drh tags: right-join)
00:24
New test cases for RIGHT and FULL JOIN. (check-in: 5c2f670e0f user: drh tags: right-join)
2022-04-18
23:20
Fix the query flattener so that it does not flatten a RIGHT or FULL JOIN into any position of the outer query other than the first. (check-in: 837322aa95 user: drh tags: right-join)
22:51
New test cases, including one that gets a different result than Postgres. (check-in: 49ea11a4a5 user: drh tags: right-join)
19:48
Disable the unused EU4_EXPR mode for the IdList object. (check-in: 5bcf4aa3bf user: drh tags: right-join)
19:34
Even more test cases. (check-in: 5f4310a104 user: drh tags: right-join)
19:28
New test cases for parenthesized NATURAL FULL JOINs. (check-in: e34250efd3 user: drh tags: right-join)
18:01
New test case demonstrating the ability to invoke OP_NullRow on a cursor that has never been opened. (check-in: d173edc242 user: drh tags: right-join)
16:23
Merge the btree bug-fix from trunk. (check-in: a333c0b50c user: drh tags: right-join)
16:20
Ensure that left-hand side WITHOUT ROWID tables are set to OP_NullRow prior to running the right-join loop. This fixes a problem introduced by the previous check-in. (check-in: aab7665ce6 user: drh tags: right-join)
16:10
Fix problems with WHERE clauses that follow multiple FULL JOINs. This introduces some new faults in the tests, probably due to something unrelated. (check-in: 95b242d4c2 user: drh tags: right-join)
15:56
Avoid an assert() failure in allocateSpace() triggered by a corrupt database. dbsqlfuzz f022eb0ce64d27808574d1dcde5cf7d002dabde8. (check-in: 2de7f8cc7f user: dan tags: trunk)
14:41
Merge the latest fixes from trunk. (check-in: 1ba3b3ccf1 user: drh tags: right-join)
14:15
Improved comment field in the bytecode generated for OP_Column and OP_Rowid. (check-in: 1b2c5cef95 user: drh tags: trunk)
13:57
Improved comment field in the bytecode generated for OP_Column and OP_Rowid. (check-in: 009bbf8026 user: drh tags: right-join)
13:08
New RIGHT JOIN test cases, one of which is currently failing. (check-in: 9168cbbedd user: drh tags: right-join)
11:22
Change the row-value initialization subroutine call from within the right-join body subroutine from an issue to an optimization opportunity. (check-in: 829d49f27c user: drh tags: right-join)
10:26
Do not allow an empty table bypass to jump outside of a right-join body subroutine. (check-in: 1549dcd235 user: drh tags: right-join)
10:09
Fix the sqlite3SrcListAppendList() routine so that it correctly adds the JT_LTORJ attribute to the first SrcItem, if needed. (check-in: 07ed0dca31 user: drh tags: right-join)
09:59
Leave sqlite3ProcessJoin() early if an OOM is encountered in the NATURAL to USING converter. This avoids NULL pointer dereferences further along in the code. (check-in: 0ccb224e13 user: drh tags: right-join)
00:57
Fix to the coalesce() function generation in the resolver. (check-in: 584bd55e20 user: drh tags: right-join)
00:04
When converting a NATURAL JOIN into a JOIN USING, make sure to insert the name correctly into the IdList even if it is a wierd quoted name. (check-in: e62156b696 user: drh tags: right-join)
2022-04-17
23:46
Fix to the logic that computes coalesc() functions to resolve USING terms. (check-in: 20388548d8 user: drh tags: right-join)
22:58
Deal with OP_Return bypass in the RIGHT JOIN subroutine by adding extra OP_Returns where needed. (check-in: 71abe5641f user: drh tags: right-join)
21:03
Get docs caught up with the .shxload change. (check-in: e21964480f user: larrybr tags: cli_extension)
20:30
Change OP_Return such that if P3 is 1, the Return is a no-op when the P1 register contains a NULL. (check-in: c90602328a user: drh tags: right-join)
19:22
Move shell extension load functionality into its own .shxload command for usage and code simplicity. (check-in: e2c8c88b4b user: larrybr tags: cli_extension)
18:46
Further improvements to USING() processing for RIGHT and FULL JOINs. All currently known issues are now resolved. Performace is improved. (check-in: 9fd3f22e22 user: drh tags: right-join)
00:48
For sqlite3x, rudimentary testing in place as make target shellxtest . More to come. (check-in: b73928befb user: larrybr tags: cli_extension)
2022-04-16
23:38
New test cases, one of which is failing, indicating a bug that needs fixing. (check-in: bd5fd68435 user: drh tags: right-join)
22:57
Fix the USING to ON translation so that it works correctly for a sequence of two or more joins where one of the joins to the right-hand side of the list is a RIGHT or FULL JOIN. (check-in: 9ffc2b2319 user: drh tags: right-join)
19:13
Since the query planner is unable to cope with a LEFT JOIN on the left-hand side of a RIGHT JOIN, detect that situation early and raise a parsing error. This is a temporary measure that needs to be fixed. (check-in: 6d5d6e0403 user: drh tags: right-join)
18:33
Additional SELECT trace logic: Show the tree after result-set wildcard expansion but before name resolution. (check-in: a7babf7541 user: drh tags: right-join)
17:53
Make shell auto-column work with lots of columns when log() is missing. (check-in: 82366436ef user: larrybr tags: trunk)
15:46
Fix a problem with "ON DELETE RESTRICT" and "ON UPDATE RESTRICT" foreign keys in attached databases scanning child tables in the wrong schema. (check-in: 04d5b637f0 user: dan tags: trunk)
13:55
New test cases. One of the new test cases shows a flaw in the base design of RIGHT JOIN. (check-in: 4c3ce6475a user: drh tags: right-join)
12:40
RIGHT JOIN USING now appears to work the same as PG-14. Legacy tests pass. (check-in: 5bfb862419 user: drh tags: right-join)
2022-04-15
21:21
Get sqlite3x and extensions testing from Makefile setup, and some of wapptest changes done to run same. (a WIP) (check-in: d238fcf4be user: larrybr tags: cli_extension)
19:53
Revamp the USING clause processing so that it works (mostly) with RIGHT and FULL JOIN. (check-in: 719c8d920b user: drh tags: right-join)
19:49
Avoid deleting substructure of the Expr node in lookupName() until after the error message is generated. (Closed-Leaf check-in: b8e7176639 user: drh tags: right-join-using)
19:27
Progress toward a working USING for FULL JOIN. (check-in: fed2646ade user: drh tags: right-join-using)
18:30
When expanding "*" in the result set of a SELECT, do not attach a table name to columns that are in subsequent USING clauses. (check-in: 91530990e0 user: drh tags: right-join-using)
17:08
The sqlite3ProcessJoin() routine converts a NATURAL JOIN into a JOIN USING so that henceforth the NATURAL keyword can be ignored. (check-in: 8378e1e0d2 user: drh tags: right-join)
15:47
Enhance the IdList object to exist in a single memory allocation (rather than a separate allocate for the base object and the array of IDs). Also permit an IdList object to store an Expr pointer together with each name. (check-in: 40f3c95871 user: drh tags: right-join)
15:15
Add the "3" in the name of the sqlite3ProcessJoin() function. (check-in: b925f72b6f user: drh tags: right-join)
2022-04-14
20:43
Record the three known big issues with the current RIGHT JOIN design in the join8 test module, with tests that deliberately fail in order to remind us to fix the issues. (check-in: 2c4ee723f4 user: drh tags: right-join)
19:48
Cherry pick subroutine indentation improvements and the hardening of OP_Gosub from the right-join branch back into trunk. (check-in: 12645f100d user: drh tags: trunk)
19:05
Another instance of indenting a subroutine. (check-in: 73f4036b04 user: drh tags: right-join)
18:19
Check for interrupts and invoke the progress handler following a Gosub opcode, to avoid and recover from infinite subroutine loops. (check-in: 647211e044 user: drh tags: right-join)
16:34
Rerun the subroutines that compute row-values if necessary from within the RIGHT JOIN body subroutine. (check-in: 9b9038bcd0 user: drh tags: right-join)
15:55
Adjust the output formatting of bytecode listings so that subroutines used to implement subqueries are indented one level. (check-in: 079b7b1252 user: drh tags: right-join)
14:58
Disable autoindexing for the RIGHT JOIN loop. (check-in: 402a89e33e user: drh tags: right-join)
14:40
Adjust assert() statements to account for the new always-NULL cursor type added by [4526c5d316508093]. (check-in: 7822faa48a user: drh tags: right-join)
14:19
Previous check-in accidentally inverted a test on an assert(). Fix that. (Closed-Leaf check-in: 5ec4f806c5 user: drh tags: right-join-fix, right-join)
12:59
Fix assert() statements associated with artifical null-value cursors created by RIGHT JOIN. (check-in: f5bce5f152 user: drh tags: right-join-fix, right-join)
2022-04-13
19:00
Fix a harmless (false-positive) unused variable compiler warning on MSVC. (check-in: 63b04c63de user: drh tags: right-join)
18:32
Make the sqlite3TreeViewSrcList() routine a no-op if called with a NULL SrcList object. (check-in: 185d2720e7 user: drh tags: right-join)
18:20
Fix an assert() in OP_Column so that it accounts for the new type of pseudo-cursor that always returns NULL for any column. (check-in: 371ddc97be user: drh tags: right-join)
17:41
If the OP_NullRow opcode is given a cursor that has not yet been opened, then go automatically open it to a special pseudo-cursor that allows returns NULL for every column. Used by the new RIGHT JOIN implementation. (check-in: 4526c5d316 user: drh tags: right-join)
16:46
Move the explain comment for the RIGHT-JOIN post-processing loop to the verify beginning of the loop - to make the start of the loop clearer to human bytecode readers. (check-in: 7ed2a271e6 user: drh tags: right-join)
12:34
This was the original landing of the RIGHT and FULL OUTER JOIN changes to trunk. It was moved back onto a branch due to problems discovered. (check-in: fa9d206f90 user: drh tags: right-join)
12:12
The rows of a RIGHT JOIN might come out in any arbitrary order. So disable the ORDER-BY/GROUP-BY optimizations if a RIGHT JOIN is involved. (check-in: d168f245ec user: drh tags: right-join)
10:49
Fix an assert() in btree.c that might not be true for a corrupt database file. (check-in: dbd8e2e46c user: drh tags: trunk)
03:48
Extension interface cleanup, and rename MetaCommand to DotCommand (to better match docs) (check-in: f78d7b8b89 user: larrybr tags: cli_extension)
01:52
Add missing VdbeCoverage() macros on new branch byte-code opcodes. (check-in: 218c7167e5 user: drh tags: right-join)
2022-04-12
20:20
Ensure that the JT_LTORJ bit in the SrcItem.fg.jointype is preserved during query flattening. (check-in: 6125905015 user: drh tags: right-join)
18:40
For the bad join type error message "unknown or unsupported join type" remove the "or unsupported" clause, because we now support all valid join types. (check-in: ab0a0562dd user: drh tags: right-join)
18:04
Factor out the RIGHT JOIN non-matched row loop from sqlite3WhereEnd(). This reduces the register pressure on that routine and helps it to run faster in the common case where there is no RIGHT JOIN. (check-in: beeecf1604 user: drh tags: right-join)
17:43
Merge the latest enhancements from trunk into the right-join branch. (check-in: b3e57ba120 user: drh tags: right-join)
17:02
Earlier detection of corruption in balance_nonroot(). dbsqlfuzz 9191ade77ebd3b7a3356e074957aa85b0c669d14. (check-in: bff4f083eb user: dan tags: trunk)
14:23
The multi-index OR optimization does not work for RIGHT join, so disallow it. (check-in: 34c2f7b237 user: drh tags: right-join)
13:46
Always explicitly set each table cursor to NullRow before doing the RIGHT-JOIN unmatched row pass. This is a cheap opcode, and it adds an extra layer of defense against incorrect results. (check-in: a3d14e61ca user: drh tags: right-join)
11:02
Modify utility function sqlite3SetString() so that it may be used safely on Parse.zErrMsg. Fuzzer test case "crash-1604e5d76c92574e21e437049dab9b672e06b767.txt". (check-in: 09c5a4ec13 user: dan tags: trunk)
10:06
Further clarification of Tcl extension intro. (check-in: 29ab6e9037 user: larrybr tags: cli_extension)
2022-04-11
23:08
Tcl extension doc, minor clarifications and spelling improvements (check-in: 6ccdd9b751 user: larrybr tags: cli_extension)
23:01
Fix CLI mishandling of SQL "execute" tokens, go and / (check-in: 1a117b0388 user: larrybr tags: cli_extension)
21:00
Fix RIGHT JOIN for virtual tables. (check-in: 75a9116e98 user: drh tags: right-join)
20:15
The query flattener must add TK_IF_NULL_ROW opcodes on substituted values that land on the left operand of a RIGHT JOIN, just as it already does for the right operand of a LEFT JOIN. (check-in: 8e02cdf5b1 user: drh tags: right-join)
18:54
New test cases added. (check-in: bdd1499c0f user: drh tags: right-join)
18:42
Fix mis-renditions of help text. (check-in: 1a7a6b6f48 user: larrybr tags: cli_extension)
17:27
Fix handling of "continue" and "break" from inside the loop for the right operand of a RIGHT JOIN. (check-in: b6e773a26c user: drh tags: right-join)
14:43
Do not attempt the LEFT JOIN strength reduction optimization on a FULL JOIN. (check-in: 7ef3e99a73 user: drh tags: right-join)
14:26
Show LEFT and RIGHT JOIN processing in the EXPLAIN QUERY PLAN output. (check-in: d91faeffea user: drh tags: right-join)
13:13
New test cases. (check-in: d5f6791b86 user: drh tags: right-join)
12:38
Make a distinction between (1) WHERE clause constraints, (2) ON/USING constraints on outer joins, and (3) ON/USING clause constraints on inner joins. Formerly, there was no distinctionb between 1 and 3, but RIGHT JOIN needs to know the difference. Make RIGHT JOIN aware of this difference and add test cases. (check-in: 0f6f61c366 user: drh tags: right-join)
11:59
Fix some comments that refer to LEFT JOIN that should refer to OUTER JOIN. No changes to code. (check-in: 5be5ede5cc user: drh tags: right-join)
11:48
Merge the Expr.w.iJoin name change from trunk into the right-join branch. (check-in: 29927926eb user: drh tags: right-join)
11:25
Rename the Expr.w.iRightJoinTable to just Expr.w.iJoin, so that the words "RightJoin" in the former name do not lead readers to believe that this has something to do with RIGHT JOINs in particular. (check-in: e8c00442d2 user: drh tags: trunk)
10:38
Ensure that the JT_LTORJ flag is preserved when flattening a subquery that is on the left side of a RIGHT JOIN. (check-in: ccb61fb1f3 user: drh tags: right-join)
08:07
Add embedded doc, Intro to Tcl Extension (check-in: 3359183332 user: larrybr tags: cli_extension)
00:54
Show the JT_LTORJ flag in TreeView debugging output. (check-in: 21eb44919f user: drh tags: right-join)
00:21
Do not allow query flattening nor the push-down optimization on the right operand of a RIGHT JOIN. (check-in: 5aa0c9ea9c user: drh tags: right-join)
2022-04-10
23:48
Cannot use an automatic index on the right table of a RIGHT JOIN because automatic indexes must be WHERE_IDX_ONLY, but the RIGHT JOIN post-processing does not know how to work with an index-only scan. (check-in: beb4401dc0 user: drh tags: right-join)
23:01
Revisit [f84b2beca7197589]: disallow co-routine implementations of tables that are to the left of a RIGHT JOIN, to avoid other complications. (check-in: cf00ebfc4b user: drh tags: right-join)
20:28
Minor improvements to the sqlite3SrcListShiftJoinType() routine. This started out to be an effort to convert RIGHT JOIN to LEFT JOIN if the join was on the first pair of relations, but that messes up the "*" expansion and so won't work. (check-in: a48902c71e user: drh tags: right-join)
19:51
When the left-most table of a RIGHT JOIN is implemented as a co-routine, make sure all its columns are flushed to NULL when it finishes so that they appear to be NULL during the RIGHT JOIN post-processing. (check-in: f84b2beca7 user: drh tags: right-join)
17:14
More test cases and bug fixes. (check-in: 140e97fde9 user: drh tags: right-join)
16:13
More RIGHT JOIN test cases and a bug fix. (check-in: 19e8ad690a user: drh tags: right-join)
09:17
Create parallel C and C++ test/demo shell extensions, with header tweaks to make that work. Fix a bug exposed when multiple shell extensions were loaded. (check-in: 2596e7c439 user: larrybr tags: cli_extension)
2022-04-09
20:11
Add a simple test case. (It is not difficult to create additional test cases that assert, at this point.) (check-in: f2201d5dcf user: drh tags: right-join)
19:39
Sync w/trunk, for .import fix. (check-in: 861ab023be user: larrybr tags: cli_extension)
18:51
Fix .import bug reported at https://sqlite.org/forum/forumpost/14db09d7e765b819 . zAutoColumn made to deliver characters, not bytes. (check-in: 21e96600d9 user: larrybr tags: trunk)
18:48
Bug fixes. A basic FULL OUTER JOIN now works. (check-in: 34bbeeb77b user: drh tags: right-join)
14:57
Get tclshext made with Tk, optionally, and make unknown work as in tclsh. (check-in: 43eb311e51 user: larrybr tags: cli_extension)
14:48
Add byte-code that computes unmatched rows on the right table of a RIGHT JOIN. Compiles, and the code looks semi-reasonable, but still does not run. Incremental check-in. (check-in: 2db5a498e7 user: drh tags: right-join)
12:27
The interior of the RIGHT JOIN loop is now a subroutine. (check-in: 549f5a7ee6 user: drh tags: right-join)
03:16
A few bits and bobs of code generation toward getting RIGHT JOIN to work. Much more remains to do. (check-in: 55b4543122 user: drh tags: right-join)
03:12
Merge the sqlite3WhereMalloc() routine from trunk into the right-join branch. (check-in: b1b3845aa3 user: drh tags: right-join)
03:12
Fix TCL extension build issue. (check-in: 0b3bb0e793 user: larrybr tags: cli_extension)
03:06
The sqlite3WhereMalloc() routine allocates memory that is automatically deleted when the corresponding WhereInfo object is destroyed. (check-in: f237e1d8cc user: drh tags: trunk)
02:31
For shell extensions, generate a single-file header. For TCL extension, provide Makefile target, and make Tk opt-in rather than default. (a WIP) (check-in: 2cd49df502 user: larrybr tags: cli_extension)
2022-04-08
19:20
Preliminary code to support RIGHT JOIN. Everything seems to work, except that the code to compute the unmatched rows for the RIGHT JOIN has not yet been added, so the result of a RIGHT JOIN is currently the same as an INNER JOIN. (check-in: 415abd6731 user: drh tags: right-join)
17:01
Enhance the sqlite_dbpage fix at check-in 642a0b4752743 from about a month ago such that it still takes a transaction on all attached databases, but it only starts a read transaction for read-only operations, rather than starting a write transaction for everything. (check-in: 8efd61e851 user: drh tags: trunk)
15:11
Improved explanation and commentary on the sqlite3JoinType() routine. One of the error messages changes slightly, but besides that everything works the same. (check-in: 48f2e5a1fb user: drh tags: trunk)
12:50
Grammar rules for a hypothetical FOR EACH ROW statement. No new keywords required. However, the sqlite3_complete() machine had to be reworked because of the fact that FOR EACH ROW can contain internal semicolon tokens. (Leaf check-in: 32ae9ee712 user: drh tags: foreachrow-statement)
10:35
Tokenizer and grammar rules sufficient for the MERGE command. (Leaf check-in: 2deee326e8 user: drh tags: merge-statement)
04:24
Sync w/trunk, including all CLI updates (check-in: ad8b48d632 user: larrybr tags: cli_extension)
03:40
For shell, silence some clang warnings, and cure one bona-fide gripe. (check-in: 52be866850 user: larrybr tags: cli_extension)
03:20
Revamp and simplify shell help extension interface, and provide for scripted shell extensions to be seen in .help output. (check-in: aa785473d9 user: larrybr tags: cli_extension)
2022-04-07
20:45
Fix two unreachable branches introduced by the recent sqlite3TriggersExist() optimization. (check-in: 1b5475d212 user: drh tags: trunk)
19:06
Enhance the EXPLAIN output formatting in the CLI so that the subroutine that implements the loop body for the multi-index OR optimization is indented. (check-in: c2965fea9d user: drh tags: trunk)
18:17
The ".testctrl optimizations 0x400000" command disables the generation of OP_ReleaseReg opcodes. OP_ReleaseReg opcodes are usually only generated for SQLITE_DEBUG builds and are used to verify that registers are descoped propertly. But they can get in the way of code understanding when studying bytecode dumps. So this new optimization setting is provided to temporarily turn OP_ReleaseReg opcodes off. (check-in: fa5276725f user: drh tags: trunk)
14:13
Fix the parsing of C-style comments in Lemon, as reported by forum post b6edc69548. This has no affect on SQLite itself. (check-in: 201569e09b user: drh tags: trunk)
14:03
Optimization to sqlite3TriggersExist() saves over 700K CPU cycles. (check-in: 5043a3507e user: drh tags: trunk)
13:48
Avoid compiler warnings about the new sqlite3Show() debugging routines begin "defined but not used". (check-in: 47ddc26974 user: drh tags: trunk)
12:10
Omit an unnecessary initialization in tokenExpr(). (check-in: 8f6ae68601 user: drh tags: trunk)
10:11
Fix harmless compiler warnings. (check-in: 61095b5bcb user: drh tags: trunk)
01:11
Improved technique for parsing the ON and USING clauses of a join is faster and uses less memory. (check-in: 158156a3e3 user: drh tags: trunk)
2022-04-06
19:46
Faster parsing of the FROM clause in joins for the common case where there is no INDEXED BY clause. (check-in: 848b7a0ea9 user: drh tags: trunk)
18:30
Improvements to the display of AST for DML statements. (check-in: 84c239a071 user: drh tags: trunk)
17:07
Get shell.c past clang preprocessor, silently. (check-in: 588c351228 user: larrybr tags: cli_extension)
16:47
Add sqlite3x target to other makefiles. (check-in: efc9f08dcb user: larrybr tags: cli_extension)
16:19
Add sqlite3x build target. Cure CLI build warning. Tweak CLI test. (check-in: 45736d46cd user: larrybr tags: cli_extension)
15:41
Attempt to show triggers in the TreeView output from DELETE, INSERT, and UPDATE statements. (check-in: b0939d6f4d user: drh tags: trunk)
12:54
Corrections and updates to the header comment describing the TriggerStep object. No changes to code. (check-in: abb34c0830 user: drh tags: trunk)
12:25
Add the sqlite3Show() family of debugging interfaces under SQLITE_DEBUG. No changes to deliverable builds. Rename SQLITE_ENABLE_SELECTTRACE to SQLITE_ENABLE_TREETRACE in ctime.c. (check-in: bc33168cf1 user: drh tags: trunk)
11:08
Rename debugging defines and variables from SELECTTRACE to TREETRACE (and similar) since the functionality has how expanded to include data structures beyond SELECT statements. Should not affect deliverable builds. (check-in: 393fa32e18 user: drh tags: trunk)
10:37
Add additional tree display routines for DELETE and UPDATE. No changes to deliverable code. (check-in: fbd288ff3d user: drh tags: trunk)
00:29
Add new diagnostic "sqlite3TreeView" routines for IdList, Upsert, and for INSERT statements. This is all debugging code. There are no changes to release builds. (check-in: f308412203 user: drh tags: trunk)
2022-04-04
20:20
Small performance and size improvement to OP_Found. (check-in: 81587a18b7 user: drh tags: trunk)
19:58
Tag an always-taken branch using ALWAYS(). (check-in: ad8bc3d744 user: drh tags: trunk)
19:43
Optimizations to the OP_Found opcode save about 600K cycles in speedtest1. (check-in: 5c3357ad62 user: drh tags: trunk)
18:17
Use unpacked keys for OP_Found in foreign key processing. (check-in: 328dc76657 user: drh tags: trunk)
17:27
For shell extension writers, reduce boilerplate (mimicing SQLITE_EXTENSION_INIT# macros) (check-in: 761208132d user: larrybr tags: cli_extension)
15:26
Fix two minor problems in the JSON functions associated with JSON Paths for object labels that require quoting. (check-in: 4a1553b55f user: drh tags: branch-3.38)
15:15
When constructing the JSON Path for the "fullpath" column of the json_tree() and json_each() table-valued functions, be sure to quote object labels where necessary. (check-in: 0fbbe7881c user: drh tags: trunk)
14:24
Fix the JSON Path parser so that it will accept zero-length object labels. Forum thread c082aeab43. (check-in: 84fe95d2a5 user: drh tags: trunk)
11:38
Performance optimization and stronger assert()s in the comparison opcodes. (check-in: e0305e640b user: drh tags: trunk)
06:33
For TCL extension: Adjust provided "gui" command, and document it. For shell: Separate shell variables from binding parameters, mainly so they live longer, in the shell DB. Add .vars dot command to reflect this separation, and specialized for shell variables. Much code shuffling to share code between .parameters and .vars commands. (check-in: fa492ff57c user: larrybr tags: cli_extension)
01:12
Only invoke sqlite3VdbeClearObject() from a single location, so that the compiler is more likely to in-line the code. Performance increase and size reduction. (check-in: c6947a96e6 user: drh tags: trunk)
2022-04-03
22:35
Performance optimization in the sqlite3VdbeHalt() routine. (check-in: 9564d72a08 user: drh tags: trunk)
20:39
Performance optimization and size reduction in the OP_Halt opcode. (check-in: 21948e6e1c user: drh tags: trunk)
19:13
Omit the Vdbe.runOnlyOnce flag (simplifying the prepared statement implementation) and accomplish the same result by adding an "OP_Expire 1 1" opcode to prepared statements that would normally have runOnlyOnce set. (check-in: 6e20e1c46d user: drh tags: trunk)
10:42
Performance optimization and slight size reduction in the OP_Transaction opcode. (check-in: 7bee8c195f user: drh tags: trunk)
2022-04-02
22:47
Expand the getVarint32() macro in a few places, as the C-compiler seems to be able to optimize better when that macro is expanded manually. (check-in: cd4fe34b98 user: drh tags: trunk)
20:08
Fix harmless compiler warnings. (check-in: 8a3a348635 user: drh tags: trunk)
19:21
Ensure that a zero-blob does not cause in invocation of memcpy() with a zero length and a NULL source pointer. (check-in: 35441eb5e1 user: drh tags: trunk)
15:19
Minor loop optimization in OP_MakeRecord. (check-in: 4350983b37 user: drh tags: trunk)
14:30
In-line the sqlite3VdbeSerialPut() routine into the OP_MakeRecord opcode. This allows some duplicate comparisons to be omitted, resulting in a size reduction and performance increase. (check-in: 6f4d6f212a user: drh tags: trunk)
2022-04-01
21:01
The putVarint32() macro does not optimize well. So expand it into in-line code in places were performance is an issue. (check-in: 390c239e53 user: drh tags: trunk)
20:39
Loop optimization in the OP_MakeRecord opcode. (check-in: 47a61fbd63 user: drh tags: trunk)
20:19
It is not necessary to de-ephermeralize the output registers in the OP_ResultRow opcode. Omit that step for a size reduction and performance increase. (check-in: 8a07745aed user: drh tags: trunk)
19:13
There is no need for sqlite3_step() to check for an OOM condition prior to starting up. (check-in: 44be7f46ba user: drh tags: trunk)
19:04
Omit the Vdbe.doingRerun field for a slight size reduction and performance gain. (check-in: e93297a9d7 user: drh tags: trunk)
18:45
New macro ROUND8P() which works like ROUND8() but assumes that the input is already a multiple of the size of a pointer. It becomes a no-op for 64-bit machines, giving a small size reduction and speed boost. (check-in: d126f304cd user: drh tags: trunk)
18:19
Provide and use a version of sqlite3VdbeFreeCursor() that guarantees the cursor pointer is not NULL. This saves a few bytes of code space and a few CPU cycles. (check-in: cb5e6f8e26 user: drh tags: trunk)
17:23
Remove an unnecessary branch from sqlite3VdbeReset(). (check-in: a7d79560a0 user: drh tags: trunk)
17:01
Refactor the Vdbe.iVdbeMagic field into Vdbe.eVdbeState. Split the RUNNING state into separate RUNNING and READY. This gives a size reduction and performance increase. (check-in: 5a50a42fde user: drh tags: trunk)
16:22
Avoid a harmless uninitialized variable warning in PRAGMA incremental_vacuum. (check-in: 6d976f90df user: drh tags: trunk)
15:31
Have the sqlite3_context object carry the encoding for the prepared statement that it represents, so that sqlite3_result() and similar can set the encoding according to the prepared statement, even if the database encoding has changed. dbsqlfuzz c409b10d0a6bccf78ab00f47e1d29d42ee5b3565 (check-in: d4e19314f5 user: drh tags: trunk)
2022-03-31
21:15
Split out the RUN state into separate READY and RUN states. (Closed-Leaf check-in: d698826b08 user: drh tags: vdbe-state-refactor)
20:04
Rename Vdbe.iVdbeMagic to eVdbeState. Remove unnecessary states. This is a preliminary step toward splitting RUN_STATE out into several other states. (check-in: ff91191d23 user: drh tags: vdbe-state-refactor)
16:09
Fix harmless compiler warnings. (check-in: b916087aac user: drh tags: trunk)
11:12
Refinement to [3f9887d4a58cbfdb]: The SQLITE_CONSTRAINT error should only be returned if the prepared statement came from sqlite3_prepare_v2(). The legacy sqlite3_prepare() is documented to return only SQLITE_ERROR. (check-in: f2d9262e44 user: drh tags: trunk)
04:05
Make CLI build after an incomplete rename completed. (check-in: 4f11e639f0 user: larrybr tags: cli_extension)
03:45
For TCL extension: Add Tk and means to run it, optionally. Implement ScriptSupport interface. For shell: Get scripting support thru an object interface like the others. Rename OutMode* to Export*. For both: Provide a way to pass arguments to an extension upon load and get them into TCL's argv. (check-in: d2446e5080 user: larrybr tags: cli_extension)
2022-03-30
17:56
Faster and slightly smaller implementation of sqlite3Step(). (check-in: c6901a8c78 user: drh tags: trunk)
17:36
Small size reduction and performance increase in sqlite3FinishCoding(). (check-in: 9248ce50f5 user: drh tags: trunk)
11:12
Incorporate fix noted as absent by forum post https://sqlite.org/forum/forumpost/aefd62fcc7ebd8b6 (check-in: 336851b191 user: larrybr tags: branch-3.38)
2022-03-29
22:57
In setResultStrOrError(), if the input string pointer is NULL and hence the value gets set to an SQL NULL, then the Mem.enc field is uninitialized. So do not read it. This is a harmless OSSFuzz/ASAN found problem. (check-in: 47d0b1c4cf user: drh tags: trunk)
21:11
For TCL extension: Cleanup TCL library interaction and interpreter management. Group code into more purpose oriented functions. Add .unknown dot command, delegating to TCL commands with "dot" names. Drop planned .eval new dot command. For shell: Implement undocumented .unknown dot command, doing little. Make dispatcher call .unknown's implementation for unknown dot command. Fix a command lookup bug exposed by above change to unknown handling. Add .eval dot command. Add options to .x command aimed at control of errors in command sequences. (a WIP) Make dispatcher report ambiguous dot command lookups, even with no extension. (check-in: 7616a6f4ab user: larrybr tags: cli_extension)
20:50
Ensure that sqlite3VdbeMemSetStr() always leaves the value in a consistent state even if there is an error. (check-in: c86ab289ec user: drh tags: trunk)
19:19
Reverse the order of two tests to stop a harmless initialized value warning from MSAN - reported by OSSFuzz. (check-in: 800b8fdad7 user: drh tags: trunk)
13:16
Avoid unnecessary calls to balance() from sqlite3BtreeDelete(). (check-in: d0966d1bdd user: drh tags: trunk)
01:43
Fix the sqlite3_result_xxxxx() routines so that they all check for and perform any necessary text encoding conversions and check for oversize strings and BLOBs. Thus those checks can be done where they are most efficient and avoided in cases like OP_Function where they are more expensive. (check-in: d50b162b2f user: drh tags: trunk)
2022-03-28
21:42
TCL extension polished and more smoothly integrated. A couple of bugs related to takedown fixed. Help for added features. Code cleaned up and commented. (check-in: 4ee7df1180 user: larrybr tags: cli_extension)
18:34
Further size and performance optimizations for sqlite3VdbeMemSetStr(). (check-in: 310a3e102d user: drh tags: trunk)
17:34
Slightly smaller and faster sqlite3VdbeMemSetStr(). (check-in: 06928e745c user: drh tags: trunk)
15:06
Performance increase in the loop that frees an opcode array. (check-in: 4ccebb86aa user: drh tags: trunk)
14:56
Another small performance gain by using sqlite3DbFreeNN(). (check-in: daa924af98 user: drh tags: trunk)
14:18
Use sqlite3DbFreeNN() instead of sqlite3DbFree() in a few hot spots for better performance. (check-in: b12de0ecc7 user: drh tags: trunk)
13:22
Performance optimization in the memsys5 memory allocator. (check-in: 949133231f user: drh tags: trunk)
05:57
In TCL shell extension, wrap shell DB for use from TCL. (check-in: 41cc84336b user: larrybr tags: cli_extension)
2022-03-27
23:33
TCL extension made to use shell's line inputter with prompting and line editing/history. (check-in: fbf0eb0d12 user: larrybr tags: cli_extension)
03:08
In TCL shell extension, add TCL command "udb". This gets the TCL environment to near parity with pre-extended utility, except for query result display (TBD soon). (check-in: c9aa76bf88 user: larrybr tags: cli_extension)
2022-03-26
17:39
Merge the version 3.38.2 patches with the begin-concurrent-pnu-wal2 branch to create this new sub-branch. (check-in: 73a15377ef user: drh tags: begin-concurrent-wal2-3.38)
14:14
Merge the version 3.38.2 patches into the reuse-schema-3.38 sub-branch. (check-in: 07fc5c6eff user: drh tags: reuse-schema-3.38)
13:51
Version 3.38.2 (check-in: d33c709cc0 user: drh tags: release, branch-3.38, version-3.38.2)
2022-03-25
20:39
Sync w/trunk (check-in: 8402e5e78a user: larrybr tags: cli_extension)
19:16
The "PRAGMA writable_schema=ON" flag should not allow OOM errors to pass while parsing the schema. dbsqlfuzz 9cc49e1a53e1cef8e3a1496a88c683aa20483163. (check-in: 4977d8f453 user: drh tags: branch-3.38)
18:27
CLI preparation for shell's db to be used from TCL (check-in: 57501e7fbd user: larrybr tags: cli_extension)
17:43
Do not allow an #ifdef inside of an assert(), as gcc tells us that is not portable. (check-in: b193156c2a user: drh tags: branch-3.38)
06:46
Get shell TCL extension more smoothly integrated. (check-in: 29fd246fb2 user: larrybr tags: cli_extension)
01:37
Bump the version number to 3.38.2. (check-in: bb3ef206ab user: drh tags: branch-3.38)
01:31
Fix the Bloom-filter optimization so that it does not use IS NULL or IS NOT NULL constraints from the WHERE clause when operating on a LEFT JOIN. Forum thread 031e262a89b6a9d2. (check-in: 8246bfbc16 user: drh tags: branch-3.38)
01:23
Fix the Bloom-filter optimization so that it does not use IS NULL or IS NOT NULL constraints from the WHERE clause when operating on a LEFT JOIN. Forum thread 031e262a89b6a9d2. (check-in: 1a6328f2a5 user: drh tags: trunk)
2022-03-24
14:01
The "PRAGMA writable_schema=ON" flag should not allow OOM errors to pass while parsing the schema. dbsqlfuzz 9cc49e1a53e1cef8e3a1496a88c683aa20483163. (check-in: a7abb725c7 user: drh tags: trunk)
12:49
TCL shell extension delegates to dot commands (check-in: 353943108b user: larrybr tags: cli_extension)
2022-03-23
21:03
Scripting support roughed in, with a demo extension. More work is needed to make this truly useful. Tests are missing. (check-in: abf0316b3f user: larrybr tags: cli_extension)
10:04
Use trickery to code the UTF-8 BOM for the --bom option on .output, .once, and .excel in the CLI, to work around a warning in some Microsoft compilers. Fossil forum post bd0844268f0fab71. (check-in: 43143ad131 user: drh tags: trunk)
2022-03-22
23:47
Ensure that database corruption does not cause the cursor passed into sqlite3BtreeDelete() to be invalid. dbsqlfuzz 209bf3de9ee11ae440848ab9bc9c13858f9be2e4. (check-in: 780d00d4ec user: drh tags: branch-3.38)
23:33
Ensure that database corruption does not cause the cursor passed into sqlite3BtreeDelete() to be invalid. dbsqlfuzz 209bf3de9ee11ae440848ab9bc9c13858f9be2e4. (check-in: a85126f966 user: drh tags: trunk)
20:02
Harden the xShmLock method of both the unix and Windows VFSes so that they are robust against being invoked when the SHM file is not open. (check-in: 06d4c4d17c user: drh tags: branch-3.38)
19:41
Harden the xShmLock method of both the unix and Windows VFSes so that they are robust against being invoked when the SHM file is not open. (check-in: 67d8b434f6 user: drh tags: trunk)
11:22
Make the sqlite3_serialize() and sqlite3_deserialize() interfaces accessible to loadable extensions. (check-in: 81f8746bc6 user: drh tags: trunk)
03:03
expose sqlite3_{deserialize,serialize}() in sqlite3ext.h (Closed-Leaf check-in: da874180d3 user: larrybr tags: extapi-serializing)
02:53
Create new branch named "extapi-serializing" (check-in: a1220a2170 user: larrybr tags: extapi-serializing)
2022-03-21
20:08
Do not allow an #ifdef inside of an assert(), as gcc tells us that is not portable. (check-in: c7a2047e93 user: drh tags: trunk)
18:48
Some branches are no longer reachable after the previous change. Mark them accordingly. Also improve comments. (check-in: 88d69f60cc user: drh tags: trunk)
18:23
Strengthen the defenses against corrupt databases in the sqlite3BtreeInsert() function of the btree module. Forum post c7ec29905f. (check-in: 883fec9c3a user: drh tags: branch-3.38)
18:17
Strengthen the defenses against corrupt databases in the sqlite3BtreeInsert() function of the btree module. Forum post c7ec29905f. (check-in: 4df301c861 user: drh tags: trunk)
16:34
The previous assert() fix was not correct when building with -DSQLITE_ENABLE_OFFSET_SQL_FUNC. This is the fix. (check-in: b4210bc0ba user: drh tags: branch-3.38)
15:42
The previous assert() fix was not correct when building with -DSQLITE_ENABLE_OFFSET_SQL_FUNC. This is the fix. (check-in: c0a4767fef user: drh tags: trunk)
13:55
Fix the assert() that attempts to verify that the table-reference to index-reference translator finds all required translations. Forum post 929168fdd6. (check-in: ccd2a2a7e1 user: drh tags: branch-3.38)
13:47
Fix the assert() that attempts to verify that the table-reference to index-reference translator finds all required translations. Forum post 929168fdd6. (check-in: fa9bd1fce4 user: drh tags: trunk)
11:50
Fix an assert() in sqlite3TableAffinity() that might have been false if there was a prior syntax error in the query. (check-in: 940f1a400b user: drh tags: branch-3.38)
11:32
Fix an assert() in sqlite3TableAffinity() that might have been false if there was a prior syntax error in the query. (check-in: 23fdb169ca user: drh tags: trunk)
2022-03-19
15:19
In the CLI, disable the zipfile and sqlar extensions in --safe mode. (check-in: d8b65a2dab user: drh tags: trunk)
14:27
macro-ize extension boiler-plate, improve exit processing (check-in: 7996d3a359 user: larrybr tags: cli_extension)
12:53
Fix the zipfile extension so that it knows that a zero-length BLOB returns a NULL pointer. Forum post ae86934905. (check-in: b75c6bad3a user: drh tags: branch-3.38)
12:48
Fix the zipfile extension so that it knows that a zero-length BLOB returns a NULL pointer. Forum post ae86934905. (check-in: 5f6d56737c user: drh tags: trunk)
2022-03-18
16:00
Further migration to centralized error reporting (check-in: 898088008e user: larrybr tags: cli_extension)
2022-03-17
23:49
Change a conditional into an assert() due to the change in [387ab17b8a0a4b87]. (check-in: 13b584869f user: drh tags: trunk)
22:09
Add a 4th output code (value 3) from the sqlite3_vtab_distinct() interface that indicates that SQLite wants distinct results that are sorted. (check-in: 135d8b97b0 user: drh tags: trunk)
18:03
Updates a comment and an assert(). (Closed-Leaf check-in: 0c5be14aac user: drh tags: vtab-distinct-ordered)
11:37
Another fix for a corner-case in sqlite_offset() - this one having to do with computed virtual columns in a WITHOUT ROWID table. Also an assertion fault problem with sqlite_offset(). (check-in: 9e72cae2f1 user: drh tags: branch-3.38)
11:23
Another fix for a corner-case in sqlite_offset() - this one having to do with computed virtual columns in a WITHOUT ROWID table. (check-in: 84ddd19bce user: drh tags: trunk)
2022-03-16
19:28
Add extra test cases. (check-in: 0a922d1417 user: dan tags: vtab-distinct-ordered)
14:51
Update the sqlite3_vtab_distinct() documentation. (check-in: 88929d85e2 user: drh tags: vtab-distinct-ordered)
12:06
Experimental change to have sqlite3_vtab_distinct() return 3 to indicate that results should sorted and duplicates may be removed. (check-in: 11f4508895 user: dan tags: vtab-distinct-ordered)
2022-03-15
17:57
Make CLI complain about incomplete input at EOF. Fix for regression reported at https://sqlite.org/forum/forumpost/718f489a43be3197 (check-in: 72029cf7cd user: larrybr tags: trunk)
10:07
For CLI, begin centralizing argument checking/complaining. (check-in: 3457f87c5d user: larrybr tags: cli_extension)
2022-03-14
23:50
Calling sqlite3_value_dup() on a pointer value results in an ordinary NULL. Forum post ae8592cc73. Test cases in TH3. (check-in: fff1243b59 user: drh tags: trunk)
22:58
Fix an assert() statement in the covering index optimization for the corner case of dealing with an sqlite_offset() SQL function call. (check-in: 3950b7d006 user: drh tags: trunk)
20:39
Disable trigger coding while running sqlite3_declare_vtab(). dbsqlfuzz 97e1865771b4226f29e6e482411c1cae14133f50 (check-in: 5b8a0460a2 user: drh tags: branch-3.38)
20:31
Disable trigger coding while running sqlite3_declare_vtab(). dbsqlfuzz 97e1865771b4226f29e6e482411c1cae14133f50 (check-in: 387ab17b8a user: drh tags: trunk)
16:54
Foreign key constraint failures should return SQLITE_CONSTRAINT_FOREIGNKEY even if there is a RETURNING clause. See forum thread e6be6e82c86aa59b. (check-in: 3f9887d4a5 user: drh tags: trunk)
2022-03-12
15:30
Merge the version 3.38.1 patches into a sub-branch of reuse-schema. (check-in: 934276d15e user: drh tags: reuse-schema-3.38)
15:21
Merge the latest trunk changes into the reuse-schema branch. (check-in: f3fa81963e user: drh tags: reuse-schema)
15:11
Merge the latest trunk changes into the begin-concurrent-pnu-wal2 branch. (check-in: 0071d9da18 user: drh tags: begin-concurrent-pnu-wal2)
15:04
Merge the lates trunk enhancements into the wal2 branch. (check-in: bafaefc6ab user: drh tags: wal2)
14:54
Merge trunk enhancements, including 3.38.1 patches, into the begin-concurrent-report branch. (Leaf check-in: c4a61135d5 user: drh tags: begin-concurrent-report-3.28)
14:47
Merge the latest trunk enhancements, including the 3.38.1 patches plus additional performance enhancements, into the begin-concurrent branch. (check-in: aa8b5e9558 user: drh tags: begin-concurrent)
13:37
Version 3.38.1 (check-in: 38c210fdd2 user: drh tags: release, version-3.38.1, branch-3.38)
2022-03-11
22:59
CLI extension's registerMetaCommand done, and used by test_shellext.c (demo code) (check-in: 9be5e0b503 user: larrybr tags: cli_extension)
15:42
Add a comment linking a part of the UPDATE constraint checking code to one of the corresponding TH3 test cases. (check-in: 0606e8e93e user: drh tags: trunk)
15:16
Fix a harmless compiler warning. (check-in: 5d739aff96 user: drh tags: trunk)
14:20
Fix a harmless compiler warning and restore performance in the sqlite3BtreeIndexMoveto() last-page optimization. (check-in: 8b032293b3 user: drh tags: trunk)
12:40
Fix a case in fts5 where a corrupt database could cause a crash. (check-in: 1894577c8e user: drh tags: branch-3.38)
12:02
Fix a case in fts5 where a corrupt database could cause a crash. (check-in: 5e95df261c user: dan tags: trunk)
2022-03-10
23:37
Another corruption detection case in the sqlite3BtreeIndexMoveto() last page optimization. (check-in: 531e6ad038 user: drh tags: trunk)
22:54
In the sqlite3BtreeIndexMoveto() last-page optimization, make sure to return SQLITE_CORRUPT if corruption is detected. (check-in: 4ef19ba9b5 user: drh tags: trunk)
21:14
Stronger defenses against corrupt schemas in the ALTER TABLE logic. (check-in: 29744e69f4 user: drh tags: branch-3.38)
21:04
Stronger defenses against corrupt schemas in the ALTER TABLE logic. (check-in: 13fbde2817 user: drh tags: trunk)
19:53
Doc improvements re sqlite3_column_text*() endianness (no code change) (check-in: a37c20d40f user: larrybr tags: branch-3.38)
19:44
Amend sqlite3_column_*() doc table. (no code change) (check-in: 1f47309977 user: larrybr tags: trunk)
16:28
Prevent a NULL-pointer dereference when trying to parse a illegal schema entry that contains a window function while doing a RENAME COLUMN. Forum post ec2a2e0deb. (check-in: 2c39322825 user: drh tags: branch-3.38)
16:26
Prevent a NULL-pointer dereference when trying to parse a illegal schema entry that contains a window function while doing a RENAME COLUMN. Forum post ec2a2e0deb. (check-in: 58de3c2b1a user: drh tags: trunk)
16:01
Refactor Window.pFunc into Window.pWFunc to disambiguate from other uses of the variable or field named "pFunc". (check-in: d9475ebcde user: drh tags: trunk)
11:48
Only run atof1.test on x86_64 machines. (check-in: 4173819cd2 user: drh tags: trunk)
11:10
Improve formatting of changes doc for this branch (Leaf check-in: 2129cfb8c5 user: larrybr tags: shell-tweaks)
02:23
Mention that sqlite3_column_text16() returns have native endianness (check-in: 25b7f88fcb user: larrybr tags: trunk)
01:15
Check-in [642a0b4752743216] fixing sqlite_dbpage is not exactly correct. This patch should fix it. (check-in: b6c4c8a09a user: drh tags: branch-3.38)
01:10
Check-in [642a0b4752743216] fixing sqlite_dbpage is not exactly correct. This patch should fix it. (check-in: 6ba36714ca user: drh tags: trunk)
2022-03-09
22:16
Sync w/Trunk, finish doc/sh_tweak_changes.md (check-in: 5a1797c225 user: larrybr tags: shell-tweaks)
18:30
Further refinements to the sqlite_offset() fix from [6029514b08b88e3f]. (check-in: 98799d7bbb user: drh tags: branch-3.38)
18:29
Further refinements to the sqlite_offset() fix from [6029514b08b88e3f]. (check-in: 6f838305e2 user: drh tags: trunk)
14:29
Fix the sqlite_dbpage virtual table so that it starts a write transaction on all attached schemas. (check-in: e92c4fdb99 user: drh tags: branch-3.38)
14:22
Fix the sqlite_dbpage virtual table so that it starts a write transaction on all attached schemas. (check-in: 642a0b4752 user: drh tags: trunk)
13:22
Do not use va_arg() as an l-value, because AIX does not allow that, from what we are told. (check-in: 46d1a6de62 user: drh tags: trunk)
12:20
Improve the defenses against bad pathnames input into the findCreateFileMode() function of os_unix.c in order to quiet static-analyzer warnings. There are no demonstrated problems in the prior code, but this change makes the code easier to prove correct and more robust against future changes. (check-in: a9cda38997 user: drh tags: trunk)
2022-03-08
16:44
(WIP) Add DB-dispatch for dot commands upon shell extension load. (check-in: 19f2a747b8 user: larrybr tags: cli_extension)
16:12
Fix a potentially uninitialized local variable in the ".import" command of the CLI - introduced by [741651fd4b1b776b]. This same change is part of the nearby "Fix compiler warnings" check-in. (check-in: ce9e3d903c user: drh tags: branch-3.38)
15:49
Fix a minor typo in a comment. (check-in: cf61419f88 user: drh tags: trunk)
13:59
Fix compiler warnings. (check-in: 5e30c6ea70 user: drh tags: trunk)
03:10
Add a .md summarizing CLI changes on this branch and their motivation or purpose. (check-in: 5ddccc2f28 user: larrybr tags: shell-tweaks)
01:02
CLI regularization and code cleanup (check-in: 16af0e4560 user: larrybr tags: cli_extension)
2022-03-07
19:00
Sync with trunk (check-in: 1194093a58 user: larrybr tags: cli_extension)
18:42
Add multi-threaded test for the features on this branch. Fix a misuse of xShmLock(). (check-in: 1ec05168c9 user: dan tags: begin-concurrent-pnu-wal2)
18:38
Disable an assert in moveToRoot() when the database is corrupt. Forum post e9a176b7bd. (check-in: ab744a5da8 user: drh tags: branch-3.38)
18:32
Disable an assert in moveToRoot() when the database is corrupt. Forum post e9a176b7bd. (check-in: ae464a18d7 user: drh tags: trunk)
17:19
In the stay-on-last-page optimization for sqlite3BtreeIndexMoveto() (check-in [0057bbb508e7662b] about 16 hours ago), be sure to clear the BTCF_ValidOvfl flag, since the overflow cache is invalidated by the search on the last page. OSSFuzz issue 45329. (check-in: 0021bebc16 user: drh tags: trunk)
16:40
Do not allocate new Trigger objects in the parser following a syntax error, to avoid violating invariants associated with Expr nodes. See forum thread 2024e94071ef1531 for more information. (check-in: 369d240455 user: drh tags: branch-3.38)
16:22
Do not allocate new Trigger objects in the parser following a syntax error, to avoid violating invariants associated with Expr nodes. See forum thread 2024e94071ef1531 for more information. (check-in: 5e0ed49b3d user: drh tags: trunk)
14:59
Fix the code generated for vector IN operator constraints on virtual tables so that they work even if the "omit" field in the sqlite3_index_info object is off. This has apparently never worked correctly before. Presumably, nobody has ever before written a virtual table that can use vector IN operator constraints and that relies on bytecode to double-check the constraints. Test cases in TH3. Problem discovered by dbsqlfuzz cab8e26194a40147627094f3c6849c0a7b1e0310. (check-in: 4a2040d5c7 user: drh tags: branch-3.38)
14:51
Fix the code generated for vector IN operator constraints on virtual tables so that they work even if the "omit" field in the sqlite3_index_info object is off. This has apparently never worked correctly before. Presumably, nobody has ever before written a virtual table that can use vector IN operator constraints and that relies on bytecode to double-check the constraints. Test cases in TH3. Problem discovered by dbsqlfuzz cab8e26194a40147627094f3c6849c0a7b1e0310. (check-in: 21b656572d user: drh tags: trunk)
01:29
Optimizations to sqlite3BtreeIndexMoveto() avoid unnecessary comparisons if the cursor is already near the end of the table and is not moving far. This case is more common that you would expect. The optimization saves almost 4 million CPU cycles. (check-in: 0057bbb508 user: drh tags: trunk)
01:28
Fix the .import problem in the CLI reported by forum post 72a024c957. (check-in: d753285bcb user: drh tags: branch-3.38)
00:14
Disentangle variable use in last checkin (check-in: 4c3a02600f user: larrybr tags: trunk)
2022-03-06
23:41
For CLI .import, revert to importing into temp or main when given table is found there and no -schema option used. And plug an obscure leak. (check-in: bf9d127884 user: larrybr tags: trunk)
20:22
Fix obsolete but harmless comments in btree. No changes to code. (check-in: 4838b888e4 user: drh tags: trunk)
17:53
(WIP) Shell meta-command objectification done, ready for dbShell to be loaded and used for extension meta-commands (check-in: a88983ecb7 user: larrybr tags: cli_extension)
11:44
The sqlite_offset() function should be non-deterministic. dbsqlfuzz 3df8230bb940870db87ffca2c0fc759c1e7fa356. (check-in: 8083757606 user: drh tags: branch-3.38)
11:43
The sqlite_offset() function should be non-deterministic. dbsqlfuzz 3df8230bb940870db87ffca2c0fc759c1e7fa356. (check-in: e1a185e60a user: drh tags: trunk)
03:22
(WIP) shell extension load and ShellState internal/external partitioning in place, passing shell tests with trivial exceptions (check-in: a85679d3e9 user: larrybr tags: cli_extension)
00:01
Remove a NEVER() associated with sqlite_offset()> (check-in: bf2501e26c user: drh tags: branch-3.38)
2022-03-05
23:52
Remove a NEVER() associated with sqlite_offset()> (check-in: e29dffcdba user: drh tags: trunk)
20:20
Fix the 'localtime' modifier in date/time functions so that it preserves fractional seconds. Forum post 2ffbaa2c3fd7fb82. (check-in: 6833f4aeef user: drh tags: branch-3.38)
20:12
Fix the 'localtime' modifier in date/time functions so that it preserves fractional seconds. Forum post 2ffbaa2c3fd7fb82. (check-in: 1c875b0764 user: drh tags: trunk)
19:46
Increase the version number to 3.38.1. (check-in: cd87e77dd0 user: drh tags: branch-3.38)
19:39
Cherry-pick all bug fix changes since the 3.38.0 release. (check-in: 45a5d5acf7 user: drh tags: branch-3.38)
19:36
Further improvements to the sqlite_offset() function. (check-in: 4230e2f5e0 user: drh tags: trunk)
14:44
Fix the sqlite_offset() function so that it gives the correct answer even if the argument is a virtual column in an index-only query. Test cases in TH3. (check-in: 6029514b08 user: drh tags: trunk)
11:57
Update obsolete text in the ICU README.txt file talking about SQLite's robustness (or lack thereof) in the face of corrupt database files. (check-in: dc88fc62f0 user: drh tags: trunk)
2022-03-04
20:54
Do try to evaluate the Bloom filter on a LEFT JOIN early, as doing so essentially converts it into an INNER JOIN. See forum thread 544af7eee2. (check-in: d46d0e67c9 user: drh tags: trunk)
16:28
When setting an sqlite3_value object to a pointer value, make sure any prior memory allocations associated with that object have been cleared first. dbsqlfuzz 33f842d1a09afaad5f078c3e1162a54b78e5f2ab. (check-in: 31e1bde4b2 user: drh tags: trunk)
2022-03-03
19:40
Restore the ability to push-down OR subterms of the WHERE clause when processing a multi-index OR. (check-in: d71fb6fdc3 user: drh tags: trunk)
16:48
Make sure the xParseCell and xCellSize methods of the MemPage object are initialized consistently even if the page is detected as being corrupt. dbsqlfuzz fd21f341f3b4f582401d2feb2a1c0c4cc2c26caa. (check-in: 725a06434b user: drh tags: trunk)
15:59
Fix for the problem identified in forum post 0cd8e058bf: When evaluating an multi-index OR, do not push down auxiliary WHERE clause terms that involve subqueries into the OR-subqueries. Otherwise, the covering-index optimizer might convert table-references into index-references for the particular OR index that is active for the branch in which the subquery subroutine is coded, and those index-references will not work if the subquery subroutine is invoked from a different OR branch that uses a different index. (check-in: 61a1c6dbd0 user: drh tags: trunk)
15:00
Add the new OP_BeginSubrtn opcode (which is really an alias for OP_Integer) and make other changes so that the span of a subroutine that implements a subquery is more readily apparent in bytecode listings. (check-in: b822674870 user: drh tags: trunk)
2022-03-02
21:04
Bloom filter pull-down optimization is incompatible with Skip-Scan. Make sure the query planner does not try to to both. Forum post 50a1bbe08ce4c29c. (check-in: ad3ffa1a75 user: drh tags: trunk)
17:50
Faster version of sqlite3VdbeMemRelease(). (check-in: 86c5fa2f30 user: drh tags: trunk)
13:45
Reinstate the releaseMemArray() performance optimization of [bb520293d8c11518] with corrections. (check-in: 1291080d11 user: drh tags: trunk)
11:39
The optimization at [ece326db50201937] is not quite right, so back it out for now. (check-in: b218a4b9fe user: drh tags: trunk)
01:02
Fix a harmless compiler warning. (check-in: 6497997aa8 user: drh tags: trunk)
00:50
The performance optimizations at [bb520293d8c11518] is not quite right, so it has to be backed out. (check-in: 15f73b121c user: drh tags: trunk)
2022-03-01
20:15
The MemPage.aDataEnd field should point to the end of the data buffer for the page, not just the end of the usable portion of that buffer. The purpose aDataEnd is to detect cells that overflow the page, and that won't work on a page with reserved bytes and a cell that starts in the reserved region, unless the boundary is at the very end of the page. Chromium issue 1276294. (check-in: f839c0bc83 user: drh tags: trunk)
19:19
Fix a minor typo in a comment. (check-in: 86ba06aa4c user: drh tags: trunk)
16:22
Fix two assert() statements in btree.c which were not true in the case of a corrupt database file. Forum post 14819f2063. (check-in: 3b36ed79d8 user: drh tags: trunk)
15:48
Fix slightly-incorrect assert() statements. Forum post f1e83b77b5ff37db (check-in: 3c9f5c9def user: drh tags: trunk)
14:13
Increase the max_page_count on ROLLBACK, if necessary, so that it is sufficient to cover the entire database. Fix for the problem identified by forum post 3b9e894312. (check-in: 12c012162c user: drh tags: trunk)
2022-02-28
16:44
Fix the Xfer-optimization on the INSERT statement so that it is omitted if there is a RETURNING clause, since that optimization is not able to deal with RETURNING. See forum thread 595e132f71 for details. (check-in: 1d3760a517 user: drh tags: trunk)
14:26
Reorganize the bits in Mem.flags. Free up one bit for reuse. (check-in: fe454291d9 user: drh tags: trunk)
13:38
Expand the comment on the definition of the Mem object to better explain the meanings of the various flag bits. (check-in: f2f0426035 user: drh tags: trunk)
12:16
Performance optimization in initMemArray() saves about 750K cycles with only a 4-byte increase in code size. (check-in: c3e9cd5e74 user: drh tags: trunk)
12:08
The performance increase in the previous check-in of this branch was due to the revised loop in initMemArray() and reordering fields of Mem - not the call the memcpy(). Changing the code to avoid memcpy() results in an even better gain, and code that is far less dodgy. (Closed-Leaf check-in: d74aa97953 user: drh tags: optimize-init-mem)
03:25
An optimization to initMemArray() saves almost 500K cycles. But it seems a little dodgy. I want to think about this more before merging to trunk. Perhaps there is a cleaner way to accomplish the same. (check-in: 7fefd86761 user: drh tags: optimize-init-mem)
02:35
Avoid unnecessary deinitialization of the Mem.flags field. (check-in: bb520293d8 user: drh tags: trunk)
2022-02-27
21:10
Cache values of UnpackedRecord.aMem[0] into new fields of UnpackedRecord. This avoids extra indirections and saves about 750K cycles. (check-in: 7cf2d1f039 user: drh tags: trunk)
18:54
Bypass a single branch in vdbeRecordCompareString() in the common case, for a performance increase of over 600K CPU cycles. (check-in: 36f0f07e50 user: drh tags: trunk)
2022-02-26
23:01
Remove an unnecessary local variable for a small performance increase and size reduction. (check-in: 9bda611f0d user: drh tags: trunk)
14:39
Allow the OP_Column opcode to read rows that are larger than SQLITE_LIMIT_LENGTH as long as the specific field being read out is less than or equal to SQLITE_LIMIT_LENGTH. (check-in: 1bf4848995 user: drh tags: trunk)
2022-02-25
20:11
Revise the initialization processing for OP_Column to make it about 1.8 million cycles faster. (check-in: 3b7259ebd5 user: drh tags: trunk)
18:51
Fix the OP_NullRow documentation so that it accurately describes what it actually does for a pseudo-cursor. (check-in: 4e26990209 user: drh tags: trunk)
18:15
Dead branch: Superseded by [3b7259ebd5b9b1f7] (Closed-Leaf check-in: 09a47f32a4 user: drh tags: simplify-cursor-state)
16:21
Do not do a deferred seek on a cursor that is marked nullRow. (check-in: 1c026bcb3c user: drh tags: simplify-cursor-state)
15:44
This branch proposes to consolidate various state fields of VdbeCursor (specifically, nullRow, deferredMoveto, and cacheStatus) into a single eCurState field. This first check-in adds the new eCurState field while retaining and continuing to use the legacy state fields. (check-in: 7953716c12 user: drh tags: simplify-cursor-state)
13:29
Improved comment on the codeDeferredSeek() routine. No code changes. (check-in: 54f49f65ac user: drh tags: trunk)
11:30
Fix unimportant typos in comment text. (check-in: 3934601329 user: drh tags: trunk)
01:23
Invoking SQLITE_TESTCTRL_INTERNAL_FUNCTIONS causes the flags field of the PRAGMA function_list to show all bits, including internal-use-only bits, rather than just the bits that are part of the API. (check-in: ad1be34828 user: drh tags: trunk)
01:10
Remove unused P4 types on the Opcode object. Saves a few bytes of code space and simplifies the code. (check-in: aca5384359 user: drh tags: trunk)
00:09
Merge shell-tweaks enhancements (with 3.38) (check-in: 4c7d94d3f3 user: larrybr tags: cli_extension)
2022-02-24
14:44
Change the OP_Next and OP_Prev opcodes so that they invoke sqlite3BtreeNext() and sqlite3BtreePrevious() directly rather than through a function pointer, for improved performance and a decrease in code size. (check-in: 9d13cbbef3 user: drh tags: trunk)
11:09
Spell fix, no code change (check-in: f2597fae3c user: larrybr tags: trunk)
04:29
Regularize CLI .mode processing (check-in: 6d0557244f user: larrybr tags: cli_extension)
01:41
Fix an assert() so that it is still valid following OOM with the latest enhancements. (check-in: ecf832f71f user: drh tags: trunk)
01:08
Update the version number of version 3.39.0 for the next development cycle. (check-in: 9542e9bebb user: drh tags: trunk)
2022-02-23
22:56
Add a new subclass for MemPage.xCellSize specifically for the case of a leaf page in a B+Tree, that is optimized for that cases. This gains a half million cycles or more at the cost of less than 200 bytes of code space. (check-in: 7ad829224a user: drh tags: trunk)
18:23
Optimize calls to get2byte() in btree.c for almost a one-million cycle performance gain and a few bytes less code. (check-in: 41061f2996 user: drh tags: trunk)
17:16
Defer the check for error check Pgno zero until after the page fetch misses, to gain a few CPU cycles and a small size reduction. (check-in: ece326db50 user: drh tags: trunk)
17:00
Store the page number for the PENDING_BYTE page in the Pager object, rather than computing the page number every time it is needed, because it turns out that number is needed quite frequently. This saves a few hundred thousand CPU cycles and a few bytes of code space. (check-in: 5aa9c3eb45 user: drh tags: trunk)
10:10
Sync with 3.38 (check-in: b9b27d74b9 user: larrybr tags: cli_extension)
2022-02-22
22:28
Sync w/3.38, add .parameter ls to CLI (check-in: 8c9a5fb26b user: larrybr tags: shell-tweaks)
20:38
Don't reload the schema on PRAGMA database_list. (check-in: 630fe446da user: drh tags: reuse-schema)
20:29
For the "PRAGMA database_list" statement, do not check to see if the schema is up-to-date and do not try to reload the schema. (check-in: 710de6a213 user: drh tags: trunk)
20:04
Merge version 3.38.0 into the reuse-schema branch. (check-in: 8fe85dcdb1 user: drh tags: reuse-schema)
19:56
Merge version 3.38.0 into the begin-concurrent-pnu-wal2 branch. (check-in: 8387e4f3af user: drh tags: begin-concurrent-pnu-wal2)
19:46
Merge version 3.38.0 into the wal2 branch. (check-in: de24c8ee41 user: drh tags: wal2)
19:37
Merge version 3.38.0 into the begin-concurrent-report branch. (check-in: 0bbf7be25d user: drh tags: begin-concurrent-report)
19:30
Merge version 3.38.0 into the begin-concurrent branch. (check-in: c5998c43c1 user: drh tags: begin-concurrent)
18:58
Version 3.38.0 (check-in: 40fa792d35 user: drh tags: trunk, release, major-release, version-3.38.0)
15:47
Fix an undersized memory allocation in the test harness for RTREE. This error was in test logic only, not in the SQLite library itself. forum post 35470a0a72a005e1 (check-in: 7e3c959439 user: drh tags: trunk)
2022-02-21
16:49
Merge the latest trunk changes into the reuse-schema branch. (check-in: b3c26f4a34 user: drh tags: reuse-schema)
14:30
Fix compiler warnings for older compilers (ex: gcc 4.0.1 powerpc-apple-darwin). (check-in: 5c188243d7 user: drh tags: trunk)
13:44
Remove stray tab characters from auxiliary source code files. (check-in: e25e33582b user: drh tags: trunk)
13:02
Add SQLITE_OMIT_JSON to the compile-time option test sequence. (check-in: f36325a6e2 user: drh tags: trunk)
00:23
Do not allow error messages from sqlite3NestedParse() to leak up into the main parse. (check-in: 9c4e21abdc user: drh tags: trunk)
2022-02-19
21:25
Improve .backup and .save help text (check-in: 741651fd4b user: larrybr tags: trunk)
15:57
Add a NEVER() to a branch that is unreachable for STAT4. (check-in: e4e97505af user: drh tags: trunk)
2022-02-17
17:24
Enhance the documentation on sqlite3_stmt_readonly() to explain that EXPLAIN and EXPLAIN QUERY PLAN do not affect the return value. Add test cases to verify this. Add new test cases and requirements marks for complete requirements test coverage on this interface. (check-in: a6fbb7ba05 user: drh tags: trunk)
14:33
Remove references to the now-defunct SQLITE_ENABLE_JSON1 compile-time option. (check-in: db950192c9 user: drh tags: trunk)
14:29
Fix a testing error on Windows that was recently added to shell5.test. (check-in: 6cace54320 user: drh tags: trunk)
2022-02-16
15:11
Make the sqlite3_error_offset() interface accessible from TCL using the new "erroroffset" method on the sqlite3 object. (check-in: 3454a1222b user: drh tags: trunk)
2022-02-15
20:56
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: b9ba43fcb3 user: drh tags: reuse-schema)
20:47
Merge the latest trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: 1336d2f23f user: drh tags: begin-concurrent-pnu-wal2)
20:37
Merge recent trunk enhancements into the wal2 branch. (check-in: 7dba818893 user: drh tags: wal2)
20:24
Merge recent trunk enhancements into the begin-concurrent-report branch. (check-in: 213df7a063 user: drh tags: begin-concurrent-report)
20:18
Merge the latest trunk changes into the begin-concurrent branch. (check-in: 94838f16ba user: drh tags: begin-concurrent)
17:04
Sync with trunk (check-in: 2b4a295c58 user: larrybr tags: shell-tweaks)
13:23
Improved rendering of floating point numbers without a fractional part in ".dump" output from the CLI. Forum post 550d877659f37cb2. (check-in: 9edaeed56f user: drh tags: trunk)
11:46
New assert() statements to help prove correctness of memjournal.c. (check-in: d74ec88c2f user: drh tags: trunk)
2022-02-14
21:11
Generalize the in-memory journal so that it is able to accept writes that begin at any offset less than or equal to the current file size. (check-in: c039d5476e user: drh tags: trunk)
18:55
CLI .import can auto-rename non-unique column names when it creates a new table (check-in: 4b5d07ea7e user: larrybr tags: trunk)
18:18
Minor correction to the early corruption detection added by [a6fda39e81d0da98|check-in a6fda39e81d0da98] so that it works even if the page being cleared in page 1 of the database. (check-in: a5ec16907e user: drh tags: trunk)
13:53
Fix a bad assert() (it needs an "||CORRUPT_DB" term) in b-tree, discovered by dbsqlfuzz. (check-in: f5f263cc62 user: drh tags: trunk)
01:12
CLI's .import column rename made more minimal, and reports renames. (Leaf check-in: c626cff7f9 user: larrybr tags: auto-column)
2022-02-13
22:18
Sync w/trunk, fix zAutoColumns placement blunder, all to pass all TCL tests (check-in: 67dc59f46d user: larrybr tags: auto-column)
2022-02-12
18:56
Do not run merge1.test with SQLITE_OMIT_VIRTUALTABLE builds. (check-in: bf8dbfd499 user: dan tags: trunk)
16:02
Fix a possible user-after-free in ALTER TABLE found by asan. (check-in: 9252619d41 user: dan tags: trunk)
13:45
Update fuzz.test to account for a change in error message made in the core. (check-in: c57601b51f user: dan tags: trunk)
13:37
Avoid dropping SQLITE_TOOBIG errors in the quote() function. (check-in: 115c3051a1 user: dan tags: trunk)
13:12
For .import auto-column, aid build-time override of rename decoration. (check-in: 433e5ead2b user: larrybr tags: auto-column)
10:48
Fix auto-column bug noted by post https://sqlite.org/forum/forumpost/d102c15d63 (check-in: 689137e1b5 user: larrybr tags: auto-column)
02:15
Sync w/trunk, allow build-time override of auto-column decorating character (check-in: caaef4c592 user: larrybr tags: auto-column)
2022-02-11
21:20
Fix a test in without_rowid1.test so that it is disabled without ALTER TABLE support, as it uses ALTER TABLE. (check-in: ca22a64e6f user: drh tags: trunk)
19:41
Update some OOM tests of the ALTER TABLE command to account for an error message which may be returned if opening the temp db fails. (check-in: 3409fd4150 user: dan tags: trunk)
17:47
Load recent dbsqlfuzz finds into test/fuzzdata8.db. (check-in: b275ad250d user: drh tags: trunk)
17:47
Reference the wayback machine for the dead hyperlink to the MS support page in the comments about why the extra typedef for va_arg(). No code changes. (check-in: ab1a9b5b78 user: drh tags: trunk)
17:33
Fix an assert() in the pager by adding "|| CORRUPT_DB", in as much as the assert() is not necessarily true if the database size in the header is wrong. dbsqlfuzz f2f996065b90988aa9b0ae425b66dbb296546a08. (check-in: a51402e8c2 user: drh tags: trunk)
16:10
Fix a problem in [c006515ae6faff65] causing an assert() to fail with some build configurations. (check-in: d7ff262d6d user: dan tags: trunk)
14:08
Use the enhanced SQLITE_TESTCTRL_LOCALTIME_FAULT (2) capability to do better testing of the 'localtime' and 'utc' modifiers to date/time functions. (check-in: f38071946a user: drh tags: trunk)
13:40
Upon .import column renaming, issue message saying so. Test this. (check-in: 8b6ca9304b user: larrybr tags: auto-column)
12:06
Fix the bind2.test test script so that it works even if SQLITE_ENABLE_PREUPDATE_HOOK is not defined. Fix for test-case breakage from check-in [c006515ae6faff65]. (check-in: 937d3a45b3 user: drh tags: trunk)
11:37
Work around the MSVC bug that prevents the use of function pointer types in the second argument of va_arg() by adding a typedef. (check-in: eae3ab0a05 user: drh tags: trunk)
01:21
CLI auto-column rename revamped after forum discussion. (check-in: 2da1f8e45e user: larrybr tags: auto-column)
2022-02-10
23:12
Fix SQLITE_TESTCTRL_LOCALTIME_FAULT so that it works even if mutexes are enabled. (check-in: 64537a0669 user: drh tags: trunk)
21:26
Enhance SQLITE_TESTCTRL_LOCALTIME_FAULT so that is able to install an alternative localtime() interface so that the localtime logic an be better tested. (check-in: 6e25cb0890 user: drh tags: trunk)
15:40
Performance improve to the 'localtime' and 'utc' modifiers for date/time functions. (check-in: 85cb601475 user: drh tags: trunk)
12:57
Faster implementation of the date(), time(), and datetime() functions. (check-in: fa1b393bdb user: drh tags: trunk)
12:31
Fix the test harness so that it builds without SQLITE_ENABLE_PREUPDATE_HOOK. Has been broken since [c006515ae6faff65]. (check-in: 4565f71129 user: drh tags: trunk)
03:21
A CLI feature. auto .import (new table) columns. WIP (check-in: 7e3be36dfc user: larrybr tags: auto-column)
02:09
Create new branch named "auto-column" (check-in: 066febe893 user: larrybr tags: auto-column)
01:01
Fix a typo in documentation. No code changes. (check-in: e97c6ad4c9 user: drh tags: trunk)
2022-02-09
18:47
When process first moves a database into WAL mode and then tries to run sqlite3_wal_checkpoint() without first performing a transaction, first try to run a synthesized transaction to get the Pager caught up before attemptingn the checkpoint. forum post fd0f19d229156939. (check-in: eee6de1967 user: drh tags: trunk)
18:42
Fix a problem with using sqlite3_bind_value() with sqlite3_value objects obtained from sqlite3_preupdate_new() when an integer value is written to a column with real affinity. (check-in: c006515ae6 user: dan tags: trunk)
16:18
Prototype implementation of IF EXISTS and IF NOT EXISTS clauses on the various forms of ALTER TALE. (Leaf check-in: 460abf93ac user: drh tags: alter-table-if-exists)
2022-02-08
15:14
Writes to the subjournal should be all-or-nothing. Fix for dbsqlfuzz fe3c397fb90029313446c4e0f4a6cd0c81dd9621. (check-in: 22cc55e84f user: drh tags: trunk)
13:41
Provide sqlite3_error_offset() data for some new errors. (check-in: 1269206db8 user: drh tags: trunk)
12:24
comment-only change to sqlite3.h (check-in: f815cf4a5f user: larrybr tags: trunk)
12:13
Do not show the error code number of CLI error messages unless the error is something other than 1 (SQLITE_ERROR). (check-in: b471601892 user: drh tags: trunk)
11:52
Improved error message formatting in the shell. Distinguish between "Parse errors" and "Runtime errors". (check-in: ae3e322a02 user: drh tags: trunk)
2022-02-07
18:52
Disable the sqlite3_error_offset() when the error occurs in a trigger or view or some other bit of text that is not part of the original statement. (check-in: 0e909e34fa user: drh tags: trunk)
01:09
When create table/view fails due to name taken, say which took it. (check-in: 9a206e37fb user: larrybr tags: trunk)
2022-02-06
23:54
Fix unreachable branches in the sqlite3_error_offset() logic. (check-in: 031381aea3 user: drh tags: trunk)
22:13
The sqlite3_vtab_in() interface should return false for a vector IN constraint. (check-in: 245d0241c7 user: drh tags: trunk)
21:13
With the new ALTER TABLE under PRAGMA writable_schema=ON processing, do not ignore non-parser errors such as OOMs. (check-in: 36653ccef6 user: drh tags: trunk)
14:30
CLI extended parsing, new .parameter subcommands, and .x features fairly well tested (check-in: 9c664984fd user: larrybr tags: shell-tweaks)
11:51
Faster computation of Expr.nHeight. (check-in: a7a5af327b user: drh tags: trunk)
11:26
Record the error offset on INTEGER tokens. (check-in: 38e057a580 user: drh tags: trunk)
00:30
Further improvements to localization of errors in input SQL. (check-in: fa34676042 user: drh tags: trunk)
00:07
Sync with trunk. More shell9.test tests to come. (check-in: 2e72dc4621 user: larrybr tags: shell-tweaks)
2022-02-05
23:45
CLI cleanup, mode push/pop, parameter list beautification (check-in: 53d4582a0e user: larrybr tags: shell-tweaks)
23:11
Enhance sqlite3_error_offset() to report the position of unresolved identifiers. (check-in: 5b8d257790 user: drh tags: trunk)
21:49
Record the position of many identifiers in the parse using the new Expr.w.iOfst field. This is done with the idea of providing offset results for sqlite3_error_offset() for a more kinds of errors, though that part is not yet implemented. (check-in: 32a3a53b62 user: drh tags: trunk)
15:26
Fix CLI Windows build, refine its help, re-org ShellState (check-in: 991a06a480 user: larrybr tags: shell-tweaks)
13:27
Update stale evidence marks on sqlite3_vtab_rhs_value() test cases. (check-in: 46744b83d5 user: drh tags: trunk)
12:39
When PRAGMA writable_schema=ON, allow ALTER TABLE to proceed even if there are entries in the sqlite_schema table that do not parse. (check-in: fc4c82e569 user: drh tags: trunk)
12:05
Fix a NULL pointer dereference that can occur after OOM. Problem introduced by check-in [197cbabf1767d060]. (Closed-Leaf check-in: d4e6b9f0f7 user: drh tags: relaxed-alter-table)
11:13
Fix documentation typo. (check-in: 1a7d8bb5ea user: drh tags: trunk)
01:01
Typo fixes in documentation. (check-in: 1ec747d1c3 user: drh tags: trunk)
2022-02-04
21:49
CLI .param save/load done; many other small refinements (check-in: 6d415ac2c1 user: larrybr tags: shell-tweaks)
20:16
Test case for permissive ALTER TABLE RENAME when writable_schema=ON. (check-in: 7ee44f66c8 user: drh tags: relaxed-alter-table)
20:07
One more case of disabling errors for ALTER TABLE RENAME when writable_schema=ON. (check-in: c52d0dd8f4 user: drh tags: relaxed-alter-table)
19:13
Add a compile-time option to include vt02.c in fuzzcheck. (check-in: c404c8c726 user: drh tags: trunk)
18:12
Merge trunk enhancements into the reuse-schema branch. (check-in: 5744e1020b user: drh tags: reuse-schema)
18:02
Merge recent trunk changes into the begin-concurrent-pnu-wal2 branch. (check-in: cb045aba7c user: drh tags: begin-concurrent-pnu-wal2)
17:52
Merge trunk enhancements into the wal2 branch. (check-in: d2de02f372 user: drh tags: wal2)
17:51
Merge all recent trunk enhancements into the begin-concurrent-report branch. (check-in: 1c88bcfff5 user: drh tags: begin-concurrent-report)
17:40
Merge trunk enhancements into the begin-concurrent branch. (check-in: 85054a8691 user: drh tags: begin-concurrent)
16:43
Allow ALTER TABLE RENAME COLUMN to proceed even if there are errors in the schema, as long as PRAGMA writable_schema=ON is active. (check-in: 197cbabf17 user: drh tags: relaxed-alter-table)
13:15
Fix various harmless compiler warnings. (check-in: 70049342d5 user: drh tags: trunk)
13:05
For the MULTI-INDEX-OR optimization, when pushing down WHERE clause terms from the main query into the various OR-term subqueries, do not push down slices of a vector comparison, since the right-hand operand of the comparison might have only been initialized in a different OR branch that was not taken. dbsqlfuzz 80a9fade844b4fb43564efc972bcb2c68270f5d1. (check-in: 9f67ad00cd user: drh tags: trunk)
09:39
Fix .param edit unable to edit script vars (bad assert) (check-in: 62d212d0da user: larrybr tags: shell-tweaks)
2022-02-03
21:07
Sync to trunk. Shell tests pass. (check-in: 79275b81dc user: larrybr tags: shell-tweaks)
20:57
Scripting and .parameter enhancements most in; all in working (check-in: a1581118b0 user: larrybr tags: shell-tweaks)
18:14
Minor typo fix in comment. No code changes. (check-in: f9b763042c user: drh tags: trunk)
14:37
Do not allow the vdbe-compress.tcl script to generate structures named "do" or "if". (check-in: e35ab16dd0 user: drh tags: trunk)
14:19
Prohibit schema changes within xBestIndex callbacks. (check-in: bb0f056b3f user: drh tags: trunk)
2022-02-02
21:06
Improvement to the sqlite3_vtab_in_first() documentation. (check-in: 403e7ac900 user: drh tags: trunk)
19:51
Add the sqlite3_vtab_in() interface that allows virtual tables to process IN constraints all at once, rather than one value at a time. (check-in: 52559af093 user: drh tags: trunk)
19:30
Additional test cases. (Closed-Leaf check-in: 733d81c3a6 user: drh tags: batch-in-operator)
19:15
Test cases for sqlite3_vtab_in() and sqlite3_vtab_distinct(). (check-in: 21afb81d0a user: drh tags: batch-in-operator)
18:47
Improved documentation for sqlite3_vtab_in(). No code changes. (check-in: c99df4ab5d user: drh tags: batch-in-operator)
16:24
Relax the restriction that the RHS of the IN operator must be a list in order for sqlite3_vtab_in() to work. Change an unreachable branch into an assert(). (check-in: 3bf2153440 user: drh tags: batch-in-operator)
15:10
Be sure that sqlite3_vtab_in_first() and _next() set the correct encoding. (check-in: 04edf36ee8 user: drh tags: batch-in-operator)
14:36
Refactor sqlite3_vtab_in() to make use of the existing sqlite3_value_pointer() mechanism for passing the list of IN operator RHS values into xFilter, for improved memory safety. (check-in: 8965929be2 user: drh tags: batch-in-operator)
11:37
Fix a harmless code indentation issue. (check-in: 41d8d26e48 user: drh tags: trunk)
2022-02-01
21:59
Tweaks to the sqlite3_vtab_in() interface. (check-in: 75040183b8 user: drh tags: batch-in-operator)
16:30
Index in 2nd argument to sqlite3_vtab_in() should be on the aConstraint[] array, not the internal array of all constraints. (check-in: 5acf90a931 user: drh tags: batch-in-operator)
15:08
Take CLI's wordwrap from trunk (check-in: 768c70a926 user: larrybr tags: shell-tweaks)
14:58
Add new interfaces to enable virtual table to process IN operator constraints all at once, rather than one element at a time. (check-in: eb84b80e1f user: drh tags: batch-in-operator)
13:17
CLI: Take extra care to not split a multi-byte unicode character when doing wordwrap. (check-in: 00b1b7020a user: drh tags: trunk)
12:28
CLI: Add the --ww option as an alias for --wordwrap. Improve the wordwrap algorithm so that it breaks at punctuation if it cannot find space. Always wordwrap with --ww even if there is a .width setting for the column. (check-in: 1b528e31f8 user: drh tags: trunk)
02:50
Add "--wordwrap on/off" option for CLI columnar modes, qwbox shortcut (check-in: 10dbc27870 user: larrybr tags: trunk)
00:00
CLI: In ".mode column" output, if any row contains a newline or wraps, then put a single blank line in between each pair of rows to provide additional visual separately. (check-in: fd42f4c304 user: drh tags: trunk)
2022-01-31
22:14
CLI: for columnar output modes, make sure the header is not too big. Also, improve the help text. (check-in: 070fae3a09 user: drh tags: trunk)
20:39
CLI: Fix a problem with tabs in the new qbox mode. (check-in: ca96ab3ef7 user: drh tags: trunk)
19:52
Sync to trunk (check-in: f51a17b627 user: larrybr tags: shell-tweaks)
19:23
Cleanup dot-command handling, make multi-line work, honor exit requests from more contexts (check-in: 5cf66e8907 user: larrybr tags: shell-tweaks)
16:29
Fix harmless compiler warnings in MSVC. (check-in: 3ec6141c41 user: drh tags: trunk)
15:59
Do not attempt to limit the number of columns used in a table to a prefix if the table will be used to construct an automatic index or bloom filter. dbsqlfuzz 787d9bd73164c6f0c85469e2e48b2aff19af6938. (check-in: f8766231d2 user: drh tags: trunk)
14:14
CLI: Enhancements to columnar output modes. (See [forum/forumpost/5b53cd851f66441f9|forum post 5b53cd851] for discussion.) New output mode "qbox". New output options "--quote" and "--wrap N". (check-in: 539cef5214 user: drh tags: trunk)
12:29
Fix an obscure problem in sqlite3_backup_init() caused by [6a45d8fe8bfbc11a|check-in 6a45d8fe8bfbc11a]. See forum post 8b39fbf3e7 for the original bug report. (check-in: 639fc7633b user: drh tags: trunk)
10:55
CLI: Fix the new ".mode box" output so that it works with unicode characters. (check-in: 454af48724 user: drh tags: trunk)
2022-01-30
21:09
CLI: For columnar modes ("box", "column", "table", "markdown") the ".width" is now both the minimum and maximum width of the column. Text that spans multiple lines or that contains tabs is properly formatted. If any part of the output contains multi-line text, then extra separators are provided between each row. (check-in: c10ed4a7fe user: drh tags: trunk)
11:44
Always enable all JSON tests, now that JSON is included by default. (check-in: 8c9f350182 user: drh tags: trunk)
11:42
Remove a faulty NEVER(). Fix for dbsqlfuzz 4678cf825d27f87c9b8343720121e12cf944b71a (check-in: d4e402458d user: drh tags: trunk)
01:35
Sync with trunk (check-in: 59693d3e73 user: larrybr tags: shell-tweaks)
01:21
Enhance shell parser for multi-line dot-commands (check-in: 5ed528e27b user: larrybr tags: shell-tweaks)
2022-01-29
21:41
Documentation enhancements. No code changes. (check-in: 312642d982 user: drh tags: trunk)
2022-01-28
23:44
Add the SQLITE_INDEX_CONSTRAINT_LIMIT and SQLITE_INDEX_CONSTRAINT_OFFSET constraints to the sqlite3_index_info for the xBestIndex method of virtual tables. (check-in: 1e227ad9f4 user: drh tags: trunk)
23:19
Add a NEVER() on an unreachable branch. (Closed-Leaf check-in: 388926254b user: drh tags: vtab-limit-offset)
21:39
When nesting Parse objects, make sure the new one has nErr set if there has been an OOM error. (check-in: ae088cbc96 user: drh tags: trunk)
19:53
Include hidden columns of table valued functions that are constrained by the function arguments in the colUsed bitmask. (check-in: 8f8cab0d0e user: drh tags: vtab-limit-offset)
18:43
Remove a NEVER() that has become reachable now that we have the sqlite3_vtab_rhs_value() interface. (check-in: c4c30df7cd user: drh tags: vtab-limit-offset)
13:18
Enable SQLITE_INDEX_CONSTRAINT_LIMIT/OFFSET even if there are vector comparison operators in the WHERE clause. Also: Do not enable sqlite3_vtab_rhs_value() for LIMIT/OFFSET if the value is negative, as this violates an invariant on Expr.u.iValue. (check-in: 140480b3ec user: drh tags: vtab-limit-offset)
2022-01-27
21:18
Query planner always honors the aConstraintUsage[].omit flag for the SQLITE_INDEX_CONSTRAINT_OFFSET constraint. (check-in: 38c5151eb8 user: drh tags: vtab-limit-offset)
18:45
Make LIMIT and OFFSET values available to sqlite3_vtab_rhs_value(). (check-in: b2d37c086c user: drh tags: vtab-limit-offset)
16:14
Give the virtual table xBestIndex method access to (some) OFFSET and LIMIT clauses. (check-in: 74fa5757ee user: drh tags: vtab-limit-offset)
13:52
Enforce the restriction that 'unixepoch' only works as the first modifier after the time-value. This has been documented since 2004, but has never actually been enforced before. Also add new test cases for date/time functions with evidence marks. (check-in: 64fa9e8c87 user: drh tags: trunk)
2022-01-25
16:28
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 6e4154d414 user: drh tags: reuse-schema)
16:05
Merge the latest trunk changes into begin-concurrent-pnu-wal2 (check-in: 3d949775e3 user: drh tags: begin-concurrent-pnu-wal2)
15:57
Merge the latest trunk changes into the wal2 branch. (check-in: 84f737abd1 user: drh tags: wal2)
15:48
Merge the latest trunk enhancements into the begin-concurrent-report branch. (check-in: 42e6d842ab user: drh tags: begin-concurrent-report)
15:20
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: dae81f45d2 user: drh tags: begin-concurrent)
00:03
Minor adjustment to error handling in sqlite3FinishCoding(). (check-in: a8db69411b user: drh tags: trunk)
2022-01-24
21:47
Remove an unnecessary assert() that is sometimes not true following an OOM. (check-in: e9361d72f3 user: drh tags: trunk)
20:20
New dbsqlfuzz cases added to test/fuzzdata8.db. (check-in: d1fbf63330 user: drh tags: trunk)
20:16
One of the ALWAYS() macros in the previous check-in could sometimes be false, following an OOM. Remove it. Problem found by dbsqlfuzz. (check-in: 11df9187da user: drh tags: trunk)
19:38
Add ALWAYS() macros. Change some existing ALWAYS() into assert(). Other code simplifications. (check-in: 4aa27b4fcd user: drh tags: trunk)
16:47
Remove many redundant checks for sqlite3.mallocFailed now that any OOM should cause Parse.nErr to be non-zero. (check-in: 1f7fa46126 user: drh tags: trunk)
15:34
Make it so that any Parse object is always linked into the database conenction while it is active. Hence, an OOM will cause Parse.nErr to be set. (check-in: 6a45d8fe8b user: drh tags: trunk)
14:01
Fix testcase for CLI .read recursion. (check-in: 53d4404458 user: larrybr tags: trunk)
12:48
Make sure the sqlite3OomFault() routine sets an error in the Parse object if there is a Parse object active and linked to the database connection. (check-in: ad7aace761 user: drh tags: trunk)
11:25
Ensure that any error encountered while coding a trigger program is transfered to the main Parse structure before it is used with any other routine that might set the error code. (check-in: 4293656578 user: dan tags: trunk)
07:11
Take CLI input redirect recursion limit from trunk (check-in: 5e70204415 user: larrybr tags: shell-tweaks)
06:36
Limit CLI input redirect nesting (check-in: 7a07393175 user: larrybr tags: trunk)
04:21
Add CLI .x command, make string redirection work (check-in: 2f2f1aaed6 user: larrybr tags: shell-tweaks)
00:22
CLI prepared for reading string input (check-in: 073ded4d18 user: larrybr tags: shell-tweaks)
2022-01-23
20:54
Factor out DB protection lift and restore in CLI (check-in: 4462ed8964 user: larrybr tags: shell-tweaks)
04:19
Shell refinements, seeargs, booleans, undocumented commands (check-in: 8735caf13f user: larrybr tags: shell-tweaks)
02:53
Create new branch named "shell-tweaks" (check-in: 3f13df296b user: larrybr tags: shell-tweaks)
2022-01-22
22:28
Add support for the sqlite3_vtab_distinct() interface. Virtual table implementations can use this API to determine more detail about the ordering requirements needed by the query plan and perhaps reduce the amount of work required to compute a correct answer. This is an optimization opportunity for the virtual table implementation. The correct answer should still be obtained (though perhaps more slowly) even if sqlite3_vtab_distinct() is ignored. (check-in: e4caf1e393 user: drh tags: trunk)
20:45
Bring sqlite3_vtab_distinct() up to spec so that it works as described in the documentation. (Closed-Leaf check-in: 4289edf3c5 user: drh tags: sqlite3_vtab_distinct)
19:19
Iimproved documentation for sqlite3_vtab_distinct(). No changes to code. (check-in: 7af03f0294 user: drh tags: sqlite3_vtab_distinct)
02:52
Omit the WhereLoopBuilder.pOrderBy field, which is no longer needed. (check-in: a13afc909c user: drh tags: sqlite3_vtab_distinct)
00:18
An initial attempt to implement sqlite3_vtab_distinct(). (check-in: d571262d23 user: drh tags: sqlite3_vtab_distinct)
2022-01-21
19:26
Update evidence marks for the latest changes to the documentation. (check-in: 19247e919f user: drh tags: trunk)
18:57
Fix some of the new date/time function features to comply with the spec. Update requirement marks. (check-in: 2f5dc7a9ee user: drh tags: trunk)
16:47
When computing a vector to be used as a key for an index lookup, do not check for NULL values and abort until after all key values have been computed, in case one of the later key values involves some initialization that is needed by a LEFT JOIN. Fix for the problem identified by Forum post ab95010d410a0a55. (Leaf check-in: 3bc8d16207 user: drh tags: branch-3.37)
16:41
When computing a vector to be used as a key for an index lookup, do not check for NULL values and abort until after all key values have been computed, in case one of the later key values involves some initialization that is needed by a LEFT JOIN. Fix for the problem identified by Forum post ab95010d410a0a55. (check-in: 4db5217a28 user: drh tags: trunk)
01:00
Add the sqlite3_vtab_rhs_value() interface, allowing the xBestIndex method of a virtual table to access known values on the right-hand side of constraint expressions. (check-in: e19a0b132a user: drh tags: trunk)
00:38
Add requirements marks and tuning. (Closed-Leaf check-in: ac951490fd user: drh tags: sqlite3_vtab_rhs_value)
2022-01-20
19:00
Test cases for sqlite3_vtab_rhs_value() based on the qpvtab extension. (check-in: 577d3d6655 user: drh tags: sqlite3_vtab_rhs_value)
18:27
Enhancements to the qpvtab virtual table to make it more useful for testing and verification of virtual table interfaces. (check-in: 850efc4cf3 user: drh tags: sqlite3_vtab_rhs_value)
17:10
Initial implementation of the sqlite3_vtab_rhs_value() interface and the qpvtab extension used for testing the virtual table interface. (check-in: 0873c76b9b user: drh tags: sqlite3_vtab_rhs_value)
14:51
A better and more robust fix for the problem of reading a read-only WAL mode database with existing -wal and -shm files, replacing [f426874e005e3c23]. (check-in: 1266220a01 user: drh tags: branch-3.37)
14:40
A better and more robust fix for the problem of reading a read-only WAL mode database with existing -wal and -shm files, replacing [f426874e005e3c23]. (check-in: 71bfd0b57a user: drh tags: trunk)
12:58
Fix harmless scan-build warnings. (check-in: ab160e8bae user: drh tags: trunk)
12:36
Fix the ability to read read-only WAL-mode database when -shm is present, ([00ec95fcd02bb415|check-in 00ec95fcd02bb415]) so that it works for the case of 64K page size. (check-in: 2cc15e2f29 user: drh tags: branch-3.37)
05:20
A WIP checkin, progress toward what .help promises (Closed-Leaf check-in: 4688e6dff8 user: larrybr tags: script_command)
02:04
Fix the ability to read read-only WAL-mode database when -shm is present, ([00ec95fcd02bb415|check-in 00ec95fcd02bb415]) so that it works for the case of 64K page size. (check-in: f426874e00 user: drh tags: trunk)
2022-01-19
21:11
Initial help changes for .script (and enhanced .parameter) (check-in: a94ab403eb user: larrybr tags: script_command)
20:38
Mistaken branch creation. (Closed-Leaf check-in: 03548c2574 user: larrybr tags: mistake)
18:31
Fix a test result for alterauth2.test due to the recent fix to authorizer calls for ALTER TABLE DROP COLUMN. (check-in: e799a35f2b user: drh tags: trunk)
2022-01-18
16:16
Fix ALTER TABLE DROP COLUMN so that it invokes the authorizer. Fix for forum post fd82b85947541dec. (check-in: aca6c61d79 user: drh tags: trunk)
2022-01-17
23:53
Allow an "IntReal" value to count as a REAL when checking types for insertion into a generated column on a STRICT table. Forum post fa012c77796d9399. (check-in: b6fb223d90 user: drh tags: branch-3.37)
23:37
Allow an "IntReal" value to count as a REAL when checking types for insertion into a generated column on a STRICT table. Forum post fa012c77796d9399. (check-in: 1ec44d55da user: drh tags: trunk)
20:01
Merge the latest trunk changes into the reuse-schema branch. (check-in: 769ff85765 user: drh tags: reuse-schema)
19:46
Merge the latest trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: 45fa7efecb user: drh tags: begin-concurrent-pnu-wal2)
19:36
Merge the latest trunk enhancements into the wal2 branch. (check-in: 82f031b41d user: drh tags: wal2)
19:24
Bring the begin-concurrent-report branch up to date with all the latest trunk enhancements. (check-in: ef6fc89507 user: drh tags: begin-concurrent-report)
19:17
Merge recent trunk enhancements into the begin-concurrent branch. (check-in: 02daae7a67 user: drh tags: begin-concurrent)
19:10
Merge the begin-concurrent-pnuu branch into begin-concurrent. (check-in: 22fb505005 user: drh tags: begin-concurrent)
17:22
.ar fixed and constituent line numbers off (until they are right) (check-in: ec363f81ce user: larrybr tags: cli_extension)
15:23
Fix incorrect testcase() and assert() macros in json.c. They were not causing problems. The assert() was simply unreachable. The testcase() added an unreachable condition. (check-in: 5623497adc user: drh tags: trunk)
14:42
Never allow the b-tree layers view of the number of pages in the database file exceed the actual number of pages in the database file, even when PRAGMA writeable_schema=ON. This helps with earlier detection of corruption, and prevents excess memory usage and CPU cycles in some integrity_check ops. (check-in: 0407c87937 user: drh tags: trunk)
03:53
Merge from trunk, w/adapations. (.ar still broken) (check-in: e09a6dd7b9 user: larrybr tags: cli_extension)
03:25
Bring .import --schema enhancement in. Refine mkshellc include logic. (check-in: e38f45cdc5 user: larrybr tags: cli_extension)
2022-01-16
19:11
Fix test cases so that they all still work even with -DSQLITE_DQS=0. (check-in: 4883776669 user: drh tags: trunk)
15:15
Fix ALTER TABLE so that it works even when compiled using -DSQLITE_DQS=0. Forum post 3c1a00b66fca81fe. (check-in: 092ad64faa user: drh tags: trunk)
2022-01-14
23:28
Remove code from lemon.c that was made superfluous by [1b22b42e59793af1|check-in 1b22b42e59793af1] in late 2017. (check-in: 6d2f95a474 user: drh tags: trunk)
21:34
Fix a NEVER() in the byte-code engine that can sometimes be true. Test case in TH3. (check-in: 7ac91b5339 user: drh tags: trunk)
16:29
For .import schema, quote it as for other identifiers. (check-in: bff9153cee user: larrybr tags: trunk)
2022-01-13
21:22
Add --schema S option to .import (check-in: 38d9dbca16 user: larrybr tags: trunk)
2022-01-12
20:31
When the result of a subquery is to be stored in a register and that subquery has an ORDER BY clause and an OFFSET, NULL out the destination register before starting the ORDER BY so that the register will be set correctly even if the OFFSET is larger than the number of output rows. Fix for the problem reported in forum post 0ec80f12d02acb3f. (check-in: 9282bcde30 user: drh tags: trunk)
01:42
Make tool/mctimec.tcl effect more regular and obvious (check-in: 02aaa10f34 user: larrybr tags: trunk)
00:52
Fix mkctimec.tcl with the updated compile-time options for JSON. (check-in: 8ded3f5b00 user: drh tags: trunk)
00:28
Fix harmless compiler warning seen with MSVC. (check-in: adebb9d747 user: mistachkin tags: trunk)
2022-01-11
23:28
Merge the JSON interface into the core. Add -> and ->> operators for JSON that are compatible with by MySQL and PG. (check-in: 4cbb3e3efe user: drh tags: trunk)
22:06
Remove vestigial traces of json_ntype(). (Closed-Leaf check-in: 8da07c8b09 user: drh tags: json-in-core)
18:01
Fix the PG-compatible -> and ->> path parsing. (check-in: 22d5138315 user: drh tags: json-in-core)
2022-01-10
17:43
Fix typo in the json-enhancements.md document. (check-in: feba24ef77 user: drh tags: json-in-core)
15:43
Implement the new PG-compliant versions of the -> and ->> operators. (check-in: 39eff3b9bf user: drh tags: json-in-core)
13:55
New proposal for -> and ->> operators. (check-in: 1108e12a22 user: drh tags: json-in-core)
2022-01-09
21:16
Update the json-enhancements.md document to match the version in the json-in-core branch, as outside readers have linked to this branch. (Leaf check-in: 2027b3beb9 user: drh tags: json-enhancements)
20:51
Typo fix in doc/json-enhancements.md. (check-in: c3b01d4964 user: drh tags: json-in-core)
20:42
Update the doc/json-enhancements.md document to better explain the features of this branch. (check-in: b8ac938f41 user: drh tags: json-in-core)
19:44
Do not enclude ENABLE_JSON1 in the compile-time options. (check-in: 8bf41bc5cb user: drh tags: json-in-core)
19:36
Merge trunk enhancements into the json-in-core branch. (check-in: ea75577169 user: drh tags: json-in-core)
16:54
Add a new built-in subtype() function. (check-in: a25f4ce255 user: drh tags: json-in-core)
2022-01-08
21:59
mkshellc.tcl to convert #include to INCLUDE for in-tree includees (check-in: b1f3b317c0 user: larrybr tags: cli_extension)
21:50
Add NEVER() macros to two branches that became unreachable due to [e199a851e316bd47]. (check-in: 71272caff5 user: drh tags: trunk)
21:00
Add function format() as an alias for printf(), for compatibility with other systems. (check-in: 68bffc612c user: drh tags: trunk)
15:37
Merge the JSON function enhancements from the json-enhancements branch into json-in-core. (check-in: e116501c2f user: drh tags: json-in-core)
15:05
Improved commenting of changes in the json1.c extension. (check-in: 4d81425e1b user: drh tags: json-enhancements)
2022-01-07
18:09
Notes on the JSON enhancement proposals. (check-in: 18160985ea user: drh tags: json-enhancements)
17:26
Reverse the meaningn of -> and ->>. ->> raises an error on invalid JSON but -> does not. This allows ->> to behave the same as PG and MySQL. (check-in: 85f8170555 user: drh tags: json-enhancements)
17:14
Change the -> operator to use json_extract(). The ->> operator continues to use json_nextract(). (check-in: b4c8a62381 user: drh tags: json-enhancements)
17:08
New json_nextract() function that works like json_extract() except that it returns NULL instead of raising an error if the first argument is not well-formed JSON. Or if the first argument is not well-formed JSON and the second argument is '$', then return the first argument quoted. The "->" and "->>" operators are converted to use json_nextract(). (check-in: dc00f5286d user: drh tags: json-enhancements)
16:03
Add the json_ntype() SQL function. Works like the 1-argument json_type() except that it returns NULL if the argument is not well-formed JSON, rather than raising an error. (check-in: ed9956f5dd user: drh tags: json-enhancements)
15:47
Accept abbreviated JSON Paths on the right-hand side of the -> and ->> operators. (check-in: d15410900d user: drh tags: json-enhancements)
14:58
Add new binary operators "->" and "->>" to the parser that evaluate to 2-argument SQL functions by the same name. Add new "->" and "->>" functions to the JSON extension that are aliases for json_extract(). (check-in: c4e4e3a3fc user: drh tags: json-enhancements)
14:09
Merge 3.37.2 changes into the begin-concurrent-pnu branch. (Leaf check-in: e525892d3d user: drh tags: begin-concurrent-3.37)
2022-01-06
17:13
Add the '-guard:cf' compiler option for Windows 10, per forum post 8d3b4ad694. (check-in: 2d6a16caa7 user: mistachkin tags: trunk)
14:16
Merge the 3.37.2 patches into the reuse-schema branch. (Leaf check-in: d7ec5a2b4a user: drh tags: reuse-schema-3.37)
13:25
Version 3.37.2 (check-in: 872ba256cb user: drh tags: release, branch-3.37, version-3.37.2)
01:40
An attempt to integrate the JSON functions directly into the SQLite core, rather than holding them as an extension. (check-in: 583b47d865 user: drh tags: json-in-core)
2022-01-05
21:08
Remove two NEVER() macros that can sometimes be true if the database is corrupt. dbsqlfuzz 0414d2c18290fc80fd5fb540def7d3e46c1ae9c6. (check-in: e1871201e7 user: drh tags: branch-3.37)
21:01
Remove two NEVER() macros that can sometimes be true if the database is corrupt. dbsqlfuzz 0414d2c18290fc80fd5fb540def7d3e46c1ae9c6. (check-in: b6a82f3c3b user: drh tags: trunk)
18:56
Increase the version number to 3.37.2 (check-in: 7b911356af user: drh tags: branch-3.37)
16:02
Fix an assert() failure that could follow an OOM when coding a RETURNING trigger. dbsqlfuzz case 5d3e2438f15dc32b473d9f29413157857efa1212. (check-in: 93965e67e2 user: drh tags: branch-3.37)
15:54
Fix an assert() failure that could follow an OOM when coding a RETURNING trigger. dbsqlfuzz case 5d3e2438f15dc32b473d9f29413157857efa1212. (check-in: 7ae596dd4a user: dan tags: trunk)
12:01
Improved handling of OOM errors in sqlite3ExpandReturning(). dbsqlfuzz 1040b720f0bbc3bdcfe7336acffbf71517e3ef82. (check-in: b9ed2a2921 user: drh tags: branch-3.37)
11:49
Improved handling of OOM errors in sqlite3ExpandReturning(). dbsqlfuzz 1040b720f0bbc3bdcfe7336acffbf71517e3ef82. (check-in: 33c6b8e94b user: drh tags: trunk)
2022-01-03
19:33
Test .mode quote blob output (check-in: ef4dcd1080 user: larrybr tags: trunk)
01:43
Small performance and size optimization to allocateCursor(). (check-in: 23f042669a user: drh tags: trunk)
2022-01-02
21:53
Remove unnecessary assignment operations in the btree search algorithm, for a small size reduction and performance increase. (check-in: 01bd266eb6 user: drh tags: trunk)
20:54
In the CLI, fix ".mode quote" output for UTF16 BLOBs. Forum post b4bfe62fe6. (check-in: 728e9dcc6d user: drh tags: trunk)
19:43
Do not open a rollback journal file when the journal_mode is OFF, even if such a file exists on disk. See [forum/forumpost/ec2a102440|forum post ec2a102440] for a description. I so far have been unable to find any harm to come of the problem, other than the assertion fault when in DEBUG mode. (check-in: 71f21f172c user: drh tags: branch-3.37)
19:32
Do not open a rollback journal file when the journal_mode is OFF, even if such a file exists on disk. See [forum/forumpost/ec2a102440|forum post ec2a102440] for a description. I so far have been unable to find any harm to come of the problem, other than the assertion fault when in DEBUG mode. (check-in: fdf9ed665b user: drh tags: trunk)
19:10
Improve formatting of an assert(). No functional changes. (check-in: 4bb78ce8b5 user: drh tags: trunk)
18:10
Clear the cache of triggers used to implement CASCADE foreign key constraints whenever the schema changes. Fix for the problem identified by forum post 2831335356. (check-in: 4f1313c67f user: drh tags: branch-3.37)
17:46
Earlier detection of corruption in sqlite3BtreeDelete(). Fix for the assertion fault reported by forum post 9d78389221. (check-in: eb07219965 user: drh tags: branch-3.37)
17:37
Do not raise an SQLITE_SCHEMA error if in sqlite3Init(). Fix for PoC #2 in forum post b03d86f951. See TH3 for test cases. (check-in: 25beca31cf user: drh tags: branch-3.37)
17:24
Fix an obscure problem with releasing savepoints stored in an in-memory journal that could cause subsequent savepoint rollback to fail. (check-in: 3c0806e4df user: drh tags: branch-3.37)
17:14
Remove an obsolete assert() statement that no longer does anything useful and which is not always true. Fix for PoC #1 of forum post b03d86f951. (check-in: 0829c1001b user: drh tags: branch-3.37)
17:13
Fix a faulty assert() statement - adding a CORRUPT_DB term - based on a test case derived from [562805cf488a455c]. Also add a test case to that prior issue. (check-in: f9505fcb28 user: drh tags: branch-3.37)
17:02
Fix harmless compiler warnings seen with MSVC. (check-in: 6e08a542ad user: drh tags: branch-3.37)
17:00
Move the pTriggerPrg and pCleanup elements of the Parse object up into the section of that object that is persisted across calls to sqlite3NestedParse(). This fixes a memory leak reported in forum post 24bd1fef7e9323ef. (check-in: ee8b2397a6 user: drh tags: branch-3.37)
16:48
Performance optimization in btreeParseCellPtr() by unrolling the loop that decodes the rowid. (check-in: fef72368a2 user: drh tags: trunk)
14:55
Small performance optimization and size reduction in sqlite3BtreeDelete(). (check-in: da0af4dd9b user: drh tags: trunk)
12:01
Clear the cache of triggers used to implement CASCADE foreign key constraints whenever the schema changes. Fix for the problem identified by forum post 2831335356. (check-in: 5232c9777f user: drh tags: trunk)
11:25
Earlier detection of corruption in sqlite3BtreeDelete(). Fix for the assertion fault reported by forum post 9d78389221. (check-in: 13e9ff9e84 user: drh tags: trunk)
00:16
Bring in trunk shell mods. (check-in: f628c3afd0 user: larrybr tags: cli_extension)
2022-01-01
22:55
Do not raise an SQLITE_SCHEMA error if in sqlite3Init(). Fix for PoC #2 in forum post d7338bf4901f1151. See TH3 for test cases. (check-in: e199a851e3 user: drh tags: trunk)
20:02
Fix an assert() in pager.c to avoid the possibility of side-effects. (check-in: 1d1fe03c75 user: dan tags: trunk)
19:55
Attempt to fix a harmless compiler warning in FTS5. (check-in: 8e619c21e2 user: drh tags: trunk)
19:29
Fix an obscure problem with releasing savepoints stored in an in-memory journal that could cause subsequent savepoint rollback to fail. Problem reported by forum post d7338bf4901f1151, PoC #3. The problem appears to have been introduced at [23ca23894af352ea]. (check-in: 73c2b50211 user: dan tags: trunk)
17:21
Remove an obsolete assert() statement that no longer does anything useful and which is not always true. Fix for PoC #1 of forum post d7338bf4901f1151. (check-in: c76a4c0b3c user: drh tags: trunk)
12:26
Fix a faulty assert() statement - adding a CORRUPT_DB term - based on a test case derived from [562805cf488a455c]. Also add a test case to that prior issue. (check-in: 0dd6b5fccd user: drh tags: trunk)
2021-12-31
22:53
Mark the REGEXP operator in the built-in extension as deterministic. (check-in: e654b57a9f user: drh tags: trunk)
19:20
Simplify the sqlite3RunParser() routine by omitting the third parameter. Results in a binary that is about 100 bytes smaller and 1.4M cycles faster. (check-in: 6fb2a1bb02 user: drh tags: trunk)
19:08
Fix harmless compiler warnings in the shell. (check-in: f3ea36d79b user: mistachkin tags: trunk)
18:26
Fix harmless compiler warnings seen with MSVC. (check-in: a9bfb62109 user: mistachkin tags: trunk)
17:54
Performance optimization and size reduction in sqlite3RunParser(). (check-in: 41ee2bac57 user: drh tags: trunk)
16:37
Move the pTriggerPrg and pCleanup elements of the Parse object up into the section of that object that is persisted across calls to sqlite3NestedParse(). This fixes a memory leak reported in forum post 24bd1fef7e9323ef. (check-in: 562805cf48 user: drh tags: trunk)
2021-12-30
17:46
Remove unnecessary conditionals around the ORDER BY resolver calls in multiSelectOrderBy(). (check-in: f2887e018b user: drh tags: trunk)
17:36
When constructing the sqlite3_index_info object for the xBestIndex method of a virtual table, omit constant trims from the ORDER BY clause, as they will always be in the correct order. (check-in: 524c2b87d7 user: drh tags: trunk)
16:14
Merge the 3.37.1 patches into the reuse-schema branch. (check-in: e9e95c8fc6 user: drh tags: reuse-schema-3.37)
15:30
Version 3.37.1 (check-in: 378629bf2e user: drh tags: release, version-3.37.1, branch-3.37)
12:26
Disable the atof1.test test module on non-x64 hardware. (check-in: 986a94d036 user: drh tags: branch-3.37)
11:35
Fix windowC tests to specify little-endian or big-endian UTF16, for cross-platform portability. Forum post 559b84a5c6|. And give the correct prefix to tests in the windowC.test module. (check-in: 8af7cb2a3e user: drh tags: branch-3.37)
11:27
Do not attempt to reprepare a prepared statement that returns SQLITE_SCHEMA if there was an OOM. This enhancement supercedes check-in [fee469925231d074]. (check-in: 103f95db3e user: drh tags: branch-3.37)
11:13
Change an assert() in FTS3 into assert_fts3_nc(), since it is a harmless condition that can occur when processing a corrupt database file. (check-in: 35e2b27af7 user: drh tags: branch-3.37)
03:56
Fix a minor issue in the configure script. (check-in: 0413d37e32 user: drh tags: branch-3.37)
03:22
Following a prior error, an ALWAYS() in sqlite3ExprCanBeNull() might be false. dbsqlfuzz 5dbec6678a20e7595a34dfdd869a3b9722b3ca43. (check-in: b33e47709a user: drh tags: branch-3.37)
03:12
When a table has an INTEGER PRIMARY KEY ON CONFLICT REPLACE and some other uniqueness constraint, and it participates in an upsert on that other constraint, ensure that code that checks for conflicts on the INTEGER PRIMARY KEY is well-formed. Fix for the problem reported by forum post 06b16b8b29f8c8c3. (check-in: 1f1e0b4e6d user: drh tags: branch-3.37)
02:38
When a table has an INTEGER PRIMARY KEY ON CONFLICT REPLACE and some other uniqueness constraint, and it participates in an upsert on that other constraint, ensure that code that checks for conflicts on the INTEGER PRIMARY KEY is well-formed. Fix for the problem reported by forum post 06b16b8b29f8c8c3. (check-in: 2f09b51b1f user: drh tags: trunk)
00:37
When implementing a multi-way compound SELECT using merge, try to balance the merge tree. (check-in: bb8522fe0d user: drh tags: trunk)
2021-12-29
13:32
Minor changes to shell1.test test results to account for the new feature of the shell that points to the specific part of the input line where the error occurs. (check-in: d4870c0889 user: drh tags: trunk)
04:31
Ensure that the affinity of columns is honored in the RETURNING clause. See forum post e0c7574ab2 for the bug report. (check-in: 4711fb6954 user: drh tags: trunk)
04:13
Add the sqlite3_error_offset() interface. Use it to enhance error reporting in the CLI. (check-in: 416602a851 user: drh tags: trunk)
04:10
Make .read's help tell of piped input (check-in: 155c3e9c7c user: drh tags: trunk)
04:10
Change an assert() in FTS3 into assert_fts3_nc(), since it is a harmless condition that can occur when processing a corrupt database file. (check-in: e773d6219b user: drh tags: trunk)
04:08
Fix the build-breaker bug in test1.c introduced by check-in [7fa20ca4c09ab024]. (Closed-Leaf check-in: 5f804da182 user: drh tags: build-bug)
2021-12-28
05:08
Make .read's help tell of piped input (check-in: e4ddcd8aa5 user: larrybr tags: build-bug)
2021-12-25
23:59
Change an assert() in FTS3 into assert_fts3_nc(), since it is a harmless condition that can occur when processing a corrupt database file. (check-in: c03205aee9 user: drh tags: build-bug)
00:26
Add the sqlite3_error_offset() interface. Use it to enhance error reporting in the CLI. (Later:) There is a bug in src/test1.c that prevents the code from even building. How did this pass tests? Moving to a branch to prevent fugure bisect problems. (check-in: 7fa20ca4c0 user: drh tags: build-bug)
00:19
One minor change for an exceptional case in sqlite3_error_offset(). (Closed-Leaf check-in: c93609a8b9 user: drh tags: improved-error-context)
2021-12-24
20:51
Create new branch named "instr-bidir-more" (Leaf check-in: 4ca96d2d73 user: larrybr tags: instr-bidir-more)
20:22
Add the sqlite3_error_offset() interface. Use it in the CLI to provide better context for error messages. (check-in: b518ce7743 user: drh tags: improved-error-context)
19:44
Fix a minor problem in the CLI introduced by [d156123885abe6bf], apparently. (check-in: 37e6e10f43 user: drh tags: trunk)
13:30
Raise an error if a schema name is attached to the table-alias name of a subquery or view. See forum post 021a33600b for the bug report. (check-in: 8af8c153f8 user: drh tags: trunk)
2021-12-23
00:16
Reduce the size of the compiled binary by a couple of hundred bytes by using a thigher packing of a transformation table in date.c. Suggested by forum post 4f6efbb2a9. (check-in: c75ba4fa64 user: drh tags: trunk)
2021-12-21
16:59
Update the README.md to instruct the user to remove the final comment line from the "manifest" file before using it to compute the check-in hash. (check-in: 7b4f9d95a9 user: drh tags: trunk)
2021-12-20
23:46
In the json1 extension, which compiling it separately, ensure that either SQLITE_DEBUG macro or the NDEBUG macro is set prior to including assert.h. If neither macro is defined, then assert() statement do generate code but VVA() statements do not, and that is a deadly combination. forum post 858dee399e (check-in: d9f814a640 user: drh tags: trunk)
17:00
Remove old script ext/fts3/mkfts3amal.tcl, as it doesn't work. (check-in: 9e33ee24b3 user: dan tags: trunk)
2021-12-17
23:56
Improved documentation for the sqlite3_vtab_collation() interface. (check-in: 826f84a92d user: drh tags: trunk)
2021-12-16
19:50
Fix windowC tests to specify little-endian or big-endian UTF16, for cross-platform portability. Forum post 559b84a5c6 (check-in: adf3a1e6f7 user: drh tags: trunk)
19:43
Give the correct prefix to tests in the windowC.test module. (check-in: fb43456324 user: drh tags: trunk)
17:57
In the CLI, omit the ".oom" command (only available in debug builds) and disable the experimental ".expert" commmand in --safe mode. (check-in: 5cda1f7da8 user: drh tags: trunk)
17:35
New defenses against OOM and corrupt database problems in the CLI. (check-in: 5c9fd7fde1 user: drh tags: trunk)
17:21
Fix a typo in the result of one of the new test cases. (check-in: 4d02a129c4 user: drh tags: trunk)
15:29
Fix fts3 and fts4 so that they can still be used even if the other is dropped by a call to sqlite3_drop_modules(). (check-in: a0a8d6c9f0 user: dan tags: trunk)
14:59
Fix a memory leak in the CLI that occurs after an error in the ".open" command. (check-in: d156123885 user: drh tags: trunk)
14:36
Fix harmless compiler warning in the new Bloom filter logic. (check-in: 9406d95d3f user: drh tags: trunk)
14:26
Improved robustness against OOM in the expert extension. (check-in: e732c429ba user: drh tags: trunk)
13:56
Fix a potential NULL pointer dereference in the CLI logic for printing the schema of virtual tables. (check-in: fe44ebf6be user: drh tags: trunk)
13:29
Add more tests for OOM conditions in the CLI. (check-in: b6fa402d15 user: drh tags: trunk)
00:36
Change the query planner so that it excludes virtual table constraints that do not have the correct collation. This breaks the expert extension. (Closed-Leaf check-in: da3aae7bcf user: drh tags: vtab-collation-fix)
2021-12-15
20:48
Simplify the generation of the sqlite3_index_info object during query planning for virtual tables. (check-in: 241dc0428a user: drh tags: trunk)
13:48
Update this branch with the latest trunk and wal2 changes, including the checkpoint-on-close wal2 mode fix. (check-in: cffc31bf9a user: dan tags: begin-concurrent-report-wal2)
13:42
Merge checkpoint-on-close fix from wal2 branch. (check-in: a92eca6c9c user: dan tags: begin-concurrent-pnu-wal2)
12:51
Fix a problem causing one wal file to be deleted without being checkpointed on close in cases where the last connection to close the db does so with an out of date wal-index header in memory. (check-in: b0a70a2356 user: dan tags: wal2)
2021-12-14
20:13
Enhance the virtual table query planner so that it is able to deal with ORDER BY terms that contain COLLATE clauses as long as the specified collation matches the virtual table. This is especially important for UNION ALL since a "COLLATE binary" is added to ORDER BY clauses if no COLLATE clause exists in the original SQL. (check-in: 5c3d398d20 user: drh tags: trunk)
18:11
Minor fix to the ORDER BY elimination logic in generate_series(). (check-in: a2e50712fc user: drh tags: trunk)
00:36
Omit the return value from sqlite3VdbeSerialGet() for a size reduction and performance improvement. (check-in: 788e79f881 user: drh tags: trunk)
2021-12-13
19:59
Small performance optimization and code size reduction in moveToRoot(). (check-in: cdcde00b2d user: drh tags: trunk)
18:53
Add NEVER() on an unreachable branch in the Bloom filter pull-down logic. (check-in: 4710704625 user: drh tags: trunk)
18:43
Fix an off-by-one error in the Bloom filter pulldown logic, found by OSSFuzz. Also fix over-length source code lines in the immediate vicinity. (check-in: 027626521c user: drh tags: trunk)
00:02
Remove unused code. (check-in: b98b24f265 user: drh tags: trunk)
2021-12-11
17:10
Do not allow early evaluation of Bloom filters that use the IN operator as the machinery to deal with the IN operator is not available. dbsqlfuzz 5b51c247518278f79a45cea978702e86e86cd4f9. (check-in: 799db7cb2e user: drh tags: trunk)
2021-12-10
21:01
Factor out the logic that does quoting for the SQL quote() function, so that it might be reused for other purposes. (check-in: 8e98ba1eeb user: drh tags: trunk)
18:11
Almost all shell tests except shell8.test pass. (a WIP) (check-in: 653db501b4 user: larrybr tags: cli_extension)
17:36
Rename the internal routine constructBloomFilter() to sqlite3ConstructBloomFilter(). OSSFuzz is reporting a crash with a garbled stack that we cannot reproduce. Perhaps the original "constructBloomFilter()" name is colliding with some internal name used by OSSFuzz. We'll see if this rename clears the problem. (check-in: 403e7312dd user: drh tags: trunk)
2021-12-09
20:06
Add support for Bloom-filters as a performance optimization for joins. (check-in: 633bfeeea2 user: drh tags: trunk)
19:42
Remove unused code and fix comments. Final cleanup before merging. (Closed-Leaf check-in: ce42039f56 user: drh tags: bloom-filter)
18:44
Enable bloom filters for the right table of a LEFT JOIN. Fix unreachable branches. (check-in: d342ab722d user: drh tags: bloom-filter)
16:45
Pickup trunk .mode upgrade + cosmetic shell changes (check-in: 8dc69c81b9 user: larrybr tags: cli_extension)
16:26
Add ".mode off" and ".mode count" to the CLI. (check-in: 1eefd957ff user: drh tags: trunk)
16:17
Add ".mode off" and ".mode count" to the CLI. (check-in: b11f4d080a user: drh tags: bloom-filter)
14:15
New test cases added to test/fuzzdata8.db (check-in: 7046877006 user: drh tags: trunk)
14:09
Do not attempt to reprepare a prepared statement that returns SQLITE_SCHEMA if there was an OOM. This enhancement supercedes check-in [fee469925231d074]. (check-in: 94fdbeffaf user: drh tags: trunk)
04:45
Closer to passing all Tcl tests (with an odd failure) (check-in: 6956e98908 user: larrybr tags: cli_extension)
01:28
Add SQLITE_TESTCTRL_LOGEST and enhance the LogEst utility program. Improvements to testability of bloom filters. (check-in: 88b43d798c user: drh tags: bloom-filter)
2021-12-08
20:36
Clarity tweak for date.c (check-in: db58b2def0 user: larrybr tags: trunk)
19:50
Improvements on the decision of whether or not to use a Bloom filter. (check-in: 0fb2a4e08f user: drh tags: bloom-filter)
18:50
Enhance the sqlite3SrcListAppendFromTerm() routine so that it sets the Parser error on an OOM, causing an earlier unwind of the stack. (check-in: fee4699252 user: drh tags: trunk)
16:15
Merge the WhereClause fix from trunk (check-in: d325025677 user: drh tags: bloom-filter)
16:07
In the WhereClause object, do not assume that all TERM_VIRTUAL terms appear at the end of the list, because that is no longer true. Instead, keep a separate nBase count that is the size of the list excluding the tail of virtual terms. Use nBase instead of nTerm when scanning terms that are not virtual. Add assert()s to validate correctness of WhereClause. (check-in: 6024682ca4 user: drh tags: trunk)
2021-12-07
23:02
For CLI, extensibility refinement and small steps toward embedability (check-in: ad9970bcb5 user: larrybr tags: cli_extension)
22:37
Do not generate a Bloom filter if it cannot be used prior to the next seek, as that leads to a misleading EXPLAIN QUERY PLAN. (check-in: 2739ed5192 user: drh tags: bloom-filter)
2021-12-06
23:07
Improved EXPLAIN QUERY PLAN output for Bloom filters. (check-in: 00070e1fff user: drh tags: bloom-filter)
21:45
Add SQLITE_STMTSTATUS_FILTER_HIT and _MISS for tracking the effectiveness of Bloom filters. (check-in: 24ba535d20 user: drh tags: bloom-filter)
20:16
Omit the OP_FilterInit opcode. Use OP_Blob to initialize each Bloom filter instead. Size the Bloom filter based on sqlite_stat1 size estimates rather than a run-time measurement for improved testability. (check-in: 8a9036ee61 user: drh tags: bloom-filter)
19:11
Merge trunk fixes into the bloom-filter branch. (check-in: edacf8034d user: drh tags: bloom-filter)
19:03
Fix an OOB read that could occur in fts5 when processing corrupt records. (check-in: 734606ea1a user: drh tags: branch-3.37)
18:57
Fix an OOB read that could occur in fts5 when processing corrupt records. (check-in: bb9b1a15f7 user: dan tags: trunk)
17:23
Create new branch named "ppvar_manage" (Leaf check-in: 74ee8d2bda user: larrybr tags: ppvar_manage)
16:56
Do not allow SQLITE_LIMIT_LENGTH to be set lower than 1 as an SQLITE_LIMIT_LENGTH of 0 causes lots of unnecessary problems for users of the sqlite3_str object. (check-in: 286243f3a4 user: drh tags: branch-3.37)
16:51
Do not allow certain dangerous ".testctrl" commands in safe mode. (check-in: 4602644f85 user: drh tags: branch-3.37)
16:42
Fix SQLITE_TESTCTRL_IMPOSTER so that it is a harmless no-op if the schema parameter is invalid. (check-in: b15c553c2c user: drh tags: branch-3.37)
16:36
In the shell tool, avoid modifying internal data structures until after the arguments to ".open" have been parsed. (check-in: cbd69ed8af user: drh tags: branch-3.37)
16:29
Start a new branch on which to cherrypick fixes against 3.37.0. (check-in: cea9e41aae user: drh tags: branch-3.37)
16:22
Merge .testctrl safe mode blocks (check-in: a42fc4ac08 user: larrybr tags: cli_extension)
15:40
Do not allow SQLITE_LIMIT_LENGTH to be set lower than 1 as an SQLITE_LIMIT_LENGTH of 0 causes lots of unnecessary problems for users of the sqlite3_str object. (check-in: 8fd5b8ec4a user: drh tags: trunk)
15:24
Do not allow certain dangerous ".testctrl" commands in safe mode. (check-in: 080e72d119 user: drh tags: trunk)
15:08
Fix SQLITE_TESTCTRL_IMPOSTER so that it is a harmless no-op if the schema parameter is invalid. (check-in: 2d9a45ab10 user: drh tags: trunk)
13:07
Attempt to vary the size of Bloom filters based on an estimate of how many keys the filter will hold. (check-in: a7adcf6908 user: drh tags: bloom-filter)
2021-12-05
20:19
Run as many Bloom filters as possible before index lookups. (check-in: 06f6fefd67 user: drh tags: bloom-filter)
00:45
Try to run all Bloom filters before any Seeks. This gives a small performance gain on the Star-Schema Benchmark. (check-in: 5be2470f87 user: drh tags: bloom-filter)
2021-12-04
21:11
Miscellaneous cleanup of the new Bloom-filter code. (check-in: 201b6dd875 user: drh tags: bloom-filter)
18:45
Add VdbeCoverage() macros. Adjust the Bloom-filter hash function so that it correctly deals with zero-blobs. (check-in: 629ee2e3e3 user: drh tags: bloom-filter)
18:40
Add design doc for shell extensibility (check-in: 96b8ffb054 user: larrybr tags: cli_extension)
14:24
Apply the Bloom filter only on those terms of an index that have equality constraints. (check-in: a70429596a user: drh tags: bloom-filter)
13:52
Add the "WITH BLOOM FILTER" clause to the EXPLAIN QUERY PLAN output for cases were a Bloom filter is used. (check-in: 8e078c0e40 user: drh tags: bloom-filter)
13:43
First attempt to use Bloom filters to optimize star-schema queries. (check-in: 28161fba9b user: drh tags: bloom-filter)
2021-12-03
19:27
Extension interface tweaks in support of planned usage (check-in: ce2a91438a user: larrybr tags: cli_extension)
19:10
Merge the sqlite3WhereBegin() simplification from trunk. (check-in: 41ba2dfdd3 user: drh tags: bloom-filter)
18:53
Factor the noop-join-elimination optimization out of the sqlite3WhereBegin() routine and into a separate "no-inline" subroutine, in order to reduce the complexity of sqlite3WhereBegin() and thereby encourage C compilers to inline sqlite3WhereCodeOneLoopStart(). (check-in: 6225e9abcb user: drh tags: trunk)
16:02
Merge recent trunk enhancements into the bloom-filter branch. (check-in: 11d97fb8be user: drh tags: bloom-filter)
15:48
Fix exprAnalyze() after recent performance enhancements so that it is able to handle IF_NULL_ROW opcode correctly, again. (check-in: 8029e6bab5 user: drh tags: trunk)
14:57
Fix unreachable branches resulting from prior optimizations. (check-in: f3d6853ee8 user: drh tags: trunk)
14:43
Fix an over-length source code line in build.c. No logic changes. (check-in: b9db5c5fc6 user: drh tags: trunk)
13:42
Performance optimization in the B-Tree cursor allocator btreeCursor(), making it about 800K CPU cycles faster in speedtest1, and reducing the executable size by about 100 bytes. (check-in: 9df939716a user: drh tags: trunk)
2021-12-02
20:30
Make shell buildable, fix a potential leak-to-be (check-in: eab1e1af5b user: larrybr tags: cli_extension)
18:15
Optimizations to exprAnalyze() and sqlite3WhereExprUsage() save about 1.5 million CPU cycles for speedtest1, and result in a smaller binary. (check-in: 1f2252e65d user: drh tags: trunk)
18:09
Merge for CLI fix. (check-in: 98cf18611d user: larrybr tags: cli_extension)
14:28
Move the TK_IS token so that it is adjacent to the TK_IN token, as this allows the C compiler to optimize better, resulting in a slightly smaller and faster executable. (check-in: 8832fa9088 user: drh tags: trunk)
14:16
In the shell tool, avoid modifying internal data structures until after the arguments to ".open" have been parsed. (check-in: fcc509d325 user: dan tags: trunk)
13:45
Remove an unnecessary branch from exprAnalyze(), resulting in a small performance gain. (check-in: 3312be1db3 user: drh tags: trunk)
12:55
Small performance optimization in sqlite3WhereClauseClear(). (check-in: 080b35e62e user: drh tags: trunk)
12:34
More small performance optimizations for sqlite3WhereGetMask(). (check-in: 3de2c557d9 user: drh tags: trunk)
04:00
Small performance optimization in sqlite3WhereGetMask(). (check-in: 7edec54ab0 user: drh tags: trunk)
02:22
Small performance enhancement for whereScanInit(). (check-in: ed84e124c6 user: drh tags: trunk)
01:30
Performance improvement in query planning. (check-in: ca59533bbb user: drh tags: trunk)
2021-12-01
21:07
Merge trunk fixes into the bloom-filter branch. (check-in: 0864bfbf07 user: drh tags: bloom-filter)
19:17
Check for foreign key constraint errors prior to returning the results from a RETURNING clause. See forum post 793beaf322. (check-in: a818ba2ed6 user: drh tags: trunk)
17:46
Extensible shell builder changes in prep for actual extension load (check-in: 00c5af1f7e user: larrybr tags: cli_extension)
16:31
Add a Bloom filter to the automatic-index mechanism. (check-in: 50ac4de1d7 user: drh tags: bloom-filter)
11:03
Add the "static" qualifier to some internal functions in code for various SQLite extensions. (check-in: 8c98678254 user: dan tags: trunk)
2021-11-30
23:00
Merge in 3.37 release (check-in: 15780cb2bb user: larrybr tags: cli_extension)
22:57
Port recent improvements to extensible shell (check-in: bfa94f3d1f user: larrybr tags: cli_extension)
14:07
In the automatic index generator logic, be more precise about when a partial automatic index is allowed in order to capture more cases where it is legal to use a partial automatic index. (check-in: 664b461bb5 user: drh tags: trunk)
2021-11-29
18:09
Merge in the proposed date/time function enhancements: (1) Add the unixepoch() function, (2) the 'auto' modifier and (3) the 'julianday' modifier. (check-in: 19c51b46e4 user: drh tags: trunk)
17:55
Bump the version number up to 3.38.0 in order to begin the next development cycle. (check-in: 8ad1fcaa1b user: drh tags: trunk)
17:23
Add the unixepoch() function and the 'auto' and 'julianday' modifiers. (Closed-Leaf check-in: 559fdc0aa7 user: drh tags: unixepoch)
2021-11-28
19:54
Following a prior error, an ALWAYS() in sqlite3ExprCanBeNull() might be false. dbsqlfuzz 5dbec6678a20e7595a34dfdd869a3b9722b3ca43. (check-in: 4e207401ac user: drh tags: trunk)
2021-11-27
15:12
Merge version 3.37.0 into the reuse-schema branch. (check-in: f83d50d507 user: drh tags: reuse-schema)
15:11
Merge version 3.37.0 into the begin-concurrent-pnu-wal2 branch. (check-in: 2171996a02 user: drh tags: begin-concurrent-pnu-wal2)
15:00
Merge version 3.37.0 into the wal2 branch. (check-in: 3425af625b user: drh tags: wal2)
14:56
Merge version 3.37.0 into the begin-concurrent-report branch. (check-in: 126d7a1d88 user: drh tags: begin-concurrent-report)
14:48
Merge version 3.37.0 into the begin-concurrent-pnu branch. (Closed-Leaf check-in: 910001f283 user: drh tags: begin-concurrent-pnu)
14:45
Merge version 3.37.0 into the begin-concurrent branch. (check-in: c5f2ad1942 user: drh tags: begin-concurrent)
14:13
Version 3.37.0 (check-in: bd41822c74 user: drh tags: trunk, release, major-release, version-3.37.0)
12:03
Fix a harmless comment typo. (check-in: 7c567338ae user: drh tags: trunk)
2021-11-26
20:26
Add platform "Darwin-arm64" to test/releasetest_data.tcl. (check-in: 1d5c9aacb8 user: drh tags: trunk)
17:10
Improved defenses against integer overflow when computing the size of a memory allocations. No bugs were fixed here. But perhaps future bugs will be prevented. (check-in: eb878c01f3 user: drh tags: trunk)
15:08
Fixes to internal comments. No changes to code or documentation. (check-in: 1489b196ce user: drh tags: trunk)
2021-11-24
21:16
Avoid splitting Failure-Detection test cases in wapptest.tcl. (check-in: 654e6cf8ab user: dan tags: trunk)
11:33
Update Makefile.msc to support target "tcltest" in the same way as the autoconf build system. (check-in: 0f131b9225 user: dan tags: trunk)
2021-11-23
22:28
Changes a test pattern for RBU so that it works regardless of whether newer TCL versions are used. (check-in: 5a9921c92a user: drh tags: trunk)
12:59
Fix a compiler warning in the dbserialize method of the TCL interface. (check-in: ba71d030fe user: drh tags: trunk)
11:34
Exclude two recently added tests in where.test from valgrind runs. They fail due to the subtly different handling of real numbers under valgrind. (check-in: e842d2085b user: dan tags: trunk)
2021-11-22
17:08
Merge trunk enhancements into the begin-concurrent-report-wal2 branch. (check-in: 9b2ffa8477 user: drh tags: begin-concurrent-report-wal2)
17:01
Merge trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: 8a9fad0f71 user: drh tags: begin-concurrent-pnu-wal2)
16:50
Omit wal mode tests in memdb1.test for builds and configurations that do not support wal mode. (check-in: 0f13c0d9fd user: dan tags: trunk)
16:48
Omit wal mode tests in vacuum-into.test for builds and configurations that do not support wal mode. (check-in: 65de176354 user: dan tags: trunk)
16:47
Merge trunk enhancements into the wal2 branch. (check-in: 135133b7a6 user: drh tags: wal2)
16:43
Do not attempt to run the tests in alterfault.est with SQLITE_OMIT_ALTERTABLE builds. (check-in: 6f6f31c7df user: dan tags: trunk)
16:39
Merge the latest trunk enhancements into the begin-concurrent-report branch. (check-in: ddc11f5599 user: drh tags: begin-concurrent-report)
16:27
Fix a typo in memdb1.test preventing tests from passing with -DSQLITE_DEFAULT_AUTOVACUUM=1 builds. (check-in: eff4187c50 user: dan tags: trunk)
16:27
Merge the latest trunk enhancements into the begin-concurrent-pnu branch. (check-in: aa045e7b09 user: drh tags: begin-concurrent-pnu)
16:14
Merge the latest trunk changes into the begin-concurrent branch. (check-in: 8f3e68424a user: drh tags: begin-concurrent)
16:06
There are two possible error messages from stat-9.1, depending on compile-time options. Adjust the test case to accept either one. (check-in: 0f567b6107 user: drh tags: trunk)
16:05
Merge recent trunk enhancements into the reuse-schema branch. (check-in: d08832cb93 user: drh tags: reuse-schema)
13:59
In fuzzcheck, improve the defense against long delays due to rogue busy_timeout macros in fuzzer-generated scripts. (check-in: 3024d7ca03 user: drh tags: trunk)
13:35
Fix the build for SQLITE_OMIT_CTE. (check-in: d7ef96bae4 user: drh tags: trunk)
12:59
In the previous check-in, do not overwrite the SQLITE_CORRUPT signal with an SQLITE_OK before exiting fts3auxNextMethod(). (check-in: 396688ae5c user: drh tags: trunk)
08:12
Fix a crash in the fts3aux code that could occur handling corrupt records. (check-in: cdcd65b89e user: dan tags: trunk)
2021-11-20
13:30
New test cases for STRICT and NOT NULL in PRIMARY KEY. (check-in: 0eafbc2f31 user: drh tags: trunk)
2021-11-19
19:11
Small performance increase and size reduction for sqlite3ExprCompare(). This change also handles some corner cases without the need for ALWAYS(). (check-in: d814ba6eff user: drh tags: trunk)
14:02
Fix a benign data race in os_unix.c that might trouble tsan and similar tools. (check-in: 95806ac1da user: dan tags: trunk)
2021-11-18
20:56
Minor tweaks to the way auxiliary tools are built, to make it easier to customize the builds without having to alter the code. (check-in: 90b06b6f42 user: drh tags: trunk)
20:11
Fix a performance regression in rtree introduced by the previous commit. (check-in: 7f42b8e1a2 user: dan tags: trunk)
19:15
Fix a problem slowing down the handling of == constraints in the rtree module. (check-in: 509027e964 user: dan tags: trunk)
15:40
Improve CSV quoting in the CLI using the strstr() function. (check-in: b7927bf910 user: drh tags: trunk)
13:25
Fix an obscure problem associated with quoting of CSV output in the CLI. (check-in: 38a9b66021 user: drh tags: trunk)
2021-11-17
14:21
Apply the begin-concurrent-report patch to the wal2 branch. (check-in: 8eef878213 user: dan tags: begin-concurrent-report-wal2)
2021-11-16
13:36
Fix a problem causing an OOM within an ALTER TABLE ADD COLUMN command that adds a column with a CHECK constraint to go unreported. (check-in: a33f5e93ec user: dan tags: trunk)
2021-11-15
19:10
Strengthen the sticky-CORRUPT idea of check-in [3feb0f1c3840904d] by automatically changing the first COMMIT after an SQLITE_CORRUPT error into a ROLLBACK. (check-in: bd66ab8a1b user: drh tags: trunk)
18:50
Small performance optimization in sqlite3VdbeHalt(). (check-in: 9e1ecf438c user: drh tags: trunk)
14:11
Fix a problem causing the count(*) optimization to be misapplied in some cases where an aggregate sub-query uses a count() expression that is aggregated against the outer query. (check-in: e30917278c user: dan tags: trunk)
13:22
Improved context shown for the "ABORT-due-to-error" output line when using "PRAGMA vdbe_debug=on" in an SQLITE_DEBUG build. (check-in: c7776369bc user: drh tags: trunk)
01:45
Fix a faulty JSON assert() added 30 days ago by check-in [7b8ea2298927fd34]. dbsqlfuzz f30366e7b02562398a387ddcc681422fd4251190. (check-in: 0e0c23fcc4 user: drh tags: trunk)
2021-11-12
14:39
Improved handling of OOM while reallocating a column name to add type information. dbsqlfuzz 5a195b4233649e49e0aa34f1b743ca192d85b198 (check-in: 5995dd4de4 user: drh tags: trunk)
2021-11-11
23:52
Make sure the rowid value returned by the VUpdate opcode is always initialized. (check-in: 150b5be5d5 user: drh tags: trunk)
16:26
Remove a NEVER() that was add yesterday. The fuzzer found a new test case to make it happen. (check-in: 83e6ac7107 user: drh tags: trunk)
11:23
New assert() statements to help prove correct usage of VdbeCursor objects. (check-in: 7cee62f77a user: drh tags: trunk)
2021-11-10
15:23
Load new test cases into test/fuzzdata8.db (check-in: 8b53ffe99d user: drh tags: trunk)
10:59
Make SQLITE_CORRUPT sticky: If a CORRUPT error is returned, all subsequent write statements within the same transaction also fail early with SQLITE_CORRUPT. (check-in: 3feb0f1c38 user: drh tags: trunk)
2021-11-09
15:36
Merge all recent trunk changes into the begin-concurrent-report branch. (check-in: 122f4a762a user: drh tags: begin-concurrent-report)
15:26
Merge all recent trunk enhancements into the begin-concurrent-pnu branch. (check-in: b9802d0b47 user: drh tags: begin-concurrent-pnu)
15:18
Merge all recent trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: 07bc13395d user: drh tags: begin-concurrent-pnu-wal2)
15:06
Merge all recent trunk enhancements into the begin-concurrent branch. (check-in: 2d0c8f3099 user: drh tags: begin-concurrent)
14:52
Merge the walIndexPage() enhancement from trunk into the begin-concurrent branch. (check-in: ff2238397f user: drh tags: begin-concurrent)
14:36
Merge all trunk enhancements prior to the walIndexPage() fix into the begin-concurrent branch. (check-in: 6603f00581 user: drh tags: begin-concurrent)
14:00
Merge recent trunk enhancements into the reuse-schema branch. (check-in: 748bce4c01 user: drh tags: reuse-schema)
13:52
Merge the latest trunk enhancements into the wal2 branch. (check-in: 0894f59569 user: drh tags: wal2)
13:31
Change test case error message text to match the current implementation. (check-in: de10795a1c user: drh tags: trunk)
01:48
Fix lempar.c so that Lemon can compile with NDEBUG defined. Forum post f331adca0b (check-in: ba4fb51853 user: drh tags: trunk)
2021-11-08
23:24
Refactor the code that figures out which SELECT in a cascade of nested queries a particular aggregate function belongs to. This fixes the problem reported by forum post c7cc2aa3546e39c1. New test cases in dbsqlfuzz and th3. (check-in: 74aec5dd1d user: drh tags: trunk)
19:35
Fix the zeroblob() function and related APIs so that they work with SQLITE_OMIT_INCRBLOB builds. (check-in: bc401a75dd user: dan tags: trunk)
16:38
Add assert()s that verify that cursor numbers on subqueries are always greater than outer cursor numbers. Except, this is not always true in the presence of query flattening. We might need to relax that constraint. This branch will probably become a dead-end. For now it is saved for reference. (Closed-Leaf check-in: 6f4369666e user: drh tags: well-ordered-cursors)
15:46
Fix an assert() in memdbTruncate() that could fail when processing a corrupt database. (check-in: b1e2929860 user: dan tags: trunk)
2021-11-07
23:33
Ensure that the window function rewrite does not leave the parse tree in an invalid state that might cause problems downstream before the error is recognized and unwinds the stack. Also take steps such that an invalid parse tree does not cause problems even if it goes unrecognized. Forum post 398e9d5aa9. (check-in: 0f9fc6b607 user: drh tags: trunk)
2021-11-06
20:25
Add ALWAYS() to a branch made unreachable by the previous check-in. (check-in: 0dc963f63a user: drh tags: trunk)
18:22
Return an error if an attempt is made to drop an eponymous virtual table. (check-in: 889dea52de user: dan tags: trunk)
16:46
Merge further changes from trunk into this branch. (check-in: 700876b79c user: dan tags: wal2)
16:36
Merge change [6979efbf07d93e7a] from trunk to this branch. (check-in: 2bb2448d60 user: dan tags: wal2)
16:10
Merge changes from trunk into this branch. (check-in: 52667bce48 user: dan tags: wal2)
11:58
Add the rbu_exclusive_checkpoint query parameter to RBU. (Leaf check-in: c15806a45a user: drh tags: reuse-schema-3.36)
10:59
Avoid accessing the sqlite3_module.xShadowName field if (sqlite3_module.iVersion<3). (check-in: a024764cef user: drh tags: trunk)
07:08
Avoid accessing the sqlite3_module.xShadowName field if (sqlite3_module.iVersion<3). (check-in: b1fc3de81e user: dan tags: reuse-schema)
2021-11-05
23:32
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: ca09148e13 user: drh tags: reuse-schema)
22:35
Add the rbu_exclusive_checkpoint query parameter to RBU. (check-in: c2d33ea9d8 user: drh tags: trunk)
22:23
New test cases for rbu_exclusive_checkpoint query parameter. (Closed-Leaf check-in: 00285ff10c user: drh tags: rbu_exclusive_checkpoint)
19:52
Update an assert() statement to conform to the changes of the previous check-in. (check-in: b5c668cac8 user: drh tags: trunk)
19:36
Add the SQLITE_OPEN_EXRESCODE flag for sqlite3_open_v2(). (check-in: ff9373f42d user: drh tags: trunk)
19:04
If the target database URI passed to sqlite3rbu_open() is contains the option "rbu_exclusive_checkpoint=1", hold an exclusive lock for the duration of any incremental checkpoint operation. (check-in: 7cb77296a2 user: dan tags: rbu_exclusive_checkpoint)
14:13
Update sqllimits1.test to account for recent changes to SQL function strftime(). (check-in: 7bba415f91 user: dan tags: trunk)
12:34
Use the FTS_CORRUPT_VTAB macro rather than a direct call to sqlite3Fts3Corrupt() in [2fad2a89527757b3] so that the build works in all cases. (check-in: 029c59cdf9 user: drh tags: trunk)
11:52
Remove an incorrect NEVER() reported at forum post 5bbabfb7ce. Also use this opportunity to improve the isSimpleCount() function with better formatting, an expanded header comment, and some extra assert() and textcase() macros. (check-in: 2927185be8 user: drh tags: trunk)
11:26
Fix vacuum3.test so that it works with SQLITE_OMIT_ALTERTABLE builds. (check-in: 07cca2fa89 user: dan tags: trunk)
11:18
Update a test case in sqllimits1.test to account for the updated implementation of SQL function strftime() (check-in: f474ac370a user: dan tags: trunk)
10:43
Fix a couple of problems with test scripts and SQLITE_OMIT_ALTERTABLE builds. (check-in: 3ab5414d33 user: dan tags: trunk)
2021-11-04
18:04
Fix a crash that could occur in fts3 when processing a corrupt database. (check-in: 2fad2a8952 user: dan tags: trunk)
16:25
Fix corruptN.test so that it works with SQLITE_DEFAULT_AUTOVACUUM=1 builds. (check-in: f60e05bdba user: dan tags: trunk)
16:15
Update a test case in corruptN.test to account for the fact that if writable_schema=1 is set, no error is raised if a DELETE statement finds that an index entry is missing ([19e56291a7344c7a]). (check-in: a90c5f0b5b user: dan tags: trunk)
16:03
Have wapptest.tcl avoid attempting to build fuzztest for SQLITE_OMIT_VIRTUALTABLE configurations. (check-in: 53ee208d4e user: dan tags: trunk)
15:17
Fix typo in the sqlite3ext.h file. forum post 63802db4ce (check-in: d4a48ee0c2 user: drh tags: trunk)
14:04
Show the preferred schema table names in the output of "PRAGMA table_list". (check-in: 9147390d98 user: drh tags: trunk)
11:34
Change a branch made unreachable by the previous check-in into an assert(). (check-in: 685a987c9a user: drh tags: trunk)
00:51
First the shadow table mechanism so that it works even if the shadow table comes before the virtual table in the sqlite_schema table, as can happen after a VACUUM. (check-in: 005a864277 user: drh tags: trunk)
2021-11-03
16:35
Remove two incorrect assert() statements added by a check-in from earlier today. (check-in: 3206edff94 user: drh tags: trunk)
15:59
Improved the error message that results when a schema parse fails after ALTER TABLE ADD COLUMN. (check-in: b007a39dd3 user: drh tags: trunk)
14:02
Fix INSERT into STRICT table with STATIC generated columns. (check-in: 24285d9136 user: drh tags: trunk)
12:50
Add the --strict option to speedtest1.c (check-in: a247b5d88c user: drh tags: trunk)
11:43
Fix an issue in PRAGMA integrity_check associated reporting NULL values in a NOT NULL column of type ANY in a STRICT table. (check-in: 5dff1f6673 user: drh tags: trunk)
2021-11-02
22:24
Correctly handle SeekScan on an IN operator of the middle term of an index when the right-most term is a range constraint. Fix for ticket [5981a8c041a3c2f3]. (check-in: aa24660e76 user: drh tags: trunk)
20:52
Proposed fix for a problem associated with OP_SeekScan that results in an incorrect answer. See ticket [5981a8c041a3c2f3]. (Closed-Leaf check-in: 266e9cbada user: drh tags: seekscan-fix-20211102)
17:55
Ensure that ALTER TABLE RENAME recognizes OOM errors while parsing dependent triggers and handles them appropriately. dbsqlfuzz 53e245eee15d3f19639d773048aa955c30708785. (check-in: 1d9004cd01 user: drh tags: trunk)
14:01
Fix a minor memory leak in the shell tool. Omit running fuzztest as part of the Device-One release test configuration, as it is now incompatible with SQLITE_OMIT_VIRTUALTABLE. (check-in: 4d70f27b7b user: dan tags: trunk)
11:24
Add the --remove and --glob options to the .archive command in the CLI. (check-in: ea7b12cdf8 user: drh tags: trunk)
11:09
Add #ifdef logic to os_unix.c so that it builds with SQLITE_OMIT_WAL defined. (check-in: 948c2cb2a2 user: dan tags: trunk)
10:54
Fix a minor typo in a comment. (Closed-Leaf check-in: 06a5bf4348 user: drh tags: archive_remove)
10:47
Add recent dbsqlfuzz cases to test/fuzzdata8.db. (check-in: 8c3f2536d2 user: drh tags: trunk)
07:32
Fix a broken assert() in fts5 that could fail if the snippet() function were used with a query phrase containing 0 tokens on a detail=none or detail=col table. (check-in: 0a5b94b99c user: dan tags: trunk)
00:18
Add globbing option to shell's .archive command. (check-in: 13fb74ac5e user: larrybr tags: archive_remove)
2021-11-01
22:33
zap trailing whitespace (check-in: f2a908e9c8 user: larrybr tags: archive_remove)
22:30
Add a test for .ar -r and fix a use-of-uninitialized-variable bug (check-in: 978d5ed437 user: larrybr tags: archive_remove)
17:22
Add --remove subcommand to shell's .archive command (check-in: 23525449b8 user: larrybr tags: archive_remove)
12:53
The VVA() macro in json1.c must be active during SQLITE_COVERAGE_TEST because it affects the outcome of testcase() macros. (check-in: 92c3d25379 user: drh tags: trunk)
2021-10-30
20:22
Add the sqlite3_autovacuum_pages() interface. (check-in: ca2703c339 user: drh tags: trunk)
18:17
Fix an incorrect assert() statement in sqlite3GenerateConstraintChecks(). dbsqlfuzz 4190cff310aeab359a55f354e560db95d3a6f47d (check-in: 623c0d086b user: drh tags: trunk)
17:58
Fix a memory leak in test code on this branch. (Closed-Leaf check-in: 60cd9da925 user: dan tags: autovacuum-pages-callback)
17:30
Merge trunk changes into this branch. (check-in: 638c1b0c50 user: dan tags: autovacuum-pages-callback)
2021-10-29
16:19
Reorder a test add earlier today to OP_Transaction for easier testing. (check-in: 8ba73b3cad user: drh tags: trunk)
14:04
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 7623132efe user: drh tags: reuse-schema)
13:10
Allow "VACUUM INTO" to change the page_size of a database even if the original database is in WAL mode. Enhancement suggested by forum post 033f2c9d1f. (check-in: efc7e8c99a user: drh tags: trunk)
12:29
Add pragmas "multiplex_enabled", "multiplex_chunksize", and "multiplex_filecount" to the multiplexer implementation. (check-in: 39c5e80dbf user: drh tags: trunk)
09:59
Fix the OP_Transaction opcode so that if an error other than SQLITE_SCHEMA occurs first, the original error is not overwritten by SQLITE_SCHEMA. dbsqlfuzz 85bf7e262017c6c7bddb03ff6d8541511985d36c. (check-in: 5374226df4 user: drh tags: trunk)
2021-10-28
19:49
Fix .import -skip issue reported at https://sqlite.org/forum/forumpost/4c0816c24fc9d16f?t=h (check-in: 3aadbe17ed user: larrybr tags: trunk)
12:07
Minor changes to make it easier for static analyzers to reason about the code. (check-in: ba4104aa02 user: drh tags: trunk)
00:09
Ensure that the WAL code correctly handles all possible outcomes from the walIndexPage() routine. (check-in: 6979efbf07 user: drh tags: trunk)
2021-10-27
23:55
Ensure that all possible outcomes for walIndexPage() are accounted for by callers. (Closed-Leaf check-in: 12715c6b23 user: drh tags: wal-tuneup)
20:23
Avoid the 1-based indexing on the WalHashLoc.aPgno[] array. Make it 0-indexed instead. (check-in: 28f5f709b4 user: drh tags: wal-tuneup)
19:57
Improve the comment on walIndexPage() to more accurately describe the post-conditions. (check-in: b619e93645 user: drh tags: wal-tuneup)
19:05
New assert()s to help prove correctness in sqlite3VdbeMemExpandBlob(). (check-in: 7238d58051 user: drh tags: trunk)
17:15
Fix the build for various the OMIT-everything compile-time option. No impact on regular builds. (check-in: 947805719b user: drh tags: trunk)
15:19
Fix a harmless compiler warning in memdb.c. (check-in: 22fdc658a7 user: drh tags: trunk)
15:16
Fix a harmless compiler warning in fuzzcheck. (check-in: 1cfb7e8a09 user: drh tags: trunk)
13:16
Change fuzzcheck so that it accepts binary dbsql files. (check-in: c87a2426b8 user: drh tags: trunk)
12:05
Add the --script option to fuzzcheck. (check-in: 5a9676bd49 user: drh tags: trunk)
2021-10-26
22:36
Enhance fuzzcheck so that if an argument is an ordinary disk file (not a database) it is read in and processed as a script. (check-in: 978dc89df5 user: drh tags: trunk)
17:36
Improved CLI error messages. (check-in: 8443a2724f user: drh tags: trunk)
16:57
Add phase and error number to CLI error messages. (Closed-Leaf check-in: 7f87a29868 user: larrybr tags: detail_cli_errors)
10:16
Fix an RBU problem with restarting an update after the *-oal file is already larger than 4GiB. (check-in: 0e79584a2b user: drh tags: reuse-schema-3.36)
10:02
Fix an RBU problem with restarting an update after the *-oal file is already larger than 4GiB. (Leaf check-in: e466260313 user: drh tags: branch-3.36)
09:53
Fix the busy_timeout restriction on fuzzcheck so that it can deal with hexadecimal integer literals. (check-in: 4b41535b09 user: drh tags: trunk)
2021-10-25
18:51
Remove a NEVER() in rebuildPage that is reachable, as is demonstrated by dbsqlfuzz case beac09b2756b5d285aa68f9737fdb06c972f159a. (check-in: ac3f617827 user: drh tags: trunk)
12:54
Do not allow large busy_timeout pragmas in fuzzcheck, as they accomplish nothing other than making the tests unnecessarily slow. (check-in: fba441bf9f user: drh tags: trunk)
2021-10-23
22:14
Improve the authorizer filter for ATTACH on fuzzcheck. (check-in: 87d49e8087 user: drh tags: trunk)
22:11
Provide an assert() to fire for applications that should never open or create a disk-based database file. (check-in: 5218ac788c user: drh tags: trunk)
20:32
The pager now remembers when a VFS reports that a database file is SQLITE_OPEN_MEMORY and treats that database as an in-memory database. (check-in: 967b656238 user: drh tags: trunk)
17:46
Fix the memdb VFS so that it does not allow mmap if it is resizable, and so that it never opens a disk file for any reason. (check-in: 5ee14715a5 user: drh tags: trunk)
11:30
Update fuzzcheck so that it allows ATTACH statements with memdb filenames. (check-in: 31671237e5 user: drh tags: trunk)
2021-10-22
11:17
Fix harmless compiler warnings. Improve the independence of some TCL tests. (check-in: 1a038242dc user: drh tags: trunk)
2021-10-21
20:08
Enable FTS5 for fuzzcheck. (check-in: 559ba38b8a user: drh tags: trunk)
19:48
Fix the previous check-in so that it works with virtual tables that add new shadow tables the first time they are referenced. (check-in: f73b499e53 user: drh tags: trunk)
17:01
Fix the new "table_list" pragma so that it shows the correct number of columns for views and virtual tables even when the object has not been previously used. (check-in: fb0ed8c55f user: drh tags: trunk)
14:37
Merge all recent trunk changes into the begin-concurrent-report branch. (check-in: 0770f320b9 user: drh tags: begin-concurrent-report)
14:27
Merge trunk enhancements into begin-concurrent-pnu branch. (check-in: 4d972744c3 user: drh tags: begin-concurrent-pnu)
14:24
Merge trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: 1958e6faca user: drh tags: begin-concurrent-pnu-wal2)
14:13
Merge recent trunk enhancements into begin-concurrent branch. (check-in: ae4eed0b7e user: drh tags: begin-concurrent)
14:10
Merge recent trunk enhancements into the reuse-schema branch (check-in: cd15fc3c08 user: drh tags: reuse-schema)
14:01
Merge recent trunk enhancements into the wal2 branch. (check-in: 7e2bc836f6 user: drh tags: wal2)
2021-10-20
20:22
Fix an incorrect JSON assert() that was added 5 days ago by check-in [7b8ea2298927fd34]. (check-in: e162da3ab4 user: drh tags: trunk)
18:17
Fix the finish_test proc in tester.tcl so that it works for Windows test builds. Fix for problem introduced yesterday by check-in [3658417bf300e004]. (check-in: f52b84e69e user: drh tags: trunk)
17:58
Enabled the testcase() macros under SQLITE_DEBUG. (check-in: 0ae8dd132d user: drh tags: trunk)
13:48
Fix a problem with the CARRAY extension when the SQLITE_TRANSIENT destructor is used for non-text arrays. Forum thread 48e525b266. (check-in: cac910c15f user: drh tags: trunk)
12:52
Ensure that valid bytecode is generated for RETURNING clauses even if the schema is corrupt and PRAGMA writable_schema is set so that the schema parse returns no errors. dbsqlfuzz cb21825bdcd6fdb4b686ce4f6e2f45e781d2f220 (check-in: 699117156e user: drh tags: trunk)
11:40
Fix a case in the fts3 offsets() function where a corrupt database record could lead to dereferencing an uninitialized pointer. (check-in: 7b7d31a615 user: dan tags: trunk)
2021-10-19
19:26
Merge multi-module test logic improvements from trunk. (check-in: e00a44ac10 user: drh tags: autovacuum-pages-callback)
18:59
Improved cleanup in finish_test so that specifying multiple test modules on the "./testfixture" command-line is more likely to work. (check-in: 3658417bf3 user: drh tags: trunk)
18:53
Fix permutations.test so that it can be called with a test file pattern that uses square brackets. (check-in: 55b6241871 user: dan tags: trunk)
18:40
Update test scripts to unregister the test devsim VFS after it is used. (check-in: bb0e18ae4a user: dan tags: trunk)
18:00
Merge trunk enhancements into the autovacuum-pages-callback branch. (check-in: c26c9e5040 user: drh tags: autovacuum-pages-callback)
2021-10-17
10:31
Remove an incorrect assert() added 4 days ago by check-in [9e2f06b84f994277]. Replace it with a testcase() macro. (check-in: 03dff7196b user: drh tags: trunk)
2021-10-16
19:50
Fix a harmless scan-build warning in FTS5. (check-in: 0bf42bb561 user: drh tags: trunk)
18:53
Add NEVER() macros on branches that become unreachable due to the previous check-in. (check-in: 5fa272cc03 user: drh tags: trunk)
17:09
Have the btree layer detect when a "DELETE FROM tbl" statement is clearing a database page that is still in use (due to database corruption) and report SQLITE_CORRUPT. (check-in: a6fda39e81 user: dan tags: trunk)
13:59
Fix an assert() in fts5 that could fail with a corrupt database. (check-in: e99979855d user: dan tags: trunk)
2021-10-15
23:02
Demostrate a prototype sqlite3_autovacuum_pages() interface. (check-in: bb6f2b8b48 user: drh tags: autovacuum-pages-callback)
17:06
Protect the WhereTerm.u union using nearby assert()s and/or branches. (check-in: 8a56de5b9c user: drh tags: trunk)
16:15
Protect the JsonNode.u union using nearby assert()s and branches. (check-in: 7b8ea22989 user: drh tags: trunk)
2021-10-14
21:13
Fix a signed integer overflow in fts5 leading to a segfault that could occur when processing corrupt records. (check-in: 69a3ff0cc1 user: dan tags: trunk)
19:28
Protect access to the WhereLoop.u union using nearby assert()s and branches. (check-in: bdd840216c user: drh tags: trunk)
17:30
Update requirement marks. No changes to code. (check-in: 3a6887a543 user: drh tags: trunk)
2021-10-13
20:29
New tests added to test/fuzzdata8.db. (check-in: e944d71760 user: drh tags: trunk)
20:11
Convert an assert() into a corruption detection branch in sqlite3BtreePayload(). dbsqlfuzz 848171b5d58f6e4a62257466e0e7de16696d4f02. (check-in: f038d7f90e user: drh tags: trunk)
15:09
Attempt to clarify the sqlite3_open_v2() documentation so that people do not come away with the idea that SQLITE_OPEN_EXCLUSIVE is an allowed bit value for the 3rd argument bitmask. (check-in: 1310a126de user: drh tags: trunk)
14:45
Back out the SQLITE_OPEN_EXCLUSIVE changes because it does not work on Windows and it does not work always on unix. (check-in: d008ad793d user: drh tags: trunk)
14:01
Remove a NEVER() macro in ALTER TABLE due to an obscure case of a nested CTE inside an UPDATE within a trigger. dbsqlfuzz e89174cbfad2d904f06b5e24df0a22510b6a1c1e (check-in: 9e2f06b84f user: drh tags: trunk)
13:00
The sqlite3_result_text() routine (and similar) should record OOM errors in addition to SQLITE_TOOBIG errors. dbsqlfuzz (check-in: eca4343626 user: drh tags: trunk)
2021-10-12
22:55
Fix the group_concat() inverse function implementation so that it correctly handles BLOB inputs when database text encoding is UTF16. (check-in: 38a1326b4b user: drh tags: trunk)
18:05
Fix an incorrect assert() in SQLITE_ENABLE_SORTER_REFERENCES logic - a new assert() introduced 5 days ago by [87e2f5eb436fc448]. (check-in: 7cfc839e5f user: drh tags: trunk)
11:30
Fix a use-after-free in fts3 that could follow an optimize() in the middle of a SELECT statement when the hash table is non-empty. (check-in: 8124b2ceb7 user: dan tags: trunk)
02:26
Fix another harmless compiler warning for MSVC. (check-in: b54c0db0fd user: mistachkin tags: trunk)
02:17
Fix harmless compiler warnings in the debug build for MSVC. (check-in: 1ceb73f316 user: mistachkin tags: trunk)
2021-10-11
15:54
Fail a schema parse if a virtual table or view has a positive integer rootpage. (check-in: 0265676040 user: drh tags: trunk)
15:21
Use the IsOrdinaryTable() macro, not a test of tnum, to distinguish tables from views and virtual tables. (check-in: 6189b7809d user: drh tags: trunk)
09:48
New test cases added to test/fuzzdata8.db (check-in: 2e475fecad user: drh tags: trunk)
09:39
Fix an over-zealous assert(). (check-in: e2bb82a409 user: drh tags: trunk)
2021-10-09
16:00
Detect any attempt to use an INDEXED BY clause on a CTE and report an error. (check-in: 35a9de2c97 user: drh tags: trunk)
2021-10-08
18:15
Further to the previous check-in, remove the "harmless()" macro definition as it is no longer used. (check-in: b8c9a54664 user: drh tags: trunk)
18:12
Remove a "harmless()" macro that is no longer relevant. (check-in: 87c357c601 user: drh tags: trunk)
16:39
Add support for "PRAGMA writable_schema=RESET". (check-in: a51b305bd0 user: drh tags: trunk)
16:15
Improved detection of database corruption. (check-in: c7fae46c8a user: drh tags: trunk)
10:25
Minor improvements to comments in the data structure definitions. No changes to code. (check-in: e77ac4050c user: drh tags: trunk)
2021-10-07
23:04
New assert() statements to protect the u1 and u2 unions of SrcList. (check-in: 9b91fbcfcc user: drh tags: trunk)
20:46
Protect access to the Expr.y union using nearby assert()s and branches. (check-in: 87e2f5eb43 user: drh tags: trunk)
19:27
Break the tcl release tests into smaller units to better take advantage of multi-processor systems. (check-in: 03cef1c30d user: dan tags: trunk)
17:43
Protect all accesses to the Expr.x union using nearby assert()s and branches. (check-in: 8eaa1d4a98 user: drh tags: trunk)
14:19
Fix an incorrect assert() on PRAGMA table_xinfo added by the previous check-in. (check-in: f85cb287c5 user: drh tags: trunk)
13:40
Protect all accesses to the FuncDef.u and Expr.u unions using nearby assert()s or branches. (check-in: 9af863f065 user: drh tags: trunk)
12:11
Protect every access to the Table.u union using a nearby assert() or branch. (check-in: 50e08338ae user: drh tags: trunk)
2021-10-06
10:36
Fix a macro typo introduced by [5da112c02f9e8d0b] that prevented coverage tests from working. (check-in: 566e697489 user: drh tags: trunk)
10:04
One corner case for the fix at [8b24c177061c3836] was not quite right. Caught overnight by both OSSFuzz and dbsqlfuzz and repaired here. (check-in: 79e90a8225 user: drh tags: trunk)
2021-10-05
22:51
Fix a harmless typo in a comment. forum post 218c116fdf. (check-in: 8ca0c7d826 user: drh tags: trunk)
18:59
Fix harmless compiler warnings, mostly caused by prior efforts to get static analyzers to run without warnings. (check-in: cddd3b382a user: drh tags: trunk)
18:33
Fix more harmless static-analyzer warnings. As of this check-in, no warnings are generated by scan-build for clang-6 or clang-10. (check-in: a7835bead8 user: drh tags: trunk)
17:41
Fixes for harmless static-analyzer warnings. This also makes the code easier for humans to understand. (check-in: 36177a62fe user: drh tags: trunk)
15:30
Fix separate compilation of json1.c, which was apparently broken by check-in [32f33f356931242b]. (check-in: 0c7ece6792 user: drh tags: trunk)
13:00
Small change to FTS5 to help static analyzers understand that it is not dereferencing a NULL pointer. (check-in: 0d853df1b1 user: drh tags: trunk)
12:34
Ensure that geopoly does not invoke sqlite3_result_error_nomem() with a NULL pointer. (check-in: 2483310d15 user: drh tags: trunk)
11:11
Simplifications to the preupdate_hook logic to make it easier to reason about, and reduce static analyzer warnings. (check-in: 91e3b98e06 user: drh tags: trunk)
2021-10-04
22:34
Fix harmless static-analyzer warnings. (check-in: 32f33f3569 user: drh tags: trunk)
18:59
Merge static-analyzer warning fixes and the new SQLITE_OMIT_AUXILIARY_SAFETY_CHECKS macro. (check-in: 5da112c02f user: drh tags: trunk)
18:57
Some #defines somehow failed to get set correctly in the previous check-in. Fixed here. (Closed-Leaf check-in: 15bbdf9ac8 user: drh tags: fix-warnings)
18:21
Fix harmless static analyzer warnings in sessions, rtree, fts3 and fts5. Add the -DSQLITE_OMIT_AUXILIARY_SAFETY_CHECKS compile-time option to cause ALWAYS() and NEVER() macros to be omitted from the build. (check-in: 1c67f957fc user: drh tags: fix-warnings)
16:14
Fix harmless static analyzer warnings in auxiliary build tools, mkkeywordhash.c and lemon.c. No changes to the SQLite core. (check-in: f2f279b2cc user: drh tags: trunk)
15:08
Fix harmless static analyzer warnings. (check-in: 1ebcde72e2 user: drh tags: trunk)
13:30
The pragma_table_list virtual table should have only one "schema" column. (check-in: 886feffaad user: drh tags: trunk)
13:18
Fix harmless static analyzer warnings. (check-in: 6604a08596 user: drh tags: trunk)
12:16
Merge recent trunk changes into the begin-concurrent-report branch. (check-in: 71b102942c user: drh tags: begin-concurrent-report)
12:09
Merge recent trunk enhancements into begin-concurrent-pnu branch. (check-in: 35ad7bc6e0 user: drh tags: begin-concurrent-pnu)
12:02
Merge recent trunk changes into the begin-concurrent-pnu-wal2 branch. (check-in: bce02eaa0c user: drh tags: begin-concurrent-pnu-wal2)
11:54
Merge recent trunk enhancements into the begin-concurrent branch. (check-in: 4f5ef7aa4c user: drh tags: begin-concurrent)
11:49
Merge recent trunk enhancements into the reuse-schema branch. (check-in: 64234c5c9a user: drh tags: reuse-schema)
11:44
Merge recent trunk enhancements into the wal2 branch. (check-in: 127173e0ba user: drh tags: wal2)
11:10
Fix query plans created by whereShortCut() so that they always check transitive constraints that drive an index. The is analogous to the [f1f9b5de3c59489b] check-in, just for whereShortCut() rather than the full query planner. Fix for the issue described by forum post a65cacbf5e1c41ba. (check-in: 8b24c17706 user: drh tags: trunk)
2021-10-03
22:03
In CLI, ensure correct line-accumulation state whenever line(s) are dumped or processed. And test this. (check-in: be211a9c59 user: larrybr tags: trunk)
00:12
Add the sqlite3ResultStrAccum() internal interface to simplify the the implementation of functions that return strings. (check-in: e548e9299d user: drh tags: trunk)
2021-10-02
18:22
Try to fix a harmless static-analyzer warning in sqlite3BtreeTransferRow(). (check-in: 5906a0152d user: drh tags: trunk)
17:46
Fix a harmless static-analyzer warning in sqlite3ExprCode(). (check-in: 918c22e82a user: drh tags: trunk)
17:34
Remove an unnecessary static buffer from sqlite3VdbeExpandSql(). (check-in: 953a33b7f7 user: drh tags: trunk)
17:12
Make the sqlite3_filename_xxxx() interfaces robust against NULL pointer arguments, even though the documentation says the behavior is undefined in that case. (check-in: dd64c60bab user: drh tags: trunk)
16:39
Fix harmless compiler warnings (check-in: bdb9dc8a02 user: drh tags: trunk)
15:34
Fix CLI line processing. (back to start state after meta-command executes) (check-in: 928c2a3498 user: larrybr tags: trunk)
2021-10-01
22:48
Fix a problem with group_concat() when it is used as a window function with a sliding window, as described by forum thread ccf3b5673ba852cf. (check-in: f47f7f7822 user: drh tags: trunk)
21:01
Fix harmless compiler warnings. (check-in: 94b59691ee user: drh tags: trunk)
20:39
Change things so that SQLITE_OMIT_VIRTUALTABLE implies SQLITE_OMIT_ALTER_TABLE. (check-in: 2f7c946c5f user: dan tags: trunk)
17:06
Fix a potential write outside of array bounds in the --hexdb decoder of the CLI when given corrupt input. (check-in: c7fdd775bb user: drh tags: trunk)
15:05
Fix a buffer overread in fts5 that could occur when processing an "ORDER BY rowid DESC" query against corrupt database records. (check-in: fe098a9334 user: dan tags: trunk)
02:45
Remove unreachable branches in the fixed group_concat() code. (Closed-Leaf check-in: 8bd721c29e user: drh tags: group_concat-fix-legacy)
02:16
Merge updates from trunk (check-in: 35351371c5 user: drh tags: group_concat-fix-legacy)
00:25
Fixes to the version of "varsep" group_concat so that (1) it builds under separate compilation and (2) omits tabs in source code and (3) runs faster than trunk. This variant of the group_concat_varsep branch might be preferred over the tip because it preserves (undocumented) legacy behavior about the position of separators relative to terms. (check-in: 04399cf964 user: drh tags: group_concat-fix-legacy)
2021-09-30
21:42
Adjust 3 query result expectations to reflect changed group_concat() behavior with varying separator. (Closed-Leaf check-in: 86f9c07a4f user: larrybr tags: group_concat_varsep)
18:42
Fix a problem with view handling in SQLITE_OMIT_VIRTUAL_TABLE builds. (check-in: 6e791a24ce user: dan tags: trunk)
17:39
Fix rtreedoc.test so that it works with SQLITE_DEFAULT_AUTOVACUUM=1 builds. (check-in: a300adc211 user: dan tags: trunk)
17:20
Simplify windowed group_concat() by allowing a change in undocumented behavior (fails some new tests) (check-in: 9d8e616738 user: larrybr tags: group_concat_varsep)
10:47
Update a test case in rtreedoc.test to account for the fact that release builds generate fewer VM instructions than debug builds. (check-in: 7d16b30282 user: dan tags: trunk)
2021-09-29
20:17
Add NEVER() macros on branches that are not reachable since [a0df216f7c3f8963]. (check-in: 5d771f3554 user: drh tags: trunk)
19:18
Fix a typo in altertab3.test. (check-in: 18d38b1310 user: dan tags: trunk)
19:15
Have the dbstat module arrange things internally so that there are 256 addressable bytes following each page buffer. This way, small buffer overreads caused by corrupt database pages do not lead to undefined behaviour. (check-in: c4c705abc6 user: dan tags: trunk)
18:33
Fix another problem with ALTER TABLE and vector UPDATE statements within triggers. (check-in: a0df216f7c user: dan tags: trunk)
16:38
Add new test file rtreedoc3.test. (check-in: 5460486986 user: dan tags: trunk)
16:35
Sync w/trunk (check-in: a4c18b2f0c user: larrybr tags: group_concat_varsep)
14:14
Add extra tests for the group_concat() fix on this branch. (check-in: 3d148615f9 user: dan tags: group_concat_varsep)
14:01
Improved testability of changes from check-in [255b0eeed113d83b]. (check-in: bbfd083c26 user: drh tags: trunk)
13:36
Fix an out-of-bounds read in fts5 that could occur when processing corrupt records. (check-in: 9bbc01fb23 user: dan tags: trunk)
00:32
Get group_concat() to handle varying separator lengths when windowing (check-in: 98e0f2bf67 user: larrybr tags: group_concat_varsep)
2021-09-28
10:44
Fix a potential ALTER TABLE problem with expressions like ( (<sub-select>) IN () ). (check-in: df0d7e36db user: dan tags: trunk)
2021-09-27
17:11
Have the dbstat virtual table take a copy of each page buffer that it traverses instead of just a reference to the page-cache object. This avoids problems if an error causes transaction rollback while a dbstat cursor is open. dbsqlfuzz crash-417224040fee04f0f0e62b70265c518893b08769. (check-in: 6ab25f8bd5 user: dan tags: trunk)
15:44
Fix a problem in ALTER TABLE causing table or column references in sub-selects ton the RHS of a vector SET clause in an UPDATE within a trigger (i.e. "SET (a,b) = ( (SELECT...), <expr> )"). (check-in: 255b0eeed1 user: dan tags: trunk)
2021-09-25
20:28
Load recent dbsqlfuzz cases into test/fuzzdata8.db. (check-in: 7a8fcf6d2c user: drh tags: trunk)
20:19
Fix a memory leak in rtree triggered by corrupt database records. dbsqlfuzz 397ad036a9013d7318da30ef84947d2baaaa6d6c. (check-in: 706322c2b5 user: dan tags: trunk)
18:21
Fix a bad interaction between the pager cache and the dbstat module that could lead to a malfunction following an OOM. dbsqlfuzz 9ed3e4e3816219d3509d711636c38542bf3f40b1. (check-in: e03554a6a8 user: dan tags: trunk)
17:07
Add const to parameters on various internal interfaces. (check-in: 70c221c5cf user: drh tags: trunk)
2021-09-24
19:57
Dbsqlfuzz (a097eaad43c3c845b236126df92fb49b25449b0c) found a way to reach the assert() that was added to sqlite3_declare_vtab() by [eb94f4a8174436b1]. This check-in fixes the problem. (check-in: 857d26a68c user: drh tags: trunk)
16:14
Add lots of new "const" on internal function parameters. There is opportunity for many more - this is a work in progress. (check-in: a3c71a673d user: drh tags: trunk)
12:59
Ensure that sqlite_stat1 and sqlite_stat4 are ordinary tables (not views or virtual tables) before trying to load them (dbsqlfuzz bc02a0cde82dee801a8d6f653d2831680f87dca1). This prevents sqlite3_declare_vtab() from running with db->init.busy turned on. Even so, enhance sqlite3_declare_vtab() to be able to deal with db->init.busy being on, in case there are undiscovered paths to that state. Each of these two changes are independently sufficient to prevent the problem fixed by the previous check-in [c7560c1329965ab5] but there is no harm in keeping that third layer of protection in place. (check-in: eb94f4a817 user: drh tags: trunk)
02:14
Ensure that the db->init.azInit array is initialized at all times. dbsqlfuzz 0ad6d441f9bf3dfc32626a9900bc1700495b16f9 (check-in: c7560c1329 user: drh tags: trunk)
2021-09-23
17:27
Commencing dynamic extensibility transition. (a WIP, may not build) (check-in: 5ea71afe96 user: larrybr tags: cli_extension)
2021-09-22
14:43
Fix harmless compiler warnings. (check-in: d678ecca02 user: drh tags: trunk)
14:26
For shell.c.in, define CHAR_BITS to 8 on platforms that do not have that value set by default. This fixes the build on older machines. (check-in: 96610cc825 user: drh tags: trunk)
13:43
Fix harmless compiler warnings in shell.c.in, and a compiler warning in sqlite3expert.c which is a real error, though also harmless. (check-in: 56da0e9c03 user: drh tags: trunk)
13:07
Fix an incorrect assert() in rtree that was added recently by [f7ad73c49507c943]. Change it to testcase(). (check-in: 3aa0bf3a09 user: drh tags: trunk)
10:57
Enhance the TCL-based test harness so that it is possible to list multiple test modules on the "testfixture" command-line and have them all run. For example: "./testfixture test/shell*.test" (check-in: 45caf9b85f user: drh tags: trunk)
10:28
Use sqlite3_snprintf() for the ".changes" output formatting in the shell because it now uses %lld, and some older C compilers do not understand that construct. (check-in: 53dadf8067 user: drh tags: trunk)
2021-09-21
20:03
Fix .expert name collision bug reported at https://sqlite.org/forum/forumpost/05e6f32984561f57?t=h (check-in: 4a3f98ad0d user: larrybr tags: trunk)
19:19
Speed and (slightly) simplify shell's input line early processing. (check-in: a1c7f7f8e1 user: larrybr tags: trunk)
17:26
Add the "PRAGMA table_list" command with its corresponding eponymous table-valued function: "pragma_table_list". (check-in: 2c0e7ae541 user: drh tags: trunk)
2021-09-20
21:42
Accomplish fileio standalone for Win32 with less intervention. (check-in: af5dcc9c2a user: larrybr tags: trunk)
20:15
Allow fileio extension to be a stand-alone DLL for Win32 (check-in: d1cc3105b2 user: larrybr tags: trunk)
2021-09-19
18:31
Adjust shell tests for *Nix and Windows test platform anomaly (Leaf check-in: 577544c5a2 user: larrybr tags: speedy_cli)
2021-09-18
21:35
Sync w/trunk, further streamline shell's resumable prescan. (check-in: 9e00f9f7c0 user: larrybr tags: speedy_cli)
16:15
Further tests for legacy rtree geom callbacks. (check-in: 99d6bb22e8 user: dan tags: trunk)
2021-09-17
21:12
Shell's .read pipe now works for Windows too. (check-in: 929bcc4098 user: larrybr tags: trunk)
20:43
Add tests for legacy geometry callbacks to rtreedoc2.test. (check-in: 6ad00e52ed user: dan tags: trunk)
13:07
Make the affinity() function available even if compiled without SQLITE_DEBUG. Surround the implementation of all test-only SQL functions with #ifndef SQLITE_UNTESTABLE. (check-in: b7e00ef805 user: drh tags: trunk)
2021-09-16
22:23
The dbsqlfuzz fuzzer found a refutation for a recent ALWAYS() macro. (check-in: ebfc18aaa6 user: drh tags: trunk)
20:16
Minor changes to rtree.c so that we can get full branch coverage even when it is compiled without geopoly. (check-in: f05ae9b586 user: drh tags: trunk)
19:50
Add tests to rtreedoc.test. (check-in: b18c6ec460 user: dan tags: trunk)
17:02
Add a single new ALWAYS() to rtree.c, with justification. (check-in: 778e4499cd user: drh tags: trunk)
16:41
Add a tag comment in rtree.c. No changes to code. (check-in: 213410fa9c user: drh tags: trunk)
14:17
Add a reference counter to a structure used internally by the Tcl interface so that it does not segfault if the database connection is closed from any of the various callback scripts that may be invoked. (check-in: e54a33ce56 user: dan tags: trunk)
14:07
Mark an unreachable branch in rtree. (check-in: e6c4afd5b3 user: drh tags: trunk)
13:52
Back out a couple of ALWAYS() macros from [4fab9089868bbb05]. Test case added to TH3. (check-in: d26963a530 user: drh tags: trunk)
13:20
For ALTER TABLE RENAME COLUMN, do not try to filter virtual tables out of calls to sqlite_rename_column(). Let the function filter them itself. The WHERE clause can mistakenly let virtual tables through if the sqlite_schema table is corrupt. The sqlite_rename_column() function must deal with them. We might as well let it deal with them always. (check-in: 7c82b43b7c user: drh tags: trunk)
12:33
Under SQLITE_DEBUG with PRAGMA vdbe_trace=ON, show an output line if the VDBE aborts for any reason. (check-in: 7e3d681003 user: drh tags: trunk)
07:32
Simplify the routine that attempts to estimate the size of an rtree index by looking at the sqlite_stat1 entry for the %_rowid table. (check-in: 06c329c17c user: drh tags: trunk)
05:39
Mark various unreachable branches in rtree.c with ALWAYS() or NEVER(). (check-in: 4fab908986 user: drh tags: trunk)
05:24
New ALWAYS() and assert() to mark unreachable branches in rtree.c. (Closed-Leaf check-in: f7ad73c495 user: drh tags: tree-testing)
2021-09-15
19:53
In rtree.c, remove an incorrect ALWAYS(). Add other ALWAYS() and NEVER(). (check-in: cbaac8878a user: drh tags: tree-testing)
19:13
Add more ALWAYS() macros on unreachable branches in rtree.c (check-in: fbba89dac9 user: drh tags: tree-testing)
16:20
Fix the xBestIndex method on rtree so that it correctly recognizes that rowid=? works the same as id=?. (check-in: c74c07cc86 user: drh tags: trunk)
15:56
Add ALWAYS() macros on some unreachable branches in rtree. (check-in: 9123f680ae user: drh tags: trunk)
15:53
Further updates to rtreedoc.test. (check-in: e66727837d user: dan tags: trunk)
14:48
Fix non-build for a test configuration (check-in: c9a4ab0590 user: larrybr tags: trunk)
13:09
Simplify some of the corrupt shadow-table detection logic in rtree. (check-in: 0c4f37aa47 user: drh tags: trunk)
11:15
Squelch needless narrowing warning. (check-in: 5540e6abc1 user: larrybr tags: trunk)
10:49
Ensure rtreedoc.test is not run for builds without the rtree extension. (check-in: 42dff22347 user: dan tags: trunk)
2021-09-14
20:07
Add test cases to rtreedoc.test. (check-in: afe0ec4d58 user: dan tags: trunk)
18:57
Update requirements marks to reflect recent documentation changes. (check-in: 08cab8921e user: drh tags: trunk)
14:16
Add test cases to rtreedoc.test. (check-in: b62de1269f user: dan tags: trunk)
11:27
Minor updates to rtreedoc.test. (check-in: b22c75e41d user: dan tags: trunk)
2021-09-13
23:11
Shell to .read any named character source file/device (again.) (check-in: c6fe4f8d63 user: larrybr tags: trunk)
18:32
Add test cases to rtreedoc.test. (check-in: 4ee99d3154 user: dan tags: trunk)
18:16
Add assert() statements to refute forum post 9f4e7f58fbb66ddd. (check-in: 83a83475c5 user: drh tags: trunk)
16:36
Add new test file rtreedoc.test. (check-in: 8c4b1482ee user: dan tags: trunk)
13:53
Fix an incorrect comment and possible integer overflow in pager resulting from check-in [23ca23894af352ea]. Problem reported by forum post e2ea1a3f61. Also change the datatype of Pager.pageSize to i64 even though page size never exceeds 65536, in order to help prevent future problems of this kind. (check-in: f4a552ed9f user: drh tags: trunk)
2021-09-11
14:33
Fix a case where the system error was not being set correctly. (check-in: 13a524b351 user: dan tags: wal-shm-exceptions)
02:42
CLI prescanner made to match SQLite's rules for delimited identifiers. Tests begun. (check-in: 15b105c520 user: larrybr tags: speedy_cli)
2021-09-10
22:00
Make replace.tcl useful with TCL 8.4 (check-in: 2dd61dd97b user: larrybr tags: trunk)
21:28
If an EXCEPTION_IN_PAGE_ERROR exception is caught, make the underlying OS error code available via sqlite3_system_errno(). (check-in: fdb20e9ee4 user: dan tags: wal-shm-exceptions)
19:45
Make CLI prescan handle goofy identifier delimiters too. Streamline code. (check-in: 968aed690b user: larrybr tags: speedy_cli)
18:35
Fix (luckily harmless) typo in memdb.c per https://sqlite.org/forum/forumpost/15af8872d5999df1 (check-in: d577030cda user: larrybr tags: trunk)
01:45
When showHeader set at CLI invocation, do not auto-set it later. (check-in: 733b7d4f95 user: larrybr tags: trunk)
01:02
Back out changes [00286ca5d998d802] and [6844ede29e1dac93] (replacing the associated branches with NEVER()) and add a single new test to btreeOverwriteCell() that detects when an overflow pages is also mapped into a b-tree page and raises and immediate SQLITE_CORRUPT error before making any changes. dbsqlfuzz 81791bd980fe6935ff2c7334ec8bef11c1c12b82 and others. (check-in: 32210fa4ac user: drh tags: trunk)
00:58
Speed-up CLI's processing for huge block comments, for any content (check-in: c4568f9f45 user: larrybr tags: speedy_cli)
2021-09-09
19:19
Remove a NEVER() in btree that is sometimes reachable. dbsqlfuzz b9140023005430654c8fe544cf0a082ef8d561c1. (check-in: 6844ede29e user: drh tags: trunk)
18:06
Avoid masking off an OOM fault in rtreecheck(). (check-in: 3ebfe7128a user: drh tags: trunk)
14:03
Improved database corruption detection in the editPage() subroutine of the btree rebalancer. dbsqlfuzz f035b1b5a100a5f0cffb95c958b6c67d7c5eaf1f. (check-in: 00286ca5d9 user: drh tags: trunk)
2021-09-08
21:49
Speedup CLI's gulping of many huge block SQL comments. (check-in: 729620c5c0 user: larrybr tags: trunk)
19:25
Fix PRAGMA integrity_check so that it does not try to enforce types on ANY columns in a STRICT table. (check-in: 57384fda8d user: drh tags: trunk)
2021-09-07
20:58
For sqldiff, sqlite_schema comparisons must use compound (synthesized) PK. (check-in: 5bdd846612 user: larrybr tags: trunk)
19:23
New test cases added to fuzzdata8.db. No code changes. (check-in: 51e5aadafe user: drh tags: trunk)
19:04
Make sqldiff able to compare sqlite_schema tables (for detailed schema differences.) (check-in: 7ff92da9f1 user: larrybr tags: trunk)
16:05
Fix a memory leak in fts5 that could occur when writing to an fts5 table that is being scanned by an fts5vocab cursor. (check-in: 1183552de1 user: dan tags: trunk)
15:41
Fix a potential NULL pointer deference in the LIKE optimization. The problem was introduced by the addition of generated columns in check-in [b855acf1831943b3] (SQLite version 3.31.0, 2020-01-22). Reported by Wang Ke in [forum/forumpost/699b44b3ee|forum post 699b44b3ee]. (check-in: b9417d400f user: drh tags: trunk)
2021-09-06
16:15
Fix a use-after-free error that could occur if an fts5 table is written while scanning it using an fts5vocab cursor. (check-in: e751c2ec78 user: dan tags: trunk)
15:59
Fix an issue in the "shrink.test" test script reported by forum post 90a74bd618. (check-in: 6c3734edb2 user: drh tags: trunk)
11:44
Restore the use of system isnan() that was removed by check-in [ea748edecb261f2b]. See forum thread d7c530ac587f59e6. (check-in: b3cfe23bec user: drh tags: trunk)
2021-09-05
18:45
Complete shell.c maker's migration to TCL v.8.4 (check-in: e4b9b5b14b user: larrybr tags: cli_extension)
2021-09-03
18:11
Fix an assertion fault in pcache introduced by [4bc93658aa563f2f] and detected by OSSFuzz. Test case in TH3. (check-in: 2262a49467 user: drh tags: trunk)
2021-09-02
16:29
Get shell.c maker acceptable to TCL v8.4 and minor tweaks (check-in: c60f4f90c9 user: larrybr tags: cli_extension)
01:21
Meld -safe option into CLI (check-in: c7c84998db user: larrybr tags: cli_extension)
2021-08-31
15:53
Have the planner ensure that if one scan uses a subset of the WHERE clause of another, that scan is estimated to cost less and return fewer rows. (check-in: c7b34930e2 user: dan tags: trunk)
2021-08-30
17:02
Do not disable a rowid=? term used to drive an IPK index if it is a transitive constraint. Commit [f1f9b5de] made the same change for non-IPK indexes. (check-in: 46e28cbcf6 user: dan tags: trunk)
2021-08-27
11:26
Patch lemon to fix "error" token handling, according ot forum post e680f42f53090061. (check-in: 106b5e5355 user: drh tags: trunk)
2021-08-26
21:12
Change the structuree exception handler in wal.c to catch EXCEPTION_IN_PAGE_ERROR instead of EXCEPTION_ACCESS_VIOLATION. (check-in: 0c6ab539cf user: dan tags: wal-shm-exceptions)
18:31
Add the --safe to the CLI. Also the --nonce option and the .nonce command. (check-in: c76870cb1a user: drh tags: trunk)
2021-08-24
17:07
Correctly preserve the collating sequence for a column when changing its datatype. Fix for the problem reported by forum post 36be3d3a08da9d92. Test cases in TH3. (check-in: c7f0813cab user: drh tags: trunk)
2021-08-23
15:56
Fix a typo in a comment. No changes to code. (check-in: d953646a63 user: drh tags: trunk)
10:28
Back out the change that allows typeless columns in strict tables. Replace that capability with an ANY type for strict tables that will accept any datatype with BLOB affinity. (check-in: d8fd1a2bfd user: drh tags: trunk)
2021-08-21
20:54
Allow typeless columns in STRICT tables that are able to accept any data type. (check-in: 1e2dcc2d4e user: drh tags: trunk)
16:42
Defer deleting subqueries in the compound-SELECT code generator until the end of code generation, in order to avoid deleting expressions out from under the aggregation function sanity checking assert()s that occur near the end of SELECT code generation. This fixes the assertion fault described by forum post cfcb4b461d. The problem goes back to check-in [6e6b3729e0549de0]. (check-in: 600f1991e5 user: drh tags: trunk)
15:49
Add test cases to ensure that there is at least one test that causes an exception to be thrown from each SEH_INJECT_FAULT macro. (check-in: e480146f49 user: dan tags: wal-shm-exceptions)
2021-08-20
19:51
Improvement to error handling in Lemon. No impact on SQLite. Forum post 2f468f43cbc48d7f (check-in: 18cc2f8574 user: drh tags: trunk)
18:18
Use VVA_ONLY() instead of TESTONLY() in SEH macros so that the build works for coverage testing. (check-in: 9e9d5b566d user: drh tags: wal-shm-exceptions)
17:23
Add missing SEH_INJECT_FAULT macros. (check-in: 27e9bdb3a9 user: dan tags: wal-shm-exceptions)
16:19
Add some assert() statements and fix small issues with code on this branch. (check-in: bd9b373b17 user: dan tags: wal-shm-exceptions)
15:44
Support for STRICT tables. A table with the STRICT option only allows a few core datatypes on columns and enforces those types rigidly. Also, PRIMARY KEY columns must be NOT NULL. (check-in: f9c1d3441b user: drh tags: trunk)
11:50
Fix a problem on this branch causing checkpoints that do not proceed because they can't get the CHECKPOINT lock to return incorrect output values. (check-in: 5a98820c3d user: dan tags: wal-shm-exceptions)
08:05
Improved error messages for the SQLITE_CONSTRAINT_DATATYPE error. (Closed-Leaf check-in: 39abca0147 user: drh tags: strict-tables)
01:12
Do not allow the xfer-optimization to move the content of an ordinary table into a strict table. (check-in: 1ed1b594d3 user: drh tags: strict-tables)
2021-08-19
23:10
Enable this branch to run both with and without the -DSQLITE_USE_SEH option. (check-in: 840e0a14eb user: drh tags: wal-shm-exceptions)
21:01
If SQLITE_USE_SEH is defined, handle structured-exceptions thrown by MSVC builds if the *-shm file mapping is accessed after it becomes invalid for some reason. (check-in: 5c5fa47076 user: dan tags: wal-shm-exceptions)
16:29
Improved comments. Fewer opcodes for integrity_check on strict tables. (check-in: 4ee57fb588 user: drh tags: strict-tables)
02:58
Enhance PRAGMA integrity_check so that it verifies the datatype of all columns in STRICT tables. (check-in: 97c9248b3b user: drh tags: strict-tables)
00:24
STRICT tables require all fields of the PRIMARY KEY to be NOT NULL. (check-in: 5efdf9acad user: drh tags: strict-tables)
2021-08-18
23:00
Merge the WITHOUT ROWID, NOT NULL ON CONFLICT bug fix into the strict-tables branch. (check-in: 7ee01ee47d user: drh tags: strict-tables)
22:26
Fix ON CONFLICT clause processing for NOT NULL constraints of PRIMARY KEY columns on WITHOUT ROWID tables. Ticket [f2be158c57aaa8c6] (check-in: 13abba0941 user: drh tags: trunk)
19:22
Trying to insert an incorrect datatype into a STRICT table raises an SQLITE_CONSTRAINT_DATATYPE error. Seems to work, though lots more testing is needed. (check-in: a19305e5cf user: drh tags: strict-tables)
13:13
What would it be like if you could add the keyword "STRICT" after a CREATE TABLE statement to cause the table to (1) allow only a few well-defined datatypes, (2) rigidly enforce those types, (3) require NOT NULL on PK columns, (4) always enforce foreign key constraint, and so forth? This branch seeks to explore that question. (check-in: 78732b9f98 user: drh tags: strict-tables)
12:05
Rename the Column.eType field to Column.eCType - with an extra "C". (check-in: b9b0dcd5af user: drh tags: trunk)
2021-08-17
19:59
Fix an off-by-one error in the error-handling logic of the Lemon parser-generator. This does not affect SQLite. Forum cff80737bf. (check-in: 7cca80808c user: drh tags: trunk)
2021-08-12
14:22
By default, do not use memory mapping to access the temporary files used for external sorts. The old behaviour (to use memory mapping by default) may be restored by building with SQLITE_ENABLE_SORTER_MMAP defined. (check-in: 306694dfb4 user: dan tags: trunk)
2021-08-11
18:56
Fix an RBU problem with restarting an update after the *-oal file is already larger than 4GiB. (Leaf check-in: 56869f54f3 user: dan tags: rbu-replace-hack)
18:44
If the special "sqlite_rbu_replace_hack" table is present in an RBU database, use REPLACE instead of INSERT when writing index entries to imposter tables. (check-in: 4b73e151cd user: dan tags: rbu-replace-hack)
18:43
During DELETE, if an index entry is missing, do not raise the SQLITE_CORRUPT_INDEX error (added by [f339f31f9e9a856b]) if in "PRAGMA writable_schema=ON" mode. (check-in: 19e56291a7 user: drh tags: trunk)
13:48
Do not apply the push-down optimization to CTE subqueries that will be reused in other contexts in where the same optimization is unlikely to be valid. Fix for the bug reported by forum post d496c3d29bc93736. (check-in: a7ce29a6ef user: drh tags: trunk)
13:19
Improved comment on the OP_OpenDup used to get a new cursor for a reused materialized CTE. (check-in: b1926cc0ab user: drh tags: trunk)
2021-08-09
19:54
Fix a compiler warning in pcache1. Reduce the maximum size of a pcache1 cache to 2147418112 pages. (check-in: 4bc93658aa user: drh tags: trunk)
19:41
Merge recent trunk enhancements into the begin-concurrent-report branch. (check-in: 25a768cb8a user: drh tags: begin-concurrent-report)
19:33
Merge recent trunk enhancements into the begin-concurrent-pnu branch. (check-in: 514b3cef6b user: drh tags: begin-concurrent-pnu)
19:15
Sync to trunk (check-in: dd356ace4f user: larrybr tags: cli_extension)
18:35
Merge recent trunk enhancements into the begin-concurrent-pnu-wal2 branch. (check-in: 47a9b75981 user: drh tags: begin-concurrent-pnu-wal2)
18:26
Merge recent trunk enhancements into the wal2 branch. (check-in: 84dac820a0 user: drh tags: wal2)
18:21
Merge recent trunk enhancemenets into the begin-concurrent branch. (check-in: b88b632830 user: drh tags: begin-concurrent)
18:17
Merge recent trunk enhancements into the reuse-schema branch. (check-in: c8d1f17fde user: drh tags: reuse-schema)
18:13
Further improvements to the eOpenState bit values. (check-in: d44f74f14a user: mistachkin tags: trunk)
18:07
Ensure that the pcache1 cache size does not get so big that it overflows the integer that is keeping track of the cache size. (check-in: bf9d70fc2f user: drh tags: trunk)
17:45
Fix harmless compiler warnings and improve the presentation for the new --threadsafe option to the CLI. (check-in: 7929dc2f6f user: drh tags: trunk)
17:37
Undocumented "--threadsafe N" option added to the CLI for testing purposes. One of SQLITE_CONFIG_SINGLETHREAD, _MULTITHREAD, or _SERIALIZED is called depending on the value of the N integer. (check-in: 2d8f297c11 user: drh tags: trunk)
17:36
Improved Hamming bit-distance between the SQLITE_STATE constants. (check-in: 5100b0456b user: drh tags: trunk)
13:06
Fix comments associated with sqlite3.eOpenState. No logic changes. (check-in: fd8f498f5d user: drh tags: trunk)
11:03
Merge latest trunk changes into this branch. (check-in: 67ed7422f8 user: dan tags: wal2)
2021-08-07
23:16
Refactor sqlite3.magic into sqlite3.eOpenState. (check-in: e5d6512aa1 user: drh tags: trunk)
2021-08-06
20:17
Fix an RBU problem with restarting an update after the *-oal file is already larger than 4GiB. (check-in: 087b8b41c6 user: dan tags: trunk)
19:38
Attempt to fix the showwal.c utility program so that it works on WAL files larger than 4GiB. (check-in: 5c0f9ea98a user: drh tags: trunk)
15:26
Fix harmless compiler warnings. Omit redundant copies of os_common.h and hwtime.h from the amalgamation. (check-in: 0914270078 user: drh tags: trunk)
2021-08-05
15:27
Store the collating sequence name for each column of a table as an extension to the column name, for an additional savings in the heap space needed to hold the schema. (check-in: 832ac4c1ee user: drh tags: trunk)
2021-08-04
14:50
Add NEVER() macros on recently introduced unreachable branches. (check-in: 806939eb59 user: drh tags: trunk)
13:42
Always prefer built-in SQL functions over app-defined SQL functions within sqlite3NestedParse(). Formerly this was the case for a few calls to sqlite3NestedParse(), but not for all of them. (check-in: 164662ef01 user: drh tags: trunk)
11:29
Avoid using LIKE with the target db in RBU. It is possible the user may issue "PRAGMA case_sensitive_like = 1" or override the like() user function, causing RBU to malfunction. (check-in: 7cbd8cd5aa user: dan tags: trunk)
2021-08-03
23:23
Fix the build for SQLITE_ENABLE_UPDATE_DELETE_LIMIT. (check-in: 5150d2da06 user: drh tags: trunk)
18:45
Improved harmony with the reuse-schema branch. (check-in: cbc703f70d user: drh tags: trunk)
17:05
Merge recent trunk enhancements into the begin-concurrent-report branch. (check-in: 385e3b4e9d user: drh tags: begin-concurrent-report)
16:49
Merge recent trunk changes into the begin-concurrent-pnu branch. (check-in: 2c25f25b22 user: drh tags: begin-concurrent-pnu)
16:44
Merge recent trunk changes into the begin-concurrent-pnu-wal2 branch. (check-in: 5b6f6514bd user: drh tags: begin-concurrent-pnu-wal2)
16:31
Merge recent trunk enhancements into the begin-concurrent branch. (check-in: 8d806cf93c user: drh tags: begin-concurrent)
16:11
Merge recent trunk enhancements into the reuse-schema branch. (check-in: d71adc3fd8 user: drh tags: reuse-schema)
2021-08-02
20:29
Merge recent trunk enhancements into the wal2 branch. (check-in: f615d7baa8 user: drh tags: wal2)
18:03
Refactor field names in the Column object, zCnName and zCnColl, to make them unique and thus easier to find amid all the other code. (check-in: 8b781dcaf6 user: drh tags: trunk)
16:41
Refactor the Table object to reduce its memory footprint. (check-in: bbb6759bcf user: drh tags: trunk)
2021-07-31
20:30
Refactor the way that DEFAULT expressions are stored on columns, in order to save memory in the common case where the column has no DEFAULT clause. (check-in: 8646547e54 user: drh tags: trunk)
19:37
Sync to trunk (check-in: d449941b81 user: larrybr tags: cli_extension)
2021-07-30
23:30
Recognize certain standard datatypes ("INT", "INTEGER", "REAL", "TEXT", and "BLOB") and if a column has one of those datatypes, store the type part of the bit-field information in the Column structure to save space. (check-in: d2da62a9df user: drh tags: trunk)
20:09
If a generated column uses the optional keywords GENERATE ALWAYS, try to avoid putting those keywords in the typename of the column. Forum post ff3ffe09251c105b (check-in: 3c954863f4 user: drh tags: trunk)
18:39
Avoid clownfeet in the names columns when the column names are quoted in the original CREATE TABLE statement. (check-in: 980f7292af user: drh tags: trunk)
12:47
Reduce clownfooting in the allocation of the Table.aCol array. This reduces the amount of heap space required to hold large schemas by about 11%. (check-in: 2941ded0ac user: drh tags: trunk)
2021-07-29
18:34
Enhance the wal.c source file with an ASCII-art schematic of the -shm file header. (check-in: a6c160e08a user: drh tags: trunk)
17:31
Improvements to asserts to enforce magic numbers in the wal-index format. Also improve automatic configure and make builds on legacy PPC iBooks. (check-in: 87b8d47889 user: drh tags: trunk)
17:23
Complete warning-free build on old PPC iBook. (Closed-Leaf check-in: ef2a085039 user: drh tags: wal-asserts)
17:01
Fix an error in one of the assert() statements added by [23b08fe9db24a953]. (check-in: ad24334bc0 user: drh tags: wal-asserts)
16:49
Minor tweaks to various TCL build scripts so that they work even for TCL 8.4, which is obsolete, but is also all that is available for some legacy platforms. (check-in: 2269ce64f7 user: drh tags: wal-asserts)
16:48
Improve comments and add new assert() statements in WAL to help document how everything works. (check-in: 23b08fe9db user: drh tags: wal-asserts)
14:27
Merge the latest enhancements from trunk. (Leaf check-in: 8498d7727c user: drh tags: win-blocking-locks)
00:33
Remove ALWAYS() macros that can be true if the internal test function implies_nonnull_row() is used in the result set of a query and contains comparison operator against a computed column. dbsqlfuzz 4c34db5bff6247f33ee49e341a1f3018e72be0a0. (check-in: 4d1dbfa35c user: drh tags: trunk)
2021-07-28
18:13
Add test case to ensure that sessions works with DELETE statements that use the truncate optimization (i.e. a DELETE without a WHERE clause). (check-in: a2fc531177 user: dan tags: trunk)
02:04
Fix a harmless uninitialized variable read that occurs after an error associated with a subquery that uses DISTINCT. Found by a fuzzer. (check-in: e9719f975f user: drh tags: trunk)
01:22
Reduce the scope of a variable in order to fix a harmless compiler warning that occurs under -DSQLITE_OMIT_AUTOMATIC_INDEX. (check-in: 36d5dbbe13 user: drh tags: trunk)
2021-07-26
19:49
Remove sqldiff --visible-controls option, make it always happen. Add test cases for controls made visible (check-in: ff74c0cc4c user: larrybr tags: trunk)
18:28
Give sqldiff --visible-controls option to deal with non-graphic text content robustly across platforms (check-in: 68d2373f5d user: larrybr tags: trunk)
01:35
Manual merge of new .connection shell command (check-in: 0d41f7f93c user: larrybr tags: cli_extension)
2021-07-23
19:26
Merge the ".connection" CLI enhancement from trunk. (check-in: d317d44fbb user: drh tags: win-blocking-locks)
18:43
Enhance the CLI with the ".connection" command that can switch between up to five different database connections. Used for manual testing of multiple database connections in the same process. (check-in: 54eaf076c0 user: drh tags: trunk)
14:53
Merge recent enhancements on trunk into the win-blocking-locks branch. (check-in: 9ecad2f8c6 user: drh tags: win-blocking-locks)
2021-07-22
21:11
Set the checkSchema flag if a CREATE TABLE parse fails because the table already exists, to ensure that the table was not previously deleted by some other connection. (check-in: 91bcb96215 user: drh tags: trunk)
18:22
Fix ALTER TABLE DROP COLUMN so that it generates valid bytecode even when operating on a corrupt database and using PRAGMA writable_schema=ON. dbsqlfuzz 5f09e7bcc78b4954d06bf9f2400d7715f48d1fef (check-in: b65f4f7639 user: drh tags: trunk)
16:07
One of the optimizations of check-in [de9c86c9e4cdb34f] does not work for terms originating in the ON/USING clause, as demonstrated by forum post 6cf3bb457c3f4685. This check-in disables that optimization for ON/USING terms. Also improve the TreeView display for the resulting "true"/"false" nodes to show that they originate from the ON/USING clause. Add a testcase() to the other optimization to show that it can still be used for ON/USING terms. (check-in: 1f67960440 user: drh tags: trunk)
10:44
Fix a problem in the new os_unix.c code. Refine the threadtest3 test case some. (Leaf check-in: 2039d447b7 user: dan tags: unix-timed-wait-exp)
2021-07-21
15:42
Improved robustness of cursor renumbering in the UNION ALL flattener when operating on vector assignments of an UPDATE FROM. dbsqlfuzz 417d2b053b9b3c9edaf22dd515564f06999e029c (check-in: 60695359dc user: drh tags: trunk)
2021-07-20
21:02
Add in-process blocking locks to os_win.c using a similar technique. (check-in: b67c157fd8 user: dan tags: unix-timed-wait-exp)
17:23
Merge changes from the win-blocking-locks branch into this one. (check-in: 85fd18d7a2 user: dan tags: unix-timed-wait-exp)
16:07
Run a "PRAGMA quick_check", if necessary, on the modified table after an ALTER TABLE ADD COLUMN to verify that added NOT NULL or CHECK constraints are satisfied by existing rows. Abort the ADD COLUMN if not. Forum post c04814903d6ec4f7. (check-in: e3794997c3 user: drh tags: trunk)
14:57
Avoid a malfunction that could occur if the same correlated column reference appears in both the GROUP BY and the HAVING clause of a sub-select. dbsqlfuzz a779227f721a834df95f4f42d0c31550a1f8b8a2. (check-in: 1e35cc6d5c user: dan tags: trunk)
08:23
Fix issues in the new ADD COLUMN constraint checking. Add preliminary test cases. (Closed-Leaf check-in: 48434ad3fa user: drh tags: add-column-constraint-check)
07:35
Demonstration code to show how NOT NULL and CHECK constraints can be verified after an ALTER TABLE ADD COLUMN. (check-in: 039f540373 user: drh tags: add-column-constraint-check)
02:02
It does not work to deserialized into TEMP, so do not allow it. The sqlite3_deserialize() routine now returns SQLITE_ERROR if you try. (check-in: 18068cc606 user: drh tags: trunk)
00:18
Fix compilation of 'threadtest3' for some older versions of MSVC. (check-in: b5ede6a688 user: mistachkin tags: trunk)
2021-07-19
20:52
More precision in comparing integers and floating point values while processing the integer primary key for OP_SeekGE and similar. Forum post 2bdb86a068. (check-in: f9c6426de3 user: drh tags: trunk)
20:34
Revise the testthread3.walthread6 test case to better demonstrate the advantages of blocking locks. (check-in: 952b4cae49 user: dan tags: unix-timed-wait-exp)
17:06
Merge trunk with this branch. (check-in: 853c621bb2 user: dan tags: unix-timed-wait-exp)
16:49
Updates so that "threadtest3[.exe]" can be built for windows with MSVC. (check-in: 4ce585fb07 user: dan tags: trunk)
14:00
In defensive mode, allow statements that write to shadow tables to be prepared from with virtual-table xSync() calls. (check-in: c8601d83fb user: dan tags: trunk)
03:38
Fix minor spacing issues in the MSVC makefile. (check-in: d78c272b39 user: mistachkin tags: trunk)
03:37
Minor enhancements to new OSTRACE messages. (check-in: 3249a6a38d user: mistachkin tags: win-blocking-locks)
2021-07-16
22:43
Try to omit the ORDER BY clause in subqueries if doing so does not change the result in any way. See Forum post 2d76f2bcf65d256a for details and history. (check-in: 85ddaf1b59 user: drh tags: trunk)
20:16
Minor comment improvements. (Closed-Leaf check-in: 6854b5919b user: drh tags: omit-subquery-order-by)
18:30
Experiment with having SQLITE_ENABLE_SETLK_TIMEOUT builds on unix use a condition variable to wait for wal locks held by other threads. (check-in: 4a9f5ce79d user: dan tags: unix-timed-wait-exp)
17:11
De-typo sqlite3_expanded_sql() doc (check-in: 56b0f5418d user: larrybr tags: trunk)
17:04
Modify the generate_series() table-valued functions so that its first argument (the START value) is required. Throw an error if that argument is not supplied. In this was the series.c loadable extension can be used as a demonstration of how to code an xBestIndex function to require certain parameters. Compile with -DZERO_ARGUMENT_GENERATE_SERIES to obtain the legacy behavior. (check-in: 459d85a289 user: drh tags: trunk)
15:30
Fix the "main.mk" makefile so that "series.c" is a dependency of "shell.c". (check-in: ff95991791 user: drh tags: trunk)
01:19
Get the "omit ORDER BY in FROM-clause subqueries" optimization working for the core test cases. (check-in: e31c588865 user: drh tags: omit-subquery-order-by)
2021-07-15
23:34
By default, do not emit #line directives in the amalgamation. (check-in: bacfa93677 user: mistachkin tags: trunk)
23:12
Initial work on blocking locks for the Win32 VFS. Various other small enhancements. (check-in: 584c24252a user: mistachkin tags: win-blocking-locks)
19:29
Attempt to omit ORDER BY clauses from FROM-clause subqueries if those ORDER BY clauses do not affect the output. See forum thread 2d76f2bcf65d256a for discussion. This can help the query flattener in some cases, resulting in faster query plans. The current implemention does not always work. (check-in: ef97c3e7c3 user: drh tags: omit-subquery-order-by)
16:39
Change references to the schema table in sqlite3_analyzer to the new SQLITE_SCHEMA name. (check-in: 3beb77d6a7 user: drh tags: trunk)
2021-07-14
21:18
Fix a use-after-free error in ioerr.test caused by an error in test code. (check-in: 1594056aab user: dan tags: trunk)
19:35
Enhance the Windows VFS to recognize SQLITE_FCNTL_LOCK_TIMEOUT and make the value set there available to the winLockFile() function. (check-in: 954b5d6129 user: drh tags: win-blocking-locks)
2021-07-13
22:49
Enhance comments pertaining to the interface linkage / calling convention macros. (check-in: c378e99250 user: mistachkin tags: trunk)
21:59
Further revisions to #line handling for amalgamation builds. (check-in: 9a84321229 user: mistachkin tags: trunk)
20:55
Get correct #line tags into amalgamation for other builds too. (check-in: 999eb80018 user: larrybr tags: trunk)
15:30
Remove two incorrect assert() statements from the logic used to derive column names and types from subqueries. This allows the SQL associated with CVE-2020-13871 (ticket [c8d3b9f0a750a529]) to be tested. (Closed-Leaf check-in: d2e6722037 user: dan tags: branch-3.28a)
11:59
Get #line tags into amalgamation, subject to configure. (check-in: 5d81b598a7 user: larrybr tags: trunk)
11:55
Merge from trunk, rename tool option for its effect (Leaf check-in: 9327f73c1b user: larrybr tags: line_tags)
11:30
Do not attempt to run Tcl sessions tests unless both SQLITE_ENABLE_PREUPDATE_HOOK and SQLITE_ENABLE_SESSIONS are defined. (check-in: 385db79447 user: dan tags: trunk)
01:45
Amalgamation has #line directives by default. Minor mksqlite3c.tcl changes (check-in: ba3eff7197 user: larrybr tags: line_tags)
2021-07-12
15:00
Fix a defect in the query-flattener optimization identified by ticket [8f157e8010b22af0]. This fix is associated with CVE-2020-15358. (Leaf check-in: bcd014c473 user: dan tags: branch-3.32a)
14:38
Fix a defect in the query-flattener optimization identified by ticket [8f157e8010b22af0]. This fix is associated with CVE-2020-15358. (check-in: 9e001b635f user: dan tags: branch-3.28a)
2021-07-11
12:58
Much self-doc improvement for shell.c generation. Misleading error message fixed. (check-in: 7738ce1b2b user: larrybr tags: cli_extension)
2021-07-10
14:48
.tables fixup for legacy behavior. (check-in: 827ea61d7d user: larrybr tags: cli_extension)
03:42
Migration to dispatched meta-commands done (check-in: ac4267da19 user: larrybr tags: cli_extension)
2021-07-09
23:12
Clarify comment on sqlite3.h's interface decaration macros. (check-in: 7cb09aef49 user: larrybr tags: trunk)
16:00
Remove disused linkage macros. (Leaf check-in: f14d357159 user: drh tags: disused-link-macros)
14:59
Fix an assert() that might fail if sqlite3_create_function_v2() is invoked with NULL xStep and xFinal callbacks and a non-NULL xDestroy. (check-in: ab1550a608 user: dan tags: trunk)
13:52
Enhance the sqlite3_create_function() interfaces to assume a value of SQLITE_UTF8 is presented with a nonsense value for the preferred encoding. This is undocumented behavior added for robustness. (check-in: c1bb5cff52 user: drh tags: trunk)
13:29
Merge latest trunk changes into this branch. (check-in: 0e968f9de3 user: dan tags: reuse-schema)
11:52
Add the usual "#ifdef __cplusplus" magic to header file ext/misc/carray.h. Also update carray.h/carray.c to use SQLITE_API in the usual way. (check-in: 0f97c2a459 user: dan tags: trunk)
00:12
Allow CLI shell build to #include same user-specified header as library build. (check-in: eb8af9a494 user: larrybr tags: trunk)
2021-07-08
23:35
Rename optional SQLITE_CUSTOM_INC define to SQLITE_CUSTOM_INCLUDE. (check-in: 060aec37ac user: mistachkin tags: trunk)
22:12
Allow library build to #include a user-specified header. (check-in: 71e6490bbe user: larrybr tags: trunk)
18:29
Preserve and return to the user any error message returned by a failed xConnect() call on an eponymous virtual table that prevents a query from being compiled. (check-in: bbbbeb59a6 user: dan tags: trunk)
12:12
Fix an issue with the SQLite Expert extension when a column has no collating sequence. Forum post 78165fa250. (check-in: b1e0c22ec9 user: drh tags: trunk)
2021-07-07
19:44
Fix a harmless compiler warning in the "fuzzcheck" test program. (check-in: 8c43264257 user: drh tags: trunk)
19:40
Fix a harmless compiler warning - duplicate local variable named "pRHS". (check-in: 5bc05faf27 user: drh tags: trunk)
18:43
General cleanup of mkshellc.tcl, + help and options, decruft (check-in: 8bdd5fbf12 user: larrybr tags: cli_extension)
16:48
Follow-up to [68db1ff9c44fa9c3]: The number of registers needed by PRAGMA foreign_key_check was increased too late for an assert() deep down inside of sqlite3ExprCode(). So move the size increase a little earlier. Forum post 79c9e4797d. (check-in: 7072404ad0 user: drh tags: trunk)
15:52
Fix a recently introduced segfault that might occur if a sub-select were used as a term on the RHS of an IN(...) operator for which the LHS is a row-value. (check-in: f586c06a5d user: dan tags: trunk)
13:53
Improve the error message in cases where there is a row-value on the LHS of an IN() operator, the RHS is a list (not a sub-select) and at least one element of the list is not a row-value with the correct number of elements. (check-in: 6b22f4e71d user: dan tags: trunk)
11:51
Instead of disallowing writes to fts5 tables if there are fts5vocab cursors open on them (commit [c49a6ed7]), abort any fts5vocab queries if the on-disk structure of the fts5 table changes. (check-in: 9dbdc9001e user: dan tags: trunk)
2021-07-06
20:44
Handle "<vector> IN (<vector>, <vector> ...)" in the same way as "<vector> IN (VALUES(<vector>, <vector>, ...)". (check-in: 981d230ece user: dan tags: trunk)
15:47
Create new branch named "branch-3.36" (check-in: 5eea151da5 user: larrybr tags: branch-3.36)
02:07
More commands dispathed. Dispatch translation parameterized. (check-in: 372e3241c9 user: larrybr tags: cli_extension)
2021-07-05
19:01
Do not allow writes to an fts5 table if there are any open fts5vocab cursors. (check-in: c49a6ed78a user: dan tags: trunk)
18:37
Add the ATOMIC_INTRINSICS compile-time output output. Move sqlite3Int.h in front of ctime.c so that default values that are not overridden are shown in PRAGMA compile-time option output. (check-in: e306952690 user: drh tags: trunk)
17:15
Revert [5204c2c4a7b73a64], restoring the old pre-processor logic for determining the availability of the __atomic_store_n()/__atomic_load_n() primitives. (check-in: e690abb9e4 user: dan tags: trunk)
11:27
Allow sub-queries in the FROM clause of an UPDATE...FROM statement to access the object being updated without using an alias, as is required in the parent query. (check-in: 740cb43025 user: dan tags: trunk)
02:40
Improved rebustness in sqlite3ExprListDup() when it contains a vector assignment from an UPDATE where the initial term is omitted. This can happen during a UNION ALL query flattening while processing a virtual table update in which the first term of the vector is repeated. Forum post 16ca0e9f32. (check-in: 2547cfe38f user: drh tags: trunk)
01:11
Ensure that TK_SELECT_COLUMN Expr nodes always have their iTable field set to to the number of columns in the vector. This is not strictly necessary. It just simplifies the state description and make the code easier to reason about. (check-in: 026f08d4cf user: drh tags: trunk)
00:07
Fix an incorrect comment on testcase misc1-27.0. No changes to code. (check-in: 49829ae322 user: drh tags: trunk)
2021-07-04
22:38
Streamline most common command definition (check-in: dd76b41a72 user: larrybr tags: cli_extension)
22:33
Enhance the treeview debugging mechanism so that it correctly deals with TK_ROW expression nodes. (check-in: e87fdb6514 user: drh tags: trunk)
2021-07-03
19:20
Create infrastructure for dynamic shell extension. (check-in: 5e7e0d4ef8 user: larrybr tags: cli_extension)
18:57
Fix a (harmless) typo in a comment. No code changes. (check-in: d2b9b8daa3 user: drh tags: trunk)
02:55
In the PRAGMA foreign_key_check, ensure that sufficient registers are allocated for the virtual machine, even if one or more foreign keys reuses the same column multiple times and has more columns than the table it is part of. Forum post a6b0c05277. (check-in: 68db1ff9c4 user: drh tags: trunk)
2021-07-02
12:25
Put ALWAYS() on a branch that is always true due to [d4097364c511709b]. Fix a testcase precondition associated with the same check-in. (check-in: 55e2fbebb0 user: drh tags: trunk)
12:08
Fix a harmless assertion fault discovered by OSSFuzz. The assertion fault is harmless because the assert() checks a condition that that is harmless if false and the assert() is disabled in production builds. (check-in: 79443aabe1 user: drh tags: trunk)
2021-07-01
18:19
Allow unqualified "rowid" references to be used in join queries, provided that only one of the source objects has a rowid. Forum post ab5b077c32636e49 (check-in: d4097364c5 user: dan tags: trunk)
16:57
Import the updated nmakehlp.c file used by the TCL Extension Architecture (TEA) builds in the amalgamation tarballs. Forum post 5a5001f20a. (check-in: 595bf95bf8 user: drh tags: trunk)
2021-06-30
14:04
Fix a memory leak in fts5 that could occur when processing a query containing multiple classes of error. (check-in: 7c279670f5 user: dan tags: trunk)
12:11
Fix an assert() in fts5 that might fail when dealing with corrupt records. (check-in: 9e760e2560 user: dan tags: trunk)
11:53
Do not enforce the SQLITE_LIMIT_FUNCTION_ARG limit for internally generated SQL. This prevents problems with statements like ALTER TABLE if the function argument limit is set too low. Forum post 17735aa21f3ddab2. (check-in: 763fdec5b3 user: drh tags: trunk)
2021-06-28
15:25
When generating data for a RETURNING clause, avoid assuming cursor number 0 is available for use. (check-in: 4b2c59acce user: dan tags: trunk)
2021-06-25
14:48
The OP_ReopenIdx opcode should clear the cursor if the cursor is being reused. This prevents leaving the cursor in an initialized state which could cause problems for a subsequent OP_SeekScan opcode. Fix for ticket [6dcbfd11cf666e21] and the OP_SeekScan optimization of check-in [4a43430fd23f8835]. (check-in: d4bf5243f2 user: drh tags: trunk)
11:21
Remove a redundant "ANALYZE" line from the ".fullschema" output. (check-in: 7b47f42095 user: drh tags: trunk)
11:14
Fix a bug in the ".fullschema" dot-command of the CLI brought to light by check-in [a2ddb89b206c1387] - raising an error on at attempt to access the rowid of a subquery or view. (check-in: 36875827a4 user: drh tags: trunk)
00:25
Document sqlite3_wal_hook() return. (check-in: 8acaf79645 user: larrybr tags: trunk)
2021-06-24
18:23
Allow the SQLITE_OPEN_EXCLUSIVE flag in sqlite3_open(). Return the SQLITE_CANTOPEN_EXISTS extended code to indicate that the open failed because the database already exists. (check-in: d091150ff8 user: drh tags: trunk)
2021-06-23
17:41
Make conditional nature of sqlite3_normalized_sql() better known. (check-in: 0e0ece7111 user: larrybr tags: trunk)
16:07
Fully incorporate *_changes64() API improvement. (check-in: 6699a2f6be user: larrybr tags: trunk)
11:39
Show CROSS JOINs in the TreeView debuggingn output. (check-in: 72e09b6c9b user: drh tags: trunk)
11:12
Fix a problem handling ORDER BY terms of the form "ORDER BY likely(<integer>)" within window frames. (check-in: 710f75b98b user: dan tags: trunk)
2021-06-22
23:30
This is another alternative fix to the covering index on WHERE_MULTI_OR in a LEFT JOIN problem that is fixed on trunk nearby. In this alternative, covering indexes are simply disabled for WHERE_MULTI_OR on a LEFT JOIN. This might have run-time impact on some obscure queries. This patch is saved for historical reference only. (Closed-Leaf check-in: 668564100e user: drh tags: multi-or-covidx-fix3)
23:27
This is an alternative fix to the covering index on WHERE_MULTI_OR in a LEFT JOIN problem that is fixed nearby. This one works by having the OP_NullRow opcode create the index if it does not already exist. That is slightly more complex. This patch is saved for historical reference only. (Closed-Leaf check-in: 956bafb69f user: drh tags: multi-or-covidx-fix2)
23:24
When an index is used by all branches of the WHERE_MULTI_OR optimization and becomes a covering index, make sure the index has been created prior to NULLing it in the OP_NullRow opcode of a LEFT JOIN. See forum post 0575376e07. The covering-index for WHERE_MULTI_OR optimization was added by [62678be3df35cdcb]. Test cases are in the orindex01.test module of TH3. (check-in: 787c76a865 user: drh tags: trunk)
18:32
Add the sqlite3_changes64() and sqlite3_total_changes64() API functions. (check-in: 48fdec22c9 user: dan tags: trunk)
18:06
Fix a problem causing sqlite3_changes() to return an incorrect value following a "DELETE FROM tbl" command on an intkey table (because internal b+tree cells were being included in the count). (check-in: f662ff4746 user: dan tags: trunk)
14:59
Ensure that the cell array used in balance_nonroot() is always large enough, even if the pages being balanced are corrupt. (check-in: 53f64e83b3 user: dan tags: trunk)
2021-06-20
22:52
Load recent dbsqlfuzz cases into test/fuzzdata8.db. (check-in: a766bba0ee user: drh tags: trunk)
22:49
Remove a NEVER() that is reachable by a corrupt database. dbsqlfuzz 8456a0f88e39a49fb675d8f77394979ebb2a03c1. Test case in TH3. (check-in: 1c41e86fa1 user: drh tags: trunk)
22:17
Do not allow an SQLITE_CORRUPT error to mask a prior SQLITE_IOERR in balance_nonroot(). dbsqlfuzz 5e1c86e7f18023f2b9abe3429977d7ea726f50d8 (check-in: 50e818767e user: drh tags: trunk)
2021-06-19
20:20
Remove unnecessary (redundant) variable initialization from sqlite3BtreeInsert() for a small size reduction and performance increase. (check-in: 70d1836474 user: drh tags: trunk)
18:35
The previous check-in is a significant change to btree, so go ahead and increment the version number for the next development cycle. (check-in: 2eb6697051 user: drh tags: trunk)
18:32
Split the sqlite3BtreeMovetoUnpacked() routine into two separate routines sqlite3BtreeTableMoveto() and sqlite3BtreeIndexMoveto(), since we usually know the type of btree in advance. This results in less branching and better performance. (check-in: 3b0d34e5e5 user: drh tags: trunk)
2021-06-18
19:01
Merge version 3.36.0 (check-in: 792215204d user: drh tags: reuse-schema)
18:36
Version 3.36.0 (check-in: 5c9a6c0687 user: drh tags: trunk, release, version-3.36.0)
2021-06-17
17:44
Merge recent trunk changes into branch-concurrent-pnu-wal2 via that wal2 branch. (check-in: 2ff7e56249 user: drh tags: begin-concurrent-pnu-wal2)
17:38
Merge recent trunk enhancements into begin-concurrent-report via begin-concurrent-pnu. (check-in: 204dbc15a6 user: drh tags: begin-concurrent-report)
17:30
Merge recent trunk enhancements into the begin-concurrent-pnu branch. (check-in: 229107b196 user: drh tags: begin-concurrent-pnu)
17:29
Merge recent trunk enhancements into the begin-concurrent branch. (check-in: 59303e69c3 user: drh tags: begin-concurrent)
17:26
Merge recent trunk enhancements into reuse-schema branch. (check-in: 92d8f967c9 user: drh tags: reuse-schema)
16:53
Merge the latest trunk enhancements into the wal2 branch. (check-in: 41363fb970 user: drh tags: wal2)
2021-06-16
19:23
Add an ALWAYS on a branch in STAT4-only logic that is now always true due to check-in [c21bc5a2353e660f]. (check-in: 7bd55eee1a user: drh tags: trunk)
18:58
Omit a handful of tests from pager1.test when testing SQLITE_ENABLE_ZIPVFS builds. (check-in: c3036c2825 user: dan tags: trunk)
16:56
Do not run test file sessionbig.test on 32-bit platforms. It uses too much memory. (check-in: 75e53215fe user: dan tags: trunk)
15:56
Adjust the mkshellc.tcl script so that the generated code always uses unix-style line endings. (check-in: 9f69af4dbc user: drh tags: trunk)
13:26
Avoid ominous warning in showdb.c (check-in: f8d7ac0104 user: larrybr tags: trunk)
12:26
Adjustments to requirement markings in comments. No changes to code. (check-in: be00e45b72 user: drh tags: trunk)
11:32
Enhanced defense against integer overflow in ALTER TABLE. (check-in: fb7f094e4e user: drh tags: trunk)
2021-06-15
20:10
Fix some #ifdefs so that builds work for all supported compile-time options. (check-in: ca7d78f781 user: drh tags: trunk)
20:07
Fix an incorrect ifdef in the previous check-in. (Closed-Leaf check-in: 4b2bb46730 user: drh tags: ifdef-update)
18:46
Fix some minor #ifdef issues so that all of the supported compile-time options continue to build. (check-in: d8cf407046 user: drh tags: ifdef-update)
15:36
Update the "nmakehlp.c" utility program sources associated with the TCL Extension Architecture, obtained from https://core.tcl-lang.org/sampleextension/file. Perhaps this new version will sit better with salmonx's static analyzer (ref1), (ref2). (check-in: 603b851d7d user: drh tags: trunk)
15:15
Add NULL checks on all sqlite3_vfs_find(0) calls. This is not strictly necessary. There are no vulnerabilities here. However, adding these checks avoids unnecessary static analyzer complaints. Forum post ce1193be15. (check-in: 272a15b9f4 user: drh tags: trunk)
14:34
Prevent an infinite loop in the trim() SQL function if the second argument is a carefully malformed UTF8 string. (check-in: 829343c26e user: drh tags: trunk)
2021-06-14
20:49
Fix typos in testcase() macros from check-in [c09d90eec2a49b94]. (check-in: d4d9869c30 user: drh tags: trunk)
20:41
In the authorizer, use SQLITE_DROP_INDEX, not SQLITE_DROP_TEMP_INDEX when dropping an index in an attached database. (check-in: e5a5acd600 user: drh tags: trunk)
20:08
Fix an ALTER TABLE problem with handling infinite loops of CTEs in the database schema. (check-in: c09d90eec2 user: dan tags: trunk)
14:52
Fix a test script problem in corruptN.test. (check-in: 3ddfe9ae55 user: dan tags: trunk)
14:35
Update this branch with latest changes from trunk. (check-in: f21a53fb41 user: dan tags: reuse-schema)
14:25
Update this branch with latest changes from wal2. (check-in: 0ab899012c user: dan tags: begin-concurrent-pnu-wal2)
14:12
Update this branch with latest changes from trunk. (check-in: b38c2b8bc4 user: dan tags: wal2)
14:01
Update this branch with latest changes from begin-concurrent-pnu. (check-in: a485d1a1b8 user: dan tags: begin-concurrent-report)
14:00
An index on the expression "likely(X)" should store the true value of X, even if X is a real number with no fractional part. The optimization of storing some REAL indexed values as INT (see [10d851353c2abead]) should be omitted for index columns that are expressions. Forum post 3b940c437a. (check-in: 791473bc66 user: drh tags: trunk)
13:49
Update this branch with latest changes from trunk. (check-in: 74b42754d0 user: dan tags: begin-concurrent-pnu)
12:23
Update this branch with latest trunk changes. (check-in: d81996340a user: dan tags: begin-concurrent)
11:20
Avoid allocating oversized column names in the sqllimit1.test module. (check-in: 7068f1f69b user: drh tags: trunk)
2021-06-13
19:14
The opcode that preceeds OP_SeekScan is usually OP_IdxGT but can sometimes be OP_IdxGE. Adjust asserts accordingly. Follow-up to [9a2ab6092d644fc3]. dbsqlfuzz e41762333a4d6e90a49e628f488d0873b2dba4c5 (check-in: d6803ed8dc user: drh tags: trunk)
17:55
Improved defense against OOM errors in sqliteInitOne(). dbsqlfuzz 429db39cd5777c46479641e8637c48c62890042d (check-in: b6c57e0e2a user: drh tags: trunk)
08:23
Correct link in .ar help. (check-in: de9d0f9548 user: larrybr tags: trunk)
2021-06-12
18:12
The sqlite3WithPush() routine might destroy its second argument if there was a prior OOM. Do not use the second argument of sqlite3WithPush() if this happens. (check-in: baa3f96250 user: drh tags: trunk)
17:45
An alternative approach to the use-after-free problem. (Closed-Leaf check-in: 6796b7a248 user: drh tags: alternative-oom-fix)
16:17
Fix a use-after-free that could follow an OOM in ALTER TABLE. (Edit:) Still contains problems. (Closed-Leaf check-in: 193b14a58e user: dan tags: original-uaf-fix)
2021-06-11
13:18
Reapply two recent ALTER TABLE error checks that turned out to be necessary after all. dbsqlfuzz fc5a9deefda00dda914748985155a6d4c44174e5. (check-in: 230fedd923 user: drh tags: trunk)
12:41
Avoid bugs in some implementations of dlopen() by avoiding calls to dlopen() with a filename argument that exceeds FILENAME_MAX bytes. Forum post 08a0d6d9bf. (check-in: 01f3877c71 user: drh tags: trunk)
12:14
Fix a crash in new ALTER TABLE code that could follow an OOM. (check-in: 6f1f2a0a9c user: dan tags: trunk)
12:02
Remove an unreachable branch added by the previous commit. (check-in: 852ee0e91c user: dan tags: trunk)
11:14
Fix problems with ALTER TABLE and schemas that contain views with some recursive CTEs, or CTEs that reference other CTEs. Forum post 9d965f2956. (check-in: 8b1f9a51e9 user: dan tags: trunk)
2021-06-10
19:37
Fix an assert() added by the previous commit that could fail with some database schemas. (Closed-Leaf check-in: 5079b5d58f user: dan tags: alter-table-cte-fix-1)
19:08
Fix problems with ALTER TABLE and schemas that contain views with complex CTEs. (check-in: 32e3ecfc8b user: dan tags: alter-table-cte-fix-1)
14:36
Improved robustness following OOM in the constant propagation optimization. dbsqlfuzz 001a20255c0df7495c21df62a20ea5b51e22c390. (check-in: 8658a64d41 user: drh tags: trunk)
2021-06-09
14:45
Set the database connection error code for an oversize argument to sqlite3_bind_blob64() or sqlite3_bind_text64(). Forum post a636276f0d451667 and 33821c8db543c. (check-in: 56ff58c0b8 user: drh tags: trunk)
13:39
Add defensive code to better handle corrupt records in fts5. (check-in: a99c29b5ef user: dan tags: trunk)
2021-06-08
23:46
Remove two assert()s in FTS5 that checks for database corruption right before actual code does the same check. dbsqlfuzz 9680db8f5338cb9b6060eb3a02d984555d4472e3. (check-in: f3f82967b2 user: drh tags: trunk)
17:56
Try to avoid a double-free in the showdb utility program when running pgidx on a corrupt database. See forum post a60ea5a4d4 for context (check-in: e3188a8663 user: drh tags: trunk)
12:22
Add an assert() to prevent the value of the SQLITE_VTABRISK macros from being changed in a way that would break logic. (check-in: 33babdb582 user: drh tags: trunk)
12:15
Avoid a buffer overread in fts3 that could occur when handling corrupt data structures. (check-in: 45f459d2fa user: dan tags: trunk)
2021-06-07
17:36
Fix a buffer overread that could occur in fts5 when handling corrupt records. (check-in: 078962a216 user: dan tags: trunk)
15:28
Fix a buffer overrun in fts3 that could occur when handling corrupt records and '^' queries. (check-in: 9d0b6b0f42 user: dan tags: trunk)
14:21
Add recent dbsqlfuzz test cases to test/fuzzdata8.db. (check-in: 162022003c user: drh tags: trunk)
13:50
Avoid use of uninitialized memory while running defragmentPage() on a corrupt database file. dbsqlfuzz 4c45cecc0b255aaf2ea85453ccd17e814fd0b6b2 (check-in: 35e40d7575 user: drh tags: trunk)
11:50
Fix an assert() in the OP_ParseSchema opcode that might fail on a corrupt database file when running with PRAGMA writable_schema=ON. dbsqlfuzz e7d743ca65f2767e415095f0c5a49166a0f55eea. (check-in: 10801f65af user: drh tags: trunk)
00:54
Remove unnecessary end-of-line whitespace from the regexp.c extension. (check-in: 17e26a1f5e user: drh tags: trunk)
00:41
Omit the unnecessary highlighting of the security implications of SQLTIE_DIRECTONLY in the sqlite3_create_function() documentation. No changes to code. (check-in: 2aa9368b63 user: drh tags: trunk)
2021-06-04
23:26
A better fix for the problem addressed by [4eb80b0cc61526c1]. This fix also avoids reading uninitialized variables. (check-in: 1c71de43db user: drh tags: trunk)
21:46
Make MSVC build examples work when taken literally, and say when they do. (check-in: b53ca8ed83 user: larrybr tags: trunk)
17:47
Improvements to the OP_SeekScan optimization. Added the SQLITE_TESTCTRL_TUNE test-control. (check-in: 9a2ab6092d user: drh tags: trunk)
16:17
Add the (missing) dependency of regexp.c to the shell.c rule in the makefiles. This dependency should have been added by [5d4535bfb603d7c8] but was missed. (check-in: c93be7e660 user: drh tags: trunk)
16:11
Fix harmless compiler warnings. (check-in: 83aca2d870 user: drh tags: trunk)
15:56
Fix more cases in the regexp extension where the 0x00 terminator at the end of the input string is being pattern matched. [forum/forumpost/9104f0d9e7|Forum post 9104f0d9e7]. (check-in: 569e00d4ac user: drh tags: trunk)
13:40
Revamp SQLITE_TESTCTRL_TUNE to provide visibility of current turning parameter values. (Closed-Leaf check-in: 677e645e69 user: drh tags: seekscan-improvements)
13:16
Add support for SQLITE_TESTCTRL_TUNE and the ".testctrl tune ID VALUE" command in the CLI. (check-in: f1199d58b9 user: drh tags: seekscan-improvements)
12:29
Merge recent trunk enchancements into the seekscan-improvements branch. (check-in: d9e85fe80c user: drh tags: seekscan-improvements)
2021-06-03
18:56
Fix a case where combining row-value UPDATE FROM syntax with window functions over aggregates can cause an error. dbsqlfuzz ae4516bff08d736f203f09934e2f4d31e0b3e7ce (check-in: 4a587c3492 user: dan tags: trunk)
18:51
Fix the truncate optimization so that PRAGMA count_changes and changes() return correct values even for a WITHOUT ROWID table. Forum post 07dedbf9a1. (check-in: 820ae3b117 user: drh tags: trunk)
13:51
Add the regexp() and regexpi() extension functions to the CLI. (check-in: 5d4535bfb6 user: drh tags: trunk)
13:44
Fix a bug in the regexp extension in which the "." wildcard would match the 0x00 terminator at the end of the comparison string. (check-in: fa23108b29 user: drh tags: trunk)
12:31
Fix the case-insensitive version of the regexp() function so that it does not use the prefix optimization incorrectly. Forum post 983b43ef8e. (check-in: 1a8e43cc1b user: drh tags: trunk)
2021-06-02
19:28
Add an optimization control bit to disable the OP_SeekScan optimization. (check-in: f674c41e5c user: drh tags: seekscan-improvements)
18:50
Fix an ALWAYS which can be false. (check-in: a87f8ecd6d user: drh tags: seekscan-improvements)
17:32
Tighten assert() restrictions on the OP_SeekScan opcode. (check-in: dbc33d3ae3 user: drh tags: seekscan-improvements)
17:14
Never use WHERE_IN_SEEKSCAN for the 2nd or subsequent IN operator. (check-in: d0b9861908 user: drh tags: seekscan-improvements)
12:44
This is an attempt to address the OP_SeekScan performance issue identified by forum post b4fcb8a598. (check-in: d58efb3f21 user: drh tags: seekscan-improvements)
2021-06-01
21:07
Fix issue in 'mkopcodeh.tcl' tool that prevented its termination in rare circumstances. (check-in: a8d921136f user: mistachkin tags: trunk)
15:37
Fix a problem with running ALTER TABLE against schemas that contain compound SELECT statements with ORDER BY clauses containing one or more references to the second or subsequent component SELECT statements. This fixes the problem reported by forum post 31ceaa8461. (check-in: 587a304446 user: dan tags: trunk)
2021-05-29
23:07
Do not confuse the ">" operator with IS NOT NULL when checking to see if a partial index is usable. Forum post d813704d7c. (check-in: 8cc23931d6 user: drh tags: trunk)
21:50
Fix a subtle error in an assert(). dbsqlfuzz eefbd0215c0c1b4bcc32b8141b48b35f7b431300 (check-in: a5ec81eb49 user: drh tags: trunk)
2021-05-28
14:28
If a subquery is used to drive an index, this change avoids making an extra copy of the result of that subquery. But, such situations are probably sufficiently unusual that the added complexity of this enhancement is not worth the performance gain. So I'm going to park this check-in on a branch. If we later find a use case to justify it, we can merge it to trunk then. This is the "further change" that was promised by the prior check-in comment. (Leaf check-in: 4488cb883e user: drh tags: copy-optimization)
12:48
Make a deep copy of the result of a subquery in case the subquery is reused. Fix for the problem reported by forum post 28216b36ac and introduced by check-in [f30fb19ff763a7cb]. Further changes to try to optimize the new OP_Copy opcode back into either OP_SCopy or OP_Move will be attempted separately. A test case will be in TH3. (check-in: c9f0b9cb0a user: drh tags: trunk)
12:15
Fix a potential memory leak in json_group_object() following an error. dbsqlfuzz cd32630de3ff039d97089592b63cb3616f8ec9dd (check-in: 21676731ce user: drh tags: trunk)
2021-05-27
16:31
Add the merge-test.tcl script to ease verification of LTS branches. (check-in: f958ffbc61 user: drh tags: trunk)
15:24
The SQLITE_ENABLE_SHARED_SCHEMA compile-time option is on by default in the configure-generated makefile, permitting a complete test of this branch using "./configure && make test". (check-in: e867d22622 user: drh tags: reuse-schema)
14:09
Improved comment on the prpagateConstants() routine. No changes to executable code. (check-in: d61a875df4 user: drh tags: trunk)
10:23
Remove a NEVER that is reachable following OOM in writable_schema=ON mode with a corrupt schema. (check-in: 4eb80b0cc6 user: drh tags: trunk)
2021-05-26
23:10
Improvements to the constant-propagation optimization in order to better deal with unusual affinities. See forum post 6a06202608 for more detail. (check-in: 9be208a6d7 user: drh tags: trunk)
19:52
Minor optimization to opcode comparison logic in the fixes to the constant-propagation optimization on this branch. (Closed-Leaf check-in: f17dec40a0 user: drh tags: constant-propagation-fix)
19:37
Add new test file whereM.test. Containing tests for the change on this branch. (check-in: c4c76b824c user: dan tags: constant-propagation-fix)
18:51
Avoid assuming that an expression like "x=10" in a WHERE clause implies that CASE(x AS TEXT)=='10'. (check-in: 389ec669f4 user: dan tags: constant-propagation-fix)
18:46
Take care that the code is not generated for the same Select object more than once, as transformations that apply during the first pass might cause problems for the second pass. dbsqlfuzz 836b625cd8a41809ef80fc7ebaa6554357bcb463. (check-in: f30fb19ff7 user: drh tags: trunk)
14:32
Update an assert() in wherecode.c that might fail following an unrelated SQL error. (check-in: 3e2c36a827 user: dan tags: trunk)
2021-05-25
16:10
Do not run sessionbig.test as part of the session_strm permutation. It is too slow. (check-in: 708ce7ad8a user: dan tags: trunk)
15:21
Update an allocation routine in the sessions module to allow it to allocate the maximum size permitted by sqlite3_realloc64(). (check-in: 0b45e82191 user: dan tags: trunk)
11:39
Enhance the shell tool ".dump PATTERN" command so that it dumps the contents of shadow tables when a virtual table is identified by the PATTERN. (check-in: b0bc5ab9ce user: dan tags: trunk)
2021-05-24
14:35
Fix a problem in the in-memory journal code that could occasionally lead to a segfault when a sub-transaction that modified zero pages was committed. (check-in: 17960165f5 user: dan tags: trunk)
12:28
Minor comment improvements in fuzzcheck.c. (check-in: 7aca8d52c1 user: drh tags: trunk)
12:13
New dbsqlfuzz cases added to test/fuzzdata8.db. (check-in: 5bb5c9ec04 user: drh tags: trunk)
11:35
Fix the TreeView module so that it works with the TK_ERROR exprssion. Also fix an assert() that was failing due to the recent TK_ERROR addition. (check-in: dd56fbe0cf user: drh tags: trunk)
00:17
Additional defenses (above and beyond [b986600520696b0c]) to prevent an invalid subquery from causing problems downstream. If an error is found while analyzing a subquery expression, change the expression to TK_ERROR so inhibit further processing on that expression. dbsqlfuzz cf624b8c0484c66e0f552bf6475e3e3f2c22b24e. (check-in: 0be6b6c9f7 user: drh tags: trunk)
2021-05-23
17:47
Do not push a WITH clause onto the processing stack if prior errors have occurred. dbsqlfuzz 6b7a144674e215f06ddfeb9042c873d9ee956ac0. (check-in: c2066dde53 user: drh tags: trunk)
2021-05-22
15:05
Merge latest trunk changes into this branch. (check-in: dbc65a6958 user: dan tags: reuse-schema)
11:23
Do not invoke sqlite3ExprAffinity() after a syntax error that might have left the tree in an inconsistent state. See also [e8a1515b44380cc5] and forum post 7e484e225c. (check-in: b986600520 user: drh tags: trunk)
11:00
The fix in the previous check-in was only correct if the OOM occurs on the initial allocation. This changes should make it correct for a resize as well. (check-in: 57087ab2f2 user: drh tags: trunk)
01:30
If an FTS5 Cursor fails to enlarge the space for the aInst array, set the size of the aInst array to zero. dbsqlfuzz 294254b8105cca409f27a711f1eb2e9e63cbcac5. (check-in: 4ae5e5b5ec user: drh tags: trunk)
2021-05-21
21:49
If there are errors in a nested CTE, be sure to abandon processing. Do not continue since the parse tree may have been left in a goofy state which could cause use-after-free and segfaults. See forum post aa4a7a3980 for an example. (check-in: 94225d6939 user: drh tags: trunk)
17:31
Merge latest changes from wal2 into this branch. (check-in: 4efefb5938 user: dan tags: begin-concurrent-pnu-wal2)
16:42
Merge the latest trunk enhancements into the wal2 branch. (check-in: 95cc778345 user: drh tags: wal2)
16:41
Fix a problem with SQLITE_MAX_MEMORY in malloc.c. (check-in: c18dbe2f38 user: dan tags: trunk)
16:32
Merge the latest trunk changes into begin-concurrent-report branch via the begin-concurrent-pnu branch. (check-in: 1dc6cf5113 user: drh tags: begin-concurrent-report)
16:17
Merge recent trunk changes into the begin-concurrent-pnu branch. (check-in: a8d05f8e92 user: drh tags: begin-concurrent-pnu)
15:33
Merge all recent trunk changes into the begin-concurrent branch. (check-in: 0dba9010ad user: drh tags: begin-concurrent)
13:32
Add a new sqlite3_config() option for setting the maximum precision of a printf() substitition. The default value is 100,000. It was formerly more than 2 billion. The default can be changed using the SQLITE_PRINTF_PRECISION_LIMIT compile-time option. (Leaf check-in: fd8b68a474 user: drh tags: compile-time-precision-limit)
2021-05-20
23:25
Fix a faulty assert() statement in sqlite3ExprListDup(). This is a continuation of the fix at [59812e7ef705226c]. (check-in: 240f7494bf user: drh tags: trunk)
18:11
Enhance one test case to use various alternative definitions of DUAL. (check-in: 179dcb6ba7 user: drh tags: trunk)
17:15
Ensure that objects within view definitions are not incorrectly resolved to CTEs that are part of the statement using the view. (check-in: f7dcc4b519 user: dan tags: trunk)
11:42
Ensure the required b-tree mutexes are held for "CREATE TABLE IF NOT EXISTS" and "DROP TABLE IF EXISTS" statements on attached databases. (check-in: 67bde01614 user: dan tags: trunk)
00:44
Replace [0f0959c6f95046e8] with a new and better solution that also fixes the CTE name resolution problem described in forum post 8590e3f6dc. Test cases for both problems added. (check-in: 5614279daf user: drh tags: trunk)
00:10
Fixes and improvements to PRAGMA compile_options. (check-in: 34579549a3 user: drh tags: trunk)
2021-05-19
23:29
final merge from trunk (Leaf check-in: 0662956944 user: larrybr tags: compile_options)
21:55
When constructing the synthensized SELECT statement that is used to choose the rows in an UPDATE FROM, make sure the first table is really the table being updated, and not some common-table expression that happens to have the same name. forum post a274248080. More changes associated with CTE name resolution are pending. (check-in: 0f0959c6f9 user: drh tags: trunk)
20:01
Incorporate ..._DESERIALIZE revision. (check-in: b70587cca9 user: larrybr tags: compile_options)
19:55
merge from trunk (check-in: 19ffe3cfe2 user: larrybr tags: compile_options)
19:28
Add a comment with useful information about SHM locking. No changes to deliverable code. (check-in: 4e81ea3b15 user: drh tags: trunk)
19:27
Fix a formatting error on the comment. (Closed-Leaf check-in: 6f2fb60e49 user: drh tags: better-comment)
16:55
Add a table of shared-memory lock offsets in a comment in the os_unix.c code. Include some assert()s to help verify the numbers. (check-in: b480aacb34 user: drh tags: better-comment)
14:49
Allow aggregate sub-selects within ORDER BY and PARTITION BY clauses of window frame definitions. (check-in: 3daab94977 user: dan tags: trunk)
12:17
Improved column name and column type determination for the RETURNING clause. (check-in: 699c33990a user: drh tags: trunk)
02:33
Cure some TCL test failures and narrow an object scope. (check-in: 1155696c70 user: larrybr tags: trunk)
2021-05-18
19:10
In the MULTI-INDEX OR query plan, code for sub-expressions can sometimes be generated twice. But for some subqueries, generating code off of the same tree twice causes problems. So now MULTI-INDEX OR makes a copy of the sub-expressions it uses to avoid code-generating them more than once. dbsqlfuzz 9ebd2140e7206ff724e665f172faea28af801635. (check-in: 4a55f72542 user: drh tags: trunk)
12:36
Improved comments on the generated opcodes.h file. (check-in: f2a17f1fad user: drh tags: trunk)
00:52
Add a CORRUPT_DB term to an assert() added earlier today. (check-in: 304739d238 user: drh tags: trunk)
2021-05-17
17:14
Fix harmless compiler warnings. (check-in: ace12a3912 user: drh tags: trunk)
16:54
Enhance the integer-comparison optimization on the OP_Eq and similar opcodes so that it avoids a lot of useless work. (check-in: 4221f41af9 user: drh tags: trunk)
16:20
Fix problems with refering to CTEs from within sub-selects in PARTITION BY or ORDER BY clauses of window frame definitions. Also a problem with renaming a column when the schema contains a trigger containing a correlated sub-select within a window frames PARTITION BY or ORDER BY clause. (check-in: 4c6cd54a8d user: dan tags: trunk)
13:11
When deleting an SQL function that does not exist, return without doing anything at all rather than creating a tombstone function. In this way, function deletes that happen inside virtual-table destructors that are run when a database connection is closing do not create new tombstones in the function table after the function table has already been purged. forum post 726219164b. (check-in: 391c73132c user: drh tags: trunk)
11:19
Performance improvement in sqlite3TableLock(). (check-in: 0d77e371c4 user: drh tags: trunk)
2021-05-15
19:36
Performance optimization in the memory allocation of allocateCursor. (check-in: 9d16323d14 user: drh tags: trunk)
13:08
Performance optimization to the clearCell() routine inside of btree. (check-in: c4e02619a4 user: drh tags: trunk)
2021-05-14
20:01
Small performance improvement for sqlite3BtreeInsert(). (check-in: 4ae64484c5 user: drh tags: trunk)
15:37
Avoid adding superfluous virtual WHERE clause terms that might arise due to the constant propagation optimization. (check-in: cf63abbe55 user: drh tags: trunk)
14:26
Attempt the constant propagation optimization on any WHERE clause that has a top-level AND operator, even if the query is not a join. This is an attempt to partially address the concern raised in forum post 830d37b928. (check-in: e994c9f29f user: drh tags: trunk)
13:32
Fix an over-length source code comment in whereexpr.c. No logic changes. (check-in: af5eb902e7 user: drh tags: trunk)
2021-05-13
18:24
Modify the sqlite3_stmt_readonly() interface so that it returns false for CREATE TABLE IF NOT EXISTS statements even if the table already exists and the statement is really a read-only no-op. Likewise for DROP TABLE, CREATE INDEX, and DROP INDEX. Update the documentation for sqlite3_stmt_readonly() to reflect this new behavior. (check-in: cf8eb46597 user: drh tags: trunk)
13:43
The content columns of the index-btree that implements a WITHOUT ROWID table are not ordered and so the query planner should not assume they are ordered. Fix for the issue identified by forum post 6c8960f545. (check-in: c21bc5a235 user: drh tags: trunk)
2021-05-12
22:15
Further simplification of the reverse-order scan logic of the previous check-in. (check-in: b2b0e23ba8 user: drh tags: trunk)
22:02
Fix the query plan for an indexed lookup on a WITHOUT ROWID table with a DESC primary key when the primary key is constrained by an inequality. See forum post 8988341615. Test cases in TH3. (check-in: f65c929bf1 user: drh tags: trunk)
15:39
Fix a race condition that can lead to deadlock in the memdb VFS if one thread is trying to open an existing database at the same moment that another thread that is the only prior user of that database is trying to close it. (check-in: b635375dbe user: drh tags: trunk)
14:17
Add the new threadtest5 test program for stressing multiple database connections in the same process hammering on a single database. Primarily designed to test memdb, but works on any database. (check-in: 8db1c06958 user: drh tags: trunk)
11:55
Enhance the memdb VFS so that it is able to share databases among multiple database connections in the same process, as long as the database filename begins with "/". This provides a way for threads to share an in-memory database without the use of shared-cache mode. (check-in: 533fffc4a3 user: drh tags: trunk)
02:52
Respond correctly to OOM during mutex allocation. (Closed-Leaf check-in: 98dae595d8 user: drh tags: memdb-enhancement)
02:09
Mark an unreachable branch as NEVER(). (check-in: 6c20d9d4b7 user: drh tags: memdb-enhancement)
2021-05-11
11:40
Fix a NEVER() that can sometimes be true. (check-in: 8f9f1cbc44 user: drh tags: memdb-enhancement)
11:33
Merge changes from branch-3.35. Specifically, fixes for a running RBU with a cksumvfs VFS. (Leaf check-in: ca62c36b7f user: dan tags: reuse-schema-3.35)
11:25
Fixes for cksmvfs and rbu so that they work together. (Leaf check-in: ce8b589e4c user: dan tags: branch-3.35)
10:47
Fix a NEVER() that can sometimes be true. dbsqlfuzz 9a86fb3830977e216fde061bfbe1c1e5c2e9bfc4 (check-in: f39666e64d user: drh tags: trunk)
2021-05-10
23:48
Enhance the memdb VFS to provide the ability to share a single database among multiple database connections. (check-in: 0617c66ac2 user: drh tags: memdb-enhancement)
13:28
Add new output columns to the "PRAGMA database_list" statement. (Leaf check-in: 905085a75d user: drh tags: database-list-enhancement)
2021-05-08
17:18
Enable the sqlite3_serialize() and sqlite3_deserialize() interfaces by default. Omit the SQLITE_ENABLE_DESERIALIZE option and replace it with the SQLITE_OMIT_DESERIALIZE option. (check-in: 6df3b03e00 user: drh tags: trunk)
11:57
Fix help-text typo in the CLI. (check-in: 560753148a user: drh tags: trunk)
2021-05-07
15:46
Detect misuse of aggregate functions in the ORDER BY clause of a query even if the query also contains window functions. (check-in: 0d11d777c8 user: drh tags: trunk)
14:16
This was suppose to be a merge from trunk. But something went wrong. (Closed-Leaf check-in: c5e2de1d24 user: dan tags: bad-merge)
2021-05-06
20:47
Fixes for cksmvfs and rbu so that they work together. (check-in: f35f6972cd user: dan tags: trunk)
13:45
Remove an assert() in FTS5 that can (rarely) be false in the event of an OOM while processing a corrupt database file. (check-in: 5f12f89154 user: drh tags: trunk)
11:02
Improved detection of oversized cells in balance_nonroot(), especially in index b-trees when a cell is being moved from a child page into the parent page in order to become a new divider cell. (check-in: 9080d3d5f5 user: drh tags: trunk)
2021-05-05
19:46
Provide the sqlite3PrintMem() routine on SQLITE_DEBUG builds, which can be invoked from a debugger to get a summary of the status of an sqlite3_value or Mem object. (check-in: 5ac24179f5 user: drh tags: trunk)
11:47
Fix an undefined-integer-overflow problem in fts3.c. (check-in: a0bf931bd7 user: dan tags: trunk)
2021-05-04
23:21
When applying the optimization that disables WHERE clause terms that drive indexes, make sure not to do so if the term being disabled is a transitive constraint. Fix for the problem identified by forum post eb8613976a. (check-in: f1f9b5de3c user: drh tags: trunk)
18:24
Also for the 0x20000 bit of ".wheretrace", show when WHERE clause terms are disabled. (check-in: 625fb253ee user: drh tags: trunk)
16:51
Additional debugging output for whereScanNext() showing equivalence classes when the ".wheretrace" setting contains the 0x20000 bit. (check-in: 9280e3d994 user: drh tags: trunk)
12:07
Back out the EXISTS-to-IN optimization. It slows things down rather than speeds them up depending on the query. And (see forum post 8692d94725) it sometimes results in an incorrect answer. We may come back and revisit this optimization later, but for now it seems best just to disable it. (check-in: 16252d73fa user: drh tags: trunk)
2021-05-03
13:35
Fix minor coverity warnings in the CLI. (check-in: 204086a942 user: drh tags: trunk)
13:24
Fix a potential memory leak following OOM in the decimal extension. (check-in: 5127f73767 user: drh tags: trunk)
2021-05-01
12:09
Back out the NEVER() inserted by [c7309ed3c7588c7e] because it is reachable after all. dbsqlfuzz bc17a306a09329bba0ecc61547077f6178bcf321 (check-in: 20a4f3f12c user: drh tags: trunk)
2021-04-30
16:12
Guard against a NULL-pointer dereference following OOM in the JSON extension. (check-in: ea221f3c8e user: drh tags: trunk)
12:30
Fix a harmless "unused variable" warning when compiling with -DSQLITE_COVERAGE_TEST. (check-in: 0bef3fb11f user: drh tags: trunk)
2021-04-29
19:30
Reduce API lifetime requirement for objects passed to sqlite3_bind_...() with SQLITE_STATIC. Also fix broken session doc links (by zapping refs.) (check-in: 327eb4792f user: larrybr tags: trunk)
18:03
Fix the operation of the "-" argument to --load-dbsql in the fuzzcheck program. (check-in: 1f18b3cbee user: drh tags: trunk)
15:49
Fix the IN-early-out optimization so that it works even for the corner case where the NULL bypass fires before the affinity of the LHS operator has been set. Fix for the problem described in forum post 6a3ec138e9. (check-in: eb40248ce6 user: drh tags: trunk)
13:58
Enhanced "PRAGMA vdbe_trace=on" output associated with the seekHit flag. (check-in: 6839500093 user: drh tags: trunk)
13:37
Fix harmless compiler warnings. See forum post 256140e470. (check-in: 1b8da7924c user: drh tags: trunk)
10:48
Update test/fuzzdata8.db with recent dbsqlfuzz finds. (check-in: bce2ea393a user: drh tags: trunk)
2021-04-28
17:37
Ignore the TEMP or TEMPORARY keyword on CREATE statements which parsing the schema out of an existing database file. Those keywords should never be there. This change simply adds robustness in case a legacy or damaged database is seen. (check-in: 65ec39f0f0 user: drh tags: trunk)
15:43
Adjust a VDBE coverage macros due to the enhancement at [506333742103c1f4]. (check-in: daed59b4f9 user: drh tags: trunk)
2021-04-27
17:36
Create new branch named "testing_help" (Leaf check-in: a97a50229c user: larrybr tags: testing_help)
17:18
Further improvements to the handling of RETURNING clauses on changes to TEMP tables with triggers. dbsqlfuzz 683913e98f54fe4f14e8dd11a48011f73bdca58d (check-in: ff3538ae37 user: drh tags: trunk)
13:04
RETURNING bug fix: Correctly deal with RETURNING statements on changes to TEMP tables that also have triggers. dbsqlfuzz 78b9400770ef8cc7d9427dfba26f4fcf46ea7dc2 (check-in: d0b15eccbf user: drh tags: trunk)
11:28
Fix a segfault that could occur when querying a corrupt data structures with an fts5token table. (check-in: cbedfa0550 user: dan tags: trunk)
04:47
merge latest trunk (check-in: 3ff228249a user: larrybr tags: compile_options)
00:05
Better error messages on showdb. (check-in: 7e18e114b2 user: drh tags: trunk)
2021-04-26
23:57
Improved robustness of the "showdb" debugging program when it is parsing corrupt database files. (check-in: 3eabac2ee5 user: drh tags: trunk)
22:30
New dbsqlfuzz cases added to test/fuzzdata8.db. (check-in: 88d20500c5 user: drh tags: trunk)
21:23
Fix the UNION ALL flattener optimization so that it works better with recursive CTEs. dbsqlfuzz 88ed5c66789fced139d148aed823cba7c0926dd7 (check-in: f80d7bb2c3 user: drh tags: trunk)
21:00
Add ALWAYS() to branches that are no longer reachable due to recent enhancements. (check-in: 63c50fbdee user: drh tags: trunk)
20:18
refix altertab.test (check-in: db03215693 user: larrybr tags: trunk)
15:32
Fix a problem that could cause a crash in sqlite3BtreeDelete() when operating on a corrupt database file. (check-in: 6c6334660d user: dan tags: trunk)
15:28
More aggressive detection of OOM errors in resolveAlias(). dbsqlfuzz 7f96832c2ef7ee472022ed805b064e55e41094b2 (check-in: e99faf4f82 user: drh tags: trunk)
14:32
When doing the optimization that attempts to avoid sorting on a GROUP BY, do not assume that the values in an index on an expression are non-NULL. Bug discovered by Wang Ke's fuzzer and reported at forum post 74330094d8. (check-in: 7178dc3a32 user: drh tags: trunk)
14:09
Do not initialize eponymous virtual tables when parsing the schema. This can happen if the db is corrupt. (check-in: cb8c41aa20 user: dan tags: trunk)
2021-04-25
23:13
Skip test when no JSON. (check-in: 6fcb2438f8 user: larrybr tags: trunk)
2021-04-24
23:40
Make window range queries more robust against corrupt database files. dbsqlfuzz f22df3a7b2aab0937a415484514fc2f68a293c99. (check-in: 5063337421 user: drh tags: trunk)
12:24
Treat byte-order marks (BOMs) at the start of a token as whitespace. This enhancement is inspired by forum post ed8f696a20. (check-in: 3d55c21c16 user: drh tags: trunk)
12:20
Fix testcase altertab-25.1 due to check-in [c7909e8e0d0577c6] disallowing ALTER TABLE on eponymous virtual tables. (check-in: 32255e39cb user: drh tags: trunk)
2021-04-23
13:57
Fix harmless compiler warnings in fuzzcheck. (check-in: e7b4ffecc6 user: drh tags: trunk)
12:58
Enhance the --load-dbsql and related options of fuzzcheck so that if the argument is a single - then filenames are read from standard input. (check-in: e1548802b6 user: drh tags: trunk)
12:16
Give a better final output line for the --spinner option on fuzzcheck. (check-in: 93729614e2 user: drh tags: trunk)
11:50
New dbsqlfuzz cases added to test/fuzzdata8.db. (check-in: 8da8850893 user: drh tags: trunk)
11:37
Fix an assert() in fts5_index.c that may fail if the database records are corrupt. (check-in: dfadb96edf user: dan tags: trunk)
00:59
Improved OOM detection in sqlite3ExprCheckIN(). dbsqlfuzz 46ae2d8f473ac672f3042cc14ab67aeab9ffa6c2 (check-in: fac12115a9 user: drh tags: trunk)
2021-04-22
20:01
Change a memcpy() into a memmove() to prevent a warning about overlapping regions passed to memcpy() in case of some obscure and unlikely database corruption. (check-in: bab132cbd1 user: drh tags: trunk)
19:34
Fix harmless compiler warnings of unused function parameters in FTS5. (check-in: 1427391597 user: drh tags: trunk)
18:52
Further tweaks for comments in sqlite3session.h. (check-in: 553ada28f3 user: dan tags: trunk)
18:39
Change to comments in sqlite3session.h. No changes to code. (check-in: 353ebb71c4 user: dan tags: trunk)
18:02
Raise an error on an attempt to rename an eponymous virtual table. (check-in: c7909e8e0d user: drh tags: trunk)
17:55
Add the experimental sqlite3session_changeset_size() API. (check-in: 3de544d495 user: dan tags: trunk)
17:40
Add the sqlite3session_object_config() API. Current used to enable/disable collecting data for sqlite3session_changeset_size(). (Closed-Leaf check-in: 4d5fd2151e user: dan tags: session-changeset-size)
16:54
Improved handling of errors in ALTER TABLE RENAME. dbsqlfuzz 3e3e2e076e53d02288f80af41a11143a6ddf8c88 (check-in: 9c7a449f52 user: drh tags: trunk)
14:43
Fix the date/time translation logic in the zipfile extension so that it works with boundary cases. See forum post d82289d69f for the trouble report. (check-in: c8de5f0613 user: drh tags: trunk)
13:59
Ensure that the typedefs for specific-length integers in zipfile.c are correct. (check-in: f1f2a49007 user: drh tags: trunk)
12:38
In the whereLoopXfer() routine, ensure that the destination is fully initialized even if an OOM error occurs. (check-in: c4258708c0 user: drh tags: trunk)
2021-04-21
23:13
The new OP_Null opcode from check-in [8b54102a00852b72] was not coded correctly. This check-in attempts to fix that. (check-in: 02af30aab2 user: drh tags: trunk)
20:52
Add the experimental sqlite3session_changeset_size() API. (check-in: b5564a6fd5 user: dan tags: session-changeset-size)
12:03
Add recent dbsqlfuzz test cases to test/fuzzdata8.db. (check-in: 6fe50dcc23 user: drh tags: trunk)
11:58
Initialize the key registers in the skip-scan optimization to NULL, in case the query is run on a corrupt database that causes the initialization of the key to be bypassed. dbsqlfuzz 62fdf2bece00d24cac8a4edf2cf562e6eeac779d (check-in: 8b54102a00 user: drh tags: trunk)
11:32
Fix a problem allowing SQL variables to be used expressions within the second and subsequent ON CONFLICT clauses of an UPSERT within a trigger. (check-in: 2a28910a17 user: dan tags: trunk)
2021-04-20
22:48
Remove a testcase() that is no longer relevant due to the previous check-in. (check-in: ca70c8ac72 user: drh tags: trunk)
20:48
More aggressive detection of database corruption in the rebuildPage() routine. (check-in: a18c65068b user: drh tags: trunk)
13:31
Update an assert() in btree.c that may fail with a corrupt database. (check-in: d74bf88c5a user: dan tags: trunk)
12:14
In the sqlite3SelectDup() routine, do not do an incomplete duplication due to OOM. This in turn requires several new NEVER() and ALWAYS() macros for unreachable branches. (check-in: a61c0e6b78 user: drh tags: trunk)
00:09
Add two ALWAYS() macros for branches no longer reachable due to the previous check-in. Later: Dbsqlfuzz quickly found ways to make both of these ALWAYS() conditionals false. (Closed-Leaf check-in: 8f339f4300 user: drh tags: mistake)
2021-04-19
20:36
Improvement to check-in [d564d8882ef18b55] to detect the OOM fault even if it occurs deep down inside the duplicated expression. (check-in: 3e863cd093 user: drh tags: trunk)
19:59
An improvement to check-in [1a341378ab24a509] that omits the new Walker.bWalkWinDefn boolean (which is not always initialized) and uses a special value for xSelectCallback2 instead. (check-in: bef2238de9 user: drh tags: trunk)
19:07
Merge in the 3.35.5 patches. (check-in: 35d1c9a5f8 user: drh tags: reuse-schema-3.35)
18:32
Version 3.35.5 (check-in: 1b256d97b5 user: drh tags: release, branch-3.35, version-3.35.5)
18:03
Ensure that a WITHOUT ROWID table does not have the .iPKey field set, even if an OOM error occurs while parsing a schema in PRAGMA writable_schema=ON mode. Add extra assert() statements to triple-check that this never happens. dbsqlfuzz 803bb1f63d6f3bd6c14db568494d6e96be8f1ec9. (check-in: 41228350a6 user: drh tags: trunk)
16:45
Remove fts5 test functions fts5_expr(), fts5_expr_tcl(), fts5_isalnum() and fts5_fold() from release builds. (check-in: c68a6c6c89 user: dan tags: trunk)
15:05
In the query flattener, avoid invalidating an expression if an OOM occurs. This prevents problems in higher-level routines that might not check for the OOM after processing a subquery. dbsqlfuzz fb70fa8602421f87673e0670b0712ff2b5240ea0 (check-in: d564d8882e user: drh tags: trunk)
12:05
Update the version number to 3.35.5. (check-in: d917b70a35 user: drh tags: branch-3.35)
2021-04-18
15:45
Create new branch named "auth-vac" (Leaf check-in: 5a7410acce user: larrybr tags: auth-vac)
06:03
Ensure that all records are updated by setting the OPFLAG_SAVEPOSITION flag when updating records as part of ALTER TABLE DROP COLUMN. Fix for [c88f3036a2]. (check-in: 11c368f20a user: dan tags: branch-3.35)
05:52
Modify the drop column code to handle WITHOUT ROWID tables for which a single column appears more than once in the primary key. (check-in: cfa8912a94 user: dan tags: branch-3.35)
05:30
Ensure that all records are updated by setting the OPFLAG_SAVEPOSITION flag when updating records as part of ALTER TABLE DROP COLUMN. Fix for [c88f3036a2]. (check-in: 354a4db5cb user: dan tags: trunk)
2021-04-17
20:13
Remove a couple of NEVER() macros from the code for walking window lists. (check-in: 4ec9ef4bcd user: dan tags: trunk)
20:13
Merge trunk bug/test fixes (check-in: 830b0b1c49 user: larrybr tags: compile_options)
20:04
Bring in permutations mod. (check-in: 7a1316f32c user: larrybr tags: trunk)
19:59
Do not run external_reader.test as part of permutation "journaltest", as it requires wal mode. (check-in: 9f5f16cf09 user: dan tags: trunk)
18:43
Allow more time for perf tests when instrumented. Condition another on feature it needs. (check-in: f0dd9cf2d7 user: larrybr tags: trunk)
18:39
Add new dbsqlfuzz cases to test/fuzzdata8.db. (check-in: d18793e589 user: drh tags: trunk)
14:42
Fix cases where code in expr.c was failing to handle OOM failures that occurred while processing sub-select expressions. (check-in: 62efe2eee3 user: dan tags: trunk)
13:46
Ensure that variables are not used in the WINDOW clause of a query inside of a trigger. dbsqlfuzz d9cf66100064952b66951845dfab41de1c124611 (check-in: 1a341378ab user: drh tags: trunk)
2021-04-16
23:53
Merge from trunk. (check-in: 43894f0b5b user: larrybr tags: compile_options)
23:43
Add geopoly to $::sqlite_options() and use it to pass more tests. (check-in: 23da5016b6 user: larrybr tags: trunk)
22:53
Performance optimizations in the code generator, especially in name resolution. (check-in: ab83a99899 user: drh tags: trunk)
21:29
Make a test conditioned on feature used. (check-in: 31afda7ac3 user: larrybr tags: trunk)
19:25
Add new dbsqlfuzz-generated cases to test/fuzzdata8.db. (check-in: 1ac0a056a0 user: drh tags: trunk)
17:09
Fix another undefined behaviour in fts3 that could follow an OOM error. (check-in: fac3ff857c user: dan tags: trunk)
16:55
Avoid signed integer overflow when finding snippets in fts3 by using 64-bit integer offsets. (check-in: 4cc09a872f user: dan tags: trunk)
15:44
Merge from trunk. (check-in: d762784a46 user: larrybr tags: compile_options)
12:33
Remove an ALWAYS() from a branch in sqlite3ExprAddCollateToken() which can be false following an OOM. dbsqlfuzz 9e8516bf1e786c84e520ae43141b75b7399f8618. (check-in: 6af4e6d054 user: drh tags: trunk)
12:13
Fix an assert() in whereLoopAddOr() that can be wrong if an OOM occurs in an OR constraint on a virtual table if one of the terms of the OR is an IN operator. dbsqlfuzz 5ee7350b40014f5a878c5d6e76913a2d619f5146 (check-in: 5cb40e53ed user: drh tags: trunk)
11:25
Fix an assert() in fts3 that might fail when handing corrupt records. (check-in: d0e2d6742f user: dan tags: trunk)
11:05
Fix the comment on the implementation of the pi() SQL function. No changes to code. (check-in: 5620bd466e user: drh tags: trunk)
10:25
Dial back assumptions on compile option defaults to reflect actual conditionals. (check-in: cb3127725d user: larrybr tags: compile_options)
01:03
Do not invoke sqlite3ExprAffinity() if there is a possibility that the Expr is incomplete due to a prior OOM. dbsqlfuzz b8a824706914488bd236da51118eb9174ceb870f (check-in: e8a1515b44 user: drh tags: trunk)
2021-04-15
23:43
Merge from (forked) trunk. Handle compile options that differ from default by being 0. (check-in: 6eb83f83d2 user: larrybr tags: compile_options)
19:09
Fix a bad interaction between constant propagation and transitive term handling causing patterns like "WHERE unlikely(t1.x=t1.y) AND t1.y=?" to return non-matching rows. See forum post c38462ab5e. (check-in: 2363a14ca7 user: dan tags: trunk)
13:26
Add extra test case for OOM handling in where.c. (check-in: 7163de3dea user: dan tags: trunk)
12:56
Make sure the WhereInfo.pExprMods list is properly cleared when existing sqlite3WhereBegin() early due to an OOM fault. dbsqlfuzz 1247a51318047aba42e7f6991dfa62577cb7a151. (check-in: 0e19af72d8 user: drh tags: trunk)
00:26
Bring pragma compile_options up to date. And make mkctimec.tcl help do so. (check-in: 63ea3e298c user: larrybr tags: compile_options)
2021-04-14
15:25
Prevent an assert() from failing if sqlite3_blob_reopen() is called on a blob-handle that has already hit an SQLITE_CORRUPT error. (check-in: b5dc7aba03 user: dan tags: trunk)
12:11
Fix a potential crash when using json_group_array() as a window function. (check-in: 3c266690c7 user: dan tags: trunk)
11:20
Fix an assert() in the code generator for expressions so that it is valid even after an OOM. (check-in: 427e83eb58 user: drh tags: trunk)
2021-04-13
18:39
Fix a problem with handling expressions like "(col IS NULL AND <expr1>) OR col == NULL" in WHERE clauses. Reported at https://sqlite.org/forum/forumpost/1c4f2fdcc4. (check-in: e8c7bd34d0 user: drh tags: branch-3.35)
17:45
Fix an undefined signed integer overflow in fts5. (check-in: e6f0adb00d user: dan tags: trunk)
13:48
Do not leave a WITHOUT ROWID table without a primary key index structure due to an OOM error. This prevents downstream troubles in the case of PRAGMA writable_schema=ON. dbsqlfuzz 69fb32cc82d59b4d790881566e3f6c727e616122 (check-in: 608b6644b9 user: drh tags: trunk)
13:20
The SQLITE_NoSchemaError flag should not apply to OOM errors while parsing the schema. (check-in: 9cc484ad1a user: drh tags: trunk)
13:01
Earlier detection empty_result_callbacks in sqlite3InitCallbac() to avoid problems with corrupt schemas an writable_schema=ON. dbsqlfuzz ca4ca43bdb22eab9859de4979aec615af851e111. (check-in: fb305fe077 user: drh tags: trunk)
12:28
In the rtreedepth() function, detect OOM when converting a zeroblob() on input. dbsqlfuzz ed23eda7cc3a8a054f85ea19d55c59ba2ca72744. (check-in: 69f843c8fa user: drh tags: trunk)
01:12
Fix an error in the inversion function for json_group_array(). dbsqlfuzz 68a4b0f668b7bc27235e3f1c5cff8a2d94cfa17e. (check-in: e718a62ed1 user: drh tags: trunk)
2021-04-12
23:18
Fix a faulty assert() inside sqlite3ExprDup(). (check-in: 59812e7ef7 user: drh tags: trunk)
22:39
Fix an assert() in OP_ParseSchema so that it works even after an OOM. (check-in: 79b8835379 user: drh tags: trunk)
18:32
Avoid taking the address of a NULL pointer following an OOM in FTS5. Doing so is harmless in actual practice, but it technically UB so we want to avoid it. (check-in: 1cfcd9dceb user: drh tags: trunk)
17:34
Add an assert() to show that the SF_Resolved flag does not get set if errors are being suppressed. (check-in: f455c5b0bd user: drh tags: trunk)
16:59
Fix a segfault that could occur if the ORDER BY clause of a compound SELECT contains a sub-select that uses one or more window functions. (check-in: 5ba15ebb34 user: dan tags: trunk)
12:58
Fix the display of SrcList in the sqlite3TreeView debugging routines. (check-in: 28ecb3810b user: drh tags: trunk)
12:02
Avoid an assert() failure when a compound scalar sub-select is, due to a "WHERE (sub-select) AND (... OR ...)" clause, coded twice by the code generator. (check-in: a4e3f13329 user: dan tags: trunk)
11:51
Fix harmless comment typo in main.c. (check-in: 785a553e71 user: drh tags: trunk)
2021-04-11
00:11
Add NEVER() to a branch that is no longer reachable due to check-in [a1d823f6879ce1ac]. (check-in: 5fda21feda user: drh tags: trunk)
2021-04-10
20:27
Avoid an uninitialized-memory valgrind error by tightening up corruption detection in internal routine defragmentPage(). (check-in: 8096f7aee4 user: dan tags: trunk)
20:21
Add NEVER() to a branch that became unreachable with check-in [58f36af2271517ab]. (check-in: e07ce46396 user: drh tags: trunk)
15:34
Avoid invoking sqlite3Atoi64() will a null pointer following an error from ExpandBlob(). (check-in: 780412f2ca user: drh tags: trunk)
14:49
Fix a problem with handling expressions like "(col IS NULL AND <expr1>) OR col == NULL" in WHERE clauses. Reported at https://sqlite.org/forum/forumpost/1c4f2fdcc4. (check-in: 40852ca8e2 user: dan tags: trunk)
13:37
Refactor NameContext.nErr into nNcErr to avoid confusion with Parse.nErr. Do not abandon sqlite3ResolveExprList() on nNcErr if nErr is still zero as we might have hit a problem with ORDER BY resolution that should be a suppressed error. dbsqlfuzz 41b9dad40919d3549ca7e52d893da81a6dded4ad (check-in: 7d67497074 user: drh tags: trunk)
2021-04-09
22:34
Remove a NEVER() in a corruption detection conditional in defragmentPage(). dbsqlfuzz 9c61c33802600b2b01dfb09b0386ceb4ade02a19 (check-in: c174f5d32b user: drh tags: trunk)
22:20
Remove an ALWAYS() that is actually reachable following an OOM on an UPDATE FROM of a virtual table. dbsqlfuzz aa03237ef7c4a028c7cdaf8bbcde2b62e2bcd36e (check-in: 49eac38926 user: drh tags: trunk)
20:50
Have the VFS in memdb.c return SQLITE_IOERR_NOMEM instead of SQLITE_NOMEM when an OOM error is encountered. This is required to get the pager module to handle such OOM errors correctly in some cases. (check-in: 09c96b4c02 user: dan tags: trunk)
2021-04-08
20:29
Fix a use-after-free error that could occur when processing "SELECT aggregate(DISTINCT <expr>)..." queries. (check-in: 0e4789860b user: dan tags: trunk)
19:56
Remove an ALWAYS() that might be false under very unusual circumstances. dbsqlfuzz 300261f469ace7ecc57ed32ea7b0de3ea9d7dbf. Test case in TH3. (check-in: 466f508973 user: drh tags: trunk)
19:39
Handle the corruption fixed by the previous commit in a different way so as to also fix dbsqlfuzz crash 753de0a0ac5b25b18f1e4d41e650d3333cdc270c. (check-in: cb27ce2509 user: dan tags: trunk)
15:19
Handle a special case of corruption that can present if "PRAGMA writable_schema=1" is set. Fix for dbsqlfuzz test case 6229ad63de49e3ba0630aaf0058868f36008bcca. (check-in: 58f36af227 user: dan tags: trunk)
14:15
Harden the filter_over grammar rule against OOM faults. dbsqlfuzz e47c54502a9c36778a5ed553199d5870e2ebd9f2 (check-in: f375f541ef user: drh tags: trunk)
13:52
Remove an incorrect assert() from sqlite3EndTable(). dbsqlfuzz 4af45bcda779592449b1985433bca90b0e683b9b. (check-in: 38a1085cbd user: drh tags: trunk)
13:41
Fix an obscure memory leak in FTS3. dbsqlfuzz 26a51001beeff35649d2e328b05ec06f93c577a5 (check-in: be7cd9ebb1 user: drh tags: trunk)
2021-04-07
18:17
Do not allow the use of rowid for views and subqueries unless compiled with -DSQLITE_ALLOW_ROWID_IN_VIEW. (check-in: a2ddb89b20 user: drh tags: trunk)
18:08
Add the SQLITE_ALLOW_ROWID_IN_VIEW option to omitttest.tcl. (Closed-Leaf check-in: 83b8e4c281 user: drh tags: no-rowid-on-view)
17:46
Merge latest changes into this branch. (check-in: 655c28412f user: dan tags: begin-concurrent-report)
17:32
Merge latest trunk changes into this branch. (check-in: 1f3f7e4bf3 user: dan tags: begin-concurrent-pnu)
15:45
Also prohibit the use of rowid from a subquery. Add the SQLITE_ALLOW_ROWID_IN_VIEW compile-time option to restore legacy behavior in case somebody actually needs it. (check-in: 14b1d56ef8 user: drh tags: no-rowid-on-view)
15:23
Merge version 3.35.4 with this branch. (check-in: 4b4f87913a user: dan tags: reuse-schema-3.35)
15:13
Update a broken assert() on this branch. (check-in: e69f29892e user: dan tags: reuse-schema)
13:20
Unnecessary local variable initialization to fix a harmless compiler warning. (check-in: c22e47c77a user: drh tags: trunk)
12:59
In FTS3, if the xBegin method fails to start a transaction due to an OOM error, then make sure that the virtual table is left in a consistent state. dbsqlfuzz 85ef48423fda4eef79a551654445d8ef3537a590. (check-in: dd55357833 user: drh tags: trunk)
12:36
Fix an assert in the automatic-index constructor that can be false following an OOM error. dbsqlfuzz ee04d66c627ed5b5301e0ce09e24db47e0f1544e. (check-in: cc6463fe6d user: drh tags: trunk)
12:21
Earlier detection of page 1 on the freelist (which is impossible) and reporting of that as database corruption. dbsqlfuzz 6fe6c504b320be5e3eed66896cb0db28bfb38a93. (check-in: b1bf0d9875 user: drh tags: trunk)
12:02
Fix a possible crash that could occur when executing a drop column operation on a corrupt database schema. (check-in: c337849416 user: dan tags: trunk)
09:31
Fix seg-fault upon appendvfs attempt to open non-existent file. (check-in: 04f6439f4d user: larrybr tags: trunk)
2021-04-06
23:29
Do not apply the optimization that omits DISTINCT if all result terms are part of a UNIQUE index if the index is also a partial index. Fix for the bug reported by forum post 66954e9ece. (check-in: c2f940b028 user: drh tags: trunk)
22:56
Detect OOM earlier in the geopoly extension. dbsqlfuzz 0986e7b020e6137fc6b96331f91d15753d18e42d. (check-in: 7237117595 user: drh tags: trunk)
21:20
Modify the drop column code to handle WITHOUT ROWID tables for which a single column appears more than once in the primary key. (check-in: e0d2507021 user: dan tags: trunk)
19:13
Raise an error if a query tries to access the "rowid" of a view, as views do not have rowids. (check-in: 7a73c6166b user: drh tags: no-rowid-on-view)
18:40
Restructure a loop in window.c to avoid hitting an assert() following an OOM. dbsqlfuzz test case 6ef74a9659de87e9be3d8694ad062c448aa7ef1d. (check-in: 887c19a15b user: dan tags: trunk)
18:02
Update an assert statement that could fail when using "PRAGMA writable_schema = 1" to access a database with a corrupt schema. (check-in: 55cad6f628 user: dan tags: trunk)
17:51
Fix issue with failing --enable-debug --enable-fts5 build. (check-in: e7491acc0c user: dan tags: trunk)
16:55
New test cases added to fuzzdata8.db. (check-in: 039ad662dd user: drh tags: trunk)
16:42
Silence an msan warning triggered by a corrupt database by initializing a local variable in sqlite3Insert(). (check-in: f64deecee1 user: dan tags: trunk)
16:16
Avoid a use-after-free that may occur when accessing a corrupt database schema with "PRAGMA writable_schema = 1" set. (check-in: a1d823f687 user: dan tags: trunk)
14:46
Remove some test routines from release builds of fts5. (check-in: 3088bf15ca user: dan tags: trunk)
13:57
Fix incorrect RETURNING test cases in wherelimit.test (check-in: 20d21ff9be user: dan tags: trunk)
13:56
Earlier detection of OOM errors during window function processing. dbsqlfuzz b08676f5a0437552c95d2a5d7ef285f8c451ea35. (check-in: 8e04f52e32 user: drh tags: trunk)
13:53
Handle "RETURNING rowid" clauses attached to INSERTs on views without causing an assert() to fail. Fixes dbsqlfuzz crash 0081f863d7b2002045ac2361879fc80dfebb98f1. (check-in: 9c5b7386d0 user: dan tags: trunk)
13:03
Further improvements (subsequent to [d91450847a3a3a72]) to handling of attempts to delete a journal using the memdb VFS. dbsqlfuzz ac61dab357279a6a531de067f040e9a4828d2df0. (check-in: a083940642 user: drh tags: trunk)
12:50
Earlier detection and handling of OOM problems. dbsqlfuzz 39f2963ea5559aa3a16e24e0e3cb42aac85a7371. (check-in: 8d46df7313 user: drh tags: trunk)
2021-04-05
22:42
Relax an assertion on the sqlite3WhereEnd() routine after dbsqlfuzz found a counter-example. (check-in: e6b591e765 user: drh tags: trunk)
22:30
Add a missing CORRUPT_DB to an assert in the OP_ResultRow opcode. (check-in: 82f92d79e1 user: drh tags: trunk)
19:23
Adjust the README.md file so that build instructions work for Fossil version 2.12 and later. Forum post 51f28bb701. (check-in: 51f87adc7f user: drh tags: trunk)
19:05
Do not allow floating point rounding errors to cause a window function xInverse() function to be invoked before the corresponding xStep() call. (check-in: 7a19fed4f2 user: dan tags: trunk)
17:50
Fix an assert() that can be false when doing an incremental vacuum on a corrupt database file. dbsqlfuzz cced0668cfd4da4eb2382cb9dd26c17c64aaff76. (check-in: 15b801016f user: drh tags: trunk)
16:20
Avoid coding unindexed WHERE constraints if an equivalent transitive term has already been coded by an outer loop. (check-in: 644bb77f8b user: dan tags: trunk)
13:41
Do not invoke the xDelete method when converting to PRAGMA journal_mode=OFF if the underlying VFS does not support that method. dbsqlfuzz 39d6af88ef5242f866c4f9b21ede330c5c1e36a8. (check-in: d91450847a user: drh tags: trunk)
11:39
As a continuation of [1f66a85b7757754f], ensure that an OOM that occurs while checking the validity of the schema is reported out as SQLITE_NOMEM and not as SQLITE_SCHEMA. (check-in: 5045c8a748 user: drh tags: trunk)
2021-04-04
23:56
Fix an assert() in sqlite3BtreeLast() that needs an "|| CORRUPT_DB" term. Dbsqlfuzz case b92b72e4de80b5140c30ab71372ca719b8feb618. (check-in: ad718388a1 user: drh tags: trunk)
14:22
Avoid compile error when SQLITE_OMIT_VIRTUALTABLE defined. (check-in: 0ee0ef476b user: larrybr tags: trunk)
12:52
Make shell .parameter feature type-agnostic. Hush harmless compiler warning. (check-in: 35cf295e02 user: larrybr tags: trunk)
2021-04-03
23:30
Improved robustness to OOM conditions in the window function logic. dbsqlfuzz 0c123f7d80b29beaafc8411c12129e46f7ffdac3. (check-in: 35ff7cbf54 user: drh tags: trunk)
20:35
Take care not to change an SQLITE_NOMEM error into SQLITE_SCHEMA. (check-in: 1f66a85b77 user: drh tags: trunk)
19:23
Fix a crash in handling queries of the form "SELECT aggregate(DISTINCT tbl.col) FROM ... LEFT JOIN tbl ...". Fixes a problem introduced by [ef4ac0ddd297bbd3]. (check-in: 0dcf808ddf user: dan tags: trunk)
2021-04-02
20:53
Merge latest trunk changes with this branch. (check-in: a221625933 user: dan tags: begin-concurrent-report)
20:43
Correctly capture the error when a RETURNING clause appears on an attempt to UPDATE an eponymous virtual table. dbsqlfuzz 486f791cbe2dc45839310073e71367a1d8ad22dd. (check-in: 778a9a6e6f user: drh tags: trunk)
20:40
Merge latest trunk changes into this branch. (check-in: a7e612ee8f user: dan tags: begin-concurrent-pnu)
20:29
Merge latest trunk changes into this branch. (check-in: 9842084230 user: dan tags: begin-concurrent)
19:55
Add experimental SQLITE_FCNTL_EXTERNAL_READER file control. (check-in: e16da5af82 user: dan tags: trunk)
18:59
Fix a problem with the geopoly_bbox() function. (check-in: f3a2eb979f user: drh tags: trunk)
15:20
Version 3.35.4 (check-in: 5d4c65779d user: dan tags: release, branch-3.35, version-3.35.4)
11:59
Fix incorrect RETURNING test cases in wherelimit.test (check-in: 64b0eb7e11 user: drh tags: branch-3.35)
2021-04-01
11:30
When resolving names in the RETURNING clause, do not accept trigger names even within subquires. (check-in: 8541c71b35 user: drh tags: branch-3.35)
2021-03-31
23:56
When resolving names in the RETURNING clause, do not accept trigger names even within subquires. See forum post 34c81d83c9177f46 for context. (check-in: fd4ea3f626 user: drh tags: trunk)
17:49
When resolving column names in the RETURNING clause, do not ignore an incorrect table name qualifier. Raise an error instead. (check-in: 3b916924ce user: drh tags: branch-3.35)
17:42
When resolving column names in the RETURNING clause, do not ignore an incorrect table name qualifier. Raise an error instead. See forum post 85aef8bc01 for context. (check-in: 51d5c50b2f user: drh tags: trunk)
13:51
Defer deletion of expressions that are optimized out by the AND optimizer in the sqlite3ExprAnd() routine until the corresponding Parse object is deleted. This avoids a dangling pointer in AggInfo if sqlite3ExprAnd() is invoked by the push-down optimization. The dangling pointer appears to be harmless in release builds, only showing up in debug builds. Problem found by dbsqlfuzz. (check-in: 77a30f3f7a user: drh tags: branch-3.35)
13:41
Ensure that negative numbers may not be used in frame offset clauses even if they are initially text value. e.g. (RANGE BETWEEN '-1' PRECEDING ...). (check-in: 2d179f58bf user: drh tags: branch-3.35)
13:31
Defer deletion of expressions that are optimized out by the AND optimizer in the sqlite3ExprAnd() routine until the corresponding Parse object is deleted. This avoids a dangling pointer in AggInfo if sqlite3ExprAnd() is invoked by the push-down optimization. The dangling pointer appears to be harmless in release builds, only showing up in debug builds. Problem found by dbsqlfuzz. (check-in: c36b43589a user: drh tags: trunk)
11:31
Ensure that negative numbers may not be used in frame offset clauses even if they are initially text value. e.g. (RANGE BETWEEN '-1' PRECEDING ...). (check-in: 8b681b274d user: dan tags: trunk)
2021-03-30
01:57
Raise an error if a term of the form "TABLE.*" appears in the RETURNING clause, as SQLite does not (yet) know how to handle that. Ticket [132994c8b1063bfb]. (check-in: 257e16f7b3 user: drh tags: branch-3.35)
01:52
Raise an error if a term of the form "TABLE.*" appears in the RETURNING clause, as SQLite does not (yet) know how to handle that. Ticket [132994c8b1063bfb]. (check-in: 3039bcaff9 user: drh tags: trunk)
2021-03-29
21:59
Increase the patch number to 3.35.4. (check-in: 4375cec281 user: drh tags: branch-3.35)
21:16
Do not do the EXISTS-to-IN transformation if the sub-select has LIMIT clause. Ticket [de7db14784a08053] (check-in: 3bf8a35716 user: dan tags: branch-3.35)
20:28
Do not do the EXISTS-to-IN transformation if the sub-select has LIMIT clause. (check-in: d07e246f9b user: dan tags: trunk)
20:04
Add "#ifdef SQLITE_DEBUG" blocks around test variables sqlite3_fts5_may_be_corrupt and sqlite3_fts3_may_be_corrupt. (check-in: 004559544e user: dan tags: trunk)
20:01
Simplify the comparison opcodes in the bytecode engine, for a performance improvement. (check-in: f2af5868be user: drh tags: trunk)
19:47
Fix VDBE coverage macros. (Closed-Leaf check-in: ebe100de55 user: drh tags: compare-opcode-opt)
18:53
Omit the SQLITE_STOREP2 and SQLITE_KEEPNULL options from the comparison opcodes, allowing them to run faster. This required refactoring the vector comparison logic, which in turn required changing OP_ElseNotEq into OP_ElseEq. (check-in: 380b46054b user: drh tags: compare-opcode-opt)
14:40
Add the OP_ZeroOrNull opcode and use it to compute boolean values for scalar comparisons, rather than the SQLITE_STOREP2 parameter to the comparison opcode. (check-in: 93781b6f10 user: drh tags: compare-opcode-opt)
13:47
The comparison opcodes (ex: OP_Eq) now set the iCompare flag so that the result of comparison can be used by subsequent OP_Jump or OP_ElseNotEq opcodes. (check-in: bd00df8f07 user: drh tags: compare-opcode-opt)
2021-03-28
23:37
Alternative implementation of the comparison opcode speed-up of check-in [4a8805d9a66dc888] that should pass muster with UBSAN. (check-in: afb18f6454 user: drh tags: trunk)
20:44
Document the "%token" directive for Lemon. This directive has been in place for a while, but was previously undocumented. (check-in: 36624d3740 user: drh tags: trunk)
2021-03-27
20:45
Performance improvement in the comparison opcodes by rewriting an array lookup using pointer arithmetic. This makes gcc 5.4.0 builds with -Os both faster and smaller. Though I suspect that in newer compilers with better optimizers in will probably make no difference at all in the generated machine code. Later: Even though the new code is perfectly valid, and generates correct machine code that is both smaller and faster, UBSAN complains about it in OSSFuzz. So we will take it out. So here was have an example of OSSFuzz coercing a widely used application to become bigger and slower. (Leaf check-in: 4a8805d9a6 user: drh tags: gcc-opt)
16:21
For the sqlite3_bind_text16 TCL binding used for testing, ensure that there are at least 3 terminating zeros, so that there will always be a \u0000 character even if the original byte sequence is an odd number of bytes. (check-in: c23d092f37 user: drh tags: trunk)
2021-03-26
23:59
In the sqlite3_bind_text and sqlite3_bind_text16 TCL commands of the test suite, ensure that the string is zero-terminated if the size argument is negative. (check-in: f472fd6443 user: drh tags: trunk)
14:04
Merge up all the 3.35.3 changes into the begin-concurrent-pnu-wal2 branch. (check-in: 4d425e641d user: drh tags: begin-concurrent-pnu-wal2)
13:58
Merge the 3.35.3 enhancements into the wal2 branch. (check-in: a1b8d9d213 user: drh tags: wal2)
13:47
Merge patch 3.35.3 into the begin-concurrent-report branch. (check-in: 4ba9fc34c5 user: drh tags: begin-concurrent-report)
13:38
Merge version 3.35.3 changes into the begin-concurrent-pnu branch. (check-in: 7e4c48afcc user: drh tags: begin-concurrent-pnu)
13:31
Merge from 3.35.3 into the begin-concurrent branch. (check-in: 988da36c86 user: drh tags: begin-concurrent)
13:16
Merge in changes for 3.35.3 (check-in: 76f19f4bcf user: drh tags: reuse-schema)
12:12
Version 3.35.3 (check-in: 4c5e6c200a user: drh tags: release, branch-3.35, version-3.35.3)
2021-03-24
23:30
Remove old testcases() macros. Also remove surplus end-of-line whitespace. (check-in: 54b41915ed user: drh tags: trunk)
19:57
Add a comment to snapshotrevert.c warning of the undefined effects reverting to an old snapshot may have on newer readers. (Leaf check-in: 00af3bd254 user: dan tags: snapshot-revert)
19:54
Add experimental extension "snapshotrevert". (check-in: 2d5ee3bad1 user: dan tags: snapshot-revert)
19:44
Comment improvements to on the distinct-agg optimization. Show a line in the EQP output when using an ephemeral table to implement DISTINCT on an aggregate. (check-in: 037ca79e60 user: drh tags: trunk)
17:28
Improvements to distinct aggregates such that they can sometimes avoid using an ephermeral table to test for duplicates if the column that is distinct is part of an index. (check-in: ef4ac0ddd2 user: drh tags: trunk)
17:04
Fix a harmless compiler warning. (check-in: 26b005a95e user: drh tags: trunk)
2021-03-23
22:15
Fix a problem with renaming a column when there is a quoted string immediately following the column name somewhere in the schema. (check-in: 4719fae626 user: dan tags: trunk)
21:02
Add an ALWAYS() on a branch that is always taken. (check-in: 0646d2260c user: drh tags: trunk)
19:39
Test result adjustments in test/misc7.test due to the EQP format change. (check-in: d3ade8c7fe user: drh tags: trunk)
16:34
When doing schema updates, try to convert (incorrect) double-quoted strings into (SQL-standard) single-quoted strings. (check-in: 0770470488 user: drh tags: trunk)
15:39
Tweaks to test/scanstatus.test to account for the new EQP format. (check-in: 2eb28afd01 user: drh tags: trunk)
15:07
Changes to test/analyzeG.test to conform to the new EXPLAIN QUERY PLAN syntax. (check-in: d8afde1bf1 user: drh tags: trunk)
14:33
Fix a test case in bigmmap.test so that it works with the new EXPLAIN QUERY PLAN output format. (check-in: 9ac064fe2a user: drh tags: trunk)
14:27
Add the ExprList.nAlloc column and use it to make the sqlite3ExprListAppend() routine much faster. (check-in: 1d3c4662c2 user: drh tags: trunk)
01:06
Enhance the EXPLAIN QUERY PLAN output to use symbolic names to describe subqueries, where possible, instead of cryptic subquery index numbers. And in other ways, make the EQP output cleaner and easier to read. Little code is changed, but many of the test results had to be tweaked to align with the new output format. (check-in: f8e28308fd user: drh tags: trunk)
2021-03-22
18:53
Merge recent fixes from trunk. (Closed-Leaf check-in: 4a343698b4 user: drh tags: eqp-improvements)
16:50
Increase the version number to 3.36.0 to begin the next development cycle. (check-in: 5cee689d64 user: drh tags: trunk)
16:47
This branch for any further patches on 3.35. We anticipate 3.35.3 in a few days. Hopefully there will never be a need for 3.35.4. (check-in: 8de4cb984a user: drh tags: branch-3.35)
2021-03-21
18:23
Fix an assert() that in preupdate-hook logic (not normally built) that can be false when running VACUUM on a corrupt database file under PRAGMA writable_schema=ON. (check-in: 6bb2134027 user: drh tags: trunk, same-as-3.35.3)
17:52
Add a better comment and an assert() on the code inside sqlite3CreateIndex() that REPLACE indexes come at the end of the index list. forum post ceb51d83f7 (check-in: 71e4da136b user: drh tags: trunk)
2021-03-20
23:15
Fix the "box" output mode in the shell when statement returns zero-column rows (for example from "PRAGMA incremental_vacuum"). (check-in: 34439fe3ae user: drh tags: trunk)
15:46
Use the canonical name, not the AS name, when showing the MATERIALIZE or CO-ROUTINE lines for a CTE. (check-in: 1b83e232c4 user: drh tags: eqp-improvements)
15:11
Revise tests cases to align with the new EXPLAIN QUERY PLAN output. (check-in: 50fbd53260 user: drh tags: eqp-improvements)
01:00
Fix a faulty assert() in the OP_SkipScan opcode. dbsqlfuzz a15a9b2ca82e812ad52f62c86cc93dca0dc72f01. Test cases in TH3. (check-in: 1805b9aaf1 user: drh tags: trunk)
2021-03-19
19:44
Further simplification of the EQP output. Only show "SUBQUERY n" if the subquery is anonymous. (check-in: 1fadd30525 user: drh tags: eqp-improvements)
19:09
Merge enhancements from trunk. (check-in: d192d73775 user: drh tags: eqp-improvements)
17:54
In the wholenumber virtual table, increase the cost penalty for running open-loop. This appears to fix the problem reported by forum post b52a020ce4. (check-in: f12b54042e user: drh tags: trunk)
16:29
Dbsqlfuzz found a new way to make that branch in codeVectorCompare reachable. (check-in: 959272c275 user: drh tags: trunk)
15:02
Fix tokenizer's classification of EBCDIC newline. (check-in: 8680f6a8fb user: larrybr tags: trunk)
14:51
Restore the NEVER() that was taken out by [f481636f1a0333c6] because that case is no longer reachable after the previous check-in. (check-in: e3a78b2a23 user: drh tags: trunk)
14:26
Fix a crash that could occur when an INSERT has more than one ON CONFLICT clause, at least one of which contains an unresolvable symbol. (check-in: 7420838650 user: dan tags: trunk)
13:53
Correlated CTEs should not generate a materialization subroutine. If they need to be materialized, each use case must be materialized separately. dbsqlfuzz 01b8355086998f0a452cb31208e80b9d29ca739a. (check-in: d72d865d3e user: drh tags: trunk)
13:00
Improved labeling of EXPLAIN QUERY PLAN output. Many test failures due to the different output format. (check-in: 6f8faec022 user: drh tags: eqp-improvements)
2021-03-18
20:04
Add a NEVER() on a branch that was made unreachable by the "circular reference" fix. (check-in: 114d9780ae user: drh tags: trunk)
18:27
Disable a test case requiring generate_series when virtual tables are not available. (check-in: ee86e2f4c5 user: drh tags: trunk)
18:25
Fix a problem causing spurious "<cte>: circular reference" errors to be reported when there is actually a different error in the SQL statement. (check-in: 9981223618 user: dan tags: trunk)
16:52
Increase the patch level to 3.35.3. (check-in: 259b7c3e21 user: drh tags: trunk)
16:47
Fix the OP_OpenDup opcode so that it is able to duplicate a cursor that was itself opened by OP_OpenDup. Add additional verification of ephemeral tables. Fix for ticket [bb8a9fd4a9b7fce5]. (check-in: bcbe5308f3 user: drh tags: trunk)
16:36
Remove unnecessary code from sqlite3BtreeClose() and add test cases. (Closed-Leaf check-in: edbfdcaefa user: drh tags: opendup-fix)
15:42
Further sanity checking of the OpenDup cursors. (check-in: 0ec71cf169 user: drh tags: opendup-fix)
14:36
Fix the dbsqlfuzz-derived authorizer in fuzzcheck to avoid creating junk files when running rogue tests. (check-in: eca21a6206 user: drh tags: trunk)
14:31
Automatically close ephemeral b-trees when their last cursor is closed. (check-in: 39b5af18c0 user: dan tags: opendup-fix)
13:55
Fix a problem with the filename normalizer in unix, discovered by dbsqlfuzz. (check-in: ff1eca7fcd user: drh tags: trunk)
13:42
Allow instruction OP_OpenDup to duplicate cursors created by OP_OpenDup, as well as by OP_OpenEphemeral. (check-in: b8de980b2f user: dan tags: opendup-fix)
13:19
New assert statements associated with Ephemeral cursors in the bytecode engine. (check-in: a8ce73e257 user: drh tags: trunk)
12:36
Change the name of the iDataVersion field of Btree to iBDataVersion to make it distinct from Pager.iDataVersion. (check-in: e4c44c0bca user: drh tags: trunk)
2021-03-17
19:52
Update to version 3.35.2 (check-in: 18bec0d263 user: drh tags: reuse-schema)
19:07
Version 3.35.2 (check-in: ea80f3002f user: drh tags: trunk, release, version-3.35.2)
19:05
Fix a harmless compiler warning in the appendvfs.c extension. (check-in: 0ed7eb9115 user: drh tags: trunk)
14:29
If there are already 500 or more simple SELECTs in a query, do not add more by flattening UNION ALL sub-queries into parent join queries. (check-in: 9520bed2bd user: dan tags: trunk)
11:25
Fix a problem in sqldiff virtual table hanlding to do with tab and other non-space whitespace characters in the CREATE VIRTUAL TABLE statement. (check-in: 1737e4fdfc user: dan tags: trunk)
2021-03-16
18:41
Date/time functions with no arguments (ex: date() or time()) should be non-deterministic. Fix for ticket [2c6c8689fb5f3d2f]. (check-in: 1734c332e7 user: drh tags: trunk)
18:24
Add tests for sqlite_rename_quotefix(). Fix a memory leak in the same. (Closed-Leaf check-in: 531550056c user: dan tags: alter-quotefix)
16:14
Have ALTER TABLE RENAME COLUMN and DROP COLUMN use sqlite_rename_quotefix() to convert any double-quoted strings in the database schema to their single-quoted equivalents. (check-in: 6446c09610 user: dan tags: alter-quotefix)
14:43
Increase the version number to 3.35.2. (check-in: 7a211b3f09 user: drh tags: trunk)
14:26
Fix recent breakage of the appendvfs extension. (check-in: 7dbbe5b34e user: drh tags: trunk)
14:12
Comment and stylistic changes to the appendvfs.c implementation. (Closed-Leaf check-in: 25c3186aa1 user: drh tags: appendvfs_fix)
11:21
Merge trunk changes into this branch. (check-in: f15d51054a user: dan tags: alter-quotefix)
11:11
Fix a problem with ALTER TABLE RENAME COLUMN when used on a schema that features generated columns. Fix for [a753a856]. (check-in: 0e255b2687 user: dan tags: trunk)
07:06
Fix assert typo. (check-in: 3aedf818c1 user: larrybr tags: appendvfs_fix)
06:50
Merge from trunk. (check-in: eae8236f3b user: larrybr tags: appendvfs_fix)
06:41
Fix appendvfs bug exposed with bigger files, and add tests for such conditions. (check-in: 19b1f53a1c user: larrybr tags: appendvfs_fix)
04:03
Create new branch named "appendvfs_fix" (check-in: 026edd6014 user: larrybr tags: appendvfs_fix)
2021-03-15
20:22
Add internal SQL function sqlite_rename_quotefix(). For converting double-quoted strings to their single-quoted counterparts in DDL statements. (check-in: d874b30046 user: dan tags: alter-quotefix)
19:34
Merge version 3.35.1 into the reuse-schema branch. (check-in: 0fe60a63ae user: drh tags: reuse-schema)
16:53
Version 3.35.1 (check-in: aea12399bf user: drh tags: trunk, release, version-3.35.1)
15:12
Improvements to the built-in ".dump" documentation in the CLI. (check-in: 0915f969f4 user: drh tags: trunk)
15:02
Bump the version number to 3.35.1. (check-in: 184d5a352f user: drh tags: trunk)
14:58
Improved detection of conflicting indexes when doing DROP COLUMN on a column whose name is quoted in the index definition. Fix for ticket [1c24a659e6d7f3a1]. (check-in: c450d0ad6b user: drh tags: trunk)
12:56
Make shell's .help output for .dump more accurate as to what can be dumped. (Closed-Leaf check-in: f91d8c09a0 user: larrybr tags: cli-tweaks)
12:32
Create new branch named "cli-tweaks" (check-in: 4cf056a571 user: larrybr tags: cli-tweaks)
2021-03-14
20:17
An additional test case (Closed-Leaf check-in: 7e2d7ca15a user: drh tags: tkt-1c24a659-b)
19:55
An alternative approach for fixing ticket [1c24a659e6d7f3a1]. (check-in: a2adae907a user: drh tags: tkt-1c24a659-b)
01:40
Never allow a double-quoted identifier that appears by itself in the argument list of an index to be interpreted as a string literal. Proposed fix for ticket [1c24a659e6d7f3a1]. (Closed-Leaf check-in: 7c8aa38125 user: drh tags: tkt-1c24a659)
2021-03-13
18:23
Fix a memory leak in the new code on this branch. (Closed-Leaf check-in: 0817cf2ec0 user: dan tags: distinct-agg-opt)
17:21
Fix typos in comments and add test cases. (check-in: 01312a3dbd user: dan tags: distinct-agg-opt)
2021-03-12
23:15
Update generated autoconf/Makefile.msc to reflect its source. (check-in: d9f8f488ff user: larrybr tags: trunk)
21:59
Add test for autoconf/Makefile.msc current with respect to its generator input. (Leaf check-in: 4dfd871689 user: larrybr tags: derived_tests)
21:09
Fix a crash in new code on this branch. (check-in: c05ed2a8a9 user: dan tags: distinct-agg-opt)
20:29
Merge v3.35.0 release to this branch. (check-in: 6733ed766e user: larrybr tags: derived_tests)
20:24
Create new branch named "derived_tests" (check-in: 8dc765d3ba user: larrybr tags: derived_tests)
18:33
Merge latest trunk changes into this branch. (check-in: 198bc510d6 user: dan tags: distinct-agg-opt)
18:24
Attempt to use an index for DISTINCT aggregate queries that have GROUP BY clauses. (check-in: 3bca003cd2 user: dan tags: distinct-agg-opt)
17:26
Merge the 3.35.0 release into the reuse-schema branch. (check-in: c8237a024d user: drh tags: reuse-schema)
17:18
Merge the 3.35.0 release into the begin-concurrent-pnu-wal2 branch. (check-in: 939b9e7530 user: drh tags: begin-concurrent-pnu-wal2)
17:08
Merge the 3.35.0 release into the wal2 branch. (check-in: 03142e5f76 user: drh tags: wal2)
16:50
Merge the 3.35.0 release into the begin-concurrent-report branch. (check-in: 27f8f56b98 user: drh tags: begin-concurrent-report)
16:24
Merge the 3.35.0 release into the begin-concurrent-pnu branch. (check-in: a0a9dd52a7 user: drh tags: begin-concurrent-pnu)
16:18
Merge version 3.35.0 changes into the begin-concurrent branch. (check-in: 7e38c889e7 user: drh tags: begin-concurrent)
15:10
Version 3.35.0 (check-in: acd63062eb user: drh tags: trunk, release, major-release, version-3.35.0)
13:49
Fix broken requirement marks. (check-in: 98d6715284 user: drh tags: trunk)
01:49
Fix the ".read" command in the CLI so that SQLITE_OMIT_POPEN disables reading from a pipeline. (check-in: cea34f3cc3 user: drh tags: trunk)
00:44
Conform description of sqlite3changeset_op() arguments to implemented behavior, some reformatting. This is a comment-only change; no code is affected. (check-in: 9d6e544c47 user: larrybr tags: trunk)
2021-03-11
21:00
Update this branch with latest fixes from trunk. (check-in: 12363f8e17 user: dan tags: reuse-schema)
20:07
Merge latest wal2 changes into this branch. (check-in: 88c3c173e0 user: dan tags: begin-concurrent-pnu-wal2)
19:42
Merge latest trunk changes into this branch. (check-in: 30f912d0b3 user: dan tags: wal2)
19:26
Merge latest changes from begin-concurrent-pnu into this branch. (check-in: 6994a2d8af user: dan tags: begin-concurrent-report)
19:08
Merge latest trunk changes with this branch. (check-in: eb3101364f user: dan tags: begin-concurrent-pnu)
18:52
Update this branch with latest changes from trunk. (check-in: 79d44ebd53 user: dan tags: begin-concurrent)
15:57
Fix a Tcl object leak in test_session.c. (check-in: 07150cf15a user: dan tags: trunk)
13:43
Bug fix in appendvfs.c: Adjust the size parameter for SQLITE_FCNTL_SIZE_HINT to account for the prefix. (check-in: 41df3bbefd user: drh tags: trunk)
10:55
Merge latest trunk changes into this branch. (check-in: ef8c6e06cb user: dan tags: reuse-schema)
08:49
Have the Tcl tests support environment variable SQLITE_TEST_PATTERN_LIST, so that if it is set it is interpreted as a list of patterns that are matched against tests file names. Only test files that match at least one pattern are run. (check-in: b7c92e1d08 user: dan tags: trunk)
2021-03-10
20:04
Fix sanitizer complaint in fts3 code. (check-in: 424b39eaeb user: dan tags: trunk)
19:32
Fix further sanitizer complaints in the fts5 code. (check-in: 4cb00b9d40 user: dan tags: trunk)
18:21
Improved testcase() related the SQLITE_MAX_ATTACHED vs. SQLITE_MAX_DB problem. (check-in: 27d3c00efe user: drh tags: trunk)
17:52
Improvement to the ATTACH-abuse authorizer logic in fuzzcheck. (check-in: 88132f698a user: drh tags: trunk)
17:43
Do not run avfs.test when testing SQLITE_OMIT_VIRTUALTABLE builds. (check-in: 2ab6957a22 user: dan tags: trunk)
16:35
Do not confuse the constant SQLITE_MAX_ATTACHED with the maximum number of schemas. Add the new SQLITE_MAX_DB constant for the maximum number of schemas. Forum post a006d86f72. (check-in: 7b65fb9f7b user: drh tags: trunk)
15:10
Fix test file avfs.test so that it works with SQLITE_DEFAULT_AUTOVACUUM builds. Do not run avfs.test under test permutation "journaltest". (check-in: 2c6078ebe7 user: dan tags: trunk)
14:57
Fix a few sanitizer complaints in fts5. (check-in: 4fe4fee00e user: dan tags: trunk)
10:43
Fix a problem preventing wapptest from setting SQLITE_ENABLE_LOCKING_STYLE for OSX tests. Also modify the "Sanitize" configuration in releasetest_data.tcl to subsume test item 6g. (check-in: f762d7df2a user: dan tags: trunk)
06:06
When shell has no .ar, fake its effect w.r.t. page_size and table creation/filling. (check-in: 959f5c65ea user: larrybr tags: trunk)
2021-03-09
23:38
Add appendvfs.c to the MSVC makefile. (check-in: a6681fbb2e user: drh tags: trunk)
21:20
Update a comment in btree.h. (check-in: 9645fe1a05 user: dan tags: trunk)
20:58
Fix a bad comment (copy-paste error) in the byte code engine. No code changes. (check-in: 1c01745734 user: drh tags: trunk)
19:52
Improved comments on the NOT NULL strength reduction optimization. (check-in: a85d722939 user: drh tags: trunk)
19:32
Extra comments and testcase() macros associated with the new sqlite3ParserAddCleanup() mechanism. No changes to release builds. (check-in: c3c8691121 user: drh tags: trunk)
17:09
Add --enable-math to the amalgamation autoconf. On be default. Improved logging of the amalgamation autoconf. (check-in: 85d28b5225 user: drh tags: trunk)
16:47
Add missing comment to new routine in select.c. (check-in: ef2f0cf21b user: dan tags: distinct-agg-opt)
16:35
Math functions are enabled by default in the main configure script. (check-in: b7456e0715 user: drh tags: trunk)
16:06
Experimental optimization for distinct aggregates (e.g. "SELECT count(DISTINCT <expr) FROM ..."). (check-in: eb919611fd user: dan tags: distinct-agg-opt)
13:53
Improvements to the configure script. Math functions are enabled by --enable-all. (check-in: c79c6d18de user: drh tags: trunk)
13:12
Update the authorizer in fuzzcheck to align with dbsqlfuzz. (check-in: f86d8fae3b user: drh tags: trunk)
2021-03-08
20:13
Add tests for too-tiny appended DBs, clarify align macro. (check-in: eb40a8dea6 user: larrybr tags: trunk)
17:22
Add test cases for ALTER TABLE. (check-in: 9c9ba36e85 user: dan tags: trunk)
17:17
Fix a bad assert in RENAME COLUMN. dbsqlfuzz 3f0a7245b69cd08617d7d7781ebaedb0fe765a93. (check-in: f13e0d12f1 user: drh tags: trunk)
16:29
Fix a harmless compiler warning in appendvfs.c (check-in: f538961a80 user: drh tags: trunk)
16:13
Enable internal functions for fuzzcheck. (check-in: 79281603b9 user: drh tags: trunk)
14:32
Added test/avfs.test (missing from branch merge for some reason.) (check-in: 08fa67053c user: larrybr tags: trunk)
14:26
Merge appendvfs updates and testing. (check-in: 63fcf301fe user: larrybr tags: trunk)
13:45
Require that the appendvfs suffix mark indicate that the appended database begins at an offset that is a muliple of 512 and that the appended database contains at least 512 bytes. (Leaf check-in: aeb87cc704 user: drh tags: appendvfs_tighten)
13:30
Correct the precendence order for rules that determine how a database is opened by appendvfs when a database is appended to another database. (check-in: 92989fc56f user: drh tags: appendvfs_tighten)
12:59
Minor comment and formatting changes. (check-in: cf2add064f user: drh tags: appendvfs_tighten)
01:31
Add tests for sqlite3 shell with -append flag. (check-in: d179028872 user: larrybr tags: appendvfs_tighten)
2021-03-07
18:55
Add grow/shrink tests. Fix truncate bug. Make appendvfs.c easier to inspect. (check-in: c9521fa556 user: larrybr tags: appendvfs_tighten)
2021-03-06
23:49
Merge from trunk. (check-in: 729117cdfa user: larrybr tags: appendvfs_tighten)
23:36
Create initial tests for appendvfs, and make it available as a statically loaded extension. (check-in: 9f33d45179 user: larrybr tags: appendvfs_tighten)
15:13
Limit parenthesis nesting depth in FTS3 expressions to SQLITE_MAX_EXPR_DEPTH. (check-in: 5ddd8032ef user: drh tags: trunk)
14:46
Ensure the correct collation sequence is used for comparisons when delimiting a RANGE window. (check-in: 01eae68e85 user: dan tags: trunk)
13:28
Fix a crash in fts3 that could occur when running a NEAR query on a corrupt database. (check-in: 609d949963 user: dan tags: trunk)
13:02
Fix a possible NULL pointer dereference when applying a DROP COLUMN to a corrupt database schema. dbsqlfuzz 419aa525df93db6e463772c686ac6da27b46da9e (check-in: 349ccf58ae user: drh tags: trunk)
2021-03-05
20:52
Merge last day of trunk changes, reverify build. (check-in: 1d67ed1c98 user: larrybr tags: appendvfs_tighten)
20:46
Fix appendvfs bug exposed by docsapp build (in docsrc), and tighten/revise published behavior. (check-in: 7f0f2eacdb user: larrybr tags: appendvfs_tighten)
18:33
Modify the SQLITE_DBCONFIG_ENABLE_VIEW option so that it always permits TEMP views, just as SQLITE_DBCONFIG_ENABLE_TRIGGER always permits TEMP triggers. (check-in: 83dab8b358 user: drh tags: trunk)
15:42
Fix problems with RETURNING clauses attached to UPDATEs on tables with virtual columns. (check-in: 6b41b136fb user: dan tags: trunk)
15:29
Fix another problem with RETURNING clauses in UPDATEs against tables with virtual columns. (Closed-Leaf check-in: f0ef5c76ab user: dan tags: returning-fix)
15:10
Fix an assert() failure that could be triggered by a correlated sub-query in a RETURNING clause. (check-in: 551260c862 user: dan tags: returning-fix)
14:08
Fix the processing of implied LIMIT clauses when flattening a compound query. (check-in: 90c6b9fcb0 user: drh tags: trunk)
09:42
Create new branch named "appendvfs_tighten" (check-in: 48c968bf4c user: larrybr tags: appendvfs_tighten)
2021-03-04
19:44
Mark the NotUsed parameter to the dropColumnFunc() function as unused, to avoid a harmless compiler warning. (check-in: 2345907109 user: drh tags: trunk)
18:34
Put ALWAYS() on a branch that is now always true because of changes in OOM behavior due to check-in [9adf6e2469d18bc3]. (check-in: 8a1bb9c3e9 user: drh tags: trunk)
18:31
Update shell.c.in so that SQLITE_SHELL_IS_UTF8 is set to 0 if the -municode option is passed to gcc on windows. (check-in: 99e6a0f020 user: dan tags: trunk)
16:32
Remove a branch made unreachable by check-in [e893f88750ea64d4]. (check-in: 20d7dc120d user: drh tags: trunk)
16:10
Fix a segfault that could occur following an OOM condition. (check-in: 9adf6e2469 user: dan tags: trunk)
16:03
Earlier detection of a misplaced ORDER BY or LIMIT clause in a compound SELECT. This prevents problems in recursive CTEs with multiple recursive terms in which there is an ORDER BY or LIMIT clause on the last non-recursive term. (check-in: e893f88750 user: drh tags: trunk)
14:18
Fix a crash that could occur if a sub-select inside an EXISTS expression features an ORDER BY clause containing one or more window functions. (check-in: 9768e7db62 user: dan tags: trunk)
2021-03-03
19:54
Merge recent trunk enhancements into the reuse-schema branch. (check-in: 73bf458e1d user: drh tags: reuse-schema)
19:41
Merge in recent enhancements. (check-in: b0fc8ca14e user: drh tags: begin-concurrent-pnu-wal2)
19:36
Fix a buffer overrun that could occur in fts5 when running a prefix query against a corrupt db. (check-in: 4da40620ac user: dan tags: trunk)
19:32
Merge recent trunk enhancements into the wal2 branch. (check-in: 0ae8103908 user: drh tags: wal2)
19:25
Merge recent trunk enhancemenets into the begin-concurrent-pnu branch. (check-in: 59d3ec295a user: drh tags: begin-concurrent-pnu)
19:17
Merge recent trunk changes into the begin-concurrent branch. (check-in: acdafef836 user: drh tags: begin-concurrent)
16:46
Remove the --timeout option from the valgrindfuzz Makefile target. (check-in: 3f520b8bde user: dan tags: trunk)
16:00
Fix a case where fts3 was erroneously reporting corruption. (check-in: e6c7683c75 user: dan tags: trunk)
14:07
Fix a harmless assertion fault resulting from [6e6b3729e0549de0] that was discovered by dbsqlfuzz. Enhance .selecttrace output to show omitted ORDER BY clauses. New dbsqlfuzz test cases added. (check-in: 27a0388ad6 user: drh tags: trunk)
11:00
Fix a problem with using ALTER TABLE commands on database schemas that contain expressions of the form "<expr> NOT NULL" or "<expr> IS NULL" that can be evaluated at prepare time. (check-in: d2630ffafa user: dan tags: trunk)
2021-03-02
21:07
Cast a string size variable to 64-bit to avoid any possibility of integer overflow. (check-in: a5940294b2 user: drh tags: trunk)
16:27
Limit the size of the exponent input in the second argument to the ieee754() SQL function, to avoid integer overflow. Ticket [22dea1cfdb9151e4]. (check-in: 99aab32da1 user: drh tags: trunk)
13:50
Change the timeout for test case "valgrindfuzz" from 600 seconds to 1200. (check-in: 7c6aa6f384 user: dan tags: trunk)
13:36
Do not run test file windowpushd.test as part of the "no_optimization" permutation. (check-in: 275a75aa82 user: dan tags: trunk)
00:42
Add ALWAYS() to an always-true conditional. (check-in: fa3506db20 user: drh tags: trunk)
2021-03-01
21:43
Add #ifndef macros so that the build works again with -DSQLITE_OMIT_AUTHORIZATION and -DSQLITE_OMIT_WINDOWFUNC. (check-in: 9400bdc602 user: drh tags: trunk)
16:16
Fix a couple of memory-sanitizer complaints that could be triggered by a corrupt database. (check-in: 39c8686cab user: dan tags: trunk)
16:15
Fix another msan complain triggered by a corrupt database. (Closed-Leaf check-in: d235d40628 user: dan tags: msan-fix)
2021-02-28
08:24
Initialize extra field in PgHdr1 to fix an msan complaint. (check-in: 4cb2ea5795 user: dan tags: msan-fix)
2021-02-27
15:32
Add OOM test case associated with the fix in the previous commit. (check-in: a631c38d22 user: dan tags: trunk)
15:12
Remove a NEVER() that might sometimes be tree following an OOM. (check-in: ccb8cf5256 user: drh tags: trunk)
2021-02-26
21:39
Fix a segfault that could occur when optimizing a NOT NULL constraint against an IPK column of a sub-query. (check-in: e4d1970ef1 user: dan tags: trunk)
20:39
Attempt to optimize "x IS NULL" and "x IS NOT NULL" expressions when x is a column with a NOT NULL constraint. This addresses the performance issue described by forum post a5fc33cf9d8f4ff5. (check-in: de9c86c9e4 user: dan tags: trunk)
20:14
Attempt to optimize "x IS NULL" and "x IS NOT NULL" expressions when x is a column with a NOT NULL constraint. (Closed-Leaf check-in: 5ecd842555 user: dan tags: ifnull-opt)
15:20
Minor simplification in resolve.c. (check-in: 310dac342e user: dan tags: trunk)
2021-02-25
18:28
Fix test case in altercorrupt.test so that it works with SQLITE_ENABLE_OVERSIZE_CELL_CHECK builds. (check-in: 062b338ff2 user: dan tags: trunk)
18:23
Fix a problem with UPDATE and DELETE statements that use both INDEXED BY and LIMIT clauses in SQLITE_ENABLE_UPDATE_DELETE_LIMIT builds. (check-in: cc2b4b3866 user: dan tags: trunk)
16:55
Fix handling of INSERT on views with implicitly named hidden columns in SQLITE_ENABLE_HIDDEN_COLUMNS builds. (check-in: 15795a96a8 user: dan tags: trunk)
15:50
Ensure that tests like "rbu.test" and "notify2.test" that are only run by specific configurations during release testing are run for both release and debug versions of the tests. (check-in: 911df43f98 user: dan tags: trunk)
2021-02-23
16:40
When a sub-transaction is released, if no pages required by containing sub-transactions were journaled, truncate the statement journal. This prevents out of control statement journal growth in some cases. See forum thread e78ffd751185a67e for context. (check-in: 23ca23894a user: dan tags: trunk)
15:53
Allow WHERE terms to be pushed down into sub-queries that contain window functions, provided that the WHERE term is made up of entirely of constants and copies of expressions found in the PARTITION BY clauses of all window functions in the sub-query. (check-in: 2068946810 user: dan tags: trunk)
15:36
Further tests for the push-down optimization with window functions. (Closed-Leaf check-in: 4b089f7011 user: dan tags: window-functions-pushdown)
2021-02-22
20:56
Allow WHERE terms to be pushed down into sub-queries that contain window functions, provided that the WHERE term is made up of entirely of constants and copies of expressions found in the PARTITION BY clauses of all window functions in the sub-query. (check-in: dac51f303b user: dan tags: window-functions-pushdown)
19:57
Add a few simple test cases for MATERIALIZED and NOT MATERIALIZED. (check-in: 64878124c1 user: drh tags: trunk)
16:42
Implement the MATERIALIZED and NOT MATERIALIZED hints on common table expressions. (check-in: b5a0778cc5 user: drh tags: trunk)
15:44
When a sub-transaction is released, if no pages required by containing sub-transactions were journaled, truncate the statement journal. This might prevent out-of-control statement journal growth in some cases. (Closed-Leaf check-in: e36327fb22 user: dan tags: stmt-jrnl-truncate)
14:25
Add an ALWAYS() on a branch that is now unreachable. (Closed-Leaf check-in: ace54c5bd5 user: drh tags: as-materialize-redux)
11:07
Fix inverted logic regarding the materialization hint on the push-down optimization. (check-in: b66a495708 user: drh tags: as-materialize-redux)
03:04
Add the AS MATERIALIZED and AS NOT MATERIALIZED syntax that works like it does in PostgreSQL. (check-in: a6bb272ec0 user: drh tags: as-materialize-redux)
2021-02-21
23:44
Materialize any CTE that is used more than once. (check-in: ba59159fbe user: drh tags: as-materialize-redux)
21:04
Rename the "struct SrcList_item" object to the more succinct "SrcItem". This is a symbolic change only. The logic is unmodified. (check-in: bfd5bf2c73 user: drh tags: trunk)
01:19
Simplified resolution of CTE names. Slightly faster and about 100 bytes of code smaller. (check-in: 0d2c992f36 user: drh tags: trunk)
2021-02-20
21:20
Performance improvement in resolving the INDEXED BY index name for the common case where there is no INDEXED BY clause. (check-in: 554b286ac2 user: drh tags: trunk)
19:22
Fix a case where FTS3/4 could pass a NULL pointer to memcpy() when handling a corrupt db. (check-in: 68bb541a39 user: dan tags: trunk)
18:02
Update sqlite3changeset_apply_v2() so that it handles no-op UPDATE changes (UPDATE changes that modify no columns). This fixes a regression introduced by [e4ccfac09b]. Also modify sqlite3rebaser_rebase() so that it does not output changesets containing such UPDATEs. (check-in: 0288a8013e user: dan tags: trunk)
14:57
Break out the Cte object from the With object. This will make it simpler to add new kinds of Cte objects (ex: DML statements) and/or MATERIALIZED keywords in the future. It brings trunk into closer alignment with the experimental as-materialize branch. (check-in: f03efe905d user: drh tags: trunk)
13:36
Simplification to where.c manually cherrypicked from the as-materialize branch. (check-in: 03805a6117 user: drh tags: trunk)
12:47
Merge changes from trunk. (Later:) Abandon this line of development. See the as-materialize-redux branch. (Closed-Leaf check-in: 7a90571e0a user: drh tags: as-materialize)
2021-02-19
18:39
Fix another problem handling corrupt database files in the ALTER TABLE DROP COLUMN code. (check-in: 9edf2ddc47 user: dan tags: trunk)
15:34
Add tests for ALTER TABLE DROP COLUMN commands. (check-in: 05dbea9b26 user: dan tags: trunk)
14:32
Add support for "ALTER TABLE ... DROP COLUMN ..." commands. (check-in: c844a331e7 user: dan tags: trunk)
14:13
Fix a crash that could occur in ALTER TABLE DROP COLUMN if the sqlite_schema table was corrupt. (Closed-Leaf check-in: 126ee1ec4f user: dan tags: alter-table-drop-column)
09:46
Omit an branch made unreachable by the improved error message from dropping the last column of a table. (check-in: c5719fc5aa user: drh tags: alter-table-drop-column)
09:36
The COLUMN keyword in ALTER TABLE DROP COLUMN is optional. (check-in: a22f87fb6c user: drh tags: alter-table-drop-column)
09:09
Give a better error message on DROP COLUMN when attempting to drop the last column of a table. (check-in: 5e1f362bc3 user: drh tags: alter-table-drop-column)
02:30
Add a NEVER() to an unreachable branch in the DROP COLUMN logic. (check-in: 963f498ae6 user: drh tags: alter-table-drop-column)
2021-02-18
23:53
Add missing VdbeCoverage() macros. (check-in: 9bb720e659 user: drh tags: alter-table-drop-column)
23:03
Enhance renameParseSql() to better handle OOMs. (check-in: 68bcde7ab5 user: drh tags: alter-table-drop-column)
22:47
Merge changes from trunk into the alter-table-drop-column branch. (check-in: 9ea640073f user: drh tags: alter-table-drop-column)
20:27
Fix DROP COLUMN so that it works even if the user has registered an authorizer callback. (check-in: e5f144182b user: dan tags: alter-table-drop-column)
19:25
Fix a problem with schema error detection when processing ALTER TABLE DROP COLUMN commands. (check-in: 565a6fd0c9 user: dan tags: alter-table-drop-column)
17:48
Add test cases for ALTER TABLE DROP COLUMN. (check-in: 204ee5e282 user: dan tags: alter-table-drop-column)
15:59
Avoid invoking the update or pre-update hooks during VACUUM operations. (check-in: 3c25cb4ab8 user: dan tags: trunk)
15:45
Improvement to the INSERT optimization of check-in [16ac213c57196361] so that it works with SQLITE_ENABLE_HIDDEN_COLUMN but is also easier to maintain and a little faster as well. (check-in: f985a78ecc user: drh tags: trunk)
14:27
Disable the optimization of [16ac213c57196361] when the SQLITE_ENABLE_HIDDEN_COLUMN compile-time option is used, as the optimization does not work in that case. (check-in: 5168b06bcf user: drh tags: trunk)
12:18
Ensure that the pre-update hook is invoked for INSERT operations on WITHOUT ROWID tables that use the xfer optimization. (check-in: 66bbad239b user: dan tags: trunk)
01:02
Add missing VdbeCoverage() macros to some of the new RETURNING code. (check-in: 53a5390909 user: drh tags: trunk)
00:59
Performance optimization in the resolver. (check-in: 1aafb94d4e user: drh tags: trunk)
00:26
Performance optimization in the code generator for INSERT for the common case where the target table has neither generated nor hidden columns. Also fix a redundant (and thus unreachable) branch in the resolver. (check-in: 16ac213c57 user: drh tags: trunk)
2021-02-17
21:13
Use the sqlite3ParserAddCleanup() mechanism to ensure that the AggInfo structure associated with an aggregate query is deallocated, for a performance increase and size reduction. (check-in: 7a1399671f user: drh tags: trunk)
20:46
Fix a problem with OOM error handling in the new code on this branch. (check-in: ea999c9db5 user: dan tags: alter-table-drop-column)
20:19
Merge trunk changes into this branch. (check-in: 0cd5e2f9ce user: dan tags: alter-table-drop-column)
20:08
Fix various issues with the changes on this branch. Add test cases for the same. (check-in: 10538ec6fc user: dan tags: alter-table-drop-column)
13:19
Enhance the ".once" and ".output" commands in the CLI so that if the filename argument begins with "|" the name becomes the concatenation of all subsequent arguments. Hence, commands like ".once | open -f" become possible without the need for quotes. (check-in: c46a94a624 user: drh tags: trunk)
2021-02-16
20:43
Add experimental implementation of ALTER TABLE DROP COLUMN. Only some cases work so far. (check-in: f0217937d7 user: dan tags: alter-table-drop-column)
20:32
Simplification to the resolveAlias() routine. (check-in: 00bead3931 user: drh tags: trunk)
20:01
New SELECTTRACE macros more clearly deliniate when the query planner is invoked in the middle of PRAGMA vdbe_addoptrace output. (check-in: 7c03ce49b7 user: drh tags: trunk)
19:29
Remove unnecessarily complexity from sqlite3WithReleaseByParse(). Improved TreeView output for the enhanced CTE structures. This code still does not work 100%. I'm saving my place in order to (maybe) come back to it later. (check-in: 30bb18b450 user: drh tags: as-materialize)
16:32
Trying to get the new AS MATERIALIZE syntax of CTEs to work. There are still performance and memory management issues. This is a WIP check-in. (check-in: bf0fd9b23a user: drh tags: as-materialize)
00:48
Change the syntax from "GENERATED AS" to "AS MATERIALIZED" so as to match the syntax of PostgreSQL 12+. (Closed-Leaf check-in: 78dcddd969 user: drh tags: with-generated-as)
2021-02-15
17:51
Merge the LIKE operator fix from trunk. (check-in: 8c8618780a user: drh tags: with-generated-as)
17:02
Fix an issue with the LIKE operator when it includes the "ESCAPE '_'" clause. Ticket [c0aeea67d58ae0fd]. (check-in: 27d4117980 user: drh tags: trunk)
14:55
Merge minor fixes from trunk. (check-in: d876b287e1 user: drh tags: with-generated-as)
14:32
Add tests for sqlite3_column_count(). (check-in: 7cc65ae571 user: dan tags: trunk)
13:17
Ensure that the ALTER TABLE statements return 0 for sqlite3_column_count(). (check-in: 29c1932a47 user: drh tags: trunk)
11:14
Fix an error in the test case fix in [ecd71203]. (check-in: 5411bfa41e user: dan tags: trunk)
2021-02-13
23:46
If the GENERATED keyword occurs before the AS keyword in a common table expression (CTE) definition, then that CTE becomes an "optimization barrier". For now, that means the CTE is always materialized. It also means that query flattener or pushdown optimizations that cross the CTE boundary are omitted. (check-in: 186ec18b24 user: drh tags: with-generated-as)
21:01
Add a test-control that allows setting a LIKE pattern for common table expression names such that CTEs with matching names become an optimization barrier - They are not flattened and are implemented by materialization. (Closed-Leaf check-in: 15692ec02b user: drh tags: optbarrier-test-ctrl)
18:14
Fix incorrect test name labels in the select1.test script. (check-in: 179c79ea0d user: drh tags: trunk)
16:39
Avoid manifesting a CTE (or other view) multiple times when it is possible to reuse the first manifestation. (check-in: 9692f51080 user: drh tags: trunk)
14:26
Fix a problem in the unreleased union-all flattening enhancement (check-in: e4f8a79fd8 user: dan tags: trunk)
2021-02-12
21:22
Fix a test case to account for the fact that different versions of OpenBSD behave differently when a program tries to read() from a file-descriptor open on a directory. (check-in: ecd712032f user: dan tags: trunk)
21:07
Parsing of DML statements in a WITH clause. But at this point, it just generates an error about "not yet supported". (Leaf check-in: 964ff68d8f user: drh tags: dml-in-cte)
11:37
Ensure all RBU tests are run as part of release testing. (check-in: a18dc08baf user: dan tags: trunk)
2021-02-11
16:19
In RBU, avoid passing VFS xShmLock calls through to the underlying VFS in cases where xShmMap calls may not be. This fixes a bad interaction with ZipVFS. (Leaf check-in: 0c3838d951 user: dan tags: reuse-schema-3.31)
2021-02-10
20:20
Merge latest trunk changes into this branch. (check-in: d29c41bd26 user: dan tags: reuse-schema)
20:00
Fix a longstanding problem causing an RBU vacuum to omit releasing some locks before finishing. (check-in: 66c07a07b2 user: dan tags: trunk)
19:49
Remove an assert() added by the previous commit that is sometimes false. (Closed-Leaf check-in: fb36ac4dc6 user: dan tags: shm-lock-fix)
19:40
Fix a longstanding problem causing an RBU vacuum to omit releasing some locks before finishing. (check-in: cb5bdf82fe user: dan tags: shm-lock-fix)
17:31
In RBU, avoid passing VFS xShmLock calls through to the underlying VFS in cases where xShmMap calls may not be. This fixes a bad interaction with ZipVFS. (check-in: bd1e9e0a4c user: dan tags: trunk)
2021-02-08
15:56
Correctly detect correlated subqueries when resolving names in RETURNING clauses. (check-in: b43cfa0492 user: drh tags: trunk)
13:41
Improved name resolution for references to a table begin modified from within a subquery in the RETURNING clause. (check-in: 799d205bfa user: drh tags: trunk)
2021-02-07
23:28
Do not allow RETURNING in the DML statements of a trigger. (check-in: 7a8fe6463a user: drh tags: trunk)
12:59
Fix harmless compiler warnings. (check-in: 5f8bf99579 user: drh tags: trunk)
2021-02-06
14:56
Remove an ALWAYS() and NEVER() in the authorizer that become reachable as of [078dbff04a95a001]. Test case for coverage in TH3. (check-in: b469327e29 user: drh tags: trunk)
14:37
Fix the OSSFuzz-discovered shift problem from two days ago. This patch was omitted from [078dbff04a95a001] apparently because I made the edit to "sqlite3.c" rather than "resolve.c" where it belongs. (check-in: 864772ffec user: drh tags: trunk)
2021-02-05
17:34
Remove unreachable code. Fix a shift UB problem introduced yesterday and discovered by OSSFuzz. (check-in: 078dbff04a user: drh tags: trunk)
2021-02-04
23:20
Change the RETURNING algorithm so that outputs accumulate in an ephemeral table until all modifications have been completed, and only then do results start being returned. This should help prevent problems with interleaved sqlite3_step() calls on two separate DML statements. It also seems to be closer to how PostgreSQL works, which might prevent compatibility problems. (check-in: c4615eb28c user: drh tags: trunk)
22:59
Remove dead code. Fix RETURNING for INSERT into a virtual table. (Closed-Leaf check-in: dbfa38699c user: drh tags: returning-manifested)
21:19
Initial commit (Leaf check-in: e73dbce8c5 user: shearer tags: selective-debug)
21:17
Fix an issue with RETURNING from UPSERT. (check-in: 757b74ba0f user: drh tags: returning-manifested)
20:52
Snapshot. New design appears to work on a simple test case. (check-in: 8a65fbeecf user: drh tags: returning-manifested)
17:29
Preliminary changes for a new implementation of RETURNING that captures all results in a buffer and plays them all back after the DML statement completes. This avoids problems with interleaved DML statements. This particular check-in is a non-functional work in progress. (check-in: 04b77d6321 user: drh tags: returning-manifested)
13:52
Add NEVER() to a branch that check-in [5d54d9fd40638138] apparently made unreachable. (check-in: 5c8e6296aa user: drh tags: trunk)
13:44
Performance optimization in sqlite3FinishCoding(). (check-in: 0f34f241d3 user: drh tags: trunk)
11:14
Work toward handling interleaved RETURNING statements. Trunk does not handle that case correctly. This branch is a partial implementation of ideas that might, however. (Closed-Leaf check-in: e1eb621319 user: drh tags: interleaved-returning)
2021-02-03
19:38
Corrections to the 'filepath_normalize' test suite helper procedure. (check-in: 32f4d04470 user: mistachkin tags: trunk)
18:32
Change the name of Vdbe.magic to Vdbe.iVdbeMagic to disambiguate with sqlite3.magic. (check-in: 6b29e549bb user: drh tags: trunk)
14:20
Avoid doing any foreign-key constraint related processing for an UPDATE statement that does not modify any columns that are part of FK constraints, even if the table has a self-referencing FK. (check-in: 7f3b036e73 user: dan tags: trunk)
13:20
Fix a harmless compiler warning. (check-in: 1eb69c64ed user: drh tags: trunk)
13:08
Add support for the RETURNING clause following PostgreSQL syntax. Also change the behavior of SQLITE_DBCONFIG_ENABLE_TRIGGER so that TEMP triggers are always allowed, regardless of the setting. (check-in: 416c898bfb user: drh tags: trunk)
12:35
Fix an assert() that might be off-by-one in the case of a prior errors in the parse. (check-in: 06b15b17be user: drh tags: trunk)
00:55
Modify the SQLITE_DBCONFIG_ENABLE_TRIGGER setting so that it only disables main-schema triggers and allows TEMP trigger to continue operating. This is safe, since only the application (not an attacker) can add TEMP triggers. It will also all us to disengage SQLITE_DBCONFIG_ENABLE_TRIGGER on Fossil databases since Fossil has no main-schema triggers but does use TEMP triggers. (Closed-Leaf check-in: a10c5a2503 user: drh tags: returning)
00:05
Load enhancements from trunk into the returning branch. (check-in: b84c7f60c2 user: drh tags: returning)
2021-02-02
20:46
Do not allow aggregates in a RETURNING clause. Fix a memory leak that occurs when window functions are used in a RETURNING clause. (check-in: 2e9bd94b9a user: drh tags: returning)
20:41
Modify the sessions extension to use more efficient SQL when applying a changeset or patchset. (check-in: e4ccfac09b user: dan tags: trunk)
12:01
Report an error if RETURNING is used for DELETE or UPDATE of a virtual table. (check-in: bd5dee8425 user: drh tags: returning)
00:16
Allow the RETURNING trigger to exist for virtual tables. (check-in: 2f244ab4a2 user: drh tags: returning)
2021-02-01
21:26
Add a few test cases for RETURNING together with UPDATE/DELETE LIMIT. (check-in: 7611c77d6b user: drh tags: returning)
12:39
Improved corrupt database detection in balance_nonroot(). (check-in: 5d54d9fd40 user: drh tags: trunk)
01:57
Modify RETURNING so that it does not return changes implemented by cascading foreign keys or by triggers. (check-in: 6e62470a73 user: drh tags: returning)
2021-01-31
16:45
Mark an unreachable branch as ALWAYS(). (check-in: cb8b797a64 user: drh tags: returning)
15:50
New opcode OP_ChngCntRow used to output the result of PRAGMA change_count. Only this new opcode, and not OP_ResultRow, checks for foreign key errors. Faster performance, and now also works with RETURNING. (check-in: 154fc2b154 user: drh tags: returning)
12:41
When setting the number of result columns in a RETURNING trigger, be sure to set that value in the top-level bytecode program, not in the immediate caller of the trigger. (check-in: 1f1ce7ceb9 user: drh tags: returning)
2021-01-30
21:55
Improved comments on the new code. (check-in: a38f0c1d7c user: drh tags: returning)
16:16
Add an ALWAYS() to an unreachable branch. (check-in: 6bb6de42b6 user: drh tags: returning)
14:17
Change the OP_ResultRow opcode so that it does not cancel pending statement transactions. (check-in: fea91e3a51 user: drh tags: returning)
12:07
Fix a obsolete assert() in the bytecode engine. Improved OOM detection in sqlite3AddReturning(). (check-in: 138b10d54a user: drh tags: returning)
03:06
Fix handling of an OOM condition in sqlite3AddReturning(). (check-in: 52204cd768 user: drh tags: returning)
02:43
Fix a memory deallocation problem that comes up when doing a RETURNING query on a corrupt database. I think I fixed this before, but it got unfixed with stale editor content. (check-in: 02b1415efb user: drh tags: returning)
02:34
Another attempt to get trigger selection correct for RETURNING triggers. (check-in: 1b8ed52275 user: drh tags: returning)
02:22
When running the RETURNING trigger, if it is tagged as a DELETE trigger, do not use it as INSERT or UPDATE. (check-in: 3c7a6e04dd user: drh tags: returning)
01:30
Test cases added. RETURNING works with UPSERT as does PG. (check-in: f5698f96e2 user: drh tags: returning)
2021-01-29
22:33
Better handling of errors in RETURNING due to corrupt database files. (check-in: 6aa2a058d1 user: drh tags: returning)
21:31
RETURNING works even if "PRAGMA count_changes=ON" is set. (check-in: a9122d9757 user: drh tags: returning)
21:18
Allow "*" wildcards in the RETURNING clause. (check-in: b0e3ae303d user: drh tags: returning)
19:32
Working prototype. (check-in: b7ef4dc21f user: drh tags: returning)
16:20
Fix possible division-by-zero in the new log() SQL functions. Problemm discovered by OSSFuzz. (check-in: 1ffd321a33 user: drh tags: trunk)
14:22
Incorporate the sqlite3TriggerList() optimization from trunk. And move the pReturning field to the uninitialized area in the Parse object, to save memset() time. (check-in: 29fbaf0e3e user: drh tags: returning)
13:47
Performance optimization (and size reduction) in sqlite3TriggerList() for the common case where there are no TEMP triggers. (check-in: 0defaf730b user: drh tags: trunk)
2021-01-27
20:35
Merge recent enhancements from trunk. (check-in: 5fbcb208d2 user: drh tags: returning)
19:15
Fix an issue with IN operator optimization introduced by check-in [4a43430fd23f8835] and described by ticket [ee51301f316c09e9]. (check-in: 9dc7fc9f04 user: drh tags: trunk)
17:15
Ensure a cursor used by the SeekScan operator does not point to a valid row on the first iteration of the loop. Possible fix for [ee51301f316c09e]. (Closed-Leaf check-in: 390cf60a28 user: dan tags: fix-2d6e8400)
2021-01-25
21:24
Add an extra log message in the case of an SQLITE_CORRUPT_INDEX error. (check-in: 0571c24177 user: drh tags: trunk)
2021-01-22
21:23
Enhance the query planner to enable it to use an index for IS NOT NULL constraints, even if STAT4 is not enabled. (check-in: 7b2a7c7314 user: drh tags: trunk)
20:28
Merge fixes from trunk. Omit a conditional in sqlite3IsLikeFunction() that was made unreachable by this enhancement. (Closed-Leaf check-in: 0b42f9eb5d user: drh tags: isnotnull-opt)
2021-01-21
21:36
Do not allow VACUUM to resize the page_size to 512 if the reserve_byte value is 31 or greater. forum post e807885dc5. (check-in: d5ea75a09d user: drh tags: trunk)
20:42
Performance optimizations in exprAnalyze() (check-in: 6d60cf540b user: drh tags: isnotnull-opt)
17:54
Always enable the IS NOT NULL optimization, even if STAT4 is not enabled. (check-in: fc98218cf6 user: drh tags: isnotnull-opt)
16:02
Fix a problem caused by using an SQL variable in an OVER clause within a trigger program. Edit: The problem appears to have existed ever since window functions landed on trunk (check-in [17198a1206e2fbc9]) on 2018-06-30, version 3.25.0. (check-in: 02264ab6a0 user: dan tags: trunk)
15:40
Fix a problem caused by using an SQL variable in an OVER clause within a trigger program. (Closed-Leaf check-in: 4f676466e6 user: dan tags: fix-over-trigger)
2021-01-20
23:01
Improvements to the auxiliary "main.mk" makefile so that it works better with multi-threaded builds. (check-in: d1873054d8 user: drh tags: trunk)
15:10
Incorporate the 3.34.1 patches into the reuse-schema branch. (Leaf check-in: cc0e582854 user: drh tags: reuse-schema-3.34)
14:10
Version 3.34.1 (Leaf check-in: 10e20c0b43 user: drh tags: release, patch, version-3.34.1, branch-3.34)
10:59
Add tests for sqlite3session_memory_used() interface. (check-in: 5596611f96 user: dan tags: trunk)
2021-01-19
20:38
Fix an issue with sha3_query() when the first argument contains blank SQL statements. (check-in: a1a7a5f238 user: drh tags: branch-3.34)
20:17
Bump the version number to 3.34.1. (check-in: cea7d0f8a3 user: drh tags: branch-3.34)
20:09
Fix a problem handling sub-queries with both a correlated WHERE clause and a "HAVING 0" clause where the parent query is itself an aggregate. The problem was apparently introduced by check-in [6e6b3729e0549de0] (check-in: 30a4c32365 user: drh tags: branch-3.34)
20:04
Prevent potential segfault in the sqlite-expert idxPopulateStat1 context cleanup code. (check-in: 69e31d52b2 user: drh tags: branch-3.34)
2021-01-18
19:28
Fix harmless compiler warnings seen with MSVC. (check-in: dc7938d2d7 user: mistachkin tags: trunk)
19:27
Update test helper procedure 'get_pwd' to handle the ComSpec environment variable being absent. (check-in: fe1979552f user: mistachkin tags: trunk)
12:35
Enhance the query planner so that it is able to code EXISTS operators in the WHERE clause as if they were IN operators, when appropriate. (check-in: c1862abb44 user: drh tags: trunk)
00:11
More comments on the EXISTS-to-IN optimization logic. (Closed-Leaf check-in: 92cc29099f user: drh tags: exists-to-in)
2021-01-17
00:13
Minor simplification of the EXISTS-to-IN logic. (check-in: cac90a9f4a user: drh tags: exists-to-in)
2021-01-16
20:22
Improved handling of vector equalities in the EXISTS-to-IN translator. (check-in: ef49ee4a37 user: drh tags: exists-to-in)
18:55
Give the EXISTS-to-IN optimization the ability to handle some cases that involve vector comparisons, instead of throwing a mysterious error in those cases. (check-in: 87e78a19bb user: drh tags: exists-to-in)
18:22
Add debugging output about the EXISTS-to-IN optimization when the ".wheretrace" flag has the 0x20 bit set. (check-in: 0dad5ce34a user: drh tags: exists-to-in)
12:15
Fix a hyperlink in the Lemon documentation. (check-in: 2ffb2ffa0e user: drh tags: trunk)
2021-01-15
17:51
Add OOM injection tests for new code on this branch. (check-in: 9a181dbaed user: dan tags: exists-to-in)
16:37
Update header comments for routines added by this branch. (check-in: 950030d679 user: dan tags: exists-to-in)
15:32
Ensure the EXISTS->IN transformation preserves the collation sequence of the comparison operation. (check-in: a373baae12 user: dan tags: exists-to-in)
15:21
Fix a potential NULL pointer dereference following OOM. (check-in: 8ce3cb9096 user: drh tags: exists-to-in)
15:17
Add a new optimizer disabling bit to close off the exists-to-in optimization, for testing purposes. (check-in: a80c9a076d user: drh tags: exists-to-in)
14:25
Small performance improvement in the EXISTS-to-IN translator for the common case where the EXISTS operator is not found in the WHERE clause. (check-in: dcb7772d76 user: drh tags: exists-to-in)
14:15
Merge the latest trunk enhancements into the exists-to-in branch. (check-in: 13c4c9088c user: drh tags: exists-to-in)
11:39
Add simple tests (and a fix) for the change on this branch. (check-in: 897f3f4026 user: dan tags: exists-to-in)
2021-01-14
20:57
Improvements to the min/max optimization. Fix for a performance regression introduced at [b8ba2f17f938c035] reported by forum post 4050026ab8 (check-in: 249a71cc68 user: drh tags: trunk)
20:50
Allow the planner to convert an EXISTS(SELECT...) expression in a WHERE clause to the equivalent IN(...) expression in situations where this is possible and advantageous. (check-in: 9f90a88221 user: dan tags: exists-to-in)
00:53
The early-out of the inner loop on the min/max optimization was overly aggressive for the cases where there is a join and outer loops contain IN operators. Fix this. Test case in TH3. (Closed-Leaf check-in: ccd3bae14b user: drh tags: minmax-opt-exp)
2021-01-13
21:05
Fix a harmless compiler warning. (check-in: 83ec01e38c user: drh tags: minmax-opt-exp)
19:28
Expand the number of optimization-disable bits from 16 to 32. Use one of the new bits to disable the min/max optimization, so that we can more easily verify that we get the same answer both with and within that optimization. (check-in: fd0c9a123b user: drh tags: minmax-opt-exp)
15:23
Further enhancements to the min/max optimization of check-in b8ba2f17f938c035 to fix the performance regression identified by forum post 4050026ab8. (check-in: 188772a1db user: drh tags: minmax-opt-exp)
12:59
cli: Omit surplus whitespace at the end of lines in .explain output. (check-in: 11e4eb0957 user: drh tags: trunk)
11:44
In the .selecttrace output, show the ORDER BY clause added by the Min/Max optimization. (check-in: db0ecfe664 user: drh tags: trunk)
2021-01-12
20:16
Lexer and grammar rules for a RETURNING clause on DELETE/INSERT/UPDATE. Actually making this work, though, will involve a lot more code which will likely slow down processing for the common case where there is no RETURNING clause. Furthermore, RETURNING seems to be of limited usefulness and it is not standard SQL. So we abandon it here. These experimental changes are parked in a branch as an historical reference. If circumstances changes, we might take up the cause again some day. (check-in: abf8da8156 user: drh tags: returning)
16:26
Merge the ParseCleanup enhancement to trunk. (check-in: 35824c1bcb user: drh tags: trunk)
15:30
Fix a potential use-after-free following an OOM in sqlite3ParserAddCleanup() and add a mechanism to detect situations where this might occur in the future. (Closed-Leaf check-in: 38ef8ab983 user: drh tags: parse-cleanup)
14:23
Rerun autoconf. (check-in: 8f3ab5da4c user: drh tags: trunk)
14:19
Fix for the top-level configure script so that it works with tcl 8.7. (check-in: 4810f814ff user: dan tags: trunk)
2021-01-11
20:37
Add a linked list of ParseCleanup objects to the end of a Parse object and use that list as a place to put other sub-objects that need to be deallocated. Have a single such list for infrequently used sub-objects is more efficient than doing an a separate check for each kind of sub-object. Edit: Now possible to have use-after-free following an OOM. (check-in: affa2b7b31 user: drh tags: parse-cleanup)
2021-01-09
19:10
New CLI command: ".stats vmstep" enables the display of the virtual-machine step count only, after each command. Useful for optimization problems. (check-in: 49dfce469e user: drh tags: trunk)
18:24
More detailed compile-time testing before attempting to use atomic load intrinsics. See forum post fc0237a39b30ac0a. (check-in: 5204c2c4a7 user: drh tags: trunk)
2021-01-08
19:53
Fix an issue with sha3_query() when the first argument contains blank SQL statements. (check-in: 24baab9a9f user: drh tags: trunk)
2021-01-07
16:59
Update cksumvfs to check that the xCurrentTimeGetInt64 method of the underlying VFS is not NULL before invoking it. (check-in: c71f6cadcc user: dan tags: trunk)
16:29
Fix problems with some "crashsql" tests. (check-in: 0c8e2ede5c user: dan tags: trunk)
16:10
Fix harmless typos in comments per forum post 7849e58dd5 (check-in: d1e22e2f76 user: drh tags: trunk)
2021-01-04
18:28
Add extra test for handling of embedded nul characters in the fts4 unicode61 tokenizer. (check-in: c2c2c7e945 user: dan tags: trunk)
2021-01-02
23:56
In Lemon, factor the parser stack overflow detection logic out of the yy_reduce() subroutine and into the main parser routine, so that when overflow is detected, it can exit immediately. This saves a single conditional in the main loop of the parser. (check-in: 203c049c66 user: drh tags: trunk)
2021-01-01
22:06
Avoid allocating space to hold the prepared statements for CREATE statements when parsing the schema of an existing database, since those prepared statements are never used.. This helps to make startup faster, (check-in: d01e9f2d00 user: drh tags: trunk)
21:02
Faster and smaller test to ensure that the sqlite_schema.sql field is always a CREATE statement of some kind. (check-in: 76de2bb04b user: drh tags: trunk)
20:04
Change the unions of the Table.addColOffset field from characters to bytes. This makes the query that implements ALTER TABLE ADD COLUMN more complex and slightly slower, but also makes CREATE TABLE statement parsing faster by avoiding a call to sqlite3UtfCharLen(). Since, CREATE TABLE parsing is far more common than ALTER TABLE, this is a net win for performance. (check-in: 6f25f2529f user: drh tags: trunk)
19:17
Use the column name hash to improve performance of column name collision detection while parsing CREATE TABLE statements. (check-in: d02820f035 user: drh tags: trunk)
18:32
Modify the makefile rule for "startup" so that it always builds with -Os and -DSQLITE_THREADSAFE=0 and no other options, for consistency of performance. (check-in: 5ac939e0ad user: drh tags: trunk)
18:23
Size reduction and performance increase in sqlite3Prepare(). (check-in: 41f45c8e89 user: drh tags: trunk)
17:01
Small size reduction and performance improvement in sqlite3VdbeMakeReady() by linking the new prepared statement into the prepared statement list sooner rather than later. (check-in: 2996e800a0 user: drh tags: trunk)
16:43
Streamline processing of the authenticator callback for the common case when there is no callback. (check-in: d3196685d9 user: drh tags: trunk)
15:13
Add the "startup" test program designed to measure startup performance, and in particular schema parsing time. (check-in: 7b3b31efb0 user: drh tags: trunk)
01:44
Do not attempt to take a pointer to the ceil() and floor() functions as those routines are intrinsics on some versions of MSVC. (check-in: e5d7209e11 user: drh tags: trunk)
2020-12-30
13:20
New test case for the HAVING fix of check-in [f62f983b56623f0e]. (check-in: 45f46317ab user: drh tags: trunk)
13:10
New test cases for cursor renumbering in the UNION ALL query flattener. (check-in: 270babf259 user: drh tags: trunk)
2020-12-29
16:48
Add an ALWAYS on an always-true conditional in the cursor renumbering logic of the UNION ALL flattener. Edit: turns out this change is incorrect and the conditional is reachable after all. See the nearby trunk check-in for test cases. (Closed-Leaf check-in: 5774318e73 user: drh tags: mistake)
15:06
Do not set the P3 parameter on OP_RowCell when copying an index btree, as P3 is not used in that case. (check-in: eef070a4aa user: drh tags: trunk)
2020-12-28
21:42
Fix missing comma in ctime.c that would cause the ENABLE_MATH_FUNCTIONS output rw to merge with whatever row followed. Problem reported in forum post aacac97680. (check-in: 328bc4a01d user: drh tags: trunk)
2020-12-23
16:46
Add the sqlite3session_memory_used() API to the sessions module. For querying the amount of heap memory currently being used by a session object. (check-in: 823f75c2e4 user: dan tags: trunk)
2020-12-22
20:35
Fix SQLITE_OMIT_WINDOWFUNC builds by moving declaration of sqlite3ExpandSubquery out of "ifndef SQLITE_OMIT_WINDOWFUNC" block. (check-in: 9587fa8b29 user: dan tags: trunk)
19:57
Fix a couple spelling typos in comments. (check-in: 907ddf8676 user: mistachkin tags: trunk)
16:23
Fix a problem handling sub-queries with both a correlated WHERE clause and a "HAVING 0" clause where the parent query is itself an aggregate. The problem was apparently introduced by check-in [6e6b3729e0549de0] (check-in: f62f983b56 user: dan tags: trunk)
14:54
Simplification to the aggregate-function analysis error detection logic at the end of sqlite3Select(). (check-in: 82884438e3 user: drh tags: trunk)
2020-12-21
19:50
Fix problems with joining UNION ALL sub-queries against other sub-queries that contain LEFT JOIN. (check-in: d554f710a5 user: dan tags: trunk)
18:39
Fix a problem when flattening joins between a UNION ALL sub-query and another sub-query that uses more than one window function. (check-in: ef9733fe1c user: dan tags: trunk)
14:51
Enhance documentation to show that "ro" is the correct way to say "readonly" in the mode= query parameter. (check-in: 788b96851d user: drh tags: trunk)
12:14
Add the --timer option to fuzzcheck. Get the --timeout option working in fuzzcheck when running dbsql tests. (check-in: 3b0c9b41a8 user: drh tags: trunk)
2020-12-20
14:51
Always declare the sqlite3WhereTrace variable, even for non-debug builds. (check-in: 88d93ee380 user: drh tags: trunk)
2020-12-19
15:39
Fix a broken assert() in fts5 that could be triggered by corrupt database records. (check-in: b79f59f9ad user: dan tags: trunk)
13:58
Allow UNION ALL sub-queries to be flattened even if the parent query is a join. (check-in: df1d6482f9 user: drh tags: trunk)
2020-12-18
18:04
Fix for the previous fix in the case where a UNION ALL sub-query is joined against some other compound query. (Closed-Leaf check-in: 63c5cfb9ae user: dan tags: union-all-flattener)
16:13
When flattening UNION ALL subqueries into a join query, ensure that separate cursor numbers are used for each segment of the newly flattened query. (check-in: c510377b0b user: dan tags: union-all-flattener)
2020-12-17
17:17
Fix a part of the header comment for flattenSubquery(). (check-in: dc0937ce9d user: dan tags: union-all-flattener)
16:48
Add test cases and minor fixes to this branch. (check-in: 5d6dc29d5f user: dan tags: union-all-flattener)
15:17
In the CLI, add the ".filectrl data_version" command. And put the various ".filectrl" subcommands in alphabetical order. (check-in: 3434452148 user: drh tags: trunk)
11:30
Merge latest trunk changes into this branch. (check-in: 9f41f60405 user: dan tags: reuse-schema)
11:24
Fix a problem with sqlite3_expanded_sql() that could occur with statements that use both numbered (e.g. "?1") and unnumbered (i.e. "?") parameters. (check-in: 2a6cd6833e user: dan tags: trunk)
2020-12-16
21:09
Enhance the sqlite3BtreeTransferRow() routine so that it does more careful checks for corrupt database pages. (check-in: 85952e7117 user: drh tags: trunk)
20:00
Allow sub-queries that use UNION ALL to be flattened, even if the parent query is a join. Still some problems on this branch. (check-in: 00e4bf74d3 user: dan tags: union-all-flattener)
14:20
Remove an unnecessary and incorrect #ifdef. Fix harmless compiler warnings. (check-in: 31cd1bbfa5 user: drh tags: trunk)
13:20
Fix a typo in the sqlite3_free_filename() documentation. (check-in: 7316ee19c5 user: drh tags: branch-3.34)
13:17
Fix a typo in the sqlite3_free_filename() documentation. (check-in: 48301edc90 user: drh tags: trunk)
2020-12-15
19:27
Fix another integer overflow triggered by a corrupt database in recently modified vacuum code. (check-in: 4e2dd2a533 user: dan tags: trunk)
16:28
When the -statstep option is passed to the "rbu" executable, print out memory stats right before exiting, as well as every -statstep steps. (check-in: 94f81b5117 user: dan tags: trunk)
13:55
Change an fts5 assert() that can be triggered by a corrupt database to an if() condition. (check-in: ea0a7f103a user: dan tags: trunk)
2020-12-14
16:50
Merge the latest trunk enhancements into the begin-concurrent-pnu branch. (check-in: daf0465021 user: drh tags: begin-concurrent-pnu)
16:26
Merge recent trunk enhancements into the begin-concurrent branch. (check-in: a1708e8457 user: drh tags: begin-concurrent)
15:39
Enhance UPSERT so that it allows multiple ON CONFLICT clauses and does not require a conflict target for DO UPDATE. (check-in: 6b01a24daa user: drh tags: trunk)
15:25
Fix an integer overflow problem in new VACUUM code. (check-in: 59b4367fd8 user: dan tags: trunk)
13:52
Minor changes for test coverage. (Closed-Leaf check-in: e5a8fa50f4 user: drh tags: generalized-upsert)
2020-12-12
00:43
More test cases. No new problems discovered. (check-in: f34dd67e2d user: drh tags: generalized-upsert)
00:28
New test cases with corresponding bug fixes. (check-in: f22c21a94c user: drh tags: generalized-upsert)
2020-12-11
19:36
Begin adding test cases. Fix one bug found so far. More are pending. (check-in: aadd67ddf2 user: drh tags: generalized-upsert)
19:01
Fix an assert() broken by recent changes to vacuum. (check-in: dd058da85c user: dan tags: trunk)
17:11
Small performance tweaks. (check-in: 5321d60c57 user: drh tags: generalized-upsert)
16:49
Bug fixes so that legacy tests pass. New tests for new functionality have not yet been added. (check-in: aa76790e58 user: drh tags: generalized-upsert)
16:03
Add an "#ifndef SQLITE_AMALGAMATION" block around the typedef for u64 in shathree.c. (check-in: b411f29e1a user: dan tags: trunk)
14:34
Fix the configure script on the autoconf distribution so that the --disable-threadsafe option works. See FreeBSD bug 244459. (check-in: e64ff2cce3 user: drh tags: trunk)
14:22
Fix the expert extension so that it handles generated columns correctly. (check-in: c2ae7ba6f8 user: dan tags: trunk)
01:17
Logic is in place to handle multiple ON CONFLICT clauses, but it does not work. Any use of ON CONFLICT will likely lead to memory faults. This is an incremental check-in to save my place. (check-in: 155142314f user: drh tags: generalized-upsert)
2020-12-10
20:31
Use an iterator for the index loop in sqlite3GenerateConstraintChecks(). The idea is that this iterator can be enhanced to traverse the indexes in any order, as required by multi-index UPSERT. (check-in: 64a4a91ecc user: drh tags: generalized-upsert)
19:54
Remove a redundant branch added by [56a54258560]. (check-in: b4d6f6d728 user: dan tags: trunk)
19:51
Changes to avoid loading large records into memory within VACUUM. (check-in: 56a5425856 user: dan tags: trunk)
19:20
Fix minor issues with new code on this branch. (Closed-Leaf check-in: f7fa76d096 user: dan tags: vacuum-lomem)
18:07
Merge trunk changes into this branch. (check-in: 7337eed629 user: dan tags: vacuum-lomem)
18:06
Better integrate the changes on this branch with OP_Insert and OP_IdxInsert. (check-in: 101cef1491 user: dan tags: vacuum-lomem)
13:49
Add an optional function to the chsumvfs extension. When activated by the SQLITE_CKSUMVFS_INIT_FUNCNAME macro, this function will invoke the file-control that sets the number of reserved bytes to 8. This can be used to initialize a cksumvfs database file by programming languages that do not have access to the sqlite3_file_control() interface. (check-in: 01841fb4bf user: drh tags: trunk)
12:49
The DO UPDATE code generator searches for the correct ON CONFLICT clause to use. (check-in: a47e35ee2d user: drh tags: generalized-upsert)
2020-12-09
23:35
Fix compilation issues with MSVC related to C99. (check-in: c0de6c1fb2 user: mistachkin tags: trunk)
20:33
Transfer large index or WITHOUT ROWID records between b-trees when vacuuming without loading them into memory. (check-in: dfd4ca6891 user: dan tags: vacuum-lomem)
20:30
For upsert, the constraint check code generator uses a copy of the index list for the target table, which can potentially be reordered. (check-in: 3194c00c2c user: drh tags: generalized-upsert)
16:49
Add tests for a 'delete' command on a contentless table where values that weren't actually inserted are NULL. (check-in: 818c647cec user: dan tags: trunk)
16:32
Avoid loading large intkey rows when VACUUMing, even if the page-size is changing. (check-in: 0d2c377606 user: dan tags: vacuum-lomem)
13:11
Improved comments in sqliteInt.h. No changes to code. (check-in: 8ccb8d1d55 user: drh tags: generalized-upsert)
01:34
Initialize all terms in the ON CONFLICT clause stack. (check-in: 5e683fd1cb user: drh tags: generalized-upsert)
2020-12-08
20:19
Experimental changes to vacuum to avoid loading large records entirely into memory. Currently only works in limited cases only - for rowid tables when the page-size does not change. (check-in: c90e063ca9 user: dan tags: vacuum-lomem)
14:29
Enhance UPSERT parsing to allow multiple ON CONFLICT clauses. Only the very last clause may omit the conflict target, but the conflict target may now be omitted for the DO UPDATE resolution. (check-in: 2ca62f4c71 user: drh tags: generalized-upsert)
2020-12-07
23:14
Fix a bad assert() in math1Func(). (check-in: 4b28612913 user: drh tags: trunk)
21:19
Fix to the --disable-math option to ./configure. (check-in: 99ff641849 user: drh tags: trunk)
21:13
Many more math functions. Semantics follows PG wherever possible. (check-in: 6b93627b5d user: drh tags: trunk)
17:15
Begin adding new SQL functions that depend on -lm: ceil(), ceiling(), floor(), ln(), log(), and log10() so far. More to follow. (check-in: 4db5f2f787 user: drh tags: trunk)
2020-12-04
18:47
Update this branch with latest trunk changes. (check-in: 846e8444f7 user: dan tags: reuse-schema)
17:05
Fix harmless compiler warnings associated with the recent FTS5 enhancements. (check-in: 1db7c75191 user: drh tags: trunk)
16:58
Fix a bug in the ".eqp" command of the shell that was introduced by the recent sqlite3SelectTrace/SQLITE_TESTCTRL_TRACEFLAGS changes. (check-in: fd02dffceb user: drh tags: trunk)
16:49
Ensure that fts5 function matchinfo() is registered before running tests that use it in fts5corrupt3.test. (check-in: 932e05e093 user: dan tags: trunk)
16:26
Fix a test script problem in walvfs.test. (check-in: 4c5076fbe4 user: dan tags: trunk)
16:25
Fix an incorrect datatype no the sqlite3WhereTrace variable in test1.c. (check-in: 4e6dab30f6 user: drh tags: trunk)
16:09
Eliminate the sqlite3_unsupported_selecttrace global variable by creating a new test-control to control SELECT tracing. Note that SELECT tracing is only available on debug builds. (check-in: fb07c4e3c7 user: drh tags: trunk)
16:04
Further changes to the trace variables to try to eliminate (harmless) compiler warnings in all configurations. (Closed-Leaf check-in: 3a4c98b989 user: drh tags: traceflags-test-control)
01:17
Alternative implementation of ".selecttrace" and ".wheretrace" that uses a test-control rather than global variables. (check-in: d36d6f2923 user: drh tags: traceflags-test-control)
2020-12-03
21:22
When merging prefix lists in fts5, use 16-way merges instead of 2-way merges. This faster. (check-in: 026a93508e user: dan tags: trunk)
19:25
Do not simulate OOM faults on the SQLITE_FCNTL_CKPT_START and SQLITE_FCNTL_CKPT_DONE file-controls, as those are write-only and the return value is always ignored. (check-in: 62a2d39483 user: drh tags: trunk)
14:21
Enhance the generate_series() table-valued function to support negative step values. (check-in: 9b60fc4870 user: drh tags: trunk)
2020-12-02
20:07
Prevent potential segfault in the sqlite-expert idxPopulateStat1 context cleanup code. (check-in: c24f13448b user: mistachkin tags: trunk)
19:08
Allow a search for an N character prefix in fts5 to use a prefix index of size N+1, if no prefix index of size N exists. (check-in: 78a7801d8f user: dan tags: trunk)
18:27
Fix the ".open" command in the CLI so that it accepts command-line options both before and after the filename. (check-in: d330bf0c02 user: drh tags: trunk)
16:23
Improve performance for fts5 column filters that filter for more than one column. e.g. "{col1 col2 col3}:phrase". (check-in: d8de2f236d user: dan tags: trunk)
02:58
Parameterize the hash function in mkkeywordhash.c. This was an attempt to find a better hash function, which turned out to not be successful. (check-in: 2195d731f5 user: drh tags: trunk)
00:22
Increase the version number to 3.35.0 to begin the next development cycle. (check-in: edbabaa308 user: drh tags: trunk)
00:20
Slightly faster tokenization of non-keyword identifiers. (check-in: 55fa22bd40 user: drh tags: trunk)
2020-12-01
23:18
Add the --lookaside SIZE COUNT command-line option to the dbfuzz2 testing tool. (check-in: 2466960c0b user: drh tags: trunk)
16:36
Merge the 3.34.0 release into the reuse-schema branch. (check-in: 73b5f614cd user: drh tags: reuse-schema)
16:14
Version 3.34.0 (check-in: a26b6597e3 user: drh tags: trunk, release, major-release, version-3.34.0)
2020-11-30
18:52
Update the tea/win/makefile.vc file that ships as part of the autoconf package to use "sqlite3" instead of "tclsqlite3" for the installed dll filename. (check-in: 23212b1a05 user: dan tags: trunk)
18:43
Update the tea/win/makefile.vc file that ships as part of the autoconf package to use "sqlite3" instead of "tclsqlite3" for the installed dll filename. (Closed-Leaf check-in: 93d4d9dc05 user: dan tags: win-tea-fix)
14:20
Do not reuse the obsolete SQLITE_TESTCTRL_PRNG_RESET value for SQLITE_TESTCTRL_SEEK_COUNT. Give SEEK_COUNT its own unique value. This avoids incompatibility with legacy test code. (check-in: fdba0b1290 user: drh tags: trunk)
2020-11-27
20:56
Improve the speed of the tokenizer by recognizing that tokens starting with letters "_", "Y", or "Z" can never be SQL keywords and must be ordinary identifiers. (Closed-Leaf check-in: 16e281ed62 user: drh tags: faster-tokenizer)
19:40
Fix a compiler warning in fts5_aux.c. (check-in: 8edb983bc8 user: dan tags: trunk)
16:15
Add missing cast to fts5 bm25() code. (check-in: 6ff9673847 user: dan tags: trunk)
16:08
Remove a redundant "if( rc==SQLITE_OK )" from the fts5 bm25() code. (check-in: d85f4f27f5 user: dan tags: trunk)
16:05
Move an "if( rc==SQLITE_OK )" to outside a loop body in the fts5 bm25() code. (check-in: 14a4dcf347 user: dan tags: trunk)
15:28
Fix a case in the FTS5 integrity check where a corrupt database could cause a buffer overread. (check-in: a32b4f650d user: dan tags: trunk)
2020-11-26
20:13
Update mkunicode.tcl to match the change erroneously made to machine generated file fts5_unicode2.c in [b7b7bde9]. (check-in: 326d579d77 user: dan tags: trunk)
18:41
Merge latest changes from wal2 branch. (check-in: b451bb724e user: dan tags: begin-concurrent-pnu-wal2)
18:08
Merge latest trunk changes into this branch. (check-in: cb1f6f18e7 user: dan tags: wal2)
17:54
Merge latest changes from begin-concurrent-pnu into this branch. (check-in: d2de81a24f user: dan tags: begin-concurrent-report)
17:36
Merge latest changes from trunk into this branch. (check-in: a42e6f34f5 user: dan tags: begin-concurrent-pnu)
11:37
Update this branch with latest changes from trunk. (check-in: ddb97eeef7 user: dan tags: begin-concurrent)
2020-11-25
20:29
Merge trunk changes into this branch. (check-in: f4b7c10057 user: dan tags: reuse-schema)
18:44
Update a requirement mark in the e_expr.test script. (check-in: bb174a074b user: drh tags: trunk)
16:28
Fix harmless compiler warnings about unused function parameters. (check-in: 25d067c270 user: drh tags: trunk)
15:29
Fix a potential NULL pointer dereference in the geopoly_overlap() routine of the GeoPoly extension. (check-in: b5665712e6 user: drh tags: trunk)
14:50
Fix the shell1.test test script so that it works on windows. (check-in: 9bd15b07e5 user: drh tags: trunk)
13:59
Change the -init option to the command-line shell to honor the -bail option. Also change it to report an error if the filename mentioned cannot be opened. (check-in: a29f54bd2c user: drh tags: trunk)
2020-11-24
23:40
Fix a typo in the sqlite3_txn_state() documentation. (check-in: 5b4325295b user: drh tags: trunk)
21:19
Add the new sqlite3_txn_state() interface to the set of routines accessible by run-time loadables extensions. (check-in: db25f1dc8e user: drh tags: trunk)
19:55
Fix a harmless typo in a comment. (check-in: b2a201f1b5 user: drh tags: trunk)
17:55
Fix a bug in OOM handling code introduced by [6a28713d]. (check-in: 8a786ce994 user: dan tags: trunk)
16:44
Ensure that super-journal and other journal filenames passed by SQLite to an sqlite3_vfs.xOpen() implementation may be safely passed to sqlite3_uri_parameter() and similar functions. (check-in: 6a28713d59 user: dan tags: trunk)
13:14
Remove the VERSION_NUMBER macro from configure.ac as it has been unused since 2009 check-in [7f4810747b086498]. See also forum post bb2c634fcd. (check-in: 5466dd55d4 user: drh tags: trunk)
2020-11-23
21:05
Syntactic changes to work around a bug in gcov 9.3.0. No changes to the generated code for release builds. (check-in: 4f1573b146 user: drh tags: trunk)
17:36
In os_unix.c, put ALWAYS() on unreachable branches associated with pathname normalization. (check-in: b45a08e3c7 user: drh tags: trunk)
15:30
Fix a test script problem causing crash8.test to fail when run with leak-sanitizer. (check-in: 2c437f7a2c user: dan tags: trunk)
14:50
Allow "substring()" as an alias for "substr()" for compatibility with other SQL engines. (check-in: aa2ee5754c user: drh tags: trunk)
2020-11-20
14:16
Add file doc/vdbesort-memory.md, containing notes on the way vdbesort.c uses heap memory. (check-in: 07f53899a9 user: dan tags: trunk)
11:17
Declare a variable "const" in order to avoid compiler warnings. (check-in: 4f5481bf29 user: dan tags: wal2)
2020-11-19
21:12
The xFullPathname method of the unix VFS now normalizes the filenames by omitting surplus "/", "/./" and "/../" strings. (check-in: c38dec6f52 user: drh tags: trunk)
21:01
More test case changes so that shared-cache mode tests all work with normalized database names. (Closed-Leaf check-in: 6f0d5f0949 user: drh tags: stronger-nofollow)
20:07
Fix the tkt3793 test case so that work even when filenames are normalized. (check-in: e85d32ac6c user: drh tags: stronger-nofollow)
19:43
Use an ephemeral table rather than a RowSet to remember rowids in the two-pass UPDATE algorithm, as this uses much less memory for large UPDATEs. (check-in: 842c432772 user: drh tags: trunk)
16:08
Fix things so that sqlite3_database_file_object() works with wal2 filenames. (check-in: c2426ae8a8 user: dan tags: wal2)
2020-11-18
23:44
If a read() or pread() indicates that the database file is unreadable due to filesystem damage, then it returns SQLITE_IOERR_CORRUPTFS which is then converted into SQLITE_CORRUPT before being returned to the application. (check-in: 849e4e14fd user: drh tags: trunk)
21:50
Improvements to the mechanism that attempts to report SQLITE_CORRUPT if pread() says that the underlying filesystem is corrupt. (Closed-Leaf check-in: b887c7504e user: drh tags: detect-corrupt-fs)
21:15
Merge trunk changes into this branch. (check-in: 6004de525d user: dan tags: reuse-schema)
20:55
Update cksumvfs.c so that if SQLITE_AMALGAMATION is defined, SQLITE_CKSUMVFS_STATIC is implied. (check-in: 184e9d782d user: dan tags: trunk)
18:36
Add test infrastructure for cksumvfs. And update cksumvfs so that it works in concert with version 2 VFSs. No changes to core SQLite. (check-in: 43d4801df5 user: dan tags: trunk)
14:30
Fix a problem causing sqlite3_carray_bind() to return an undefined value. (check-in: 083203a549 user: dan tags: trunk)
14:12
Update test code to fix a problem with SQLITE_OMIT_VIRTUAL_TABLE builds. (check-in: 29c779a07b user: dan tags: trunk)
12:48
On unix, for certain error codes of read()/pread() return SQLITE_IOERR_CORRUPTFS instead of SQLITE_IOERR_READ. And then convert this error into SQLITE_CORRUPT prior to returning back to the application. (check-in: 9538ea8447 user: drh tags: detect-corrupt-fs)
2020-11-17
21:26
Claw back most of the performance lost in the previous commit. (Closed-Leaf check-in: df8ce2675b user: drh tags: lowmem-update-exp)
21:09
Fix trivial memory leaks in the shell and sqldiff programs. (check-in: 272793e5ed user: dan tags: trunk)
18:25
Fix test file busy2.test so that it works with the "inmemory_journal" permutation. (check-in: b192fdddb6 user: dan tags: trunk)
14:41
Add a single-argument form to the CARRAY table-valued function, with content bound using the sqlite3_carray_bind() interface that is included with the extension. (check-in: 7b229cb120 user: drh tags: trunk)
2020-11-16
18:45
Enhance the unix VFS so that it removes extra "/", "/./" and "/../" from the database filename. (check-in: 7ba89d3e5c user: drh tags: stronger-nofollow)
2020-11-14
20:03
Modify UPDATE so that two-pass updates on a rowid table use an ephemeral table to store rowids rather than a RowSet. This uses less memory, though it is slower. (check-in: 4673096dd8 user: drh tags: lowmem-update-exp)
2020-11-12
18:16
Improved diagnostics output with ".wheretrace 0x800". No changes to non-debug builds. (check-in: 772ae83c61 user: drh tags: trunk)
2020-11-11
19:11
Fix a typo in a comment. No changes to code. (check-in: 572f1ed59d user: drh tags: trunk)
2020-11-08
20:44
Use NEVER and ALWAYS macros to confirm that the return value from sqlite3ExprSkipCollateAndLikely() is never NULL in some of its use cases. (check-in: 76d2eb86e1 user: drh tags: trunk)
2020-11-06
16:48
Add ALWAYS() to conditionals associated with SHM locking that are always true. (check-in: b599e89076 user: drh tags: trunk)
2020-11-05
19:13
Suppress errors associated with TEMP triggers that reference objects in non-TEMP databases. This is a continuation of the fix for ticket #3810 shown in check-in [ba1afc040171810d] from 2009-08-06, based on a bug report in forum post 157dc791df (check-in: 991ca9b26b user: drh tags: trunk)
14:50
Remove unused variable from speedtest1.c (check-in: c0a18565e6 user: drh tags: trunk)
2020-11-03
11:54
Make platform compilation clearer, including the section that applies to both *ix and Windows Add link to the detailed compilation instructions Add brief Android section, it seems strange to omit it since Android is the majority use case by numbers (Closed-Leaf check-in: 2a71bebfe3 user: shearer tags: docupdate)
11:27
Update for new git-style syntax in Fossil (check-in: d46b6778b1 user: shearer tags: docupdate)
11:20
Add links, especially for the docsrc repo, which is otherwise hard to find (check-in: e03867e2fb user: shearer tags: docupdate)
2020-11-02
00:40
Fix an another OSS-Fuzz discovered assertion fault due to ALTER TABLE and strange triggers. (check-in: 6646d7898c user: drh tags: trunk)
2020-10-31
18:58
Add the -tabs command-line option to the CLI. (check-in: 7d01e84dc4 user: drh tags: trunk)
16:33
Update the ALTER TABLE command to correctly handle UPDATE ... FROM statements within trigger programs. (check-in: 3e6af89040 user: dan tags: trunk)
2020-10-27
11:58
Prettify btree.h headings. Close branch. (Closed-Leaf check-in: ee9689ad2f user: shearer tags: btree-code-documentation)
11:13
Typo in btree.h (and unwanted merge; this branch for cherrypicking btree.h only) (check-in: eb6e5fc189 user: shearer tags: btree-code-documentation)
11:07
Final commit in btree.h reorg. No more unknowns. (check-in: ea06f1d1f9 user: shearer tags: btree-code-documentation)
2020-10-26
18:14
Always create a statement journal when using the OP_ParseSchema opcode, as you never know when it might fail. See the discussion on forum post daa2c728cc. (check-in: aa512f72cf user: drh tags: trunk)
16:22
Ensure that the table argument passed to Tcl_GetIndexFromObjStruct() in the sessions module test code is declared "static". (check-in: 80eba105d6 user: dan tags: trunk)
13:24
Prevent fts5 tokenizer unicode61 from considering '\0' to be a token characters, even if other characters of class "Cc" are. See forum thread 09609d7e22 for details. (check-in: b7b7bde9b7 user: dan tags: trunk)
2020-10-22
18:58
Minor tweaks to query planning weights so that when STAT4 is enabled and functioning, a full table scan is more likely to be selected if that seems like the fastest solution. Only do this when STAT4 info is available because an error has a large potential downside. (check-in: 263293f1e6 user: drh tags: branch-3.28)
18:50
Minor tweaks to query planning weights so that when STAT4 is enabled and functioning, a full table scan is more likely to be selected if that seems like the fastest solution. Only do this when STAT4 info is available because an error has a large potential downside. (check-in: 0e7e113d9f user: drh tags: trunk)
18:16
Test case updates. (Closed-Leaf check-in: 27c681c9c6 user: drh tags: avoid-bad-indexes)
15:47
Sometimes it makes sense to do a full table scan rather than try to use an index when most of the rows will be selected. This branch is trying to tune the query planner to make that happen more often. (check-in: 0f42099ad6 user: drh tags: avoid-bad-indexes)
2020-10-20
14:40
Fix the sqlite3_hard_heap_limit() so that it works with sqlite3_realloc64() in addition to sqlite3_malloc64(). Improvements to OOM processing and debugging aids in the fuzzcheck utility. (check-in: 602d736916 user: drh tags: trunk)
12:37
Fix an assert() inside of debug-only code that can fail following an OOM. (check-in: 79da254f41 user: drh tags: trunk)
2020-10-19
20:49
Fix an incorrect table ref-count in the new recursive CTE logic that might result in a reference to freed memory following a syntax error. (check-in: 75a0288871 user: drh tags: trunk)
12:35
Enhance recursive common table expressions to support two or more recursive terms. (check-in: 77e64647ec user: drh tags: trunk)
01:44
New test cases for recursive CTEs with multiple recursive terms. (Leaf check-in: cd5182bd6f user: drh tags: cte-enhancement)
01:23
Allow multiple recursive terms in the compound SELECT of a recursive CTE. This facilitates writing a query to find find the connected components of an undirected graph. (check-in: 5481fa8c79 user: drh tags: cte-enhancement)
2020-10-18
18:35
Fix harmless compiler warnings. (check-in: 7f8802bb7b user: mistachkin tags: trunk)
2020-10-17
22:13
Fix the SQLITE_DESERIALIZE_FREEONCLOSE flag so that it works as it is documented to work. See forum post ba1dff667a (check-in: d6fac8a1d3 user: drh tags: trunk)
19:09
Fix an incorrect printf() in debugging logic in where.c. Problem reported by forum post 80a9c47769772207. (check-in: 883da4dadc user: drh tags: trunk)
2020-10-15
17:59
Minor fixes to the cksumvfs documentation in the header comment of the source file. Enhance speedtest1.c so that it can more easily do performance comparisons of cksumvfs. (check-in: ed3bb818f5 user: drh tags: trunk)
14:37
The windows VFS accepts query parameter "exclusive=true" to cause it to take a mandatory file lock, preventing other applications from even reading the file. See forum thread 11b5560864189b5d. (check-in: 05b573fdb2 user: drh tags: trunk)
2020-10-14
21:31
Enhancements to TclKit batch tool for MSVC. (check-in: 2a8a455211 user: mistachkin tags: trunk)
21:30
Fix typo in a documentation comment. (check-in: 462adc7d6b user: mistachkin tags: trunk)
15:46
Enhanced documentation for sqlite3_vtab_nochange() to make it clear that it is an optimization and that virtual table implementations should be prepared for it to always return false. (check-in: 3e2643619d user: drh tags: trunk)
2020-10-12
18:09
Fix some fts5 problems with signed integer overflow causing segfaults in -ftrapv builds. (check-in: 7e17c2f4b7 user: dan tags: trunk)
17:57
Improved quoting of the table name argument for the ".import" command of the CLI. See forum post 34591fefbe. (check-in: ce97b56d63 user: drh tags: trunk)
16:54
Add options --data-only and --nosys to the ".dump" command in the CLI. (check-in: 57123b14a7 user: drh tags: trunk)
15:27
Fix ALTER TABLE so that it can run even if the schema contains unknown collation sequences. (check-in: bc4bb9433f user: dan tags: trunk)
14:56
Add the --nosys option to the .schema command in the CLI. (check-in: b72ee69453 user: drh tags: trunk)
14:29
Fix UPDATE FROM statements on virtual tables that are declared WITHOUT ROWID. See forum post 0fee7951eb for more information. (check-in: bcb0bc6a7b user: dan tags: trunk)
13:24
Fix BEGIN IMMEDIATE and BEGIN EXCLUSIVE so that they work even if one or more of the database files in the connection are read-only. Test cases for this are in TH3. (check-in: 2fa08c3963 user: drh tags: trunk)
2020-10-07
11:24
In the CSV extension, use SQLITE_TRANSIENT rather than SQLITE_STATIC on return values that can in fact change. (check-in: 54b54f02c6 user: drh tags: trunk)
2020-10-06
15:48
More additions and improvements to btree.h documentation (check-in: a49a7cdec7 user: shearer tags: btree-code-documentation)
2020-10-05
16:41
Allow fts5 trigram tables created with detail=column or detail=none to optimize LIKE and GLOB queries. Allow case-insensitive tables to optimize GLOB as well as LIKE. (check-in: 64782463be user: dan tags: trunk)
2020-10-03
19:16
Do not apply affinities when creating entries for automatic indexes on views. Fix for [95302bdb]. (check-in: df12f09722 user: dan tags: trunk)
17:06
Fix a segfault caused by running "column LIKE NULL" against an fts5 table using the trigram tokenizer. Fix for [e33ee62575fc22]. (check-in: 6e72a08de7 user: dan tags: trunk)
14:36
FTS5 does not handle tokens that contain embedded nul characters. Prevent the trigram tokenizer from returning such tokens. Fix for [2ba5930b2]. (check-in: b1d048748c user: dan tags: trunk)
2020-10-02
15:15
Fix some test code so that testfixture can build with SQLITE_OMIT_WAL defined. (check-in: dd009cd7ae user: dan tags: trunk)
13:57
Import further corner-case fixes for the in-scan-vs-index or OP_SeekScan optimization from trunk. (check-in: c144d6404f user: drh tags: branch-3.28)
13:48
Additional corner-case fixes for the in-scan-vs-index or OP_SeekScan optimization. (check-in: ad5ab24ebd user: drh tags: trunk)
12:49
Remove an incorrect assert() from the OP_SeekScan opcode. (check-in: c0400f8c0b user: drh tags: trunk)
12:42
Fix a faulty assert() statement. Add new test cases. (check-in: 80ecdb3da4 user: drh tags: trunk)
12:11
For the OP_SeekScan optimization, the OP_IdxGT does not necessarily come right after the OP_SeekGE. So use the P2 operand of OP_SeekScan to point to the first instruction after OP_IdxGT. Problem found by dbsqlfuzz. (check-in: ec37744c6e user: drh tags: branch-3.28)
11:55
For the OP_SeekScan optimization, the OP_IdxGT does not necessarily come right after the OP_SeekGE. So use the P2 operand of OP_SeekScan to point to the first instruction after OP_IdxGT. Problem found by dbsqlfuzz. (check-in: 091d719394 user: drh tags: trunk)
02:07
Disable the OP_SeekScan opcode of the in-scan-vs-index optimization when in PRAGMA reverse_unordered_selects mode, as the OP_SeekScan only works with forwards scans. Thanks to OSSFuzz for pointing out the problem to us. (check-in: 9a1cdf7e9c user: drh tags: branch-3.28)
02:02
Disable the OP_SeekScan opcode of the in-scan-vs-index optimization when in PRAGMA reverse_unordered_selects mode, as the OP_SeekScan only works with forwards scans. Thanks to OSSFuzz for pointing out the problem to us. (check-in: c75c3a3b75 user: drh tags: trunk)
2020-10-01
17:24
Add experimental "trigram" tokenizer to fts5. (check-in: c4e8ec7907 user: dan tags: trunk)
17:15
Add the -trigram option to the fts5txt2db.tcl script. (Closed-Leaf check-in: a394dd2602 user: dan tags: fts5-trigram)
16:10
Add tests for the trigram tokenizer. Fix minor issues. (check-in: 897ced99b4 user: dan tags: fts5-trigram)
15:46
Fix the OP_SeekScan opcode so that its variable names do not cause problems for the test/vdbe-compress.tcl script. (check-in: 7a78274a07 user: drh tags: trunk)
14:38
Remove a debugging printf() accidentally left in the previous check-in. (check-in: e9d1efa597 user: drh tags: trunk)
14:36
The IN-early-out optimization does not work for virtual tables. Do not try to use it there. Fix for ticket [2d5a3163563d559f]. Test cases in TH3. (check-in: dbec6910d9 user: drh tags: trunk)
2020-09-30
20:35
Add experimental unicode-aware trigram tokenizer to fts5. And support for LIKE and GLOB optimizations for fts5 tables that use said tokenizer. (check-in: 0d7810c1ae user: dan tags: fts5-trigram)
18:22
Improved query optimization for multi-column indexes where the second or later columns are constrained by an IN operator and the earlier index columns limit the search to a small number of rows. Use the new OP_SeekScan opcode which does scanning of the relevant range of the index but gives up and falls back to doing a seek if the number of rows scanned grows to large, in order to guard against pathological cases where the estimated number of rows to be scanned is far too small. (check-in: f07ac3fb38 user: drh tags: branch-3.28)
18:06
Improved query optimization for multi-column indexes where the second or later columns are constrained by an IN operator and the earlier index columns limit the search to a small number of rows. Use the new OP_SeekScan opcode which does scanning of the relevant range of the index but gives up and falls back to doing a seek if the number of rows scanned grows to large, in order to guard against pathological cases where the estimated number of rows to be scanned is far too small. (check-in: 4a43430fd2 user: drh tags: trunk)
18:03
For the OP_SeekScan opcode, adjust the number of steps run before giving up based on the estimated number of comparisons needed to perform a seek. (Closed-Leaf check-in: dc4172e6b8 user: drh tags: in-scan-vs-index)
17:32
Back out the incorrect optimization of check-in [e51ecadcbdef5ce6] as ticket [5c4e7aa793943803] reports a case where the optimization does not work. (check-in: 7395e96b8c user: drh tags: trunk)
15:36
In the query flattener when substituting expression Y in place of expression X, if X is marked has having come from an ON or USING clause of a LEFT JOIN, then be sure that all subexpressions of Y, not just the root node of Y, are similarly marked. Otherwise, if Y is an AND operator, it will be split up during WHERE clause analysis and the subexpressions will not get the special treatment needed by LEFT JOIN ON/USING clauses. Fix for ticket [66e4b0e271c47145]. (check-in: 69f9eb7343 user: drh tags: trunk)
09:17
Better understanding of savepoint code (check-in: ce6d8d6215 user: shearer tags: trunk)
00:48
Add an sqlite3FaultSim() call to btreeNext() to make it easier to simulate I/O errors in calls to sqlite3BtreeNext(), and in OP_SeekScan. (check-in: 29cca775d3 user: drh tags: in-scan-vs-index)
00:10
In the OP_SeekScan opcode, changes to pOp must occur after the call to VdbeBranchTaken() so that the VdbeBranchTaken() attributes the branch to the correct opcode. (check-in: 61fbe7aa7c user: drh tags: in-scan-vs-index)
2020-09-29
23:52
The OP_SeekScan opcode is a no-op if the cursor is not pointing to a valid row upon entry. (check-in: 4afc96b5fe user: drh tags: in-scan-vs-index)
20:22
Coverage testing of the OP_SeekScan opcode. Fix a problem that comes up when OP_SeekScan reaches the end of the table. (check-in: 9e57e758a6 user: drh tags: in-scan-vs-index)
17:29
Improved comments on the new OP_SeekScan opcode. (check-in: 6110fdd5bb user: drh tags: in-scan-vs-index)
16:05
Improved performance by manually in-lining the sqlite3VdbeIdxKeyCompare() routine for the OP_IdxGT opcode and its kin. (check-in: 2206a2c848 user: drh tags: in-scan-vs-index)
15:32
Typo fix to repair the early-out optimization. Also avoid unnecessary OP_SeekHit opcodes. (check-in: 8fd7d8dfcd user: drh tags: in-scan-vs-index)
01:48
The OP_SeekScan opcode works, but using it requires disabling the IN-earlyout optimization because the OP_IfNoHope opcode might move the cursor. (check-in: f3c36b840c user: drh tags: in-scan-vs-index)
2020-09-28
19:51
Revisiting the IN-scan optimization to try to fix it for the corner case where the statistics deceive the query planner into using a scan when an indexed lookup would be better. This check-in changes the code generation to do the IN-scan using a new OP_SeekScan opcode. That new opcode is designed to abandon the scan and fall back to a seek if it doesn't find a match quickly enough. For this work-in-progress check-in, OP_SeekScan is still a no-op and OP_SeekGE still ends up doing all the work. (check-in: d720b6981e user: drh tags: in-scan-vs-index)
15:49
Small performance improvement and size reduction by reducing the size of the WhereTerm object. (check-in: 43f7ddad80 user: drh tags: trunk)
13:34
Avoid the possibility of integer overflow on the --pagecache option to the CLI. See forum post 10a2892377 (check-in: d3d13df31a user: drh tags: trunk)
2020-09-25
17:17
Clarify (check-in: 14dba0f3b5 user: shearer tags: btree-code-documentation)
16:54
Distinguish between checkpoints (WAL-only, implementation specific) and savepoints (Btree internal implementation of COMMIT/ROLLBACK subtransactions) and SQL SAVEPOINT (identical name for SQL-level subtransactions) (check-in: ae686ab6a8 user: shearer tags: btree-code-documentation)
14:26
Reset to trunk's func. Still learning Fossil. (check-in: a4840cf5c6 user: shearer tags: btree-code-documentation)
13:56
More classification of functions. Fix incorrect comment that sqlite3BtreeCursorHasHint() is only used within asserts. (check-in: 78d8db7cb7 user: shearer tags: btree-code-documentation)
09:42
Merge recent trunk changes into the btree-code-documentation branch (check-in: 3a576608e6 user: shearer tags: btree-code-documentation)
08:17
Add reminder comment that, by definition, these functions won't be called from elsewhere in SQLite. Useful to remember for beginners who may suspect unusued code. (check-in: 6f5c1fde24 user: shearer tags: btree-code-documentation)
2020-09-24
11:41
Added context to explain that the test coverage is about MC/DC in general, not just an SQLite-specifc test harness. (check-in: 770dbedddc user: shearer tags: btree-code-documentation)
06:37
Group metadata definitions together (check-in: 5c306f4251 user: shearer tags: btree-code-documentation)
2020-09-23
17:31
Figured out where/how sqlite3BtreeRowCountEst() is called (check-in: a46537153c user: shearer tags: btree-code-documentation)
2020-09-21
20:18
Fix harmless compiler warning seen with MSVC. (check-in: 4591ee03d7 user: mistachkin tags: trunk)
14:53
In fts5 integrity checks, do not compare the contents of the index against an external content table unless specifically requested. (check-in: 782163693f user: dan tags: trunk)
2020-09-20
13:33
Remove a new assert() that the compiler finds is always true at compile-time, to avoid a compiler warning. (check-in: 8bbaee2385 user: drh tags: trunk)
12:10
Attempt to silence harmless static analyzer warnings in Lemon and in the Lemon-generated parser. (check-in: de8ce22a46 user: drh tags: trunk)
2020-09-17
21:11
Fix a typo in the documentation comment for sqlite3_preupdate_hook(). (check-in: 4542d194e2 user: dan tags: trunk)
17:01
Fix a problem in sqlite-expert causing it to ignore equality constraints on the second or subsequent columns of a multi-column PRIMARY KEY. (check-in: c666c85a43 user: dan tags: trunk)
15:16
Fix a problem in fts5 causing the in-memory hash table to be flushed more often than necessary. (check-in: 9a55601d07 user: dan tags: trunk)
15:04
Order btree.h by logical function, add comments (check-in: ab53b31795 user: shearer tags: btree-code-documentation)
14:16
Fix a "jump depends on unitialized value" valgrind/asan error in fts5. (check-in: 66f94d623c user: dan tags: trunk)
11:56
Earlier detection of corruption in the rtreecheck() SQL function to prevent a (harmless) read of an uninitialized value. (check-in: e2074b2478 user: drh tags: trunk)
11:32
Prevent use-after-free of the u.vtab.idxStr string following an OOM while generating the OP_VFilter opcode. (check-in: 751fe4edb2 user: drh tags: trunk)
00:46
DISTINCT may not be ignored inside a UNION ALL common table expression. Fix for ticket [c51489c3b8f919c5] (check-in: 7d2b590d3a user: drh tags: trunk)
2020-09-16
19:48
Fix a pair of assert()s in "PRAGMA foreign_key_check" that might have given a false-positive following an OOM. (check-in: 9ea3039b53 user: drh tags: trunk)
16:55
Fix harmless compiler warnings in Lemon. (check-in: 6c94ba4b1c user: drh tags: trunk)
16:55
Merge bugfixes made since version 3.33.0 into this branch. (Leaf check-in: 2e269dcdef user: dan tags: reuse-schema-3.33)
16:49
Fix a buffer overread found by OSSFuzz that could occur if a WITHOUT ROWID table with many columns was NATURAL JOINed against itself. (Leaf check-in: 807643c596 user: dan tags: branch-3.33)
16:48
Do not invoke usleep() for more than 999999 microseconds. (check-in: 1f0055d0a2 user: dan tags: branch-3.33)
16:45
Fix a tsan error that could occur when using shared-cache mode. (check-in: 61981b9747 user: dan tags: branch-3.33)
16:44
Fix another (harmless in practice) tsan error in shared-cache mode. (check-in: 553e20c3d7 user: dan tags: branch-3.33)
16:41
Apply the same fix for ticket [9eda2697f5cc1aba] to text-to-integer conversions that was done for floating point conversions by check-in [1c76f1d8ec0937a2]. (check-in: 1b4801de2d user: dan tags: branch-3.33)
16:40
Correctly handle expressions like "x IS (not) true/false" within the rhs of IN() expressions. Fix for [f3ff1472]. (check-in: 4236103379 user: dan tags: branch-3.33)
16:39
Fix a crash that could occur in SQLITE_MAX_EXPR_DEPTH=0 builds when processing SQL containing syntax errors. (check-in: 6438db4570 user: dan tags: branch-3.33)
16:38
Do not skip over TK_IF_NULL_ROW operators when bypassing TK_COLLATE operators. Fix to check-in [ac31edd3eeafcef4] which was itself a fix for ticket [45f4bf4eb4ffd788]. (check-in: 8504161154 user: dan tags: branch-3.33)
2020-09-15
20:48
Fix a buffer overread found by OSSFuzz that could occur if a WITHOUT ROWID table with many columns was NATURAL JOINed against itself. (check-in: 3d35fa0be8 user: dan tags: trunk)
12:29
Do not invoke usleep() for more than 999999 microseconds. (check-in: 1f5ed852f2 user: drh tags: trunk)
2020-09-11
15:01
Catch fts5 index corruption caused by issuing 'delete' commands with incorrect data earlier in some cases. Also fix a couple of test script problems. (check-in: b79f19edfd user: dan tags: trunk)
2020-09-10
15:09
Try again to fix the typo in the sqlite3_txn_state() documentation. (check-in: 6d1ab0403c user: drh tags: trunk)
14:54
Fix typo in the documentation for the new sqlite3_txn_state() interface. (check-in: 23f7d01758 user: drh tags: trunk)
12:41
If an amalgamation is created using SQLITE_ENABLE_UPDATE_DELETE_LIMIT, ensure that it can still be compiled without that option by setting the SQLITE_UDL_CAPABLE_PARSER flag in the preamble. (check-in: 5b905d7d77 user: drh tags: trunk)
2020-09-07
11:23
Merge latest trunk changes into this branch. (check-in: ae1a778dbb user: dan tags: reuse-schema)
11:14
Fix another (harmless in practice) tsan error in shared-cache mode. (check-in: 5a74fa3f0a user: dan tags: trunk)
2020-09-06
17:40
Remove an artifical limitation on the length of columns in the "box" output mode of the command-line shell. (check-in: 783fa887c9 user: drh tags: trunk)
2020-09-05
06:21
Fix a bug in Lemon that might cause it to crash if there is a multi-terminal token with a space following the "|" separator. This does not affect SQLite. (check-in: 430c5d1da5 user: drh tags: trunk)
2020-09-04
19:12
Merge tsan error fix from trunk into this branch. (check-in: 93cc60b342 user: dan tags: reuse-schema)
19:10
Fix a tsan error that could occur when using shared-cache mode. (check-in: de80bc8730 user: dan tags: trunk)
17:40
Update this branch with latest changes from trunk. (check-in: ca8deb44c7 user: dan tags: reuse-schema)
17:30
Ensure that the busy-handler count is reset at the end of each sqlite3_file_control() and sqlite3_prepare() (and _v2() and _v3()). (check-in: 5dd0594061 user: dan tags: trunk)
2020-09-02
16:14
Add tests for virtual table shmlock. (Leaf check-in: 1c6a844273 user: dan tags: shmlock-vtab)
15:26
Fix reporting on locks from external processes. Various other fixes. (check-in: 459de23e86 user: dan tags: shmlock-vtab)
2020-09-01
20:56
Add file-controls and a vtab frontend for querying the unix VFS for the currently held shm-locks. Still some issues. (check-in: ef10e1b386 user: dan tags: shmlock-vtab)
19:02
Fix harmless compiler warning. (check-in: a711e8cd2c user: mistachkin tags: trunk)
12:26
In the Lemon output, add a prefix comment that explains that the output file is automatically generated and shows the name of the source file. (check-in: d34caf3bb6 user: drh tags: trunk)
11:20
Lemon updates: (1) include the #defines for all tokens in the generated C file, so that the C-file can be stand-alone. (2) If the grammar begins with a %include {...} directive on line one, make that directive the header for the generated C file. (3) Enhance the lemon.html documentation. (check-in: 84d54eb357 user: drh tags: trunk)
02:02
Improvements to the IN-early-out optimization so that it works more efficiently when there are two or more indexed IN clauses on a single table. (check-in: 49b7631e86 user: drh tags: branch-3.28)
01:52
Improvements to the IN-early-out optimization so that it works more efficiently when there are two or more indexed IN clauses on a single table. (check-in: 35505c68c1 user: drh tags: trunk)
00:26
Fix a harmless compiler warning. (check-in: 3ca0b7d54d user: drh tags: trunk)
00:09
Minor changes - fix a compiler warning and add an assert(). (Closed-Leaf check-in: 07222dce10 user: drh tags: in-early-out-fail)
2020-08-31
20:37
Update this branch with the "PRAGMA noop_update" fix from begin-concurrent-report. (Leaf check-in: 1d98472277 user: dan tags: begin-concurrent-unixshmlock-opt)
20:29
Update this branch with the "PRAGMA noop_update" fix from begin-concurrent-pnu. (check-in: 3c0423f0a8 user: dan tags: begin-concurrent-report)
20:27
Restore the "PRAGMA noop_update" feature that was broken by [2b3241cf67c8eea7]. (check-in: 5fa4cbcb78 user: dan tags: begin-concurrent-pnu)
19:58
Merge the SEEK_COUNT instrumentation enhancement from trunk. (check-in: 689ede9564 user: drh tags: in-early-out-fail)
19:19
An attempt to improve the performance of the IN-early-out optimization (see check-in [09fffbdf9f2f6ce3]) by avoiding unnecessary calls to the b-tree search algorithm in OP_IfNoHope when the index key is at hand and the same answer can be obtained by doing a quick key comparison. Update: Experiment did not work out. (Closed-Leaf check-in: 8301da31d0 user: drh tags: branch-3.28-in-early-out-fail)
18:49
New test-control that returns the number of calls to sqlite3BtreeMovetoUnpacked() on the main database and then resets the counter. This only works for SQLITE_DEBUG builds. (check-in: dca5b91926 user: drh tags: trunk)
16:31
An attempt to improve the performance of the IN-early-out optimization (see check-in [09fffbdf9f2f6ce3]) by avoiding unnecessary calls to the b-tree search algorithm in OP_IfNoHope when the index key is at hand and the same answer can be obtained by doing a quick key comparison. Update 2020-08-31: This experiment did not work out. A better approach is now on trunk. (check-in: e9d983c683 user: drh tags: in-early-out-fail)
12:29
Fix the documentation for the OP_IdxGT family of opcodes to show that the P5 operand is not used. (check-in: 62f7d2a612 user: drh tags: trunk)
2020-08-29
19:00
Fix a sanitizer warning in zipfile.c. (check-in: ded1a75b3c user: dan tags: trunk)
15:36
Improve performance of wal-mode locking on unix in cases where there are hundreds of connections to a single database within the same process. (check-in: 30214727f7 user: dan tags: begin-concurrent-unixshmlock-opt)
15:15
Improve performance of wal-mode locking on unix in cases where there are hundreds of connections to a single database within the same process. (check-in: a1c19eea8f user: dan tags: trunk)
2020-08-28
20:01
Fix handling of an xShmLock(SHARED, UNLOCK) call when the caller does not hold any lock on the specified slot, but another connection in the same process holds an EXCLUSIVE. (Closed-Leaf check-in: 3eb365027b user: dan tags: unixshmlock-opt)
19:27
Modify the unixShmLock() function to avoid iterating through the (possibly large) set of connections to the same database file. (check-in: e0faddf0df user: dan tags: unixshmlock-opt)
18:47
Add the miscellaneous 'series' extension to the shell. (check-in: fc0856dccf user: mistachkin tags: trunk)
13:10
Update Lemon documentation. Patches from sgbeal. (check-in: f5dc83442b user: drh tags: trunk)
12:58
Fix a couple of unreachable branches. (check-in: f2d26f2b11 user: drh tags: trunk)
11:19
Add fts5 test to confirm that for a table with columns a, b, c and d, "{a b}" and "-{c d}" are handled similarly. (check-in: 1a04920998 user: dan tags: trunk)
2020-08-27
20:55
Remove a (harmless) redundant variable from the CLI implementation. (check-in: 3f7bbb840d user: drh tags: trunk)
18:36
Include the original text of the CHECK constraint in the error message for anonymous CHECK constraints. (check-in: 5ce34a955b user: drh tags: trunk)
16:28
Apply the same fix for ticket [9eda2697f5cc1aba] to text-to-integer conversions that was done for floating point conversions by check-in [1c76f1d8ec0937a2]. (check-in: aafb7a2104 user: drh tags: trunk)
14:53
Do not attempt to run test script analyze3.test as part of the "prepare" permutation. (check-in: f7f13cb1bc user: dan tags: trunk)
2020-08-26
19:07
Enhance the ".databases" command in the CLI so that it shows the result of sqlite3_db_readonly() and sqlite3_txn_state() for each database file. (check-in: 0ffd16d23d user: drh tags: trunk)
10:50
If the argument to the ".read" command in the CLI begins with "|" then run the remainder of the argument as a command and read input from the output of that command. (check-in: 6c716f4b55 user: drh tags: trunk)
2020-08-25
19:09
Add support for the sqlite3_txn_state() interface. (check-in: ad195e3dd8 user: drh tags: trunk)
2020-08-24
23:44
Reduce the N in the logN term for the sorting cost associated with computing DISTINCT by B-Tree by half, under the assumption that the DISTINCT will eliminate about half the rows of output. This is really a wild guess. But we do not have any better way of estimating what the row-count reduction due to DISTINCT will actually be. (check-in: 8787417ec1 user: drh tags: trunk)
10:52
Correctly handle expressions like "x IS (not) true/false" within the rhs of IN() expressions. Fix for [f3ff1472]. (check-in: 493a25949b user: dan tags: trunk)
2020-08-20
16:25
Fix a crash that could occur in SQLITE_MAX_EXPR_DEPTH=0 builds when processing SQL containing syntax errors. (check-in: 5f58dd3a19 user: dan tags: trunk)
11:03
Avoid a buffer overrun in test code that could occur if certain test functions were passed a hex-string containing an odd number of digits. (check-in: 3c5e63c22f user: dan tags: trunk)
2020-08-19
23:51
Try to make SQLite easier to compiler for Mac Catalyst. See forum post 803387a1c5. (check-in: e1595a20d7 user: drh tags: trunk)
23:32
Do not skip over TK_IF_NULL_ROW operators when bypassing TK_COLLATE operators. Fix to check-in [ac31edd3eeafcef4] which was itself a fix for ticket [45f4bf4eb4ffd788]. (check-in: 871f2ddcfb user: drh tags: trunk)
15:24
Update releasetest_data.tcl so that the "Fast-One" configuration runs bigmmap.test as part of release testing. (check-in: a0aa35aaa5 user: dan tags: trunk)
15:21
Fix a problem in test file bigmmap.test. (check-in: d8e4738216 user: dan tags: trunk)
2020-08-17
21:03
When doing an UPDATE or DELETE using a multi-column index where only a few of the earlier columns of the index are useful for the index lookup, postpone doing the main table seek until after all WHERE clause constraints have been evaluated, in case those constraints can be covered by unused later terms of the index, thus avoiding unnecessary main table seeks. (check-in: 0ecda43371 user: dan tags: branch-3.28)
09:11
Fix the -quote option on the CLI to set the correct column separator. (check-in: c778f8295c user: drh tags: trunk)
2020-08-16
00:30
Optimization to sqlite3BeginWriteOperation(). (check-in: 2173d4c6e3 user: drh tags: trunk)
2020-08-15
23:48
Optimization of the sqlite3SrcListDelete() routine. (check-in: 1b4acd1ac4 user: drh tags: trunk)
22:23
Remove more unnecessary sqlite3GetVdbe() calls, replacing them with assert()s. (check-in: b7dc932197 user: drh tags: trunk)
21:55
Avoid unnecessary calls to the sqlite3GetVdbe() routine. Add assert() statements to prove each call is unnecessary. (check-in: 86d3790caf user: drh tags: trunk)
19:58
Omit the unnecessary not-NULL check on the upper bound of a forward index range scan. The subsequent OP_IdxGT will always catch the NULL. Similarly, omit the not-NULL check on the lower bound of a reverse index range scan, as the SeekLE opcode will disallow the NULL. (check-in: e51ecadcbd user: drh tags: trunk)
2020-08-14
21:51
When doing an UPDATE or DELETE using a multi-column index where only a few of the earlier columns of the index are useful for the index lookup, postpone doing the main table seek until after all WHERE clause constraints have been evaluated, in case those constraints can be covered by unused later terms of the index, thus avoiding unnecessary main table seeks. (check-in: 7fee0b1075 user: drh tags: trunk)
21:37
Update the version number to 3.34.0 for the next development cycle. (check-in: 70f34f3df5 user: drh tags: trunk)
21:32
Optimizations to the logic that converts main table accesses into equivalent index accesses. Code is now slightly smaller and faster than trunk. (Closed-Leaf check-in: 611b640442 user: drh tags: delete-bytecode-optimization)
20:04
For UPDATE and DELETE, use OP_DeferredSeek always. If the seek must later be resolved, add the OP_FinishSeek opcode after all WHERE clause terms have been processed. This obviates the need for the WHERE_SEEK_TABLE and WHERE_SEEK_UNIQ_TABLE flags to sqlite3WhereBegin() and the ensuing complication, and it allows the covering index optimization to be used further into WHERE clause processing. (check-in: a495f60d31 user: drh tags: delete-bytecode-optimization)
17:39
Experimental change to try to get some DELETE operations to access values using the index rather than the main table, so as to avoid unnecessary main table seeks. (check-in: 2f7cb6ab39 user: drh tags: delete-bytecode-optimization)
16:14
Fix an inconsequential memory leak in sqldiff. Update the "Sanitize" case in wapptest.tcl to use -fsanitize=address,undefined, and to run more tests. (check-in: 613fb5c252 user: dan tags: trunk)
13:55
Merge the 3.33.0 release into the reuse-schema branch. (check-in: e456d43708 user: drh tags: reuse-schema)
13:23
Version 3.33.0 (check-in: fca8dc8b57 user: drh tags: trunk, release, version-3.33.0)
2020-08-13
17:27
Fix "make test" handling of environment variable QUICKTEST_OMIT so that it can be used to exclude test files in other than the main test directory. (check-in: b050976079 user: dan tags: trunk)
2020-08-12
16:19
Improvement on the previous fix. (check-in: f6cffa2d50 user: drh tags: trunk)
15:39
Fix an assertion() fault in ALTER TABLE found by OSSFuzz. Test case in TH3. (check-in: 41de742c57 user: drh tags: trunk)
2020-08-11
21:53
Fix harmless USAN warnings from gcc9. (check-in: 72c4c69fea user: drh tags: trunk)
18:17
New test cases for the use of the ieee754 and decimal extensions in the CLI. (check-in: bc1590f32f user: drh tags: trunk)
18:00
Modify a test for corruption within the wal checkpoint code to account for the pending-byte page. And for the fact that test configurations might move the pending-byte page. (check-in: 7dfb74c37e user: dan tags: trunk)
17:20
Minor comment fixes. No changes to code. (check-in: 533aeb9008 user: drh tags: trunk)
16:46
Remove an unused #define from sqliteInt.h. (check-in: d5b254f94c user: drh tags: trunk)
14:55
Merge all changes since the 3.32.0 release into the reuse-schema branch. (check-in: b1a77b7ead user: drh tags: reuse-schema)
14:06
Update this branch with latest from begin-concurrent-pnu. (check-in: 3ee73880ed user: dan tags: begin-concurrent-report)
14:01
Do not run tests in concreport.test for non SQLITE_ENABLE_PREUPDATE_HOOK builds. (check-in: e39e7a6fc7 user: dan tags: begin-concurrent-report)
13:22
Merge all the latest changes into the begin-concurrent-pnu-wal2 branch. (check-in: ebefcb8607 user: drh tags: begin-concurrent-pnu-wal2)
11:34
Merge latest trunk changes into this branch. (check-in: 91262e6657 user: dan tags: wal2)
2020-08-10
21:30
Merge recent trunk fixes into the begin-concurrent-pnu branch. (check-in: 2ae78c993e user: drh tags: begin-concurrent-pnu)
21:16
Merge recent trunk enhancements into begin-concurrent. (check-in: ed4c742c4e user: drh tags: begin-concurrent)
21:01
Simplify #ifdefs associated with Parse.eParseMode. Fix an #ifdef error associated with SQLITE_OMIT_AUTOVACUUM. (check-in: 5bbd4bddd3 user: drh tags: trunk)
19:35
Fix a problem causing test failures in corruptL.test for some permutations. (check-in: 680bdc6524 user: dan tags: trunk)
19:30
Fix a problem building fts3 separately from the amalgamation. (check-in: 2a167cfbb2 user: dan tags: trunk)
14:34
Fix a shell tool build error caused by some combinations of options. (check-in: 33cd5341ac user: dan tags: trunk)
14:18
Fix harmless compiler warnings that surface in newer versions of GCC. (check-in: 9d670a3183 user: drh tags: trunk)
11:21
Fix another test script problem in walvfs.test. (check-in: 1b89d3931e user: dan tags: trunk)
10:43
Fix minor test script problems. (check-in: 5d54cd44d0 user: dan tags: trunk)
2020-08-09
17:58
Fix a harmless compiler warning. (check-in: 6f91769fdb user: drh tags: trunk)
2020-08-08
20:15
Fix the check-in at [41474548ef3f7454] so that it computes the pointer in time for error checking at the end of the routine in the case of a non-OOM error. (check-in: 13d2fed760 user: drh tags: trunk)
20:11
Fix test script busy2.test so that it works with the inmemory-journal permutation. (check-in: b412d1d175 user: dan tags: trunk)
20:03
Changes to busy2.test, corruptL.test and fkey5.test so that new test cases pass with all test permutations. (check-in: d62d1711e2 user: dan tags: trunk)
19:52
Fix a test script problem causing an error for SQLITE_ENABLE_OVERSIZE_CELL_CHECK builds in corruptL.test. (check-in: a85520e007 user: dan tags: trunk)
17:55
Move a pointer computation until after OOM checks to avoid a nuisance USAN warning. (check-in: 41474548ef user: drh tags: trunk)
17:02
Change the name of sqlite3SelectTrace to sqlite3_unsupported_selecttrace. (check-in: 5ecd03a27b user: dan tags: trunk)
15:40
Update requirement marks due to wording improvements in the documentation. (check-in: bf875a1c7f user: drh tags: trunk)
00:44
Reorder declarations in the decimal extension for C89. (check-in: eface2da2c user: drh tags: trunk)
2020-08-07
19:52
Do the oversize-WAL corruption test before the size hint is issued. (check-in: fdc5fb902d user: drh tags: trunk)
18:52
Fix a file-descriptor leak in test script corruptL.test. (check-in: ec2c340c39 user: dan tags: trunk)
16:28
Return an SQLITE_CORRUPT error if the final expected size of the database when checkpointing is not reasonable - where reasonable is defined (basically) as the sum of the sizes of the database and wal files. (check-in: e2799563c8 user: dan tags: trunk)
14:47
Add the --checkpoint option to speedtest1. (check-in: 4cffa9bb44 user: drh tags: trunk)
14:22
Fix compilation issues with MSVC. (check-in: c5a7e6d2c2 user: drh tags: trunk)
2020-08-06
16:45
Fix the columnar output modes in the CLI so that they work with parameters. See https://sqlite.org/forum/forumpost/17ba6aac24 for details of the problem fixed. (check-in: d573aa9b12 user: drh tags: trunk)
2020-08-04
16:11
Fix compilation issues with MSVC. (Closed-Leaf check-in: af07d8458a user: mistachkin tags: msvcWarn)
2020-07-31
23:34
Back out a NEVER() that turns out to be reachable. (check-in: 8cf342d4e5 user: drh tags: trunk)
20:56
Improved non-locking PRNG. (check-in: eb7a9c04bd user: drh tags: begin-concurrent)
17:08
Merge latest wal2 changes into this branch. (check-in: ebd39665e5 user: dan tags: begin-concurrent-pnu-wal2)
16:01
Merge latest trunk changes into this branch. (check-in: 0c0d0a77bc user: dan tags: wal2)
02:07
Remove an ALWAYS() that turns out to be reachable. (check-in: 12bb75d9ed user: drh tags: trunk)
2020-07-30
23:47
Test for schema corruption is reachable after all. (check-in: 2032236cce user: drh tags: trunk)
22:33
Provide an alternative "guaranteed-safe" method for overwriting the WAL index on recovery, in case some platform is found for which memcpy() cannot do this safely. (check-in: 168cccbabb user: drh tags: trunk)
19:56
Merge begin-concurrent-pnu changes into this branch. (check-in: fd01e78827 user: dan tags: begin-concurrent-report)
19:37
Merge latest trunk change into this branch. (check-in: 2b3241cf67 user: dan tags: begin-concurrent-pnu)
19:19
Merge latest trunk changes into this branch. (check-in: e8a6651539 user: dan tags: begin-concurrent)
17:37
Fix compiler warnings in MSVC. (check-in: 96e3dba2ed user: drh tags: trunk)
17:29
Allow for page numbers as large as 4294967294 (0xfffffffe) which means database files as large as 281 TB. (check-in: 166e82dd20 user: drh tags: trunk)
17:14
Fix unreachable branches. (Closed-Leaf check-in: 905752da98 user: drh tags: larger-databases)
2020-07-29
16:18
Dozens and dozens of typo fixes in comments. This change adds no value to the end product and is disruptive, so it is questionable whether or not it will ever land on trunk. (Leaf check-in: a80ae2c98b user: drh tags: typos)
12:23
Fix signed/unsigned compiler warnings. (check-in: 1d69eee8b0 user: drh tags: larger-databases)
2020-07-28
20:32
Earlier detection of out-of-range page numbers in the btree layer. (check-in: 805bb67a82 user: drh tags: larger-databases)
17:51
Merge enhancements from trunk. (check-in: 969c25bb14 user: drh tags: larger-databases)
17:29
If a writer crashes in WAL mode and leave the SHM file in an inconsistent state, subsequent transactions are now able to recover the SHM file even if there are active read transactions. (check-in: ee8a108058 user: drh tags: trunk)
17:17
Add an sqlite3FaultSim() to make an OOM case more accessible and remove the ALWAYS() on the conditional that is false when the OOM actually occurs. (Closed-Leaf check-in: 2a251af84f user: drh tags: unlocked-recovery)
2020-07-27
20:16
On recovery, always overwrite the old with the new, even if they are the same. Add ALWAYS() macros on branches currently thought to be unreachable, pending additional testing. (check-in: 7052cf1d53 user: drh tags: unlocked-recovery)
15:05
Fix a couple of test scripts to match the new wal recovery behaviour on this branch. (check-in: 3af61e8353 user: dan tags: unlocked-recovery)
15:01
Improved error reporting if walLockExclusive() fails. (check-in: cf962d213a user: drh tags: unlocked-recovery)
2020-07-25
20:16
When trying to read the index header, accept either of the two headers that have a valid checksum after 15 attempts to get exactly matching headers fail. (Closed-Leaf check-in: 3549faefea user: drh tags: more-aggressive-wal-recovery)
20:16
Allow a wal mode recovery to proceed even if there are readers. (check-in: 74374aebf9 user: dan tags: unlocked-recovery)
2020-07-24
13:49
Merge recent changes from trunk. (check-in: 22e8e6901a user: drh tags: larger-databases)
11:01
Remove a surplus space from a comment (check-in: 73fecc688a user: drh tags: trunk)
09:17
Fix other potentiall pointer aliasing problems associated with subclassing of the sqlite3_file object for various VFS implementations. (check-in: 270ac1a0f2 user: drh tags: trunk)
09:14
Fix pointer aliasing problem in the in-memory journal code. Ref: forum post d44eb2fc44 (check-in: 892e9191dc user: drh tags: trunk)
2020-07-23
20:37
Turns out this is an aliasing bug in SQLite, not a GCC bug. Was: Work-around for what appears to be another GCC bug - this one for GCC 8.3.0 on ARM. See the SQLite forum post for discussion. (Closed-Leaf check-in: 40c44d3810 user: drh tags: mistake)
18:03
Add the OMIT_ZLIB compile-time option to sessionfuzz.c. (Originally checked into the wrong branch.) (check-in: 6019bf8a2d user: drh tags: trunk)
18:01
Add the OMIT_ZLIB compile-time option to sessionfuzz.c. (Closed-Leaf check-in: 0785e3146e user: drh tags: wrong-branch)
15:23
Fix a typo in an error message. (check-in: 849b03d8de user: drh tags: larger-databases)
14:27
Merge fixes from trunk. (check-in: dd39418ee4 user: drh tags: larger-databases)
14:12
An ORDER BY clause can slip into an SRT_Upfrom query via the query flattener, even without the SQLITE_ENABLE_UPDATE_DELETE_LIMIT compile-time option. So always enable the code to deal with that case. (check-in: 6a3111cd06 user: drh tags: trunk)
13:45
Fix another case where a corrupt record could cause an assert() to fail in fts3. (check-in: 28515bbbae user: dan tags: trunk)
09:14
Merge support for partial integrity checks. (check-in: b5443b47af user: drh tags: larger-databases)
00:45
Add the ability to do a PRAGMA integrity_check (or quick_check) on a single table by specifying the table name as the argument. (check-in: 65dd321432 user: drh tags: trunk)
2020-07-22
21:11
Detect out-of-bounds rootpage values in the schema. (check-in: e4a92688fc user: drh tags: larger-databases)
21:05
Disable rootpage bounds checking when the SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS setting is off, to facilitate reaching obscure error states during testing. (Closed-Leaf check-in: d7dd4fc464 user: drh tags: rootpage-bounds-check)
20:12
Improvements to rootpage bounds checking during schema parse. (check-in: 75599a9731 user: drh tags: rootpage-bounds-check)
18:03
When parsing the schema, detect out-of-bounds rootpage values and throw an error. (check-in: 6c3a2727dc user: drh tags: rootpage-bounds-check)
17:12
All TCL tests now passing. (check-in: 4c5f3c6cac user: drh tags: larger-databases)
13:56
Most test cases now passing. (check-in: 92e2ab3893 user: drh tags: larger-databases)
13:38
Continuing work toward supporting unsigned 32-bit page numbers. (check-in: 9ce1710aad user: drh tags: larger-databases)
11:42
Enhance showdb to be 32-bit clean. (check-in: a8200327d4 user: drh tags: larger-databases)
10:36
Merge fixes from trunk. (check-in: d2aac00120 user: drh tags: larger-databases)
2020-07-21
18:36
Work-around for GCC bug 96270. (check-in: 9679c0c611 user: drh tags: trunk)
18:25
Add the sqlite3Int64ToText() routine and use it to convert integers to text, as it is much faster than the generic text formatter. (check-in: 14eed318aa user: drh tags: trunk)
2020-07-20
23:33
Fix the ".read" command so that it gives an error when its argument is a directory. See forum message 4c53c434ca. (check-in: 6d258c3c7e user: drh tags: trunk)
18:07
Fix a corner-case error in the new UPDATE FROM logic helpfully discovered by OSSFuzz. (check-in: 5cc200939d user: drh tags: trunk)
14:54
Add the "enlargedb" utility program used to construct very large database files for testing. (check-in: 66858d8750 user: drh tags: larger-databases)
13:11
Faster column name lookup in the columnIndex() routine using hashing. (check-in: de2a908124 user: drh tags: trunk)
12:47
Initial changes to allow database up to 281TB in size. (check-in: 9cb7da9bdb user: drh tags: larger-databases)
2020-07-18
18:59
Fix test case result on a DELETE with an INDEXED BY clause due to improvements in the query planner at [d901837fea1ed54d] (check-in: 020dbfa2ae user: drh tags: trunk)
18:44
More harmless compiler warning fixes. (check-in: 4c0d208c45 user: drh tags: trunk)
18:03
Fix a harmless compiler warning. (check-in: 5a0b0c6e11 user: drh tags: trunk)
15:52
Add UPDATE FROM compatible with postgresql. (check-in: 88baf1eb07 user: drh tags: trunk)
2020-07-17
22:20
Add ALWAYS() around a conditional that is always true. (Closed-Leaf check-in: 270e17bba1 user: drh tags: update-from)
18:07
Use #ifdef to omit code that is only reachable when the SQLITE_ENABLE_UPDATE_DELETE_LIMIT compile-time option is used. (check-in: 587ded6035 user: drh tags: update-from)
16:31
Make it an error to repeat the target object/alias of an UPDATE statement in its FROM clause. (check-in: d90a37e930 user: dan tags: update-from)
15:34
Add a couple of "#ifdef SQLITE_ENABLE_UPDATE_DELETE_LIMIT" blocks missing from new code on this branch. (check-in: cc471df04a user: dan tags: update-from)
11:07
Bring this branch up to date with begin-concurrent-pnu. (check-in: 12a909fb3d user: dan tags: begin-concurrent-report)
2020-07-16
20:57
Allow BEGIN CONCURRENT transactions to contain schema modifications. However, this causes them to conflict with all other transactions. (check-in: 2160ede1d1 user: dan tags: begin-concurrent-pnu-wal2)
20:39
Allow BEGIN CONCURRENT transactions to contain schema modifications. However, this causes them to conflict with all other transactions. (check-in: e9393a18cb user: dan tags: begin-concurrent-pnu)
20:24
Allow BEGIN CONCURRENT transactions to contain schema modifications. However, this causes them to conflict with all other transactions. (check-in: 9a4a02304e user: dan tags: begin-concurrent)
18:55
Relax pointless restrictions on allowing tables in the FROM clause from crossing over LEFT JOINs, as long as the table being moved is not the right table of the LEFT JOIN. (check-in: c1ea064948 user: drh tags: trunk)
14:52
Modifications to test code so that the sqlite3MemdebugHastype() assert() statements are enabled for Tcl tests. (check-in: e3c423cb14 user: dan tags: update-from)
14:19
Small performance improvement and size reduction in sqlite3DbStrNDup(). (check-in: 35cd87063d user: drh tags: trunk)
10:48
Add OOM test for UPDATE...FROM statements inside triggers. (check-in: 917a479b0d user: dan tags: update-from)
02:36
Fix a double-free of the FROM clause of an UPDATE inside of triggers. (check-in: 706c8da2f6 user: drh tags: update-from)
00:45
Separate VdbeCoverage() macro for different jumps. (check-in: da593e57df user: drh tags: update-from)
2020-07-15
21:53
Fix a problem in UPDATE FROM in which it tries to free using sqlite3_free() instead of sqlite3DbFree(). (check-in: 8ca8752652 user: drh tags: update-from)
20:01
This was originally a merge to trunk. But after further testing, maybe it is better to run it a little longer on a branch. (check-in: 7d7d5ecbd7 user: dan tags: update-from)
19:38
Add tests for UPDATE...FROM and foreign keys. (check-in: 6c3668f9ed user: dan tags: update-from)
18:30
Fix problems that could occur if a table with the same name as the table being updated appeared in the FROM clause of an UPDATE statement. (check-in: 13224cbd75 user: dan tags: update-from)
15:32
Fix a problem in SQLITE_ENABLE_HIDDEN_COLUMN builds occuring when an UPDATE...FROM fired an INSTEAD OF trigger. (check-in: 5176cb7a6a user: dan tags: update-from)
11:00
Update this branch with changes from trunk. (check-in: 53b8b507a1 user: dan tags: update-from)
02:15
New test cases for decimal and ieee754. (check-in: 73d62f82f9 user: drh tags: trunk)
2020-07-14
23:58
Improvements to the min()/max() optimization so that it is able to use indexes where terms are constrained by IN operators. (check-in: b8ba2f17f9 user: drh tags: trunk)
22:20
Now appears to work. All legacy tests pass. Need to add new tests, however. (Closed-Leaf check-in: 81e6450980 user: drh tags: minmax-opt-exp)
19:51
Support UPDATE...FROM statements in trigger programs. (check-in: 4f6d8d0ebf user: dan tags: update-from)
15:30
Fix an obsolete header comment on the sqlite3WhereIsOrdered() routine. (check-in: 5041f6a1c4 user: drh tags: trunk)
13:02
Merge fixes from trunk. (check-in: 2af372f59e user: drh tags: minmax-opt-exp)
12:40
Early detection of freelist size corruption in incremental vacuum. (check-in: f25a56c26e user: drh tags: trunk)
02:03
Fix a crash. Not all tests pass, but tests do at least run to completion now. (check-in: b5d38e28c6 user: drh tags: minmax-opt-exp)
01:51
Fix an obsolete assert(). (check-in: 221e021077 user: drh tags: minmax-opt-exp)
01:03
Merge latest changes from trunk. This branch still does not work. (check-in: 6144387238 user: drh tags: minmax-opt-exp)
2020-07-13
20:43
Add test for LEFT JOIN in UPDATE...FROM statement. (check-in: 4f3dff045a user: dan tags: update-from)
20:10
Add test cases and fixes for UPDATE...FROM statements that modify primary key columns. (check-in: 47c87af3e5 user: dan tags: update-from)
18:04
Merge latest trunk changes with this branch. (check-in: 5ee3c27e20 user: dan tags: update-from)
15:35
Add back the ALWAYS() macro that was removed by [f7a74f89dbd58b47] as the condition is no longer reachable due to the previous check-in. (check-in: 9cb03beae4 user: drh tags: trunk)
15:20
Fix a problem causing queries containing window functions to ignore collation sequences under some circumstances. (check-in: e6c2192ef8 user: dan tags: trunk)
11:06
Fix an integer overflow bug in fts5 triggered by a corrupt record. (check-in: 49da8bdce1 user: dan tags: trunk)
2020-07-11
16:45
Add second test case for the improvement in [30735432]. (check-in: 1bd18ca35b user: dan tags: trunk)
16:42
Improved detection of a corrupt database schema. Fix for a problem discovered by dbsqlfuzz. (check-in: 30735432bc user: drh tags: trunk)
2020-07-10
21:43
Remove unnecessary code from the window functions implementation. (check-in: 1e87da9c93 user: drh tags: trunk)
19:09
An attempt to get the Min/Max optimization working with IN constraints. Not currently working. (check-in: 4a64c16fb7 user: drh tags: minmax-opt-exp)
11:12
Fix a broken assert() in fts3 that could fail when handling corrupt records. (check-in: 5124732370 user: dan tags: trunk)
2020-07-09
21:29
Fix handling of another corrupt database case in fts3. (check-in: ccff8cb826 user: dan tags: trunk)
14:05
Fix a comment typo. No changes to code. (check-in: 610ee8d5dc user: drh tags: trunk)
2020-07-07
19:24
Remove bashism from configure script. (check-in: 138beebb2a user: dan tags: trunk)
2020-07-06
12:13
Increase the resolution of the vdbe opcode counters to 64 bits, as apparently some users run single prepared statements that go for longer than 4 billion instructions. See forum post "Possible freeze in the progress loop" (check-in: 612eb590ea user: drh tags: trunk)
2020-07-04
20:29
Fix the table_info pragma so that it always checks the schema version and reprepares, even if it is a no-op. (check-in: 6da77973ab user: drh tags: trunk)
2020-07-03
21:24
Fix the line-number of error messages coming out of the ".import" command when the --skip option is used. (check-in: e0a8b11dfd user: drh tags: trunk)
21:18
Fix a compiler warning about an unused procedure in the parser. (check-in: b27bb4fe38 user: drh tags: trunk)
18:07
Update the lemon documentation to match recent enhancements. (check-in: ca7630a577 user: drh tags: trunk)
17:24
If the amalgamation is built using OPT_FEATURE_FLAGS = -DSQLITE_UDL_CAPABLE_PARSER then it can be compiled with or without the -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT option and it works either way. (check-in: 1f96a29dd8 user: drh tags: trunk)
15:41
In lemon, add "%if" and "%else" and allow boolean expressions as the argument to "%if", "%ifdef", and "%ifndef". (check-in: 951d22b72f user: drh tags: trunk)
12:32
Fix the pragma_foreign_key_check virtual table so that it accepts arguments. (check-in: 07f849dee3 user: drh tags: trunk)
12:15
Fix a problem with "PRAGMA foreign_key_check" where if a table in one schema appears to have foreign key constraints against another table in a different schema, the pragma will try to check the constraints even though they do not apply because they are in different schemas. (check-in: 81bc4b65ae user: drh tags: trunk)
2020-07-02
17:05
Minor simplification to the 32-bit varint decoder. (check-in: 6ffd17b668 user: drh tags: trunk)
2020-07-01
16:19
Ensure that the "PRAGMA schema_version" command causes the schema to be reparsed and reloaded. (check-in: 27d4a9a7b5 user: drh tags: trunk)
14:07
Fix a problem with VM code generated for some aggregate SELECT statements that feature min()/max() aggregates both with and without FILTER clauses. (check-in: 2094da753f user: dan tags: trunk)
2020-06-30
18:21
Add a test to ensure that "PRAGMA wal_checkpoint = FULL" invokes the busy-handler to wait on read-locks. (check-in: f068fb1162 user: dan tags: trunk)
15:32
Avoid a potential buffer overread in fts3 when processing corrupt records. (check-in: 4d0cfb1236 user: dan tags: trunk)
2020-06-29
20:26
Fix generated columns so that they play well with upsert. See the forum post by "iffycan" for details. (check-in: fa9d93cf32 user: drh tags: trunk)
20:20
Change the magic number used to identify the "excluded" pseudo-table in an UPSERT statement into a #define constant. (check-in: e96c2ac9ab user: drh tags: trunk)
20:09
Document the dual-use of the P5 operand to the OP_MakeRecord opcode. (check-in: a73f80f22a user: drh tags: trunk)
19:58
Passive checkpoints do not use the busy-handler. So, in order to minimize visible changes for legacy applications, do not enable blocking locks for passive checkpoints. (Closed-Leaf check-in: 9c2b4bdd03 user: dan tags: wal-setlk-changes)
18:30
Change the name of IntegrityCk.mallocFailed to IntegrityCk.bOomFault to avoid confusion with the sqlite3 object field with the same name. (check-in: 87c7d96258 user: drh tags: trunk)
18:22
Change things so that if SQLITE_ENABLE_SETLK_TIMEOUT is defined as 2 instead of 1, all blocking locks are taken for a single millisecond and the default busy-handler invoked as normal. (check-in: ac381e6eb3 user: dan tags: wal-setlk-changes)
17:52
Add test script to verify busy-timeouts are working for SQLITE_ENABLE_SETLK_TIMEOUT builds. (check-in: ada43e7c49 user: dan tags: trunk)
16:30
Do not run resetAccumulator() after a malloc failure. (check-in: 1b426603f0 user: drh tags: trunk)
13:33
Fix another fts3 problem with processing corrupt records. (check-in: 6e0ffa2053 user: dan tags: trunk)
13:12
Small performance improvement in the sqlite3_step() interface. (check-in: 61400ef9f1 user: drh tags: trunk)
2020-06-26
20:41
Fix a problem that could cause an infinite loop in the fts3 'merge' command. (check-in: be545f85a6 user: dan tags: trunk)
17:56
When computing the verification hash in speedtest1, do not include the value of floating point results (which can very in trailing bits depending on platform) but merely hash the fact that a floating point value was received. (check-in: e12225d59c user: drh tags: trunk)
16:17
Improvements to speedtest1.c for more consistent verification hashes. (check-in: d34b8ff5f8 user: drh tags: trunk)
15:42
Improvements to speedtest1. Added the --memdb and --output options. The --verify option now outputs a hash of SQL outputs. The speed-check.sh script disables the hashing feature with --legacy and adds the --verify option. (check-in: f3455cecf2 user: drh tags: trunk)
15:32
Add the ieee754_to_blob() and ieee754_from_blob() functions. Fix the handling of subnormal forms in the two-argument version of ieee754(). (check-in: c78cbf2e86 user: drh tags: trunk)
14:05
Add --verify to speed-check.sh and add --memdb and --output to speedtest1.c. Other improvements to speedtest1.c. (Closed-Leaf check-in: 89a11120ab user: drh tags: speedtest-hash)
04:34
Fix a possible null pointer deref following OOM. Discovered by dbsqlfuzz. (check-in: cc888878ea user: drh tags: trunk)
2020-06-25
23:21
Update the showlocks utility program so that it functions on files with a huge number of locks without overflowing the stack. (check-in: adb7484f93 user: drh tags: trunk)
20:28
Enhance the --verify option to speedtest1.c so that it computes and displays a hash of the result from all SQL queries, for verification purposes. (check-in: 60d1e46c8c user: drh tags: speedtest-hash)
2020-06-24
15:06
Add the ieee754_mantissa() and ieee754_exponent() functions to the iee754 extension. Build the ieee754 extension into the CLI. (check-in: db2f0836b6 user: drh tags: trunk)
13:52
Fix the decoding of subnormal values in the ieee754 extension. (check-in: 838817b680 user: drh tags: trunk)
13:14
In the one-argument version of the ieee754() extension function, if the argument is an 8-byte blob, interpret that blob as a binary64 floating point and decode it. (check-in: 4199c1e8aa user: drh tags: trunk)
12:29
Add the decimal extension. It is built into the shell, but is an optional add-on for the library. It is not included in the amalgamation. (check-in: 5391687bf8 user: drh tags: trunk)
11:45
Fix the ".selecttrace" command in the CLI (only available when compiled with the non-standard -DSQLITE_ENABLE_SELECTTRACE option) so that it does not segfault if invoked without any arguments. (check-in: d45c27a3e5 user: drh tags: trunk)
2020-06-23
20:03
Enhance the --testset option on speedtest1 so that it can accept a comma-separated list of test modules to run in order. (check-in: 780e8aaa23 user: drh tags: trunk)
17:57
Try to remove end-of-line whitespace when building the amalgamation. (check-in: be3e7814e4 user: drh tags: trunk)
15:29
Fix a harmless compiler warning. (Closed-Leaf check-in: e1416c8b06 user: drh tags: decimal)
14:44
Avoid unnecessary normalization in decimal_sum(). Trim excess trailing zeros off the result of decimal_mul(). (check-in: 0294ce071c user: drh tags: decimal)
2020-06-22
21:25
Add the decimal_mul() function. (check-in: 72eee04b67 user: drh tags: decimal)
19:12
An extension for doing decimal arithmetic on strings. (check-in: 4c3b85607f user: drh tags: decimal)
16:02
Fix problems with handling return value of mmap() in lsm_unix.c (mmap() returns MAP_FAILED on error, not NULL). (check-in: da06168c09 user: dan tags: trunk)
2020-06-20
03:43
Work around a bug (an incorrect warning) in Clang-8. (check-in: 067291143a user: drh tags: trunk)
2020-06-19
15:35
Reverse unintentional spacing change in the previous check-in. (check-in: c7b2ee1edb user: mistachkin tags: trunk)
15:33
Include 'sqlite3rc.h' in the amalgamation archive targets. (check-in: 3df579ca32 user: mistachkin tags: trunk)
15:24
Extend the refactoring into extensions. Clean up stray newlines. (check-in: 7a876209a6 user: drh tags: trunk)
13:33
Further refactoring of the schema table name. (check-in: 9536fa0ae0 user: drh tags: trunk)
11:34
Refactoring various names. No changes in the resulting machine code. (check-in: 7bb08b1bfc user: drh tags: trunk)
2020-06-18
14:30
Merge the 3.32.3 release into the reuse-schema branch. (Leaf check-in: c2d3676339 user: drh tags: reuse-schema-3.32)
14:00
Version 3.32.3 (Leaf check-in: 7ebdfa80be user: drh tags: release, branch-3.32, version-3.32.3)
13:16
Fix an assert() that could fail when operating on a database with a corrupt schema. (check-in: b69b9c0628 user: drh tags: branch-3.32)
2020-06-17
20:29
Fix an assert() that could fail when operating on a database with a corrupt schema. (check-in: 4a340c9bc7 user: dan tags: trunk)
17:27
Fix an assert() in fts3 that could fail when processing a corrupt record. (check-in: ea71fb7fab user: drh tags: branch-3.32)
14:54
Fix an assert() in fts3 that could fail when processing a corrupt record. (check-in: 4adc0a1b0d user: dan tags: trunk)
14:14
Fix a problem with retrying constraint failures within sqlite3changeset_apply() calls with the SQLITE_CHANGESET_INVERT flag is set. (check-in: d73e857b83 user: dan tags: trunk)
12:37
Merge miscellaneous fixes from trunk into the 3.32 branch. (check-in: d55b8e7993 user: drh tags: branch-3.32)
2020-06-16
19:51
Add new file doc/wal-lock.md, containing notes on wal-mode blocking locks. (check-in: c6b1d3a385 user: dan tags: trunk)
17:34
In the CLI, only interrupt tabular outputs at the end of a line. And print "Interrupt" on a line after stopping the output. (check-in: f3bd689336 user: drh tags: trunk)
15:19
Merge 3.32.2 changes into the reuse-schema branch. (check-in: dc081336f0 user: drh tags: reuse-schema-3.32)
14:12
Add a test case covering the previous check-in to the test/fuzzdata8.db file. (check-in: 95379da0e1 user: drh tags: trunk)
14:06
Fix an assert() in fts3 that can fail when processing a corrupt record. (check-in: a58a6d6fb2 user: dan tags: trunk)
2020-06-15
20:27
Provide "sqlite_schema" as an alternative name to the table that holds the database schema. (check-in: 61782a7ae3 user: drh tags: trunk)
20:05
Fix the CLI so that interrupts work in columnar output mode. (check-in: 9472f1fe58 user: drh tags: trunk)
14:38
Fix the --enable-update-limit option to ./configure. (check-in: d31fd57ea5 user: drh tags: trunk)
13:51
Fix a defect in the query-flattener optimization identified by ticket [8f157e8010b22af0]. (check-in: 10fa79d00f user: drh tags: trunk)
2020-06-14
13:40
Check-in [1d4f86201dab9a22] changed a testcase() to an assert() because we didn't know how to reach that condition any more. But YongHeng's fuzzer found a way. So now we change it back. Ticket [9fb26d37cefaba40]. (check-in: 90b1169d1b user: drh tags: trunk)
2020-06-13
21:24
Avoid deleting expression nodes in the flattener code, as they may be referenced by AggInfo objects further up the stack. Ticket [e367f31901ea8700] (check-in: cc1fffdedd user: dan tags: trunk)
03:18
Identifiers "TRUE" and "FALSE" cannot take on their boolean constant values if they are operands of the "." operator. (check-in: ad738286e2 user: drh tags: trunk)
2020-06-12
15:45
New test case added to test/fuzzdata8.db. (check-in: 14a5cbddc8 user: drh tags: trunk)
15:17
Fix a buffer overread in fts3 that could occur when decoding a corrupted record. (check-in: 9a4a40c45f user: dan tags: trunk)
00:31
Remove a NEVER() that turns out to be reachable. (check-in: 44e573ecd5 user: drh tags: trunk)
2020-06-11
16:04
Add a new assert() to the SELECT processing. (check-in: 98cea4a32b user: drh tags: trunk)
15:53
Avoid rewriting compound SELECT statements that use a different collation sequence for ORDER BY and record processing a second time if they contain window functions. Fix for [b706351c]. (check-in: 32a88bdd4b user: dan tags: trunk)
00:57
Provide the ability to use the SELECTTRACE() debugging macro outside of the select.c source file. Use this to add a new SELECTTRACE() entry in window.c for improved tracing of window-function parse-tree rewriting. (check-in: 30c6d895b5 user: drh tags: trunk)
2020-06-10
14:30
Make sure the bbox object is fully initialized in geopoly, even if reading a corrupted database. (check-in: fd5abb1a7b user: drh tags: trunk)
11:18
Ensure that aggregate functions that (a) are part of SELECT statements with no FROM clause and (b) have one or more scalar sub-selects as arguments are assigned to the correct aggregate context. Fix for ticket [7c6d876f84e6e7e2] (check-in: dafd2466a1 user: dan tags: branch-3.32)
11:01
Ensure that the "push-down" optimization does not push constraints down into compound queries if any of the component queries uses window functions. (check-in: d31850fe50 user: dan tags: branch-3.32)
11:01
Disable AggInfo consistency checks when unwinding after an OOM. (check-in: 7e2833fb2b user: dan tags: branch-3.32)
10:58
Ensure that the "push-down" optimization does not push constraints down into compound queries if any of the component queries uses window functions. (check-in: 094dcfe779 user: dan tags: trunk)
03:07
Disable AggInfo consistency checks when unwinding after an OOM. (check-in: 65179814aa user: drh tags: trunk)
2020-06-09
23:50
Ensure that aggregate functions that (a) are part of SELECT statements with no FROM clause and (b) have one or more scalar sub-selects as arguments are assigned to the correct aggregate context. Fix for ticket [7c6d876f84e6e7e2] (check-in: c29a9e484e user: drh tags: trunk)
22:11
Mark an always-true conditional with ALWAYS(). (Closed-Leaf check-in: 35a2368417 user: drh tags: agg-context-fix)
17:45
Ensure that aggregate functions that (a) are part of SELECT statements with no FROM clause and (b) have one or more scalar sub-selects as arguments are assigned to the correct aggregate context. (check-in: 16a41fa8c4 user: dan tags: agg-context-fix)
14:56
Crazy experimental change to refcount the AggInfo objects. (Leaf check-in: 9a4cc1dbf2 user: drh tags: refcount-agginfo)
13:53
Modify a test file to avoid causing Tcl to allocate too much memory. (check-in: 232431f32e user: dan tags: trunk)
13:38
Give the expression pointer fields of AggInfo distinctive names in order to simplify tracking of all their uses. (check-in: a53bdd311c user: drh tags: trunk)
13:17
Persist AggInfo expressions before deleting them when omitting the LIMIT clause in a subquery. One possible fix for ticket [7c6d876f84e6e7e2]. (Leaf check-in: 04867cba97 user: drh tags: tkt-7c6d876f84e6e7e2)
11:59
Improved tree-view debugging output for aggregate functions. (check-in: b5711b4eea user: drh tags: trunk)
2020-06-08
14:43
Fix a case where a corrupted fts3 record could cause an assert() failure, or spurious SQLITE_NOMEM error in builds with assert() disabled. (check-in: d48af4d2cf user: dan tags: trunk)
12:51
Increase the version number to 3.32.3. (check-in: a376ec6942 user: drh tags: branch-3.32)
12:49
When an Expr object is changed and that Expr is referenced by an AggInfo, then also update the AggInfo. Also, persist all AggInfo objects until the Parse object is destroyed. This is a new fix for ticket [c8d3b9f0a750a529]. (check-in: 44a58d6cb1 user: drh tags: branch-3.32)
11:34
When an Expr object is changed and that Expr is referenced by an AggInfo, then also update the AggInfo. Also, persist all AggInfo objects until the Parse object is destroyed. This is a new fix for ticket [c8d3b9f0a750a529] that avoids the follow-on problems identified by tickets [0899cf62f597d7e7], [1f6f353b684fc708], [e5504e987e419fb0], and [f7d890858f361402]. (check-in: 6e6b3729e0 user: drh tags: trunk)
2020-06-07
22:44
Fix minor OOM problems. (Closed-Leaf check-in: 8b23d80271 user: drh tags: persist-agginfo)
20:18
AggInfo objects might be referenced even after the sqlite3Select() function that created them has exited. So AggInfo cannot be a stack variable. And it must not be freed until the Parse object is destroyed. (check-in: 3c840b4df3 user: drh tags: persist-agginfo)
17:33
Alternative fix to ticket [c8d3b9f0a750a529]: Prior to deleting or modifying an Expr not that is referenced by an AggInfo, modify the AggInfo to get its own copy of the original Expr. (check-in: 7682d8a768 user: drh tags: persist-agginfo)
14:42
New debugging output. (Leaf check-in: c0d9dfe507 user: drh tags: early-winfunc-rewrite-dev)
12:26
Improvements to the treeview debugging display. (check-in: a7c5c73992 user: drh tags: early-winfunc-rewrite-dev)
00:51
Extra steps to ensure that queries that involve both window functions and aggregate functions are processed correctly by sqlite3WindowRewrite(). Fix for ticket [e5504e987e419fb0]. (Leaf check-in: 765bbcce1d user: drh tags: branch-3.32-early-winfunc-rewrite)
00:43
Extra steps to ensure that queries that involve both window functions and aggregate functions are processed correctly by sqlite3WindowRewrite(). Fix for ticket [e5504e987e419fb0]. (check-in: a6c2147cc6 user: drh tags: early-winfunc-rewrite-dev)
2020-06-06
20:48
Merge multiple changes from trunk to address concerns with window-function parse-tree rewriting. (check-in: 05418b2a4a user: drh tags: branch-3.32-early-winfunc-rewrite)
19:54
Fix a possible ASAN violation inside of debug-only code following an OOM. (check-in: 0e021887a1 user: drh tags: early-winfunc-rewrite-dev)
19:35
When determining if the subquery inserted by the window-function rewriter is an aggregate query, aggregate functions that are in parameters to another window function do not count. Fix for ticket [1f6f353b684fc708] (check-in: 8583c3483c user: drh tags: early-winfunc-rewrite-dev)
18:45
Clearly distinguish between window functions and scalar functions in the debugging TreeView output. (check-in: 15babdcb91 user: drh tags: early-winfunc-rewrite-dev)
18:34
In the query flattener, defer deleting content until after associated Parse object is destroyed, in case some of the deleted expressions have been collected for use by sAggInfo. (check-in: 03b32be44d user: drh tags: early-winfunc-rewrite-dev)
14:58
Remove an incorrect assert() added earlier today. (check-in: 3926ff1725 user: drh tags: early-winfunc-rewrite-dev)
14:44
When rewriting the parse-tree for window functions, ensure that the inserted subqueries have an accurate SF_Aggregate bit set. This change also coincidentally fixes ticket [0899cf62f597d7e7], even thought that was not the issue we were working on at the time. (check-in: 2cddb24e91 user: drh tags: early-winfunc-rewrite-dev)
14:29
Fix an assert() failure that could occur if an ORDER BY expression attached to a compound query contains a subquery that (a) is itself a compound query, (b) uses window functions and (c) has an ORDER BY clause that includes another sub-query. (check-in: c96914ea02 user: dan tags: early-winfunc-rewrite-dev)
13:29
Avoid no-op calls to sqlite3SelectPrep() when processing sqlite3Select() for subqueries. This simplifies the ".selecttrace" debugging output. (check-in: 3de19ee22a user: drh tags: early-winfunc-rewrite-dev)
2020-06-05
21:36
Improved tracing of window function parse tree rewrites. (check-in: 7e8060cf96 user: drh tags: early-winfunc-rewrite-dev)
18:17
Assign a fake name to the ephemeral subquery tables that are created when making parse-tree changes for window functions. (check-in: c4072267dc user: drh tags: early-winfunc-rewrite-dev)
15:56
Do parse-tree transformations required for window functions prior to running aggregate function analysis. Fix for ticket [c8d3b9f0a750a529]. (check-in: 79eff1d038 user: drh tags: branch-3.32-early-winfunc-rewrite)
15:40
New test case for fuzzdata8.db. (check-in: 2870d11720 user: drh tags: early-winfunc-rewrite-dev)
15:26
Do parse-tree transformations required for window functions prior to running aggregate function analysis. Fix for ticket [c8d3b9f0a750a529]. (check-in: 0b42a2277e user: drh tags: early-winfunc-rewrite-dev)
14:53
Ensure that the "push-down" optimization does not push constraints down into compound queries if any of the component queries uses window functions. (Closed-Leaf check-in: 2011e83213 user: dan tags: early-winfunc-rewrite)
14:25
ALWAYS() and NEVER() macros added due to unreachable branches arising from the previous check-in. (check-in: 13ffedab9b user: drh tags: early-winfunc-rewrite)
14:10
Move the parse tree rewrite for window functions earlier in the process, before sqlite3ExprAnalyzeAggregates() has run. Add new assert()s to verify that aggregate analysis always remains valid until the end of SELECT processing. (check-in: fe702aa08c user: drh tags: early-winfunc-rewrite)
04:01
In the debugging treeview output, change the name of "SELECT-expr" expression nodes to be "subquery-expr", so as to not confuse them with actual SELECT nodes. (check-in: c1c8937a30 user: drh tags: trunk)
00:54
Always use ?...? to indicate optional arguments in the output of ".help" in the CLI. Change ".mode column" so that it automatically activates ".headers on" if headers have not been previously turned on or off. (check-in: 2827c0a186 user: drh tags: trunk)
2020-06-04
18:05
Add support for "box" mode in the CLI: Like "table" except that it uses unicode box-drawing characters instead of ascii-art. (check-in: 6da784c9e1 user: drh tags: trunk)
16:54
Improved display of ".mode table" output for empty result sets. (check-in: 7efabd683b user: drh tags: trunk)
16:34
Use __has_extension(c_atomic) instead of __has_feature(c_atomic) to detect support for atomic load and store operations with clang. (check-in: 362255791f user: dan tags: trunk)
16:07
Use AtomicStore() to set values in the wal-index hash table. (check-in: 1ab30c75f2 user: dan tags: trunk)
12:58
Version 3.32.2 (check-in: ec02243ea6 user: drh tags: release, branch-3.32, version-3.32.2)
02:50
Work around a bug in clang-11.0.0. See forum post 3c2bf8042ec46195 for further info. (check-in: 3c2bf8042e user: drh tags: trunk)
2020-06-03
22:57
Fix for ticket [810dc8038872e212]. (check-in: 9cfefef591 user: drh tags: branch-3.32)
22:47
Version number to 3.32.2 (check-in: 4454b27fc5 user: drh tags: branch-3.32)
19:28
Fix for ticket [810dc8038872e212]. Thank to user "Maxulite" for tracking down the problem! (check-in: 89af93d77f user: drh tags: trunk)
15:59
Simplification to the interrupt handling logic in sqlite3VdbeExec() saves a few bytes of code space. (check-in: 43e0e59bd4 user: drh tags: trunk)
03:00
Improve the query planner so that it is better able to find full index scan plan when there is an INDEXED BY clause. (check-in: d901837fea user: drh tags: trunk)
2020-05-30
15:34
Draw the dashes below the headers in "explain" mode in the CLI. (check-in: c6b7833ac7 user: drh tags: trunk)
00:30
Improved VDBE comments on the ANALYZE code generator. This change also fixes a harmless use of an uninitialized integer variable as an input to the %d format on a VDBE comment. (check-in: 1cb248a3fc user: drh tags: trunk)
2020-05-29
21:06
Enhancements to the incremental build support for MSVC. (check-in: 2e25d915bc user: mistachkin tags: trunk)
20:16
Remove a stray "&" character in the CLI, detected by a clang warning. (check-in: 5865d2f2d0 user: drh tags: trunk)
19:45
Add the "shelltest" target to the MSVC makefile as well. (check-in: 9924c0456b user: drh tags: trunk)
19:39
Fix the ".import" command of the CLI to clean up better after errors. Add the new "shelltest" makefile target on unix platforms. (check-in: 50d4ddf133 user: drh tags: trunk)
19:17
Improvements to help text for the CLI. (check-in: 6a01e4c444 user: drh tags: trunk)
19:03
Fix a memory leak in the CLI when an unknown or unrecognized argument is given to the ".dump" command. (check-in: 71bfbbcc1a user: drh tags: trunk)
16:15
Improvements to columnar output in the CLI. Columns automatically expand to contain the largest row. (check-in: 4e1db8e9a9 user: drh tags: trunk)
14:38
Space to hold the ".width" of columns in the CLI is now obtained from malloc() and hence is not limited in the number of columns supported. (check-in: 445ed5dab2 user: drh tags: trunk)
12:31
Incremental improvements to tabular output modes in the CLI. The "markdown" and "table" modes no have headers turned on by default. (check-in: af28bff91a user: drh tags: trunk)
11:07
Expand upon a comment in os_unix.c. No changes to code. (check-in: 77933dc4db user: dan tags: trunk)
00:21
In the json output mode of the CLI, do correct quoting of escape characters. Also, show BLOBs as JSON strings, possibly with embedded \u0000 bytes. (check-in: 0278147a7d user: drh tags: trunk)
2020-05-28
23:49
Progress toward adding new output modes to the CLI: json, table, and markdown. (check-in: 14f55fafec user: drh tags: trunk)
20:37
Enhance the ".quote" mode in the shell so that it honors .separator. (check-in: b5e33ed537 user: drh tags: trunk)
00:45
When the sqlite_stat1 data is missing for some indexes of a table but is present for the table itself or for other indexes in the same table, then do not let the estimated number of rows in that table get too small, as doing so can deceive the query planner into ignoring a perfectly good index. (check-in: 98d4262018 user: drh tags: trunk)
2020-05-27
12:44
Small performance improvement and size reduction in the expression code generator. (check-in: eeb53e2195 user: drh tags: trunk)
00:02
Change a datatype from i16 to int to appease Converity and help eliminate a false-positive. (check-in: 5b560ec490 user: drh tags: trunk)
2020-05-26
20:33
Fix the cksumvfs extension so that it will not register itself more than once. (check-in: d5cdd57150 user: drh tags: trunk)
20:31
Performance optimization in the transfer of error messages from statements to connections. (check-in: 0e898f4fed user: drh tags: trunk)
11:23
Increase the version number to 3.33.0 to begin the next release cycle. (check-in: 790badb390 user: drh tags: trunk)
11:10
Changes to sqlite3SelectNew() to work around a false-positive warning from GCC-10. The code is very slightly larger and slower as a result. (check-in: 04e1edd8e5 user: drh tags: trunk)
10:54
Innocuous changes to help Coverity avoid false-positives. (check-in: 4ec8a5a203 user: drh tags: trunk)
2020-05-25
18:18
Merge version 3.32.1 into the begin-concurrent-pnu-wal2 branch. (check-in: 0f9464c509 user: drh tags: begin-concurrent-pnu-wal2)
18:09
Merge version 3.32.1 into the wal2 branch. (check-in: 5c18375725 user: drh tags: wal2)
18:03
Merge versoin 3.32.1 into the begin-concurrent-pnu branch. (check-in: e8d79d2bae user: drh tags: begin-concurrent-pnu)
17:27
Merge version 3.32.1 into the begin-concurrent branch. (check-in: 5e08e36067 user: drh tags: begin-concurrent)
16:34
Update the reuse-schema branch to version 3.32.1 (check-in: ecf8dece03 user: drh tags: reuse-schema)
16:19
Version 3.32.1 (check-in: 0c1fcf4711 user: drh tags: trunk, release, version-3.32.1)
15:41
Extra assert() statements in the printf() logic. (check-in: b1b182be2a user: drh tags: trunk)
15:19
Defensive code that tries to prevent a recurrence of problems like the one described in ticket [7a5279a25c57adf1] (check-in: 572105de1d user: drh tags: trunk)
12:49
Fix minor compile issues with optional extensions. (check-in: 3261ee9ec2 user: drh tags: trunk)
12:02
Make sure variable declarations are at start of scope even when SQLITE_ENABLE_SNAPSHOT is used. (check-in: a77ceaf6ba user: drh tags: trunk)
01:31
Attempt to work around a false-positive warning in the CGo compiler. (Closed-Leaf check-in: d4bf60f464 user: drh tags: cgo-warning-workaround)
2020-05-24
12:36
Version number to 3.32.1. (check-in: 56e5063c32 user: drh tags: trunk)
03:38
When rewriting a query for window functions, if the rewrite changes the depth of TK_AGG_FUNCTION nodes, be sure to adjust the Expr.op2 field appropriately. Fix for ticket [7a5279a25c57adf1] (check-in: ad7bb70af9 user: drh tags: trunk)
03:01
Move some utility Walker callbacks into the walker.c source file, as they seem to belong there better. (check-in: dac438236f user: drh tags: trunk)
02:05
Improvements to parse-tree tracing logic. No changes in deliverable code. (check-in: f7e5a68a7e user: drh tags: trunk)
00:30
Minor fix to a comment. No code changes. (check-in: efdbb2b499 user: drh tags: trunk)
2020-05-23
19:58
Limit the "precision" of floating-point to text conversions in the printf() function to 100,000,000. Fix for ticket [23439ea582241138]. (check-in: d08d340587 user: drh tags: trunk)
17:56
Improved bytecode comment. (check-in: 9224f1543b user: drh tags: trunk)
2020-05-22
18:41
Merge version 3.32.0 into the reuse-schema branch. (check-in: 31706878c3 user: drh tags: reuse-schema)
18:35
Merge version 3.32.0 into the begin-concurrent-pnu-wal2 branch. (check-in: 3cb296065a user: drh tags: begin-concurrent-pnu-wal2)
18:28
Merge version 3.32.0 into the wal2 branch. (check-in: 1cb46a7431 user: drh tags: wal2)
18:17
Merge the 3.32.0 release into the begin-concurrent-pnu branch. (check-in: 79663e6612 user: drh tags: begin-concurrent-pnu)
18:09
Merge the 3.32.0 release into the begin-concurrent branch. (check-in: 79ad4ea2c8 user: drh tags: begin-concurrent)
17:46
Version 3.32.0 (check-in: 5998789c9c user: drh tags: trunk, release, version-3.32.0)
2020-05-21
20:38
Change a NEVER macro into a NO_TEST comment, as the conditional is reachable, but only when compiling for Windows 32-bit. (check-in: ce36b6d133 user: drh tags: trunk)
19:13
Avoid another potential OOB read in sqlite3expert.c. (check-in: 0ccea80092 user: dan tags: trunk)
2020-05-20
15:02
Back out the change from [7fab1393c2b22b1f] that tries to convert invalid surrogate characters in UTF16 into the replacement character 0xfffd, as we find that this breaks some software. (check-in: 4218c7b71f user: drh tags: trunk)
2020-05-19
15:51
Add compiler hints to disable TSAN for the routines that access the -shm file header in WAL mode using a double-read with memory barrier. (check-in: 3117c1b5a9 user: drh tags: trunk)
15:40
In os_win.c, avoid calling sqlite3_uri_boolean() on anything other than a main-db filename. (check-in: cb0a18e64f user: dan tags: trunk)
12:29
User-suggested improvement to the README.txt for the ICU extension. (check-in: 1d1293c25a user: drh tags: trunk)
12:27
In wal.c, improved comments on concurrency issues. More use of AtomicLoad() and AtomicStore(). (check-in: 4bf566feca user: drh tags: trunk)
2020-05-18
19:55
Merge latest trunk changes into this branch. (check-in: 5dc355ccf6 user: dan tags: begin-concurrent-pnu-wal2)
19:11
Bring the reuse-schema branch up to date with the latest trunk changes. (check-in: d8ea0cb69d user: drh tags: reuse-schema)
18:02
Add vdbevtab.lo to build of libsqlite3.lib in Makefile.msc. (check-in: f64d054b79 user: dan tags: trunk)
17:18
Merge latest trunk changes into this branch. (check-in: 16b1eca922 user: dan tags: wal2)
16:19
Merge recent changes from trunk. (check-in: c69f030b1e user: drh tags: begin-concurrent-pnu)
15:41
Merge latest trunk changes into this branch. (check-in: 9e4a7b3ed8 user: dan tags: begin-concurrent)
2020-05-17
13:47
Avoid harmless UB in memcpy() in the JSON extension. (check-in: 69e149f768 user: drh tags: trunk)
00:26
Use the sqlite3Realloc() interface internally, rather than the public sqlite3_realloc64() equivalent, to avoid unnecessary calls to sqlite3_initialize(). (check-in: 1313557b51 user: drh tags: trunk)
2020-05-16
21:01
Performance optimization for the sqlite3FindTable() subroutine. (check-in: 55910b9a72 user: drh tags: trunk)
19:00
Merge trunk enhancements in the reuse-schema branch. (Actual date of this check-in is 2020-05-18.) (check-in: 5af4abe98c user: drh tags: reuse-schema)
18:01
The OP_RealAffinity opcode is not necessary after reading values from a virtual table (such as rtree). It is harmless, but it does use CPU cycles. Might as well leave it off. (check-in: dc18d89354 user: drh tags: trunk)
17:26
Fix a use-after-free bug in the fts3 snippet() function. (check-in: 0d69f76f08 user: dan tags: trunk)
16:23
Extra memory barrier during initialization. (check-in: 043a7e142d user: drh tags: trunk)
15:18
Add sqlite3BeginBenignMalloc() and EndBenignMalloc() calls to debugging function sqlite3VdbePrintOp(). (check-in: 6f857d0e9e user: dan tags: trunk)
2020-05-15
18:48
Update code in sqlite3expert.c to account for the fact that "-- TRIGGER xyz" VM comments are now omitted for some builds. (check-in: 7cf93dc55c user: dan tags: trunk)
16:19
Fix another build problem for SQLITE_OMIT_VIRTUALTABLE builds. (check-in: 5e1eb0fa3a user: dan tags: trunk)
16:05
Fix a documentation typo. No changes to code. (check-in: 758353c726 user: drh tags: trunk)
15:03
Adjust some requirement marks. No changes to code. (check-in: 7285ae2ce8 user: drh tags: trunk)
13:52
Update test file e_fkey.test to account for the fact that new columns with REFERENCE clauses and non-NULL default values may now be added using ALTER TABLE if the table is empty. (check-in: 4087fce972 user: dan tags: trunk)
11:36
Fix SQLITE_OMIT_VIRTUALTABLE testfixture builds. (check-in: 3d9780c5f6 user: dan tags: trunk)
11:26
Test script changes to account for the fact that the "p5" column in the EXPLAIN output is now an integer, not a text values containing a 2-digit hex value. (check-in: 102126d808 user: dan tags: trunk)
01:18
Enhancements to long-path support in the Win32 VFS. (check-in: 0119d96dec user: mistachkin tags: trunk)
01:13
Move some new test cases from fts3snippet.test into fts3snippet2.test. (check-in: fa20399994 user: drh tags: trunk)
01:02
Add the SQLITE_ENABLE_FTS3_PARENTHESIS option to fuzzcheck. Add a new test case that uses that option. (check-in: c49a33db95 user: drh tags: trunk)
2020-05-14
23:59
Fix a null pointer deference that can occur on a strange matchinfo() query. (check-in: a4dd148928 user: drh tags: trunk)
21:16
Do not allow a virtual table to be renamed into the name of one of its shadows. (check-in: eca0ba2cf4 user: drh tags: trunk)
2020-05-13
18:03
Implement the IIF(x,y,z) SQL function that is short-hand for "CASE WHEN x THEN y ELSE z END". For compatibility with SQL Server. (check-in: fce173cd21 user: drh tags: trunk)
17:26
Remove unused constant SQLITE_FUNC_COALESCE. (check-in: a116b20f86 user: drh tags: trunk)
13:33
Use AtomicStore() and AtomicLoad() in a few more places to avoid a theoretically undefined behaviour. This is not actually problem on any known hardware. (check-in: fda57d4d2f user: dan tags: trunk)
2020-05-11
11:11
New test case in test/fuzzdata8.db. (check-in: fa11230135 user: drh tags: trunk)
10:55
Fix a problem handling constant integer expressions with collation sequences in PARTITION BY clauses. (check-in: 155e6649ef user: dan tags: trunk)
2020-05-08
19:02
Release some restrictions on columns added by ALTER TABLE so that they only apply if the table contains one or more rows. (check-in: 3a16c0ce4d user: drh tags: trunk)
18:22
Fix the count-optimization so that it honors the NOT INDEXED clause. (check-in: 0d23a0b209 user: drh tags: trunk)
15:28
New test cases added to test/fuzzdata8.db. (check-in: 3fce9711a4 user: drh tags: trunk)
10:44
Do not retry on a failed realloc() unless SQLITE_ENABLE_MEMORY_MANAGEMENT is available, meaning that the retry has some possibility of success. (check-in: e9a8f910b5 user: drh tags: trunk)
2020-05-07
19:55
Fix a failing assert() in fts3 triggered by a corrupt database. (check-in: cb299a090c user: dan tags: trunk)
14:39
Changes to avoid deadlock in SQLITE_ENABLE_SETLK_TIMEOUT builds. (check-in: 652e4b23ff user: dan tags: trunk)
14:26
Fix an error that could occur if the first transaction executed by a connection configured to use blocking locks is a write-transaction for which the WRITER lock cannot be obtained. (Closed-Leaf check-in: 49e4dc72f7 user: dan tags: setlk-deadlock-changes)
14:05
Merge trunk changes into this branch. (check-in: ac4ee69664 user: dan tags: setlk-deadlock-changes)
01:56
Fix the handling of reserve-bytes so that the maximum value of 255 can be used. (check-in: 99749d4fd4 user: drh tags: trunk)
2020-05-06
21:25
Avoid leaking a file-handle in test file walsetlk.test. (check-in: 3cfc675e2e user: dan tags: setlk-deadlock-changes)
21:24
Fix an assert() failure that could follow an IO error. (check-in: e89c864299 user: dan tags: setlk-deadlock-changes)
20:55
Fix harmless compiler warnings. (check-in: 92dc59132f user: drh tags: setlk-deadlock-changes)
20:45
Fix a problem preventing building without SQLITE_ENABLE_SETLK_TIMEOUT defined. (check-in: 98eb54c6d8 user: dan tags: setlk-deadlock-changes)
20:27
Add error code SQLITE_BUSY_TIMEOUT, used internally by the OS layer to indicate that a call to xShmLock() has failed due to timeout of a blocking lock. (check-in: f3ef9c7c2b user: dan tags: setlk-deadlock-changes)
19:22
Fix compiler warnings in non-SQLITE_ENABLE_SETLK_TIMEOUT builds. (check-in: 22de99ef41 user: dan tags: setlk-deadlock-changes)
19:14
Block on the WRITER lock when attempting to run recovery. (check-in: 105d6c9bbc user: dan tags: setlk-deadlock-changes)
18:46
Provide the SQLITE_DEFAULT_LEGACY_ALTER_TABLE compile-time option. (check-in: b2325a6e1c user: drh tags: branch-3.28)
18:43
Provide the SQLITE_DEFAULT_LEGACY_ALTER_TABLE compile-time option. (check-in: 63e659d9a7 user: drh tags: trunk)
17:18
Add tests for running recovery when opening a write transaction or performing a checkpoint with blocking locks enabled. Fix some failing assert() statements. (check-in: d096ea3fe2 user: dan tags: setlk-deadlock-changes)
15:07
Merge latest trunk changes into this branch. (check-in: a3727dba10 user: dan tags: setlk-deadlock-changes)
2020-05-05
20:30
Unless upgrading an existing read transaction, have ENABLE_SETLK_TIMEOUT builds attempt to use a blocking lock when opening a write transaction on a wal mode database. (check-in: d6f819a9e6 user: dan tags: setlk-deadlock-changes)
19:54
The only known path to a corruption detection branch was cut off by the previous commit implementing earlier index corruption. So make the branch NEVER. Maybe a fuzzer will find a new path. (check-in: 9a84d8eb44 user: drh tags: trunk)
18:42
Earlier detection of index corruption caused by missing index entries. (check-in: f339f31f9e user: drh tags: trunk)
13:41
Fix a compiler warning in cksumvfs.c. (check-in: 68033bcade user: drh tags: trunk)
2020-05-04
19:52
Fix harmless compiler warnings. (check-in: 8eee591d3c user: drh tags: trunk)
19:42
Changes to avoid deadlock in SQLITE_ENABLE_SETLK_TIMEOUT builds. (check-in: 553423c231 user: dan tags: setlk-deadlock-changes)
19:04
Minor change to the sqlite_stmt virtual table, for test coverage. (check-in: 838987b209 user: drh tags: trunk)
17:15
Simplify the initialization of built-in extensions. (check-in: 729f239735 user: drh tags: trunk)
11:47
Ensure that the master-journal name is in a form suitable to be passed into sqlite3_uri_parameter(). (check-in: d1ba026d88 user: drh tags: trunk)
2020-05-02
04:08
Add the SQLITE_FCNTL_CKPT_START file-control and use it to optimize the cksumvfs extension. (check-in: efdecb1309 user: drh tags: trunk)
03:46
Add support for PRAGMA analyze_limit and approximate analysis. (check-in: 812547525d user: drh tags: trunk)
03:29
Add a missing VdbeCoverage() macro. (Closed-Leaf check-in: 77a55c394d user: drh tags: approximate-analyze)
00:31
Merge the bytecode and tables_used table-valued functions. Requires -DSQLITE_ENABLE_BYTECODE_VTAB at compile-time. (check-in: d09bcce37f user: drh tags: trunk)
00:01
Corner-case changes to the bytecode virtual table for testability and correctness. (Closed-Leaf check-in: baa720e4a8 user: drh tags: bytecode-function)
2020-05-01
18:58
Merge recent enhancements from trunk. (check-in: 96dfc71ea5 user: drh tags: bytecode-function)
18:43
Fix problems with UPDATE...FROM statements that modify rowid or primary-key values. (check-in: 623ab585d1 user: dan tags: update-from)
18:37
Add the SQLITE_FCNTL_CKPT_START file-control. Use it to optimize the cksumvfs extension. (Closed-Leaf check-in: b40f5aa344 user: drh tags: ckpt-start-fcntl)
15:04
Merge recent trunk enhancements. (check-in: 2100b2c8f3 user: drh tags: approximate-analyze)
13:45
Clarification to the sqlite3_uri() family of interfaces. Documentation enhancement only - no changes to code. (check-in: 853703cd6d user: drh tags: trunk)
13:32
Update documentation for sqlite3_close_v2() for clarity. No functional changes. (check-in: 80498b69ea user: drh tags: trunk)
11:31
Add the new SQLITE_IOERR_DATA result code and use it in cksumvfs. Also enhance cksumvfs to emit an sqlite3_log() message whenever it finds an invalid checksum. (check-in: a094e8bfde user: drh tags: trunk)
2020-04-30
18:28
Add OOM tests for the new code on this branch. (check-in: e4a18601e5 user: dan tags: update-from)
15:49
Report an error if an UPDATE...FROM statement has an ORDER BY but no LIMIT clause. Add tests for multi-column primary keys. (check-in: ffcdb66891 user: dan tags: update-from)
2020-04-29
20:11
Fix problems with using LIMIT and FROM clauses as part of single UPDATE statement. (check-in: b717dc3c5f user: dan tags: update-from)
17:41
Fix various bugs in new feature on this branch. (check-in: 823ba94e29 user: dan tags: update-from)
01:09
Do not allow page_size changes on an active cksumvfs database. (check-in: 2c17cdce26 user: drh tags: trunk)
2020-04-28
23:09
Fix incorrect error message when something goes wrong with the sqlite3_dbpage() table-valued function in the .dbinfo command of the CLI. (check-in: 0dcf002463 user: drh tags: trunk)
20:47
Add the cksumvfs extension. (check-in: 237c10f941 user: drh tags: trunk)
14:01
Use AtomicStore() when setting the mem0.nearlyFull boolean to avoid harmless TSAN warnings and to forestall doubts about threadsafety. (check-in: ce980af65a user: drh tags: trunk)
11:45
Use an AtomicLoad() macro in sqlite3HeapNearlyFull(). (check-in: 7556bc632e user: drh tags: trunk)
2020-04-27
20:55
Allow a FROM clause in UPDATE statements. (check-in: f353a1a613 user: dan tags: update-from)
2020-04-26
22:04
Yet another attempt to enhance sqlite3_load_extension() so that it works with Window-style pathnames using a backslash separator character. (check-in: b73d9a7d6f user: drh tags: trunk)
14:33
Fix an issue with check-in [bc3bf7c6681a96bc] when compiling on Windows. (check-in: 57b16d8ca3 user: drh tags: trunk)
2020-04-25
21:05
Fix the sqlite3_load_extension() interface so that it tolerates backslashes in place of forward-slashes in pathnames on Windows. (check-in: bc3bf7c668 user: drh tags: trunk)
15:01
Ensure affinity is not discarded from a view column if the view appears on the rhs of a LEFT JOIN. Fix for [45f4bf4e]. (check-in: ac31edd3ee user: dan tags: trunk)
2020-04-24
18:20
The new sqlite3_database_file_object() interface requires that the pager never invoke xOpen with SQLITE_OPEN_MAIN_JOURNAL unless it is using a pointer to the journal name found in the Pager structure itself. Make this the case when processing a master-journal. (check-in: b4987a5ced user: drh tags: trunk)
17:55
New test case for ticket [1dcb4d44964846ad]. (check-in: 9e9f1e96c9 user: drh tags: trunk)
2020-04-23
20:45
Fix an uninitialized variable in the newly enhanced ".output" command of the CLI. See forum post 5978955ac1 (check-in: 65c6c26bb4 user: drh tags: trunk)
2020-04-22
13:49
Fix an off-by-one error in the "calculated" page count output from the sqlite3_analyzer utility for databases that are more than 1GB in size. (check-in: 8789368b91 user: drh tags: trunk)
11:11
Fix an integer overflow in fts3 causing a usan error. (check-in: e256f85289 user: dan tags: trunk)
00:50
Clarify the comment on the sqlite3BtreeGetRequestedReserve() routine. No changes to code. (check-in: 52a6acca6d user: drh tags: trunk)
2020-04-21
20:19
Add the sqlite3_database_file_object() interface. (check-in: f534ebeaaf user: drh tags: trunk)
19:27
Add the sqlite3_database_file_object() interface to sqlite3ext.h. (Closed-Leaf check-in: 3cabe06b6e user: drh tags: sqlite3_database_file_object)
01:06
Experimental API: sqlite3_database_file_object(). (check-in: ae697b152d user: drh tags: sqlite3_database_file_object)
2020-04-20
17:35
Do not use O_NOFOLLOW when opening a directory just to call fsync() on that directory. (check-in: 2fc80ef16c user: drh tags: trunk)
16:21
Enhance the ".filectrl" command in the CLI to support the --schema option. (check-in: 698d40db58 user: drh tags: trunk)
15:18
The SQLITE_TESTCTRL_RESERVE operator is removed. In its place is the more general SQLITE_FCNTL_RESERVE_BYTES which is an API and which can operator on more than just the main schema. (check-in: abc1aad74f user: drh tags: trunk)
14:05
Remove an obsolete comment. No changes to code. (check-in: 4135cb0244 user: drh tags: trunk)
2020-04-18
14:12
Add the --bom option to the ".excel", ".once", and ".output" commands of the CLI. Also fix the "--all" option on ".help" so that it works with two dashes in addition to just one. (check-in: d5b0def96b user: drh tags: trunk)
2020-04-17
23:46
Fix the ".excel" command and the ".open -x" and ".open -e" command so that they work better when running from an in-memory database and on Windows and when running from a script. (check-in: 07752164c2 user: drh tags: trunk)
2020-04-16
15:56
Merge accidentally created fork. (check-in: cb772b7a8f user: dan tags: trunk)
11:35
Improve corruption detection in fts3 shadow tables earlier in order to prevent an assert() from failing. (check-in: a9ec8c8f80 user: dan tags: trunk)
2020-04-15
17:39
Clarification of the byte-order determination for UTF16 inputs to routines like sqlite3_bind_text16() and sqlite3_result_text16() and others that accept UTF16 input strings. (check-in: a42fdcf54b user: drh tags: trunk)
2020-04-14
15:53
Build the UINT collating sequence extension into the CLI. (check-in: 2b8c6b035a user: drh tags: trunk)
15:48
Add the UINT collating sequence extension. The implementation is copied out of the "natsort" branch. (check-in: 6f46c6e3e3 user: drh tags: trunk)
15:35
Change the name from NATSORT to UINT. Provide an OMIT compile-time option. (Leaf check-in: cc56cbdb61 user: drh tags: natsort)
15:24
Merge trunk enhancements. (check-in: f1c284dd1e user: drh tags: natsort)
2020-04-09
19:00
Merge recent trunk changes into begin-concurrent-pnu-wal2. (check-in: 6c11b67bd2 user: drh tags: begin-concurrent-pnu-wal2)
18:51
Merge recent trunk changes into the apple-osx branch. (Leaf check-in: d6fda470fe user: drh tags: apple-osx)
18:46
Merge recent trunk enhancements into the wal2 branch. (check-in: 6fb870625c user: drh tags: wal2)
18:44
Merge recent trunk enhancements into the begin-concurrent-pnu branch. (check-in: cedd138c74 user: drh tags: begin-concurrent-pnu)
18:29
Merge recent trunk enhancements into the begin-concurrent branch. (check-in: 92f71a88c4 user: drh tags: begin-concurrent)
15:31
When compiling the shell for WinRT, avoid using Win32 APIs that are unavailable. (check-in: 85d3dc8c50 user: mistachkin tags: trunk)
15:07
Merge recent trunk enhancements into the bytecode-function branch. (check-in: 7e6576ec00 user: drh tags: bytecode-function)
15:01
Merge trunk enhancements into the approximate-analyze branch. (check-in: 17901ea6a1 user: drh tags: approximate-analyze)
2020-04-07
15:07
Limit LIKE/GLOB pattern length to 100 bytes (default is 50K) when running dbsql cases in the fuzzcheck utility. (check-in: 10306118e8 user: drh tags: trunk)
13:08
Add the --spinner option to the fuzzcheck test program. (check-in: b1eae2686f user: drh tags: trunk)
01:18
The ALTER TABLE fix of check-in [7e5ad8e0ab7ee91a] is no longer needed due to the changes at check-in [4cf8721f5ceb1fda]. But, we keep the defense in place as an assert() for extra safety. (check-in: 230556e859 user: drh tags: trunk)
00:54
Remove dead code that was added during initial development of RENAME COLUMN but never actually served a purpose. (check-in: c95c4cda46 user: drh tags: trunk)
2020-04-06
20:35
Performance improvement in sqlite3ResolveExprNameList(). (check-in: 7e170e67f2 user: drh tags: trunk)
18:16
Performance improvement for column name lookup. (check-in: 1e4b6a9398 user: drh tags: trunk)
16:37
When running ALTER TABLE, avoid adding some internally generated tokens to the token map to improve performance on schemas with nested views. (check-in: 4cf8721f5c user: dan tags: trunk)
2020-04-04
11:58
Remove a NEVER() that could be true in sqlite3MatchEName(). (check-in: 921448f0e2 user: drh tags: trunk)
00:29
In the push-down optimization, do not substitute columns that have previously been identified as being constant by the propagate-constants optimization. Fix for ticket [51166be0159fd2ce]. Also, avoid factoring out constant expressions on the LHS of an IN(...) operator, as the IN(...) operation may affect the affinity of these values. Fix for [fd1bda016d1]. (Leaf check-in: 43612157f8 user: drh tags: branch-3.31)
00:15
In the push-down optimization, do not substitute columns that have previously been identified as being constant by the propagate-constants optimization. Fix for ticket [51166be0159fd2ce] (check-in: 70c44811d1 user: drh tags: trunk)
2020-04-03
20:14
Restore an #if block inadvertently removed via check-in [9c77bfe41e]. (check-in: bf6bcfc16e user: mistachkin tags: branch-3.31)
19:37
Avoid factoring out constant expressions on the LHS of an IN(...) operator, as the IN(...) operation may affect the affinity of these values. Fix for [fd1bda016d1]. (check-in: 98d56b4a34 user: dan tags: trunk)
16:11
Add a test case to fuzzdata8.db for the recent Henry Liu bugs. (check-in: 42b02454b1 user: drh tags: trunk)
15:48
Merge updates from trunk. (check-in: 348c40136c user: drh tags: bytecode-function)
13:39
Do not suppress errors when resolving references in an ORDER BY clause belonging to a compound SELECT within a view or trigger within ALTER TABLE. Fix for ticket [a10a14e9b4ba2]. Also, in the event of a semantic error in an aggregate query, early-out the resetAccumulator() function to prevent problems due to incomplete or incorrect initialization of the AggInfo object. Fix for ticket [af4556bb5c285c08]. (check-in: b64674919f user: drh tags: branch-3.31)
13:29
Fix a case when a pointer might be used after being freed in the ALTER TABLE code. Fix for [4722bdab08cb1]. (check-in: 52f800fa93 user: drh tags: branch-3.31)
13:19
In the event of a semantic error in an aggregate query, early-out the resetAccumulator() function to prevent problems due to incomplete or incorrect initialization of the AggInfo object. Fix for ticket [af4556bb5c285c08]. (check-in: 4a302b42c7 user: drh tags: trunk)
11:52
Do not suppress errors when resolving references in an ORDER BY clause belonging to a compound SELECT within a view or trigger within ALTER TABLE. Fix for ticket [a10a14e9b4ba2]. (check-in: 684293882c user: dan tags: trunk)
11:20
Fix a case when a pointer might be used after being freed in the ALTER TABLE code. Fix for [4722bdab08cb1]. (check-in: d09f8c3621 user: dan tags: trunk)
2020-04-02
19:58
Fix a minor problem with EXPLAIN QUERY PLAN for triggers. (check-in: 6e11c03f84 user: drh tags: bytecode-function)
17:21
Minor changes for better test coverage. (check-in: ae3ac297d2 user: drh tags: bytecode-function)
13:21
Fix an obsolete comment in the parameter binding logic of the CLI. No changes to code. (check-in: c9c735e201 user: drh tags: trunk)
13:08
Fix another harmless compiler warning. (check-in: 949eec2530 user: drh tags: bytecode-function)
12:53
Add a missing #ifdef to avoid a harmless compiler warning. (check-in: cc54de3543 user: drh tags: bytecode-function)
12:24
Merge enhancements from trunk. (check-in: d1731385c0 user: drh tags: bytecode-function)
2020-04-01
17:10
Add support for the "ANALYZE WITH LIMIT=N" syntax. (Leaf check-in: 7e666b6022 user: drh tags: analyze-with-limit)
01:15
Simple fixes to PRAGMA analysis_limit. (check-in: c20d4fdee2 user: drh tags: approximate-analyze)
2020-03-31
20:57
Add "PRAGMA analysis_limit=N;" to limit the number of rows visited by ANALYZE when N is positive. Positive N also disables collecting stat4. (check-in: a279b151c1 user: drh tags: approximate-analyze)
18:41
Merge recent enhancements from trunk. (check-in: c705ce266a user: drh tags: approximate-analyze)
2020-03-30
19:38
Minor bug fix in NATSORT collating function. (check-in: a61be10927 user: drh tags: natsort)
15:39
Add the NATSORT collating sequence. No test cases yet. (check-in: 79fcaa8e07 user: drh tags: natsort)
13:35
Use __atomic_load_n() and __atomic_store_n() for a few more things where they are available. (check-in: a49f8ec552 user: dan tags: trunk)
11:17
Fix "GCC_VESRION" typo in wal.c. (check-in: fbd9378727 user: dan tags: trunk)
2020-03-28
19:02
Enhancements to the SQLITE_ENABLE_SETLK_TIMEOUT compile-time option to avoid rare deadlocks on recovery. (check-in: 06885e9aa4 user: drh tags: trunk)
12:01
MSVC does not allow constant expressions as initializers for constants with /fp:strict. (check-in: 076658e5d2 user: drh tags: trunk)
2020-03-27
17:23
Modifications to the way blocking locks are used in SQLITE_ENABLE_SETLK_TIMEOUT builds so that multiple processes or threads may not deadlock when operating on a single database. (Closed-Leaf check-in: c516027d5f user: dan tags: setlk-deadlock-fix)
2020-03-26
16:48
Add the tables_used() table-valued function as a variation on bytecode(). (check-in: 6283c677d5 user: drh tags: bytecode-function)
15:28
Merge updates from trunk. (check-in: d7db091018 user: drh tags: bytecode-function)
00:29
Reinstate the optimization that converts "x IN (y)" into "x==y". (check-in: 27936e6884 user: drh tags: trunk)
2020-03-25
20:31
For the LIKE pattern in the .dump command of the CLI, accept backslash as an escape character. (check-in: 029ceea612 user: drh tags: trunk)
12:50
Enhance the ".dump" command in the CLI so that it accepts multiple LIKE pattern arguments and shows the union of all matching tables. (check-in: 45fba3d705 user: drh tags: trunk)
2020-03-24
18:41
Optimize the "subprog IS NULL" constraint. (check-in: ca8c5f028b user: drh tags: bytecode-function)
17:52
Fix a memory leak. (check-in: c9f3405eea user: drh tags: bytecode-function)
13:27
Provide content for the bytecode.subprog column. (check-in: df893364b7 user: drh tags: bytecode-function)
2020-03-23
23:17
Fix the build so that it works even without SQLITE_ENABLE_EXPLAIN_COMMENTS. (check-in: 5896cbf4d0 user: drh tags: bytecode-function)
20:58
The bytecode() function now runs and sometimes works, but it untested and there are known problems. (check-in: 6819b86eb2 user: drh tags: bytecode-function)
19:14
Further simplification and modularization of the EXPLAIN logic. (check-in: aee1c12f42 user: drh tags: bytecode-function)
17:24
Begin breaking appear the sqlite3VdbeList() routine into subroutines that can be reused by the bytecode() table. (check-in: 2c4dd79fbd user: drh tags: bytecode-function)
15:49
Infrastructure for the bytecode() table-valued function. The function itself is not yet implemented. (check-in: 2795f0d633 user: drh tags: bytecode-function)
2020-03-21
23:10
Fix to the recomputation of the colUsed field added by check-in [a9bb71ba708ba722]. This fixes ticket [5829597ac43811e3]. (check-in: 5d14a1c4f2 user: drh tags: trunk)
22:03
Enhance the treeview system to show the SrcList_item.colUsed field for FROM clause elements. (check-in: 8a5c539b77 user: drh tags: trunk)
20:58
Simplify some of the code modified by the previous commit. (check-in: 04abadb545 user: dan tags: trunk)
15:41
Ensure that "main" can always be used to refer to the main database, even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. (check-in: 682b426f56 user: dan tags: trunk)
15:10
Consolidate some code on this branch. (Closed-Leaf check-in: a85c63daa6 user: dan tags: main-alias-fix)
15:07
Change a bitfield in sqlite3_stmt into an unsigned character, for slightly smaller code and better performance. (check-in: 0d4d3c6424 user: drh tags: trunk)
14:22
Performance optimization in sqlite3VdbeMakeReady(). (check-in: aa92f9b95f user: drh tags: trunk)
14:05
Merge updates from trunk. (Leaf check-in: 2383aa2cb8 user: drh tags: explain-improvements)
03:40
Back out the sqlite3_stmt_mode() and EXPLAIN TABLES enhancements, but keep the other miscellaneous improvements to EXPLAIN that were implemented while adding the above: Turn magic numbers into symbolic constants. Add the sqlite3MemPrint() interface accessible to the debugger. Improve the performance and reduce the code size. (check-in: 62aece6677 user: drh tags: explain-improvements)
00:05
Recompute the set of columns used for each table when the table is involved in query flattening. (check-in: a9bb71ba70 user: drh tags: trunk)
2020-03-20
20:54
Allow "main" to be used to refer to the main database even after SQLITE_DBCONFIG_MAINDBNAME has been used to assign another alias. (check-in: 75c85ca32f user: dan tags: main-alias-fix)
20:18
Avoid an undefined integer overflow in fts3 by detecting data structure corruption earlier. (check-in: 86e98ddc19 user: dan tags: trunk)
20:00
Add the EXPLAIN TABLES syntax that uses SQLITE_STMTMODE_TABLELIST. Seems to work, but not well-tested. (Leaf check-in: e7343ce751 user: drh tags: sqlite3_stmt_mode)
17:49
Further simplification of the EXPLAIN logic. Fix the test errors from the previous check-in. (check-in: 5eaba9af1c user: drh tags: sqlite3_stmt_mode)
16:13
Revamp the EXPLAIN infrastructure to facilitate sqlite3_stmt_mode(). The currently code mostly works, but there are test failures. This is an incremental check-in. (check-in: e9e17e2125 user: drh tags: sqlite3_stmt_mode)
2020-03-19
21:17
Initial code for a proposed new sqlite3_stmt_mode() API. This is an incomplete snapshot of a work-in-progress. (check-in: 3cf7537b5e user: drh tags: sqlite3_stmt_mode)
18:13
Change the ESCAPE clause on the LIKE operator to override wildcard characters, in order to match the behavior of PosgreSQL. (check-in: 11e0844f71 user: drh tags: trunk)
17:27
Fix an integer overflow problem with the dbstat virtual table that comes up when trying to analyze a corrupt database. (check-in: 1d64f4a8af user: drh tags: trunk)
15:57
Fix a typo in a comment. No changes to code. (check-in: 3a51919ac2 user: drh tags: trunk)
2020-03-18
15:58
Fix the build for when SQLITE_ENABLE_STAT4 is defined. (check-in: 8f0a8c2aa4 user: drh tags: approximate-analyze)
14:43
Add the SQLITE_ANALYZE_LIMIT compile-time option (expected to be temporary) that sets a threshold at which ANALYZE starts to use approximations during the analysis process. (check-in: a773fd4698 user: drh tags: approximate-analyze)
2020-03-17
17:11
Provide an estimated row count to stat_init() for STAT1 analysis. (check-in: 714419fe85 user: drh tags: approximate-analyze)
13:41
Remove the SQLITE_OMIT_BTREECOUNT option. Btree count is required. (check-in: a9bfa47aee user: drh tags: approximate-analyze)
13:07
Improved bytecode comments for the ANALYZE command. (check-in: c38ea4139d user: drh tags: approximate-analyze)
12:37
Merge changes from trunk. (check-in: 93d710262e user: drh tags: approximate-analyze)
2020-03-16
18:52
Fix handling of window functions in aggregate queries that have no GROUP BY clause. Also remove a faulty assert causing the error reported in [618156e3]. (check-in: 38e3dd389d user: dan tags: trunk)
03:07
At the end of the right-hand table loop of a LEFT JOIN that uses an IN operator in the ON clause, put the OP_IfNoHope operator after the OP_IfNotOpen operator, not before, to avoid a (harmless) uninitialized register reference. Ticket [82b588d342d515d1] (check-in: 8b437b4726 user: drh tags: trunk)
2020-03-13
07:28
Merge SQLITE_NOOP_UPDATE fix into this branch. (check-in: e2cc655e0d user: dan tags: begin-concurrent-report)
07:23
Fix a typo causing SQLITE_NOOP_UPDATE builds to fail. (check-in: 1e2109fd33 user: dan tags: begin-concurrent-pnu)
2020-03-12
19:37
Add link from begin_concurrent_report.md back to branch timeline. (check-in: 61869f8b48 user: dan tags: begin-concurrent-report)
17:54
Remove stray comment characters at the end of an #ifdef that were accidently left in the previous check-in. (check-in: ea914bec81 user: drh tags: trunk)
17:28
Fix comments and strengthen assert() statements associated with the OPFLAG_SEEKEQ and BTREE_SEEK_EQ flags. (check-in: 2317492138 user: drh tags: trunk)
2020-03-11
20:03
Merge enhancements from trunk. (check-in: 4945a66237 user: drh tags: approximate-analyze)
19:56
Do not factor out constant functions into the initialization section of a prepared statement, because even though they are constant, they can still throw exceptions. Instead, put such functions in an OP_Once block. This fixes ticket [3c9eadd2a6ba0aa5] and causes COALESCE() and CASE...END to be short-circuit. (check-in: c5f96a085d user: drh tags: trunk)
19:41
Rename sqlite3ExprCodeAtInit() to sqlite3ExprCodeRunJustOnce(). Other changes to make the new code cleaner. Test cases added. (Closed-Leaf check-in: d7f1848997 user: drh tags: do-not-factor-functions)
19:30
Add documentation notes and fix outstanding issues on this branch. (check-in: b288bbd1df user: dan tags: begin-concurrent-report)
17:58
Do not factor out constant functions into the initialization section at the end of the prepared statement, be cause if they throw an exception, it will abort the statement even if the function is never called. Better to put constant functions in an OP_Once block. (check-in: 97a18a5cd7 user: drh tags: do-not-factor-functions)
16:46
Support reporting of blob fields. (check-in: 724a4a844d user: dan tags: begin-concurrent-report)
02:04
This variant to the fix for ticket [e0c2ad1aa8a9c691] uses fewer CPU cycles. (check-in: fb5a8a9edd user: drh tags: trunk)
2020-03-10
22:55
Merge updates from trunk. (check-in: e05f743f61 user: drh tags: approximate-analyze)
21:14
Fix test and other problems with reporting pages read and written. (check-in: 9ae970fdc1 user: dan tags: begin-concurrent-report)
19:55
Fix problem in test script concreport.test. (check-in: 32d1b7210a user: dan tags: begin-concurrent-report)
19:24
Enhanced detection logic for preventing the use of static schema expressions by code generating routines. (check-in: 5f60b527b9 user: drh tags: trunk)
19:23
Prevent the read-only expressions held in the schema from being passed down into code generating subroutines where they might be changed. Pass a copy of the expression instead. (check-in: 2b750b0f74 user: drh tags: branch-3.31)
18:55
Further changes to ensure that expressions held in table and index definitions do not get passed down into code generator logic where they might be modified. (check-in: f45f5de000 user: drh tags: trunk)
13:35
Make a copy of the expression that defines a value of a generated column before sending it to the code generator routines. (check-in: 03d201c041 user: drh tags: trunk)
11:50
Apply the correct affinity transformations when pulling values off of the sorter index used for GROUP BY. Ticket [e0c2ad1aa8a9c691] (check-in: 101f7dea75 user: drh tags: trunk)
02:57
The sqlite3ExprCodeFactorable() routine should make a copy of non-factorable expressions, as they might be coming from a DEFAULT or generated column in a table constraint. (check-in: a2d6f108c5 user: drh tags: trunk)
01:24
Background work for experiments trying to enhance ANALYZE so that it runs off of samples of the entire index and does not need to read the entire index. (check-in: 29d1cc5c36 user: drh tags: approximate-analyze)
2020-03-09
21:00
Report on pages, as well as keys, read and written by BEGIN CONCURRENT transactions. (check-in: b661ccc88f user: dan tags: begin-concurrent-report)
18:26
Cleaner separation of the STAT4-specific logic in the implementation of ANALYZE. (check-in: 3df07e5a9a user: drh tags: trunk)
15:39
Enhancements to the ".import" command of the CLI. (check-in: cab1834cfc user: drh tags: trunk)
03:21
Fix typos in RowSet. (check-in: 86465c08f4 user: pdr tags: trunk)
01:02
Fix typos in the Lemon documentation. (check-in: 35f1f151ac user: drh tags: trunk)
2020-03-08
13:33
Avoid a redundant NULL check (check-in: 25dc53f660 user: pdr tags: trunk)
2020-03-07
16:51
Fix reporting cases related to UPDATE. And of WITHOUT ROWID tables. (check-in: d28d1739a6 user: dan tags: begin-concurrent-report)
2020-03-06
20:51
Enhancement to log logical writes as well as reads. (check-in: 1c1f180eb6 user: dan tags: begin-concurrent-report)
2020-03-05
20:59
Fix reporting for indexed range scans that extend past the end of the data. (check-in: ab458a319f user: dan tags: begin-concurrent-report)
19:00
Merge trunk change [895bd20b29] into this branch. (Actually check-in date was 2020-05-18) (check-in: 507f972e91 user: dan tags: reuse-schema)
18:04
Report an error if the main, or any other, database encoding is modified by an external process (perhaps using the backup API) after the db has been opened. (check-in: 895bd20b29 user: dan tags: trunk)
16:30
Merge trunk enhancements into the reuse-schema branch. (Actual check-in date is 2020-05-18) (check-in: 9d068e1ef0 user: drh tags: reuse-schema)
16:13
Change the sqlite3.pDfltColl (the default collating sequence for the database connection) so that it is the collating sequence appropriate for the database encoding, not the UTF8 collating sequence. This helps to ensure that the database encoding collation is always used, even for expressions that do not have an defined collating sequence. Ticket [1b8d7264567eb6fc]. (check-in: 4a5851893c user: drh tags: trunk)
14:19
When printing the OP_CollSeq opcode for EXPLAIN listings, include the text encoding with the name of the collating sequence. (check-in: eb5c1b77d1 user: drh tags: trunk)
2020-03-04
19:17
Fix cases to do with index scans. (check-in: 6ec5a8995f user: dan tags: begin-concurrent-report)
2020-03-03
21:01
Extend begin_concurrent_report() so that it reports on accesses to non-intkey tables as well. (check-in: 427e2c9d95 user: dan tags: begin-concurrent-report)
20:48
Fix a false-positive in the debugging logic that attempts to detect the use of uninitialized registers inside triggers. Ticket [c4c56482ced89d90] (check-in: 0463576b5d user: drh tags: trunk)
20:04
Remove an invalid assert() on the debugging logic that checks to ensure that register values are not used after they go stale. Ticket [d165ad781b39d574]. (check-in: bd94d7d052 user: drh tags: trunk)
01:16
Improved detection of corruption in the interior nodes of a segment btree in FTS3/4. (check-in: cc99447ac9 user: drh tags: trunk)
2020-03-02
21:00
Fix reporting for some range scan cases. (check-in: ad961aee15 user: dan tags: begin-concurrent-report)
16:31
Enhance the fuzzcheck test program so that it is able to simulate OOM errors in the same way that dbsqlfuzz does. (check-in: a65c8d4e26 user: drh tags: trunk)
15:05
Merge latest begin-concurrent-pnu changes with this branch. (check-in: b1880b1899 user: dan tags: begin-concurrent-report)
01:50
Fix a faulty assert() statement in the stale-register detection logic. Ticket [da5a09be6dabbf42]. (check-in: 219c296cc8 user: drh tags: trunk)
01:16
Ensure that the NULL-scan pass counter is initialized when a ORDER BY NULLS LAST is used on the right table of a LEFT JOIN. Ticket [e12a0ae526bb51c7]. (check-in: 704bb9a39a user: drh tags: trunk)
2020-02-29
17:19
Fix a problem with window functions occuring within sub-selects that are part of an OR term in a WHERE clause of the outer SELECT. (check-in: 1e174ed0d2 user: dan tags: trunk)
15:53
In the CLI, add the ".oom" command for debugging builds. (check-in: 9c3136a722 user: drh tags: trunk)
2020-02-28
16:04
The RTREE extension behaves as if data columns have type REAL, so we should actually declare them as REAL so that automatic indexes handle them correctly. Ticket [e63b4d1a65546532] (check-in: 85a9b6a92f user: drh tags: trunk)
2020-02-27
17:16
In sqlite3changeset_apply(), ensure that DELETE and UPDATE changes are always executed on main database tables, not similarly named temp tables, as documented. INSERT statements are already being handled correctly. (check-in: f71a13d072 user: dan tags: trunk)
16:21
Fix harmless compiler warnings from MSVC. (check-in: 951b39ca74 user: drh tags: trunk)
15:20
Merge latest trunk changes into this branch. (check-in: 3f5650aae6 user: dan tags: reuse-schema)
15:07
Optimization for "SELECT min(x) FROM tbl" where "x" is indexed and NOT NULL. This also allows similar queries on NOT NULL virtual table columns to be optimized. (check-in: 5972677793 user: dan tags: trunk)
13:54
Extra zero terminators on the end of the blank filename returned by sqlite3PagerFilename() for an in-memory database. This helps the result work better with sqlite3_filename_journal() and similar functions. (check-in: 63e533d28e user: drh tags: trunk)
12:33
Backport the change that allows the filename passed into the xFullPathname to be used as an argument to sqlite3_uri_parameter(). (check-in: 9c77bfe41e user: drh tags: branch-3.31)
11:32
Ensure that the filename passed into the xFullPathname method of the VFS is acceptable as an argument to sqlite3_uri_parameter(). The interface spec does not guarantee this, but it has been so historically and some applications have come to depends on it. (check-in: bfb09371d4 user: drh tags: trunk)
2020-02-25
20:05
Update the fuzzcheck test module so that it avoids inserting text values that contain embedded NULs in the XSQL table. Fix some legacy entries in the test/fuzzdata8.db that had embedded NULs. Add in new dbsqlfuzz cases that have accumulated over on the dbsqlfuzz project for a while. (check-in: 47d4240c4a user: drh tags: trunk)
2020-02-24
17:05
If STAT4 determines that a WHERE clause term that is not used by an index has very high probability of being true, then do not use that term to reduce the estimated output row count. (check-in: 40739c793b user: drh tags: trunk)
16:46
Rework this changes so that instead of setting the WhereTerm.truthProb when a term is seen to be of low selectivity, it merely sets a new flag (the TERM_HIGHTRUTH flag) which causes whereLoopOutputAdjust() to ignore that term. (Closed-Leaf check-in: 4558163b6a user: drh tags: stat4-truthprob)
13:35
Disable the new analyzeG.test module if not building with STAT4. (check-in: 4a9d300576 user: drh tags: stat4-truthprob)
13:26
Merge bugfix from trunk. (check-in: b542dee9de user: drh tags: stat4-truthprob)
2020-02-23
17:34
Fix a problem with ALTER TABLE for views that have a nested FROM clause. Ticket [f50af3e8a565776b]. (check-in: c431b3fd8f user: drh tags: trunk)
2020-02-22
18:27
Do not activate the truthProb adjustment mechanism if the truth probability is less than the heuristic value, as there could be correlations unknown to stat4. Also add additional tracing output to make truthProb adjustments more visible. (check-in: c535fea147 user: drh tags: stat4-truthprob)
17:32
Add new test file analyzeG.test, containing a test for the change on this branch. (check-in: 243ab1852a user: dan tags: stat4-truthprob)
16:58
When stat4 information is available, try to use it to improve the truth probability of WHERE clause terms that do not participate in the index. (check-in: 1babd6ec5d user: drh tags: stat4-truthprob)
13:01
In the OP_Column opcode, if the cursor is marked NullRow (due to being the right table of a LEFT JOIN that does not match) and the cursor is the table cursor for an OR-optimization with a covering index, then do not substitute the covering index cursor, since the covering index cursor does not have the NullRow flag set. Ticket [aa4378693018aa99] (check-in: f02030b340 user: drh tags: trunk)
2020-02-20
14:11
Add test case for previous commit. (check-in: 14d14eb537 user: dan tags: trunk)
14:08
Early-out on the INTERSECT query processing following an out-of-memory error. This fixes a potential null pointer dereference found by sakura(@eternalsakura13) of Alpha Team, Qihoo 360. (check-in: a67cf5b7d3 user: drh tags: trunk)
2020-02-19
15:39
Fix a potential NULL pointer dereference following OOM. Problem discovered by dbsqlfuzz. Test case in TH3. (check-in: 5aeb5a2d29 user: drh tags: trunk)
2020-02-18
23:58
Remove a NEVER() macro and add a test case to cause its argument to be true. (check-in: ee034fe916 user: drh tags: trunk)
19:49
Add the new sqlite3_create_filename() and sqlite3_free_filename() interfaces for use by Shims. Use these interfaces inside the multiplexor. (check-in: 9469f36ac8 user: drh tags: trunk)
2020-02-17
23:08
Convert invalid surrogates to 0xfffd when translating UTF. (check-in: 7fab1393c2 user: drh tags: trunk)
19:25
A better (smaller and faster) solution to ticket [4374860b29383380]. (check-in: abc473fb8f user: drh tags: trunk)
00:12
Take care when checking the table of a TK_COLUMN expression node to see if the table is a virtual table to first ensure that the Expr.y.pTab pointer is not null due to generated column optimizations. Ticket [4374860b29383380]. (check-in: 9d0d4ab95d user: drh tags: trunk)
2020-02-16
17:40
Avoid an infinite recursion on an illegal recursive definition of an fts5vocab table. (check-in: 109ee07433 user: drh tags: trunk)
2020-02-13
22:12
Fix problems in the constant propagation optimization that were introduced by check-in [1c3e5c20a9e6f501]. Fix for ticket [1dcb4d44964846ad] (check-in: c9a8defcef user: drh tags: trunk)
14:51
Disallow the skip-scan optimization in the absence of sqlite_stat1 data. (check-in: e0c6b8bdb7 user: drh tags: trunk)
13:45
Omit O_NOFOLLOW from the open() call when opening /dev/null, since /dev/null is a symlink on Solaris, we are told. (check-in: 0c683c43a6 user: drh tags: trunk)
11:46
Fix an incorrect assert() statement that was added yesterday. Tickets [41c1456a6e61c0e7] and [fb8c538a8f57ae2a]. (check-in: abfb043ebb user: drh tags: trunk)
2020-02-12
20:50
Increase the default upper bound on the number of parameters in a single SQL statement to 32766 (from 999). (check-in: 2def75693a user: drh tags: trunk)
11:57
When determining whether an == or IS constraint in a WHERE clause makes an ORDER BY term redundant, consider the collation sequence used by the == or IS comparison, not the collation sequence of the comparison expression itself. Possible fix for [fb8c538a8f]. (check-in: 16aed5d0c6 user: dan tags: trunk)
2020-02-10
19:37
Fix a typo in the in-tree begin-concurrent documentation (check-in: b13dae1cb3 user: drh tags: begin-concurrent)
19:24
Mark the sha1() extension function as SQLITE_DETERMINISTIC. (check-in: 7d8dcfb95c user: drh tags: trunk)
13:29
Fix the build for when SQLITE_VDBE_COVERAGE is used. (check-in: 084381649e user: drh tags: trunk)
2020-02-07
19:44
During byte-code generation, strive to avoid jumps that merely jump to the following instruction. (check-in: bcf876e67e user: drh tags: trunk)
01:12
Simplify the code by removing the unsupported and undocumented SQLITE_HAS_CODEC compile-time option (check-in: 5a877221ce user: drh tags: trunk)
2020-02-06
20:46
There is no need to keep track of the number of changed rows or of the last-insert-rowid while running VACUUM. (check-in: a8a7c05b16 user: drh tags: trunk)
15:38
Unroll the comparison loop inside keywordCode() for to avoid unnecessary comparisions and thus help that routine run faster. (check-in: cec5f920f5 user: drh tags: trunk)
13:57
Separate OP_IdxInsert and OP_SorterInsert into completely separate opcodes, helping each one to run a little faster. (check-in: 447d71f086 user: drh tags: trunk)
13:09
Remove dead code from the sqlite3_filename_database() function. (check-in: 1b6185550f user: drh tags: trunk)
11:08
Merge changes on 3.31 branch into reuse-schema. (check-in: 6dbb8cb0e3 user: dan tags: reuse-schema-3.31)
11:02
Fix a 4 byte OOB read in test_multiplex.c. (check-in: 6279f69f0f user: dan tags: branch-3.31)
10:55
Fix some fts3 problems found by usan. (check-in: fb7ccf61be user: dan tags: trunk)
2020-02-05
18:28
Small size reduction and performance improvement in the sqlite3VdbeMemFromBtree() interface used to pull content out of the b-tree and into an sqlite3_value object. (check-in: ae6dd8d3e9 user: drh tags: trunk)
2020-02-04
20:22
Merge latest trunk/wal2 changes, including the SQLITE_ENABLE_CORRUPT_PGNO patch, with this branch. (check-in: 76668b5589 user: dan tags: begin-concurrent-pnu-wal2)
20:11
Merge latest trunk changes into this branch. (check-in: 6ad4d6b7ff user: dan tags: wal2)
20:09
Merge latest trunk changes, including the SQLITE_ENABLE_CORRUPT_PGNO patch, into this branch. (check-in: 23bc80cc86 user: dan tags: begin-concurrent-pnu)
20:08
Merge latest trunk changes, including the SQLITE_ENABLE_CORRUPT_PGNO patch, into this branch. (check-in: f253618ac6 user: dan tags: begin-concurrent)
20:01
Enable more detailed log messages in SQLITE_ENABLE_CORRUPT_PGNO builds if database corruption is encountered. (check-in: 57c36a293e user: dan tags: trunk)
01:41
Extend the OP_Copy-coalesce optimization fix of check-in [b36126c1889e323c] so that it is also correctly disabled by the CASE operator. Ticket [9d3666754ac37d5a]. (check-in: 29a969d6b1 user: drh tags: trunk)
00:55
Fix a problem with the byte-code decompiler that was inserted by the enhancements at [4248980a356f659b] (check-in: af63e95dcd user: drh tags: trunk)
2020-02-03
19:56
Cosmetic change to the xfer-optimization to put the OP_RowData opcode closer to the corresponding OP_Insert opcode. This makes it slightly easier to read and understand the code. (check-in: 0ea2dbfc90 user: drh tags: trunk)
12:25
Increase the version number to 3.32.0. (check-in: 8130bbb421 user: drh tags: trunk)
2020-02-01
21:03
On an INSERT or UPDATE, perform affinity conversions on new data prior to running CHECK constraints. Ticket [86ba67afafded936]. (check-in: 1d4f86201d user: drh tags: trunk)
17:38
Fix the comment display for the OP_Function opcode. And at the same time, improve the comment generating logic to make use of the newer sqlite3_str_appendf() interface. (check-in: 4248980a35 user: drh tags: trunk)
14:29
Fix a problem in sqlite3CodecQueryParameters() that was introduced by the query parameter encoding changes for the 3.31.1 release. (check-in: 1240ee4f6f user: drh tags: apple-osx)
14:20
Merge the sqlite3CodecQueryParameters() fix into trunk. (check-in: a812f53369 user: drh tags: trunk)
13:30
Fix a problem in sqlite3CodecQueryParameters() that was introduced by the query parameter encoding changes for the 3.31.1 release. (check-in: cc65ca5412 user: drh tags: branch-3.31)
00:08
Merge version 3.31.1 (check-in: d250d085fa user: numist tags: apple-osx)
2020-01-31
14:52
Fix a minor typo in a comment in the btreeinfo extension. (check-in: b5a66d10f4 user: drh tags: trunk)
2020-01-29
15:03
Fix a problem with the processing of IN(...) constraints handled by virtual table implementations that do not set the "omit" flag when the virtual table column contains at least one NULL value. (check-in: dcb4838757 user: dan tags: trunk)
13:56
Add a test case for commit [ffd8bb93]. (check-in: bcd5b37b8e user: dan tags: trunk)
13:50
Remove a NEVER() that is in fact reachable. Test cases in dbsqlfuzz and TH3. (check-in: ffd8bb9351 user: drh tags: trunk)
13:10
Add new memory barriers during initialization. (check-in: a9b2adc5d6 user: drh tags: trunk)
12:37
Modify a couple of FTS test cases so that they work on big-endian platforms. (check-in: b20503aaf5 user: drh tags: trunk)
2020-01-28
20:27
Faster decoding of 32-bit variable-length integers in cases were we do not need to know the number of bytes in the encoding. (check-in: 59a31b16b5 user: drh tags: trunk)
20:09
Small performance improvement to the key-comparision routine for strings. (check-in: 41454499a2 user: drh tags: trunk)
18:09
Reinstate the optimization of converting "a IN (C)" into "a=C" but only if C is a constant. If the RHS is a table column, the complications of managing affinity and collations become too involved to mess with. (check-in: 8ac26a23d7 user: drh tags: trunk)
16:55
Fix a 4 byte OOB read in test_multiplex.c. (check-in: 912148913c user: dan tags: trunk)
15:02
Minor change for compatibility with the s390 architecture. (check-in: 04885763c4 user: drh tags: trunk)
2020-01-27
19:55
Version 3.31.1 (check-in: 3bfa9cc97d user: drh tags: trunk, release, version-3.31.1)
17:09
Update the version number to 3.31.1. (check-in: 6fb9a8fb85 user: drh tags: trunk)
14:40
Revise the layout of filenames in the Pager object so that it is unchanged from prior versions. It turns out that some important 3rd-party software does questionable pointer manipulations on those filenames that depend on that legacy layout. Technically, this is a misuse of SQLite by the 3rd-party software, but we want to avoid unnecessary breakage. (check-in: 34ab760689 user: drh tags: trunk)
2020-01-23
15:00
Fix typos in the sqlite3ext.h header file that prevent some newer APIs from being accessed from loadable extensions. (check-in: 14331989fc user: drh tags: trunk)
00:08
Fix variable declaration issue seen with MSVC. (check-in: 8a6fe3066c user: mistachkin tags: trunk)
2020-01-22
23:08
Fix a NEVER() macro that can be true if compiled with SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION. Ticket [b985f0bd1636d9bc] (check-in: 9f0f5d593a user: drh tags: trunk)
21:18
Merge version 3.31.0 (check-in: 9c3f46384d user: drh tags: begin-concurrent-pnu-wal2)
21:12
Merge version 3.31.0 (check-in: 3bb267deb1 user: drh tags: wal2)
21:06
Merge version 3.31.0 (check-in: e65e6c01d6 user: drh tags: begin-concurrent-pnu)
20:56
Merge version 3.31.0 (check-in: bbbc2881b9 user: drh tags: begin-concurrent)
20:36
Merge version 3.31.0 (check-in: 0eae87ad11 user: drh tags: apple-osx)
20:02
Merge in version 3.31.0 (check-in: f418afa1bf user: drh tags: reuse-schema)
18:38
Version 3.31.0 (check-in: f6affdd416 user: drh tags: trunk, release, version-3.31.0)
2020-01-21
21:01
Begin adding instrumentation to record and report on the set of key-ranges a concurrent transaction reads from the database. (check-in: c39e3c14a9 user: dan tags: begin-concurrent-report)
16:31
Update test file exclusive.test so that it works with the "journaltest" permutation. (check-in: 4daf94d833 user: dan tags: trunk)
16:23
Fix a problem with using views in SQLITE_OMIT_VIRTUAL_TABLE builds. Also some test case fixes required for the same builds. (check-in: 934ee8bdb4 user: dan tags: trunk)
15:01
Fix a case in fts3auto.test that fails for SQLITE_DISABLE_FTS4_DEFERRED builds. (check-in: d241055ead user: dan tags: trunk)
14:42
Fix an assert() that could fail in SQLITE_MUTATION_TEST builds following an error in a query that uses CTEs. (check-in: c7e29458a7 user: dan tags: trunk)
13:40
Fix a problem in the userauth extension causing it to occasionally set "PRAGMA count_changes" (and some others) to true. (check-in: 3a62f64222 user: dan tags: trunk)
12:29
Fix the series.c and spellfix.c extensions to use SQLITE_VTAB_INNOCUOUS correctly. Fix the documentation on sqlite3_vtab_config() to take into account SQLITE_VTAB_INNOCUOUS and SQLITE_VTAB_DIRECTONLY. (check-in: 9265cb7f02 user: drh tags: trunk)
01:45
Improvements to the autoconf TEA Makefile for MSVC. (check-in: cffcf12f03 user: mistachkin tags: trunk)
2020-01-20
15:32
Merge recent fixes from trunk. (check-in: 9c920bbad3 user: drh tags: reuse-schema)
14:42
In the fuzzcheck test program, reduce the default expression depth limit from 1000 to 500 to avoid stack-overflow problems when running stress tests using clang ASAN. (check-in: 63d886f4ce user: drh tags: trunk)
2020-01-19
20:37
Enhancement to the CLI to allow the ".parameter init" command to work even if defensive mode is turned on. (check-in: 4d46255096 user: drh tags: trunk)
2020-01-18
23:52
Documentation improvements. (check-in: 535afe1509 user: drh tags: trunk)
22:20
In the TCL interface, add the ability to change the SQLITE_DBCONFIG_TRUSTED_SCHEMA setting using the "db config" method. (check-in: 1accfa8cf0 user: drh tags: trunk)
21:34
Allow non-deterministic function in CHECK constraints. It turns out that PostgreSQL, MySQL, and SQLServer all allow this. We should not be the the exception. Ticket [830277d9db6c3ba1] (check-in: 8c8ce526ad user: drh tags: trunk)
19:58
Fix a couple of test case issues on this branch. (check-in: 9830a44bc6 user: dan tags: reuse-schema)
19:46
Do not use memcpy() of zero bytes when initializing a pager. This avoids a warning. (check-in: cca437788e user: drh tags: trunk)
19:07
Disable a redundant test case that uses a very large stack, and hence is unable to run with -fsanitize=undefined,address. (check-in: 3c63f68e12 user: drh tags: trunk)
19:02
Fix harmless compiler warning seen with MSVC. (check-in: cd0437ba5b user: mistachkin tags: trunk)
18:59
Have this branch call sqlite3LockAndPrepare() instead of sqlite3Prepare() when parsing SQL for new schema objects in order to ensure that schemas are released as soon as possible. (check-in: 7a4ec57985 user: dan tags: reuse-schema)
14:50
Add extra front margin to the fake empty filename returned by sqlite3PagerFilename() for an in-memory or TEMP database. (check-in: fee945671a user: drh tags: trunk)
13:53
Fix the VDBE so that it correctly handles the sequence of operations OP_OpenEphemeral, OP_OpenDup, OP_OpenEphemeral, and OP_OpenDup in that order on the same cursor. (check-in: a1be6ee018 user: drh tags: trunk)
2020-01-17
23:27
Fix a typo in a comment. No code changes. (check-in: 4363f69c3a user: drh tags: trunk)
21:12
The compress() function should not be deterministic since the same input can have multiple possible compressed outputs. The uncompress() function, on the other hand, is deterministic. (check-in: 84f314902c user: drh tags: trunk)
19:14
Fix #ifdefs so it compiles cleanly with all SQLITE_OMIT compile-time options. Update compile-time option testing. (check-in: 7584e4b649 user: drh tags: trunk)
16:47
Improved rounding in the 'unixepoch' feature of the date and time functions. (check-in: c9abf1bd2d user: drh tags: trunk)
15:45
Update test script instrfault.test to account for the fact that bound blob values cast to text values are now intepreted using the text encoding of the database, instead of always as utf-8. (check-in: 4d6cb28811 user: dan tags: trunk)
15:33
More restrictions on changes to shadow tables when in defensive mode. (check-in: b302b260ca user: drh tags: branch-3.28)
15:24
Validate the type, name, and tbl_name fields of the sqlite_master table when loading the schema, unless writable_schema is engaged. (check-in: 3d13fbf248 user: drh tags: branch-3.28)
14:56
Do not allow shadow tables to be dropped in defensive mode. (check-in: ad1f760f16 user: drh tags: branch-3.28)
14:30
Import the 3.31.0-beta FTS3/4 code directly into the 3.28 branch, thus providing 3.28 with all the latest 3.31 fixes. FTS3 has not been enhanced to use any core functionality that was not already available in 3.23, so no modifications were made to FTS3 sources for this import. (check-in: be4269c624 user: drh tags: branch-3.28)
14:18
Import all FTS3/4 enhancements and fixes that exist on the latest trunk (3.31.0-beta) that do not require extensive change to the SQLite core into the 3.22 branch. Basically, the 3.31.0 FTS3 sources are copied into 3.22.0, with minor changes to work around core enhancements that are not available in 3.22.0. (Leaf check-in: cbcbb1e5a9 user: drh tags: branch-3.22)
11:18
Fix a case in "fuzz.test" that could fail, as non-deterministic functions may no longer appear in CHECK constraints. (check-in: a370871e21 user: dan tags: trunk)
2020-01-16
17:53
New testcase() macros in select.c, for coverage of the change from two check-ins ago. (check-in: 52206488f3 user: drh tags: trunk)
16:32
Add the SQLITE_FCNTL_CKPT_DONE file-control for the use of custom VFSs. (check-in: 3cc39e5069 user: dan tags: trunk)
16:12
Do not allow the constant-propagation optimization to apple to ON/USING clause terms as it does not help and it might cause downstream problems. (check-in: 1bc783da63 user: drh tags: trunk)
13:02
Very small performance improvement by ensuring that the argument to sqlite3VdbeFreeCursor() is non-NULL. Hold for the next sprint. (Leaf check-in: f8801ffd94 user: drh tags: close-cursor-faster)
12:25
Fix an SQL syntax error in the comment on the omit-left-join optimization. No changes to code. (check-in: 86b5e5a20e user: drh tags: trunk)
11:51
Clean up the definitions of the TERM_ constants in the code generator. Formatting only - no logic changes. (check-in: af06f80a59 user: drh tags: trunk)
2020-01-15
17:18
Fix the assert_schema_state_ok() routine so that it correctly ignores ATTACH-ed database that failed to open due to an error. (check-in: 1194a42add user: drh tags: reuse-schema)
16:20
Do not allow the "PRAGMA encoding" statement to change the database encoding if TEMP content exists, or content in any other attached database. Formerly, encoding changes were allowed if just the main database file was empty. Ticket [a08879a4a476eea9]. (check-in: 03b003c988 user: drh tags: trunk)
14:26
Merge all recent enhancements and fixes from trunk. (check-in: f783917800 user: drh tags: reuse-schema)
14:21
Merge in the latest trunk changes via the begin-concurrent-pnu branch. (check-in: 350627f3b1 user: drh tags: begin-concurrent-pnu-wal2)
14:11
Merge recent enhancements and fixes from trunk. (check-in: 35eae71a4d user: drh tags: wal2)
13:48
Merge all recent enhancements and fixes from trunk. (check-in: 110a081f12 user: drh tags: begin-concurrent-pnu)
13:34
Merge fixes and enhancements from trunk into begin-concurrent. (check-in: 95ba2f50fd user: drh tags: begin-concurrent)
12:49
Merge all recent enhancements and fixes from trunk into the apple-osx branch. (check-in: dadedf41c7 user: drh tags: apple-osx)
2020-01-14
16:50
Fix the urifuncs.c extension (used for testing and debugging only) so that the sqlite3_filename_database() SQL function and its siblings correctly handle an invalid schema name passed in as the argument. (check-in: 3d7434a9d8 user: drh tags: trunk)
16:39
Remove an ALWAYS on a branch for improved database corruption detection in btree.c:freeSpace(). Test case found by dbsqlfuzz. (check-in: 54bf048119 user: drh tags: trunk)
16:33
Add the new noop_nd() debugging function to the noop.c extension. (check-in: 72911fb1b0 user: drh tags: trunk)
13:24
For the showdb utility program, more accurate detection of when the database is in autovacuum mode for the "pgidx" subcommand. (check-in: 9ce2192b81 user: drh tags: trunk)
13:13
Fix a minor typo on a comment in the CLI implementation. (check-in: db4fb3503c user: drh tags: trunk)
00:52
Improvements to sqlite3_open_v2() documentation. (check-in: 4c4fd62a09 user: drh tags: trunk)
2020-01-13
15:25
More documentation updates. No code changes. (check-in: a684d4ef08 user: drh tags: trunk)
13:33
Documentation updates. No changes to code. (check-in: cc0e0aa3a7 user: drh tags: trunk)
2020-01-12
22:38
Better than removing the incorrect assert() is to change it into a testcase() together with a comment indicating where an appropriate test case can be found, and the ticket that provoked the change. Ticket [614b25314c766238] (check-in: 3e3c60d812 user: drh tags: trunk)
22:25
Change the zipfile virtual table so that the xBestIndex method gives a reasonable cost estimate even if no filename is specified. The missing filename error continues to be raised in the xFilter method. Meanwhile, the more reasonable cost estimate avoids unnecessary wierdness in the query planner. (check-in: 0e468aa6de user: drh tags: trunk)
22:20
Remove an incorrect assert(). Fix for ticket [614b25314c766238] (check-in: 6a999c5aa0 user: drh tags: trunk)
2020-01-11
21:08
New apis: sqlite3_filename_database(), sqlite3_filename_journal(), and sqlite3_filename_wal(). Also sqlite3_uri_key(). And the other sqlite3_uri functions now work using the journal or wal filename in addition to the database file. And the sqlite3_db_filename() result is guaranteed to work as an argument to the sqlite3_uri functions. (check-in: fd7bcc5352 user: drh tags: trunk)
20:27
Minor changes for consistency between sqlite3_filename_wal() and sqlite3_filename_journal(). (Closed-Leaf check-in: 9a70ff43a7 user: drh tags: enhanced-uri)
16:08
Redesign for better legacy compatibility. Add the sqlite3_uri_key() interface. (check-in: bcb43d11c4 user: drh tags: enhanced-uri)
2020-01-10
18:05
Rearchitect the way in which filenames are stored in the Pager object so that the sqlite3_uri_parameter() interface will work from journal and WAL filenames too. This check-in implements the central idea, and compile and runs somewhat, but crashes on an extended test. (check-in: 2ae77bd233 user: drh tags: enhanced-uri)
01:05
Fix to the register validity tracking logic in debug builds. No impact on release builds. (check-in: 0a500da6aa user: drh tags: trunk)
00:20
Begin making changes to turn off trusted schema in command-line tools that open SQLite databases. There are a lot of these, and a lot of places to change, which makes me wonder if trusted schema should be off by default. (Leaf check-in: 3d23a275ab user: drh tags: default-untrusted-schema)
00:00
Documentation updates on newer APIs. No changes to code. (check-in: 8845a8c22a user: drh tags: trunk)
2020-01-09
23:07
Fix the fossildelta.c extension so that it will compile on mingw. (check-in: 20237d5dc4 user: drh tags: trunk)
20:44
Merge in the untrusted-schema enhancements. See doc/trusted-schema.md for details. (check-in: 5720924cb0 user: drh tags: trunk)
20:33
Only register the fts3_tokenizer() function using a single text encoding. (check-in: 966964af10 user: drh tags: trunk)
20:33
Fix a harmless compiler warning. (check-in: edbf911fde user: drh tags: trunk)
20:11
Fix an assert() in window.c that could fail with some obscure SELECT statements that use window functions. Ticket [678ecf429f8d1a5f] (check-in: 83dc55679a user: dan tags: trunk)
16:28
Fix a problem in the encoding display in the updated PRAGMA function_list. (Closed-Leaf check-in: 318ff7720b user: drh tags: new-security-options)
16:00
Fix minor typos in the trusted-schema.md document. (check-in: 87aea3ab1c user: drh tags: new-security-options)
15:18
Minor formatting changes in the trusted-schema.md document. (check-in: 55553b5e5e user: drh tags: new-security-options)
14:51
Design notes for the new-security-options branch. (check-in: af7c1ed4f8 user: drh tags: new-security-options)
13:08
Simplified error message for the unsafe use of a virtual table. (check-in: d662129a60 user: drh tags: new-security-options)
01:20
Fix a problem that restricted edgy functions in TEMP tables. New test cases added. (check-in: 8878c40753 user: drh tags: new-security-options)
2020-01-08
22:22
Block edgy functions used in DEFAULT constraints. (check-in: da434dc149 user: drh tags: new-security-options)
20:37
Performance improvements and test cases added. Allow "PRAGMA trusted_schema=ON" (check-in: 30882ca80f user: drh tags: new-security-options)
17:28
Check for whether or not it is safe to use non-innocuous functions as the function is being coded, not when its name is resolved. (check-in: 1da802d54b user: drh tags: new-security-options)
15:44
Provide the -innocuous option to the "db func" method in the TCL interface. (check-in: 0138652b6c user: drh tags: new-security-options)
15:43
Fix the rot13.c extension to be deterministic. Add the noop.c extension. (check-in: a679122ca8 user: drh tags: new-security-options)
14:39
In the TreeView debugging output, show a "DDL" mark on SrcList and Expr nodes that derive from a non-TEMP schema. (check-in: fe7472fd2a user: drh tags: new-security-options)
13:08
Merge recent changes from trunk. (check-in: 5962921fce user: drh tags: new-security-options)
12:17
When doing a text-to-double conversion on a BLOB with an odd number of bytes and assuming a UTF16 encoding, ignore the last byte. Ticket [9eda2697f5cc1aba]. (check-in: 1c76f1d8ec user: drh tags: trunk)
11:36
Fix a minor formatting error in the display of BLOB values during VDBE tracing. (check-in: 295442887a user: drh tags: trunk)
10:57
Improvements to the documentation of sqlite3_create_collation(). (check-in: fa866aec56 user: drh tags: trunk)
04:36
Simplification of the logic in the constant-propagation optimization. (check-in: 1c3e5c20a9 user: drh tags: trunk)
01:43
Fix the constant propagation optimization so that it does not try to propagate constant expressions that have affinity. Ticket [82ac75ba0093e5dc] (check-in: 6db1c3498f user: drh tags: trunk)
00:39
Fix a misworded comment. No code changes. (check-in: ee0bc7ede0 user: drh tags: trunk)
2020-01-07
19:45
Create the "trusted_schema" pragma. Add sqlite3_vtab_config() calls to set the risk rank for many virtual tables. (check-in: 4c21373c21 user: drh tags: new-security-options)
18:10
Enforce SQLITE_VTABRISK restrictions. (check-in: 3d87ff312e user: drh tags: new-security-options)
18:10
Fix a performance regression caused by the previous check-in. (check-in: d7d98d3dff user: drh tags: trunk)
16:09
Invert the UNTRUSTED_SCHEMA setting to be TRUSTED_SCHEMA. (check-in: f5fcf1fbc6 user: drh tags: new-security-options)
15:44
Merge recent fixes from trunk. (check-in: 5dfa33a09e user: drh tags: new-security-options)
14:51
Provide the ability to tag an application-defined function as "testonly". (Leaf check-in: e6f5c0e0ac user: drh tags: testonly-functions)
13:32
Add an "|| CORRUPT_DB" term to an assert() statement inside of btree. (check-in: 03c1d75ddc user: drh tags: trunk)
09:06
Fix an instance of an undefined behaviour (a left-shift of a 64-bit unsigned integer by a value greater than 64) that could occur in fts3. (check-in: e1f12978b5 user: dan tags: trunk)
2020-01-06
20:48
In the typeof() optimization in OP_Column, expand the size of the bogus buffer provided for data so that it is big enough to cover the increased number of bytes displayed during register tracing from check-in [54553bf16fabd72d]. This is the correct fix for ticket [bbd55a97e66ff50d], though the earlier one does not hurt and is useful to retain. (check-in: e1154c39ba user: drh tags: trunk)
19:30
Merge enhancements from trunk. (check-in: 9c50f6c28a user: drh tags: new-security-options)
19:23
Rewrite the (debugging use only) sqlite3VdbeMemPrettyPrint() function to use the safer StrAccum interface rather than writing directly into a static string buffer. Perhaps this will address ticket [bbd55a97e66ff50d], which we are unable to reproduce. (check-in: 69f6a7e42f user: drh tags: trunk)
18:59
Backout change [4d0b9109f7a5312d4e1] because the conditional it added is no longer reachable due to check-in [1409758f72c0206c]. (check-in: b3f2696705 user: drh tags: trunk)
18:44
Move variable declaration to start-of-block for MSVC. (check-in: 55c136ef61 user: mistachkin tags: trunk)
17:33
Do not attempt to use the skip-scan optimization if prior terms of the index are already used for non-equality constraints. Ticket [304017f5f04a0035] (check-in: d7126a9ced user: drh tags: trunk)
17:06
Ensure the SF_Aggregate flag on a SELECT statement is set if a DISTINCT is transformed to a GROUP BY. Ticket [9c944882]. (check-in: 1409758f72 user: dan tags: trunk)
15:25
Refactor names of flags for improved legibility. (check-in: 411e8ec221 user: drh tags: new-security-options)
2020-01-05
21:53
Remove a NEVER in btree due to a new test case from dbsqlfuzz. (check-in: 46f8ef70fb user: drh tags: trunk)
2020-01-04
20:58
Refactor the names of the new controls for restricting what actions the schema can take behind the application's back. (check-in: 65d7d39a85 user: drh tags: new-security-options)
19:58
Enhance PRAGMA function_list to show internal functions if the direct use of internal functions is enabled via the SQLITE_TESTCTRL_INTERNAL_FUNCTIONS test control. (check-in: 7a8d7ca726 user: drh tags: new-security-options)
19:19
Merge all fixes and enhancements from trunk. (check-in: b878c30f03 user: drh tags: new-security-options)
19:14
Fix DBSTAT so that it returns no rows, rather than an error when the WHERE clause is "schema=NULL". (check-in: 5b246b47ae user: drh tags: trunk)
19:12
Fix harmless compiler warnings. (check-in: 8452fe0343 user: drh tags: trunk)
18:38
Omit the omit flat from eq constraints on column "name" of dbstat virtual tables. Fix for [74a4c386]. (check-in: cfff5cb227 user: dan tags: trunk)
18:33
Record when the OP_IfNotOpen branch is and is not taken. (check-in: 182a898b14 user: drh tags: trunk)
17:55
Remove another NEVER added by check-in [7b62555e285f32d3]. Dbsqlfuzz found another test case. (check-in: 481f4956af user: drh tags: trunk)
17:42
New test cases in test/in4.test require rtree, so disable those tests on builds that lack the rtree extension. (check-in: b5900914f7 user: drh tags: trunk)
16:55
Fix a problem where the loop for the RHS of a LEFT JOIN uses values from an IN() clause as the second or subsequent field of an index. (check-in: 95ef68966c user: dan tags: trunk)
15:37
Merge the latest fixes from trunk. (check-in: 26ef709a47 user: drh tags: new-security-options)
15:21
Fix a false-positive in the register validity tracking logic by moving the temporary register release call before the jump that uses that temporary register. (check-in: 9da48a5ca6 user: drh tags: trunk)
14:57
Improve a testcase in test/fuzzdata8.db to make it more resilient. (check-in: 139aefe600 user: drh tags: trunk)
14:50
Back out another NEVER added by check-in [7b62555e285f32d3] - the test case was already in test/fuzzdata3.db, but it only occurs if compiled without SQLITE_ENABLE_PREUPDATE_HOOK. (check-in: 61f873b14c user: drh tags: trunk)
14:00
Omit the omit flag from eq constraints on column "aggregate" of dbstat virtual tables. Fix for [727074e2]. (check-in: 74ef6f2b6d user: dan tags: trunk)
12:34
Restore a NEVER and an assert in btree that was removed by check-in [7b62555e285f32d3]. Dbsqlfuzz found test cases. (check-in: 04a05c83f5 user: drh tags: trunk)
01:43
Enhance PRAGMA function_list so that it shows all instances of each FuncDef, the number of arguments, the encoding, the type, and the flags. Use this capability to locate and fix incorrect function flags in the standard build. (check-in: 9ca906d24a user: drh tags: new-security-options)
2020-01-03
21:57
Invert the SQLITE_FUNC_SAFE bit to be SQLITE_FUNC_UNSAFE. The external bit is still SQLITE_INNOCUOUS. It gets inverted as the appdef function is registered. (check-in: 1c266cb3be user: drh tags: new-security-options)
20:57
When UNSAFE_IN_VIEW is disabled, only allow functions in views that are tagged with SQLITE_INNOCUOUS. (check-in: 9ee79b254e user: drh tags: new-security-options)
20:16
In fts3, avoid making a very large memory allocation if the merge-hint record is corrupt. (check-in: 9add58fe96 user: dan tags: trunk)
17:40
Add NEVER macros to error-detection branches that were made unreachable (as far as I can tell) by check-in [ceacc28b03580334]. (check-in: 7b62555e28 user: drh tags: trunk)
16:38
Improvement to check-in [7405e98225761180] so that missing or null filenames given to the zipfile extension throw an immediate error. (check-in: 523e09bd22 user: drh tags: trunk)
15:51
Improve a specific case of early database corruption dectecion in the b-tree layer. (check-in: ceacc28b03 user: dan tags: trunk)
15:22
Merge fixes from trunk. (check-in: 002406df22 user: drh tags: new-security-options)
14:34
Remove an over-zealous ALWAYS() macro and add a test case that shows that the conditional can sometimes be false. (check-in: 536e9a9d1b user: drh tags: trunk)
14:27
Fix a possible NULL pointer dereference caused by using a "VALUES(...)" as a component of a compound SELECT with non-integer ORDER BY clause terms. (check-in: 9d79111642 user: dan tags: trunk)
14:16
Fix the OP_Copy-coalesce optimization so that if the previous row happens to end with OP_Copy but is not a candidate for the optimization due to jumps, then the optimization is correctly bypassed. (check-in: b36126c188 user: drh tags: trunk)
13:55
Ensure that when a Select object is reset a new, empty, SrcList is allocated. (check-in: 4889cbf898 user: dan tags: trunk)
02:20
When generating the name of a view (or common table expression) because the SQL does not specify a name, avoid the names "true" and "false" which might be confused for the boolean literals of the same name, leading to an inconsistent abstract syntax tree. (check-in: ff9492d3ff user: drh tags: trunk)
00:28
Fix a problem in sqlite3TreeViewBareExprList() in which the routine was not interpreting the new ExprList format correctly. (check-in: cd56872afb user: drh tags: trunk)
2020-01-02
23:50
Merge enhancements from trunk. (check-in: 091403a670 user: drh tags: new-security-options)
22:28
Add the two-size lookaside memory allocator. Also, reduce the per-entry size of the ExprList object. (check-in: 51665bf0f9 user: drh tags: trunk)
22:23
NEVER() and ALWAYS() macros tagging unreachable branches. (Closed-Leaf check-in: 34b877742e user: drh tags: two-size-lookaside)
21:41
Merge the latest enhancements from trunk. (check-in: bd57e6d923 user: drh tags: two-size-lookaside)
21:30
Do not allow the zipfile virtual table to start a transaction if no filename has been specified. (check-in: 7405e98225 user: drh tags: trunk)
19:50
Fix some test logic in the OP_Delete opcode so that it works after a cursor-trip. (check-in: 28900e5cab user: drh tags: trunk)
18:37
Ifdef-out code that is only possible with the sessions extension. (check-in: 4fcf07f796 user: drh tags: trunk)
17:46
Have the OP_ReleaseReg opcode also invalidate the registers if P5 is non-zero. (check-in: 937be22106 user: drh tags: trunk)
16:24
Handle blobs that are the return values of functions being cast to text in utf16 databases in the same way as blobs read directly from the database. Fix for [771fe617]. (check-in: e782096aa0 user: dan tags: trunk)
15:02
Fix the OP_Move opcode so that it correctly manages dependency tracking. This change impacts debugging builds only. (check-in: 5377add4b8 user: drh tags: trunk)
14:42
Enhancements to aid testing and debugging: In PRAGMA vdbe_trace=on output, show pScopyFrom dependencies on register values. Add the sqlite3VdbeRegisterDump() procedure, callable from a debugger, that shows the values of all registers. Pass the VDBE pointer into test_trace_breakpoint() so that sqlite3VdbeRegisterDump() is callable from the breakpoint. (check-in: 9886cb4b79 user: drh tags: trunk)
13:26
Add the test_trace_breakpoint() subroutine that is invoked after each instruction is printed while running PRAGMA vdbe_trace=on. Only works for SQLITE_DEBUG builds. Also add parameters "pc" and "pOp" to test_addop_breakpoint() to make it easier to set conditionals. (check-in: 49a6368c38 user: drh tags: trunk)
02:50
Use OP_Copy instead of OP_SCopy to move the results of a scalar subquery. (check-in: 435c272dcf user: drh tags: trunk)
00:45
The sqlite3WhereEnd() call now unwinds all Expr modifications made by the sqlite3WhereBegin(). (check-in: 7bfd42f1dc user: drh tags: trunk)
2020-01-01
23:02
Provide the -DSQLITE_ENABLE_INTERNAL_FUNCTIONS=1 compile-time option. Fix the ".testctrl internal_function" command in the CLI so that it does not signal an error on a valid input. (check-in: 8ee2ce92c0 user: drh tags: trunk)
21:14
When generating code for a subquery, make a copy of the Select object and generate the code out of the copy, in case the code generator makes modifications to expression and the Select object needs to be reused. (check-in: 4edddcc0bc user: drh tags: trunk)
20:17
Ensure that when code for a scalar SELECT featuring window functions is generated more than once by the planner, separate ephemeral tables are opened for each instance. (check-in: ce14173252 user: dan tags: trunk)
16:43
Fix the sqlite3ExprImpliesNonNullRow() routine so that it correctly handles a numeric comparison of two AND subexpressions. (check-in: 07e504d517 user: drh tags: trunk)
15:43
New test-only SQL functions: implies_nonnull_row(), expr_compare(), and expr_implies_expr(). The SQLITE_TESTCTRL_INTERNAL_FUNCTIONS test-control is modified to toggle internal function access on and off for a single database connection. (check-in: 473892a8ec user: drh tags: trunk)
13:55
Factor out code generation for in-line SQL functions into a separate routine inside of expr.c. (check-in: 586a65a28f user: drh tags: trunk)
01:26
Issue OP_ReleaseReg opcodes against the array of registers used to compute index records after the index record has been computed. (check-in: e3330861b4 user: drh tags: trunk)
2019-12-31
23:17
Remove an incorrect assert() statement. Ticket [46fcd700b855e6d1] (check-in: eca7ec9cda user: drh tags: trunk)
22:52
Experimental branch with new sqlite3_db_config() options that could possible enhance security for applications reading potentially compromised database files. (check-in: 96a2db2612 user: drh tags: new-security-options)
18:39
Also set the SQLITE_DIRECTONLY flag on the load_extension() function. (check-in: 3bd095a531 user: drh tags: trunk)
18:12
Set the SQLITE_DIRECTONLY flag on the fts3_tokenizer() function of FTS3, thus preventing that function from being called from within a trigger or view. (check-in: f3171dc22e user: drh tags: trunk)
15:12
Refactor names. Use "small" instead of "mini" to describe the smaller of the two lookaside memory allocation sizes. (check-in: 88d2449838 user: drh tags: two-size-lookaside)
14:49
Merge recent enhancements from trunk. (check-in: 39d5557937 user: drh tags: two-size-lookaside)
12:18
The OP_ResultRow opcode releases the SCopy dependences on all its registers, as the values in those registers will not be reused. (check-in: 1dc83c5d54 user: drh tags: trunk)
2019-12-30
23:50
Back out the NEVER() from check-in [40d10e7aad5b8992] because it is reachable after all. Ticket [892575cdba4e1e36] (check-in: f481636f1a user: drh tags: trunk)
23:41
Add an ALWAYS() to a conditional which is apparently always true. (check-in: ea44c607b8 user: drh tags: trunk)
20:42
Put a NEVER() on a defensive branch. (check-in: 40d10e7aad user: drh tags: trunk)
20:42
Fix a typo in a comment. No changes to code. (check-in: d4813a8d81 user: drh tags: trunk)
14:32
Do not use HIDDEN columns for NATURAL joins. Fix for [7c0e06b16]. (check-in: ab09ef4271 user: dan tags: trunk)
06:55
In ALTER TABLE, rename columns and tables in expressions that are optimized out by the "AND 0" optimization. Doing this also fixes an otherwise harmless assert() failure. (check-in: a9e0354c99 user: dan tags: trunk)
2019-12-29
22:08
Do not allow triggers that run as part of REPLACE conflict resolution during an UPDATE to modify the the table being updated. Otherwise, those triggers might delete content out from under the update operation, leading to all kinds of problems. Ticket [314cc133e5ada126] (check-in: db4b7e1dc3 user: drh tags: trunk)
00:52
Add the OP_FinishSeek opcode which completes an OP_DeferredSeek if the seek has not already completed. Also add the sqlite3WhereUsesDeferredSeek() interface to the query planner. The UPDATE implementation adds an OP_FinishSeek before running the final OP_Insert if one is needed. Ticket [ec8abb025e78f40c] and also an assertion fault reported by Yongheng. (check-in: 21ef6e9933 user: drh tags: trunk)
2019-12-28
18:25
Do not attempt to flatten compound sub-queries in a FROM clause into the parent if any component of the sub-query uses a window function. (check-in: eeb76f621d user: dan tags: trunk)
18:08
Change an assert() in where.c to a testcase() macro, since the condition may be false. This was a problem with the assert() only, there is no bug in release builds that omit assert(). (check-in: 82be135dee user: dan tags: trunk)
16:20
Disable early coding of transitive constraints at the end of each loop in the WHERE clause processing if the loop being coded is for a LEFT JOIN, even if the loop is part of an OR-clause optimization for virtual tables. Test cases in TH3. (check-in: 9421b442ca user: drh tags: trunk)
15:24
Fix an instance where the planner might choose to use the OR-optimization when it adds no benefit. The same quirk causes an assert() to fail. This is not a bug in released versions - without the assert() the library still gets the right answer, it just does so less efficiently than it should. (check-in: f4bed1d7af user: dan tags: trunk)
14:33
Further improvements to .wheretrace during loop code generation. (check-in: c4d5b75c93 user: drh tags: trunk)
14:07
New enhancements to .wheretrace. The 0x20000 flag shows the WHERE clause before and after coding each loop. The 0x800 flag shows status at the start and at the end of each loop. An extra "C" tag is shown on coded terms. (check-in: 59cc46e5a6 user: drh tags: trunk)
13:39
Expose some of the Where data structure debug printing routines to the entire WHERE-clause processing module. (check-in: 85e7688776 user: drh tags: trunk)
13:17
Add the --enable-all option to the main configure script as a short-hand to enable FTS4, FTS5, Geopoly/Rtree, JSON, and Sessions. In the amalgamation-autoconf, the --enable-rtree option (which is enabled by default) also now activates Geopoly. (check-in: 52ea0672d7 user: drh tags: trunk)
13:01
Simplifications to the initialization of the sqlite3_index_info structure that is used to communicate with virtual table modules. Avoid adding unused constraints to the sqlite3_index_info structure. Extra constraints are harmless, but might be confusing to people trying to understand the code. (check-in: 5e6357fc95 user: drh tags: trunk)
12:33
If the ".wheretrace 0x10000" bit is set, print WhereTerm.prereqAll and .prereqRight fields in the WhereTerm trace output. (check-in: a4f330b133 user: drh tags: trunk)
11:55
Two new test cases added to test/fuzzdata8.db. (check-in: 1be2c18f40 user: drh tags: trunk)
09:08
Second attempt to fix a problem with unwinding the WITH stack of the Parse object following an error. (check-in: 315d1f1a50 user: dan tags: trunk)
08:33
Merge latest trunk changes with this branch. (Closed-Leaf check-in: d693be3753 user: dan tags: better-error-handling-1)
08:26
Fix an assert() failure in altertable3-22.4. (check-in: c566a91d5c user: dan tags: better-error-handling-1)
03:55
Fix a faulty assert() associated with query search limiting query plans. (check-in: 0d743585c2 user: drh tags: trunk)
02:40
Convert an assert() back into a conditional. The conditional was converted into an assert() by check-in [6ae4ad6ebee4db88] (2009-05-28) because we were unable to find a test case for it. Yongheng's fuzzer just now found that test case. (check-in: 4d0b9109f7 user: drh tags: trunk)
01:52
When an INSERT is receiving content from a SELECT, run an OP_ReleaseReg opcode at the top of each iteration of the loop in order to prevent spurious OP_SCopy misuse complaints. Ticket [de4b04149b9fdeae] (check-in: 6afadd3b3a user: drh tags: trunk)
00:36
Recompute the values for all generated columns after NOT NULL ON CONFLICT REPLACE constraints fire. Tickets [37823501c68a09f9] and [5fbc159eeb092130]. (check-in: 4cc12c1886 user: drh tags: trunk)
2019-12-27
20:54
Do not attempt to unwind the WITH stack in the Parse object following an error. This fixes a separate case to [de6e6d68], but also causes an assertion fault at select.c:4666 for test case altertab3-22.4. (check-in: d29edef934 user: dan tags: better-error-handling-1)
20:06
Remove a NEVER() that is no longer true. Fix for [36ffedcb9]. (check-in: 597896ed0a user: dan tags: trunk)
19:46
Fix a problem involving window function aliases being referenced from sub-selects. (check-in: e3b5fc05c0 user: dan tags: trunk)
18:15
Add a missing "ifcapable rtree {...}" line to the window1.test test module. (check-in: 4e6fbb1a51 user: drh tags: trunk)
16:25
Fix a problem with window functions in aggregate queries that do not have GROUP BY clauses. (check-in: 99609786f4 user: dan tags: trunk)
15:31
Do not mistake constant integers in a PARTITION BY expression for references to ORDER BY style references to values returned by the SELECT statement. (check-in: 45c64d39d5 user: dan tags: trunk)
13:30
Follow-up to check-in [c8c6dd0e6582ec91] - change the xAccess() method to return true if the file exists and it is anything other than a regular file, or if it is a regular file with a non-zero file size. (check-in: 8a39803ef8 user: drh tags: trunk)
08:57
When determining if an aggregate within a sub-query should be processed as part of the sub-query or an outer query, consider any FILTER clause in the same way as the arguments to the aggregate. (check-in: 1ffc045d2b user: dan tags: trunk)
01:50
Ensure that the Pager.changeCountDone flag is cleared whenever dropping the write lock, even when transitioning from EXCLUSIVE locking mode into NORMAL locking mode while in WAL mode. Ticket [fb3b3024ea238d5c]. (check-in: 846b1de6e5 user: drh tags: trunk)
00:19
Fix buffer underflows in the zipfile extension associated with zero-length or NULL filename in the ZIP archive. But report on the mailing list by Yongheng and Rui. (check-in: 465a15c5c2 user: drh tags: trunk)
2019-12-26
23:40
If an UPSERT can cause an Abort due to a constraint failure, make sure the query planner knows this. Ticket [7c13db5c3bf74001]. (check-in: f14ce94866 user: drh tags: trunk)
23:16
An UPDATE of a table that is indexed by a constant virtual column that uses the one-pass optimization might cause the table seek to be omitted before reaching row DELETE/INSERT. Fix this by coding an extra OP_Column in that circumstance. Ticket [ec8abb025e78f40c] (check-in: e545604959 user: drh tags: trunk)
14:36
Fix an assert() in fts5 that could fail if an xSavepoint() call on another vtab fails. Fix for [167b2aac] . (check-in: a5d7f5d24a user: dan tags: trunk)
01:10
Makefile.in fix so that it works on systems that require a .EXE suffix on executables. (check-in: f482a4cdfa user: drh tags: trunk)
01:02
Add two new fuzzer test cases from dbsqlfuzz. (check-in: f8d5586a8c user: drh tags: trunk)
00:56
In the xAccess() method of the unix VFS, return true if the named object is a directory, regardless of what stat() reports as the st_size for the object. Different filesystems report st_size differently for directories. Problem reported on the mailing list by Stefan Brüns. (check-in: c8c6dd0e65 user: drh tags: trunk)
00:54
Fix an FTS3 test case that depends on the ICU extension so that it only runs if SQLite is compiled with ICU. (check-in: 19c6240bdb user: drh tags: trunk)
00:53
Fix an incorrect assert() added by check-in [fa58aad48a788802]. Problem found by dbsqlfuzz. (check-in: a17b29f08c user: drh tags: trunk)
00:20
Disable the optimization that tries to pull the value of an expression from an index on that expression if the expression is a constant. (check-in: e5fd8b5050 user: drh tags: trunk)
2019-12-25
23:54
When the sqlite3WindowRewrite() routine detects and error, have it convert the SELECT statement into just "SELECT null" so that it does not leave the parse tree in a goofy state that can cause problems with subsequent code before the stack has a chance to unwind and report the error. Ticket [d87336c81c7d0873] (check-in: fa58aad48a user: drh tags: trunk)
2019-12-24
21:42
Fix a minor performance regression from check-in [401c9d30e06191d9] (check-in: 76f54ee867 user: drh tags: trunk)
21:01
Backout the early VTable cursor close change from yesterday, as Yongheng and Rui have found a test case for which it fails. The new test case is added to fuzzcheck. (check-in: ddb10f0374 user: drh tags: trunk)
20:51
Fix a problem causing fts5 integrity-check failures if numeric values are inserted into a table within a utf-16 database. Fix for [752fdbf6]. (check-in: bae060f382 user: dan tags: trunk)
18:53
Make the zipfile() extension function more robust against zero-length filenames. (check-in: b9c2005f02 user: drh tags: trunk)
16:20
Fix another case where malformed utf-8 was being mishandled in fts5. Fix for [df46a6f3]. (check-in: 1c0a05b09a user: dan tags: trunk)
15:35
Fix an assert() added as part of commit [a11b393dc] that can fail if fts5 database records are corrupt. (check-in: 4630c1ec01 user: dan tags: trunk)
15:01
Extra defense against problems following an OOM. dbsqlfuzz find. Also import the latest dbsqlfuzz test cases. (check-in: 0a70f5ddaf user: drh tags: trunk)
14:27
Fix a spurious report of corruption that could be made by the fts5 integrity-check in SQLITE_DEBUG builds if the fts5 index contains malformed utf text. Ticket [d62981b76de521e3] (check-in: a11b393dc2 user: dan tags: trunk)
13:41
Convert an ALWAYS() into an assert() with an extra error term. Dbsqlfuzz find, with test case in TH3. (check-in: b473ad35c5 user: drh tags: trunk)
01:53
Allow comparison operators of a register against itself. Ticket [188f912b51cd802a], (check-in: 401c9d30e0 user: drh tags: trunk)
2019-12-23
21:11
Test case for the zipfile-extension bug fix of the previous check-in. (check-in: bc8bfc7fcd user: drh tags: trunk)
21:04
Fix the zipfile() function in the zipfile extension so that it is able to deal with goofy filenames that contain embedded zeros. (check-in: cc0fb00a12 user: drh tags: trunk)
20:41
Thoroughly reset the rtree cursor at the start of each VFilter operation, including clearing its cache. This prevents left over pages in the cache which can cause problems on shutdown after a LEFT JOIN. Ticket [5eadca17c4dde90c] (check-in: 4c50afafce user: drh tags: trunk)
20:07
Remove an extra deflateInit2() call accidently left in check-in [f5ee30426e8876e7] (check-in: 953e6aa6d9 user: drh tags: trunk)
19:28
Do an early close of virtual table cursors to avoid unnecessary cursor contention in UPDATE for some virtual table implementations. Ticket [56a74875be799b85] (check-in: eb95dac7f6 user: drh tags: trunk)
18:02
Early detection of database corruption in balance_deeper(). (check-in: 61c2233654 user: drh tags: trunk)
15:17
Fix a case in which SQLite could fail to identify "x BETWEEN ? AND ?" being true as implying that x is not null. Ticket [dfd66334]. (check-in: 2f17974912 user: dan tags: trunk)
14:20
For expressions like (x, y) IN (SELECT ...) where the SELECT uses window-functions, require that all columns on the LHS be indexed before an index can be used. Fix for [d9ed4ebe]. (check-in: 0b1dbd60f5 user: dan tags: trunk)
13:24
Fix a shift-overflow problem in yesterday's check-in [36fdeb4f0a66970a] that OSSFuzz helpfully discovered overnight. Thanks Google. (check-in: bff38e2b53 user: drh tags: trunk)
03:37
Fix the OP_Cast operator so that when casting to TEXT, it always leaves the result in the encoding of the database. Ticket [0911b5d161b039c6]. Test cases in TH3. (check-in: f347744e0d user: drh tags: trunk)
02:43
Change the assert() back into a testcase(). See also check-ins [9ab985a9c8160b90] and [ddb17d92df194337] and other check-ins that those reference. Fix for ticket [9d708e474201c001] (check-in: 2c44c73499 user: drh tags: trunk)
02:18
Enhance the sqlite3VdbeMemAboutToChange() shallow-copy validation mechanism by adding the new OP_ReleaseReg opcode to tell MemAboutToChange() that a range of registers is no longer needed so that the source register can be freely changed. This is a change to debugging and test builds only and does not impact release builds. Fix for ticket [c62c5e58524b204d] and [5ad2aa6921faa1ee]. The previous fix to ticket [5ad2aa6921faa1ee] is backed out by this change since this change is a better fix. (check-in: 36fdeb4f0a user: drh tags: trunk)
2019-12-22
23:48
Change the code generator for the IN operator so that it avoids creating OP_Eq and OP_Ne opcode with the same P1 and P3 arguments. This enables us to back out check-in [ddb17d92df194337] and also fix ticket [188f912b51cd802]. (check-in: 9ab985a9c8 user: drh tags: trunk)
20:29
Make a hard copy of strings in constraint checks prior to applying OP_RealAffinity, to avoid problems with a pointer accounting assert. This change is not strictly necessary - the correct answer is obtained without it and no UB occurs - however the pointer accounting asserts are useful to prevent other problems so it is a simple matter to bring this piece into compliance. Ticket [5ad2aa6921faa1ee] (check-in: 89a9dad633 user: drh tags: trunk)
20:03
When constructing the virtual MATCH term of the WHERE clause for a virtual table that is in a LEFT JOIN, be sure to set the correct Expr.iRightJoinTable value. This value does not appear to ever be used, except inside of a single assert(). But it is good to set it correctly, nevertheless. This fixes ticket [7929c1efb2d67e98], which as far as I can tell is completely harmless. (check-in: ef604882a2 user: drh tags: trunk)
19:41
In the WHERE clause debugging output (the .wheretrace output) show the parent index of any WhereTerm that is a child. (check-in: 7fc733328c user: drh tags: trunk)
18:55
Fix to the optimization of check-in [a47efb7c8520a011] that reads the values of expressions used in an index-on-expression directly from the index rather than recomputing the value. If the expression has a top-level COLLATE or unlikely() operator, be sure to clear the corresponding flags prior to converting it into a TK_COLUMN expression. Failure to do this is most likely harmless in production, but might cause an assertion fault in debugging builds. Ticket [b0cb8aff561a6dcd]. Test cases in TH3. (check-in: 56539e1c13 user: drh tags: trunk)
18:23
Back out the asserts of check-ins [a500893b6f64aced] and [d9c9fe9f5ad3fc91] as ticket [1b06916e01c82b66] demonstrates a case that refutes them. (check-in: ddb17d92df user: drh tags: trunk)
18:06
When parsing a CREATE TABLE from the sqlite_master table, delete the CHECK constraints if there are any errors, since there might otherwise be attempts to use those CHECK constraints if PRAGMA writable_schema=ON is set. This undoes the fix in check-in [ea721b34477ab8b4] for a more general solution. (check-in: a982e6434c user: drh tags: trunk)
17:32
Ensure sqlite3WindowRewrite() is called on a SELECT statement before any terms aremoved from it as part of IN() clause processing. Fix for [f00d096ca]. (check-in: 8c856404b4 user: dan tags: trunk)
14:29
Fix "PRAGMA data_version" so that it works the same way with locking_mode=PERSIST and journal_mode=PERSIST configured. Fix for 7a458c2a5f. (check-in: 45748e2db0 user: dan tags: trunk)
2019-12-21
20:43
Fix a spurious report of corruption from the fts3/4 integrity-check triggered by using the languageid option. (check-in: 70815e273f user: dan tags: trunk)
19:37
When creating a new virtual table, ensure that the OP_ParseSchema opcode processes the correct entry in the sqlite_master table even if there is a second entry with the same name and table values due to database corruption and the use of writable_schema=ON. Dbsqlfuzz find. (check-in: 4dbb6e1cb0 user: drh tags: trunk)
14:09
When a corrupt schema is loaded using writable_schema=ON, the CHECK constraints (or other expressions in the table definition) might not be fully resolved. Ensure that the code generator can deal with this if the table is subsequently used in a DML statement. dbsqlfuzz find. (check-in: ea721b3447 user: drh tags: trunk)
2019-12-20
22:46
Do not try to access a generated column through an index if the collating sequence for the generated column is non-standard. Part 2 of ticket [e0a8120553f4b082] (check-in: 056bb8dcbd user: drh tags: trunk)
20:45
Apply real affinity to generated columns of type REAL that are extract from an index. Ticket [e0a8120553f4b082] (check-in: 728ad39e3b user: drh tags: trunk)
20:08
Debugging enhancment: Show the Expr.y.pTab pointer on TK_COLUMN nodes of an expression tree in the treeview. (check-in: 64154ac450 user: drh tags: trunk)
20:03
Fix a bad interaction between RBU and [df51ae19]. (check-in: 0b9d8a1202 user: dan tags: trunk)
19:41
Fix two more cases in fts5 where sqlite3_value_bytes() was being called before sqlite3_value_text(). Fix for e431c355. (check-in: a1ba9a37d7 user: dan tags: trunk)
17:41
Export the public RBU entry points from the Win32 DLL. (check-in: e62d1791f4 user: mistachkin tags: trunk)
17:25
Debugging improvement: when tracing the VDBE, output the register value for OP_Cast after the cast is completed. (check-in: dc5f1d282d user: drh tags: trunk)
15:35
When computing dependencies on WHERE-clause terms, be sure to take into account the FILTER clause of aggregate functions. Problem reported by Manuel Rigger. (check-in: 3cc2b5709e user: drh tags: trunk)
14:37
Improved assert() statements on the OP_Column opcode. (check-in: c538601e4c user: drh tags: trunk)
14:24
Load new dbsqlfuzz test cases into test/fuzzdata8.db. (check-in: 01aeeb5c4c user: drh tags: trunk)
14:18
Fix a potential problem with ALTER TABLE commands on schemas that contains a triggers or view featuring a sub-query that uses an ON clause with a join that is not a LEFT JOIN. (check-in: 365dd8b663 user: dan tags: trunk)
14:08
Fix harmless compiler warnings. (check-in: 2bbd014c90 user: drh tags: trunk)
13:24
Ensure fts5 consistently calls sqlite3_value_text() before sqlite3_value_bytes(). This matters when storing blobs in fts5 tables within utf-16 databases. Fix for [cf36cb4e02]. (check-in: c16305eba0 user: dan tags: trunk)
12:55
Do not continue an ALTER TABLE tree walk of a subquery if a prior error is seen in the tree. Report the problem immediately, without continuing. (check-in: 01ca865f31 user: drh tags: trunk)
12:33
Fix an assert() in btree.c that can fail if an INSERT is attempted on a corrupted database while in PRAGMA writable_schema=ON. (check-in: 07beb3629e user: drh tags: trunk)
2019-12-19
22:08
Continuation of [e2bddcd4c55ba3cb]: Add another spot where it is necessary to abort early due to prior errors in sqlite3WindowRewrite(). (check-in: cba2a2a44c user: drh tags: trunk)
21:11
Fix the regexp extension so that it correctly translates all over-length 3-byte UTF8 sequences into 0xfffd. (check-in: 3d4c0bf890 user: drh tags: trunk)
20:37
When an error occurs while rewriting the parser tree for window functions in the sqlite3WindowRewrite() routine, make sure that pParse->nErr is set, and make sure that this shuts down any subsequent code generation that might depend on the transformations that were implemented. This fixes a problem discovered by the Yongheng and Rui fuzzer. (check-in: e2bddcd4c5 user: drh tags: trunk)
17:42
Detect the invalid use of NULLS LAST on an INTEGER PRIMARY KEY definition of a WITHOUT ROWID table. (check-in: 4417c5bf0a user: drh tags: trunk)
15:15
Fix the zipfile extension so that INSERT works even if the pathname of the file being inserted is a NULL. Bug discovered by the Yongheng and Rui fuzzer. (check-in: a80f84b511 user: drh tags: trunk)
13:17
Fix incorrect SQL generated by the Lemon change of the previous check-in. (check-in: fccfb8a9ed user: drh tags: trunk)
12:29
Modify the parse.sql output file from Lemon so that the RULE table contains a column with the complete text of the rule. (check-in: 329cbb372d user: drh tags: trunk)
03:14
More restrictions on changes to shadow tables when in defensive mode. (Leaf check-in: 4146c629c6 user: drh tags: branch-3.30)
00:59
Minor enhancement to Win32 locking semantics. (Leaf check-in: ed66ffce57 user: mistachkin tags: win32LockFlags)
2019-12-18
21:22
Change an unreachable testcase() into an assert() (check-in: 062e00c4d7 user: drh tags: trunk)
20:51
Continue to back away from the LEFT JOIN optimization of check-in [41c27bc0ff1d3135] by disallowing query flattening if the outer query is DISTINCT. Without this fix, if an index scan is run on the table within the view on the right-hand side of the LEFT JOIN, stale result registers might be accessed yielding incorrect results, and/or an OP_IfNullRow opcode might be invoked on the un-opened table, resulting in a NULL-pointer dereference. This problem was found by the Yongheng and Rui fuzzer. (check-in: 862974312e user: drh tags: trunk)
13:42
Add the --vdbe-debug option to fuzzcheck. (check-in: 289158aa24 user: drh tags: trunk)
13:02
Enhancements to fuzzcheck on unix so that it captures signals and prints the current test file and test number prior to terminating. (check-in: ae7cbb246b user: drh tags: trunk)
09:17
Add a test case for fix in check-in [1ca0bd982ab1183b] (check-in: 519864da8b user: drh tags: trunk)
02:12
Correctly unwind the savepoint stack if the database goes read-only in the middle of a savepoint. (check-in: a96d02b4ab user: drh tags: trunk)
01:31
Remove an assert() in the code generator that can fail due to an invalid INSERT statement. The same assert() appears again in the VDBE and will fire there if the problem persists in an SQL statement that does not contain errors. Gramfuzz find. (check-in: 9bdd57cb9a user: drh tags: trunk)
00:05
When processing constant integer values in ORDER BY clauses of window definitions (see check-in [7e4809eadfe99ebf]) be sure to fully disable the constant value to avoid an invalid pointer dereference if the expression is ever duplicated. This fixes a crash report from Yongheng and Rui. (check-in: 1ca0bd982a user: drh tags: trunk)
2019-12-17
12:03
Clean up the ExprList that holds the names of columns in a CTE before checking for unused references in the ALTER TABLE implementation. (check-in: 8223e79f98 user: drh tags: trunk)
2019-12-16
16:52
When a table is part of a LEFT JOIN and should be a completely NULL row due to the semantics of a LEFT JOIN, make sure any generated columns on that row evaluate to NULL. Ticket [3b84b42943644d6f] (check-in: 0271491438 user: drh tags: trunk)
2019-12-15
02:49
Ensure that all ON CONFLICT REPLACE indexes are sorted to the end of the list of indexes for a table, even for weird cases where the same UNIQUE constraint occurs twice with the ON CONFLICT REPLACE clause only on the second one. This avoids an out-of-order contraint processing problem that can arise due to the optimization of check-in [469a62ca33081854]. (check-in: 1e3918ca2f user: drh tags: trunk)
00:36
Abort the OP_Savepoint opcode early if a virtual table xSync method fails, perhaps due to an interrupt. (check-in: 672e749aef user: drh tags: trunk)
2019-12-14
19:55
When a generated column expression is initially parsed, if it contains errors convert the expression to a simple NULL. This prevents additional pieces of the expression tree that are allocated from lookaside from leaking into the schema, where lookaside allocations are not allowed. (check-in: a89b386056 user: drh tags: trunk)
18:08
Due to the previous change, the p5 parameter to OP_VColumn no longer ever contains extraneous bits, so change a testcase() into an assert() to show as much. (check-in: 5b4a88cd3b user: drh tags: trunk)
17:43
Do not set OP_Column flags on the instructions generated by sqlite3ExprCodeGetColumn() if the opcode generated is not really an OP_Column, which might happen if the column is virtual. Fix for ticket [b439bfcfb7deedc6] (check-in: 2401e04730 user: drh tags: trunk)
15:01
Make the sqlite3ExprCodeTarget() expression code generator routine robust in the face of unknown opcodes - it simply generates a NULL value. (check-in: f8e876c82a user: drh tags: trunk)
14:15
Fix problems in fts3 with processing corrupt records and undefined integer overflows. (check-in: 3b873029ef user: dan tags: trunk)
2019-12-13
23:38
Fix an utterly harmless "applying zero offset to null pointer" UB warning in sqlite3AtoF(): (check-in: 052fdf5e58 user: drh tags: trunk)
22:59
Initial exploration of blocky APIs, starting with a variant of sqlite3_exec. (Leaf check-in: fd849d5b6a user: numist tags: blocky-exec)
21:24
Patch to the page cache to avoid harmless pointer arithmetic that due to bugs in the STD-C spec is technically UB. This is to fix a harmless UBSAN complaint that OSSFuzz is hitting. (check-in: c29fc21288 user: drh tags: trunk)
16:04
Change the default lookaside configuration to 40 slots of 1200-bytes each. This actually works out to 30 big slots and 93 small slots using the mini-lookaside allocator. We get the same (or better) lookaside coverage but with 72KB less memory per connection. (check-in: 47b71a84d1 user: drh tags: two-size-lookaside)
15:48
Cleanup and performance enhancements for mini-lookaside. (check-in: 7480566843 user: drh tags: two-size-lookaside)
12:14
Merge fixes from trunk. (check-in: 9c471195f6 user: drh tags: two-size-lookaside)
11:42
Ensure that there is a containing SELECT statement when processing a normal aggregate function as if it were a window function. (check-in: c1014e80b2 user: drh tags: trunk)
11:32
*Remove* the macros, not just comment them out. (check-in: e5dc2939d3 user: drh tags: trunk)
11:31
Remove unused macros formerly used to define built-in aggregate functions. (check-in: 3ef0d44edd user: drh tags: trunk)
01:12
Reduce the size of ExprList to 24-bytes per entry, down from 32-bytes per entry. This helps keep lookaside allocations in the mini-size. (check-in: bda92d92bf user: drh tags: two-size-lookaside)
00:49
Tie up the loose ends in the ExprList size reduction. (Leaf check-in: 59d0f3afe5 user: drh tags: two-size-lookaside, exprlist-size-reduction)
2019-12-12
22:11
Work toward reducing the incremental size of an ExprList object to 24-byte per entry, from 32-bytes (on a 64-bit machine). This helps the new mini-lookaside allocator to run better by avoiding excessive reallocs. The current change mostly works, but still has a few loose ends to tie up. This check-in is merely a snapshot to save my work. (check-in: fdda76cfb0 user: drh tags: two-size-lookaside, exprlist-size-reduction)
20:58
Reduce the number of call sites to dbMallocRawFinish in the case where n > lookaside.sz (check-in: e392e7f228 user: numist tags: two-size-lookaside)
20:39
Fix an issue where malloc could be used to fulfill a small allocation when a large lookaside slot could have beeen used instead. (check-in: 611020e337 user: numist tags: two-size-lookaside)
20:22
Change the name of the Expr.a.zName field to zEName, so that it has a name that is distinct from other fields and variables and is hence easier to grep for. (check-in: d3783357f8 user: drh tags: two-size-lookaside)
17:17
Change the size of a mini-lookaside allocation to a macro (MINI_SZ) rather than a magic number (128). (check-in: 5e1949bca9 user: drh tags: two-size-lookaside)
16:49
Merge enhancements from trunk. (check-in: 6cb053f99b user: drh tags: two-size-lookaside)
15:19
Factor out the conditional (which is only true for rare errors) from the notValid() function in resolve.c, for a performance improvement and size reduction. Also cause failures to set the Expr node to a NULL operator so that it does not cause problems later in case PRAGMA writable_schema=ON has been set. Test cases in TH3. (check-in: c6af9f655b user: drh tags: trunk)
02:50
More efficient implementation of a lookaside allocator that supports mini (in this case, harcoded to 128B) slots. (check-in: b02fdc09c8 user: numist tags: two-size-lookaside)
00:20
Fix goofy string formatting in lemon.c that dates from the K&R-C days. (check-in: 48ba5e5a22 user: drh tags: trunk)
2019-12-11
18:53
Improved tracing output from the LEMON-generated parser. (check-in: 4d6d2fc046 user: drh tags: trunk)
16:22
Strengthen check-in [83da4d4104ee1870] by ignoring *all* WHERE-clause constraints for a virtual table that is the right table of a LEFT JOIN, as such constraints are never useful. This fixes an issue discovered by Manuel Rigger. (check-in: 840de36df1 user: drh tags: trunk)
15:07
When trying to drop a virtual table that has no xDestroy method, invoke the xDisconnect method rather than doing nothing, to avoid a memory leak. (check-in: 1fa29a5f2a user: drh tags: trunk)
14:25
The xDestroy method of a module might be NULL if the schema is corrupt. (check-in: 0457e7d196 user: drh tags: trunk)
2019-12-10
20:41
Enhance LEMON to provide the ability to mark a rules as one that will never reduce due to intervention of actions. Use this new capability to designate the EXPLAIN rule as NEVER-REDUCES. (check-in: 136cdefb2f user: drh tags: trunk)
18:10
Use a statement journal on a CREATE VIRTUAL TABLE statement in case the VCreate opcode fails. (check-in: aa3b0eb8c3 user: drh tags: trunk)
15:05
Fix parser bugs: require a semicolon after an EXPLAIN command. (check-in: 707a058a22 user: drh tags: trunk)
03:40
Avoid a buffer overread in fts5 that could occur when parsing corrupt configuration records. (check-in: 355afd77df user: dan tags: trunk)
02:48
Set the affinity of regular columns prior to computing the values of generated columns. Ticket [d7c3f125c925c522] (check-in: d47d66e3d3 user: drh tags: trunk)
2019-12-09
19:44
Rename a local variable to avoid masking a function parameter and thus causing a harmless compiler warning. (check-in: f065cf003b user: drh tags: trunk)
19:29
Add a NEVER() to the ALTER TABLE fix in check-in [1d2e53a39b87e364] (check-in: c7309ed3c7 user: drh tags: trunk)
18:22
The previous check-in was not quite correct, and introduced a new problem with the USING clause. Use this version instead. (check-in: ed28aaa485 user: drh tags: trunk)
17:14
Ensure that the SrcList_item.colUsed field is set correctly (set to have a 1 for all columns of the table) when a generated column appears in the USING clause of a join. (check-in: 1923efb283 user: drh tags: trunk)
15:52
Fix the NOT NULL verification logic in PRAGMA integrity_check so that it works for generated columns whose value is the result of a comparison operator. Ticket [bd8c280671ba44a7] CVE-2019-19646. (check-in: f3b39c71b8 user: drh tags: trunk)
14:34
Fix a gramfuzz find. If a partial index that does not reference any column of its table is used by an UPDATE statement in one-pass mode, then avoid the use of OP_DeferredSeek since the seek might not be resolved prior to the OP_Delete and OP_Insert that implement the UPDATE. (check-in: e3398c5ffb user: drh tags: trunk)
08:13
Avoid infinite recursion in the ALTER TABLE code when a view contains an unused CTE that references, directly or indirectly, the view itself. (check-in: 1d2e53a39b user: dan tags: trunk)
02:20
Fix possible null pointer dereferences in the fts5_expr() scalar function. (check-in: c5d4414359 user: dan tags: trunk)
2019-12-08
00:06
Fix incorrect column-usage accounting associated with generated columns and added by check-in [6601da58032d18ae]. Fix for ticket [b92e5e8ec2cdbaa1]. (check-in: 9d75e1ccc7 user: drh tags: trunk)
2019-12-07
13:42
Correctly deal with multi-row VALUES clauses that contain window functions. (check-in: 26d991f214 user: drh tags: trunk)
12:13
Ignore type affinity for auxiliary columns in RTREE as it is too error-prone to try to parse out the type from other constraints. Ticket [8bf76328ac940d52] (check-in: 7fa664ea0e user: drh tags: trunk)
00:22
Fix a problem with foreign keys and generated columns discovered by Manuel Rigger. (check-in: 27c0fdab1b user: drh tags: trunk)
2019-12-06
19:07
Early detection and reporting of too few columns in an rtree CREATE VIRTUAL TABLE statement. (check-in: ef73107f47 user: drh tags: trunk)
13:10
In the rtree extension, actively suppress extra tokens on the column names, and be pedantic about column affinities. Ticket [367a86e28859f1ff] (check-in: 97fb5a72f9 user: drh tags: trunk)
11:48
The check-in [b7810062ec2489e1] was not quite right in that it allowed an oversized shift operation (which is UB in C) on some obscure inputs. OSSFuzz found the problem for us overnight. (check-in: 62f2235adf user: drh tags: trunk)
01:38
Further enhancements to RTREE, following up to check-in [f898d04cf272ef01] so that constraints are allowed to be compared to strings that look like numbers. Ticket [aa573a787b8f1fdf] (check-in: 32772dfd50 user: drh tags: trunk)
01:23
Do not allow UPSERT of a view. (check-in: ebf897e861 user: drh tags: trunk)
2019-12-05
21:46
Fix to the rowvalue logic that avoids disabling rowvalue inequality contraints on a virtual table when the virtual table sets the omit flag. The logic has been incorrect since row-values were added. However, this does not come up often as very few virtual tables implement inequality constraints using the omit flag. Ticket [f096d191b6641daa] (check-in: b7810062ec user: drh tags: trunk)
18:29
Documentation update: Clarify that the sqlite3_index_info.aConstraintUsage.omit flag is a hint only and that the code generator is not obligated to follow the hint. (check-in: 7d3e3f6e7e user: drh tags: trunk)
17:31
Additional debugging information printed with the ".wheretrace 0x100" option. No changes to normally delivered code. (check-in: fc72ec52c9 user: drh tags: trunk)
14:42
Make sure the rowid of an RTREE virtual table has integer affinity. Ticket [9fe487ba3c064b4e] (check-in: 7ae8c0d52f user: drh tags: trunk)
14:31
Fix a problem in ALTER TABLE that could occur if an index, view or trigger in the schema features an expression of the form ((SELECT ...) IN ()) where the SELECT statement uses a CTE. (check-in: 7e5ad8e0ab user: dan tags: trunk)
13:34
Be strict about type enforcement on rowid look-ups in the RTREE extension. Ticket [30e2c183b6b356e4] (check-in: d43e0efb96 user: drh tags: trunk)
00:44
Enhance the RTREE extension so that it give correct query results even if the query uses non-numeric constraints. Ticket [a55ab6d97d01ecbc] (check-in: f898d04cf2 user: drh tags: trunk)
2019-12-04
19:45
Window functions are never constant. (check-in: 35f0b5a8c7 user: drh tags: trunk)
15:08
Ensure that an ALWAYS() in the rename logic really is always true, even for faulty inputs. (check-in: 54410f0e77 user: drh tags: trunk)
14:26
Fix an assert() failure that could occur in ALTER TABLE code when the schema contains a view that uses a CTE. (check-in: 75b04a4b0d user: dan tags: trunk)
03:46
Fix a buffer overread that could occur in fts3 with corrupt %_stat records. (check-in: e01fdbf9f7 user: dan tags: trunk)
03:31
Fix an incorrect NEVER() macro. (check-in: 96b6a76da0 user: drh tags: trunk)
01:42
Fix a double-free that could occur when a component of a compound SELECT with an ORDER BY clause uses named window definitions. (check-in: 92893b7980 user: dan tags: trunk)
2019-12-03
03:34
Avoid a crash that could occur when a database containing a table with a temp trigger that has the same name as a temp table is detached. (check-in: c4cb9708d4 user: dan tags: trunk)
03:31
Avoid a harmless zero offset of a null pointer in FTS3, so as to not provoke unnecessary warnings from run-time checkers. (check-in: 85d95abec4 user: drh tags: trunk)
02:51
Avoid computing a zero offset of a null pointer, which though this is technically harmless, is upsetting to pedantic run-time checkers. (check-in: 3ce804e99b user: drh tags: trunk)
2019-11-30
19:29
Do not allow a term in the WHERE clause of the query to qualify a partial index on the right table of a LEFT JOIN. Ticket [7f39060a24b47353] (check-in: 4066a34da7 user: drh tags: trunk)
2019-11-29
13:01
Add comments in the parse.sql file to help demonstrate how rules are encoded. (check-in: 2c4f714892 user: drh tags: trunk)
12:51
Fix the parse.sql output file so that it is readable into a database where foreign keys are enforced. (check-in: 3a82c554c3 user: drh tags: trunk)
2019-11-27
20:40
More details on the comment justifying the aleged data race in the WAL-mode checkpoint logic. (check-in: 0fab65c79f user: drh tags: trunk)
12:03
Fix obsolete comment. No changes to code. (Leaf check-in: 0ff59edbbb user: drh tags: reuse-shm)
2019-11-26
14:24
Fix various documentation typos suggested by Mark Benningfield. No changes to code. (check-in: 08f09dc4f9 user: drh tags: trunk)
11:10
Fix to check-in [5d9a369301a65f32] so that it compiles without SQLITE_DEBUG. (check-in: fefe2d0467 user: drh tags: trunk)
02:22
Add the new -S option to the lemon parser generator to cause it to output SQL that describes the input grammar. (check-in: 4dbd398d64 user: drh tags: trunk)
02:03
Fix an assert() in fts3 that could fail due to corrupt database records. (check-in: 5d9a369301 user: dan tags: trunk)
2019-11-25
23:55
Experimental file-controls for controlling the use of the -shm file. (check-in: 12b8fa2336 user: drh tags: reuse-shm)
04:15
Modify journal3.test so that it can handle Tcl command "file attr <file> -perm" returning octal values in either "00755" or "0o755" format. (check-in: b0b655625c user: dan tags: trunk)
00:07
Minor enhancements to the TclKit download tool. (check-in: 75e31b1d56 user: mistachkin tags: trunk)
2019-11-23
16:34
Abort the window function tree rewrite early following an OOM. (check-in: d66f95a515 user: drh tags: trunk)
15:10
Avoid evaluating PARTITION BY or ORDER BY expressions multiple times for window function queries that use multiple window functions with the same window-definition. (check-in: 57070c68bb user: dan tags: trunk)
08:51
Enhance the path arguments in JSON functions to access "#-N" array indexes. (check-in: ffeec62cb5 user: drh tags: trunk)
08:36
Fix a memory leak in fts5 error handling code. (check-in: de6637e15d user: dan tags: trunk)
2019-11-22
17:37
Extend the json-path mechanism with array indexes of the form "#" or "#-n" for some positive number "n", to reference the end of an array. (Closed-Leaf check-in: 35ed68a651 user: drh tags: json-path-enhancement)
11:49
Fix a harmless compiler warning. (check-in: 34343c4b06 user: drh tags: trunk)
11:47
Fix an indentation error and improve the placement of an assert() based on a tweet from Yuri Kotov. (check-in: e6314e386c user: drh tags: trunk)
11:38
Add more test cases from Yongheng Chen and Rui Zhong. (check-in: f24e6ca4f2 user: drh tags: trunk)
10:14
Fix a crash that could occur if a sub-select that uses both DISTINCT and window functions also used an ORDER BY that is the same as its select list. (check-in: bcdd66c169 user: dan tags: trunk)
00:42
Revise the SQLITE_OPEN_NOFOLLOW so that it actually uses O_NOFOLLOW in the open() system call. This backs out the SQLITE_ACCESS_SYMLINK value but adds the new SQLITE_OK_SYMLINK return code from the xFullPathname method of sqlite3_vfs when that routine resolves symbolic links. O_NOFOLLOW is always included in open() system calls for journal files. (check-in: 6a64fb6a2d user: drh tags: trunk)
2019-11-21
20:24
Add all fuzz-test cases received from Yongheng Chen and Rui Zhong. Also fix a minor problem in gencol1.test cases. (check-in: ac080432b4 user: drh tags: trunk)
20:10
Fix an out-of-bounds array reference in the generated column logic. Problem discovered by valgrind. (check-in: a0ab42f779 user: drh tags: trunk)
19:37
Whenever a generated column is used, assume that all columns are used. (check-in: 6601da5803 user: drh tags: trunk)
18:28
Fix a problem that comes up when using generated columns that evaluate to a constant in an index and then making use of that index in a join. (check-in: 8b12e95fec user: drh tags: trunk)
17:14
Fix a recently introduced memory leak in the test code in test_vfs.c. (check-in: 2d53a30cc2 user: dan tags: trunk)
14:20
Prevent direct and indirect recursive content= options in fts3/4 and fts5. (check-in: 2eb997327c user: dan tags: trunk)
2019-11-20
16:10
Fix a use-after-free problem in the test suite. No changes to production code. (check-in: 0d1055a5da user: dan tags: trunk)
13:31
Further improve detection of corrupt records in fts3. Also fix an error with check-in [dfcf081d842629a0] (check-in: a0f6d526ba user: dan tags: trunk)
12:07
Changes to extensions and test logic so that the build works with gcc and with -std=iso9899:1999 (check-in: 2575a68c39 user: drh tags: trunk)
2019-11-19
21:22
Enhancements to DBSTAT: (1) Make name=? queries efficient. (2) Add the ability to aggregate results across each individual btree using the aggregate=TRUE constraint in the WHERE clause. (check-in: a48f6e1759 user: drh tags: trunk)
18:48
Get the aggregate=TRUE feature working on the DBSTAT virtual table. (Closed-Leaf check-in: 16fef3db06 user: drh tags: dbstat-enhancements)
14:01
Begin an enhancement effort for the built-in DBSTAT virtual table. (check-in: 9b5722f0fe user: drh tags: dbstat-enhancements)
00:13
Make the result of sqlite3_normalized_sql() survive its statement being reprepared. (check-in: 4330f0795d user: mistachkin tags: trunk)
2019-11-18
23:48
Add support for the SQLITE_ACCESS_SYMLINK flag in the Win32 VFS. (check-in: 175c15008e user: mistachkin tags: trunk)
22:34
Ensure all file names passed to the VFS layer are double-zero terminated. (check-in: 251230cf43 user: mistachkin tags: trunk)
18:43
In the SQLITE_OPEN_NOFOLLOW processing, distinguish between an I/O error on the xAccess() call and an actual symlink encounter. (check-in: 2e98b42fcb user: drh tags: trunk)
17:46
Add support for SQLITE_OPEN_NOFOLLOW. (check-in: cb79c82849 user: drh tags: trunk)
14:04
Improvements to detection of corruption in the %_stat shadow table of FTS4. (check-in: 6b67eba54e user: drh tags: trunk)
12:04
Further improvements to shadow table corruption detection in FTS3. (check-in: e35d8c76aa user: drh tags: trunk)
11:14
Detect and prevent infinite recursion in fts3SelectLeaf() due to a malformed FTS3 btree. (check-in: dfcf081d84 user: drh tags: trunk)
10:37
Improved detection of corruption in the %_stat table of FTS4. Chromium ticket 1025467. (check-in: 10f8a3b718 user: drh tags: trunk)
2019-11-17
11:47
Fix an assert that can fail if the schema is corrupt. (check-in: ed57c48e4b user: drh tags: trunk)
02:41
Better detection of corruption in the %_stat and %_docsize shadow tables of FTS3. (check-in: 1e44968788 user: drh tags: trunk)
00:08
Remove a reachable NEVER() in FTS3. (check-in: 8bd75bf636 user: drh tags: trunk)
2019-11-16
23:47
More improvements to shadow table corruption detection in FTS3. (check-in: 51525f9c32 user: drh tags: trunk)
21:40
Improved detection of corrupt shadow tables in FTS3. Enable the debugging special-inserts for FTS3 for both SQLITE_DEBUG and SQLITE_TEST. (check-in: 04b2873be5 user: drh tags: trunk)
18:36
Do not allow shadow tables to be dropped in defensive mode. (check-in: 0a988ce340 user: drh tags: apple-osx)
18:30
Modify three test cases so that they work even with unusual versions of the library printf(). (check-in: c25289075a user: drh tags: apple-osx)
16:54
More restrictions on changes to shadow tables when in defensive mode. (check-in: bae76a5c40 user: drh tags: trunk)
14:15
Do not allow CREATE TABLE or CREATE VIEW of an object with a name that looks like a shadow table name. (Closed-Leaf check-in: 6aef58b629 user: drh tags: defensive-improvements)
13:51
Break out the test for writable shadow tables into a separate subroutine. (check-in: 8ad34d36a1 user: drh tags: defensive-improvements)
12:04
Do not allow shadow tables to be dropped in defensive mode. (check-in: 70390bbca4 user: drh tags: trunk)
11:33
Fix a potential NULL pointer dereference on a RENAME TABLE that references a VIEW with a logic error in a window function in the ORDER BY clause. (check-in: 0adb273f7e user: drh tags: trunk)
2019-11-15
21:16
Modify three test cases so that they work even with unusual versions of the library printf(). (check-in: 8f4a3750b7 user: drh tags: trunk)
02:52
Merge the version 3.30.1 changes into the apple-osx branch. (check-in: 2c8af35206 user: drh tags: apple-osx)
00:52
Fix table-valued functions so that they will work as the right table in a LEFT JOIN. Ticket [2ae0c599b735d59e] (check-in: 2c35d3f67b user: drh tags: trunk)
2019-11-14
23:08
Backport support for the sqlite3_hard_heap_limit64() interface and the hard_heap_limit pragma to the 3.30 branch. (check-in: ba27012d43 user: drh tags: branch-3.30)
18:07
Add support for the sqlite3_hard_heap_limit64() interface and the hard_heap_limit pragma. (check-in: 6399c47ea8 user: drh tags: trunk)
17:46
Fix a bug in the hard_heap_limit pragma so that it returns the new value of the hard_heap_limit, not the soft_heap_limit. Change SQLITE_MAX_MEMORY so that it works by setting the default hard_heap_limit value. (Closed-Leaf check-in: 33fd0c3abc user: drh tags: hard-heap-limit)
15:21
Merge recent enhancements from trunk. (check-in: b8a631fd30 user: drh tags: hard-heap-limit)
15:10
Minor documentation enhancements. No changes to code. (check-in: 6153f3aada user: drh tags: hard-heap-limit)
13:57
New test cases added to fuzzdata8.db. (check-in: 5baffcda7d user: drh tags: trunk)
13:24
Ensure that the same subquery does not go through the window-function rewrite more than once, even when that subquery is part of a virtual table constraint that lacks the omit flag. (check-in: d0bc7db6b0 user: drh tags: trunk)
2019-11-13
18:50
Add header guard to the expert extension. (check-in: 7e3151855f user: mistachkin tags: trunk)
16:50
Fix the sqlite3TreeView() output to consistently use a colon and not a comma after the table number in the AST dumps. (check-in: fa2416f623 user: drh tags: trunk)
2019-11-12
16:21
For for the previous check-in: Always enable the nUri variable, even when debugging is turned off. (check-in: f84a15394c user: drh tags: trunk)
14:43
Ensure that the main filename and the journal filenames in the pager object are all correctly double-zero terminated. (check-in: df51ae19c1 user: drh tags: trunk)
03:45
Remove a harmless unused variable. (check-in: 28091a48aa user: drh tags: trunk)
2019-11-11
15:13
Remove an asm() block from build tool mksourceid.c, as it causes build failures on some systems and performance is not important at build-time. (check-in: 8e100e6c35 user: dan tags: trunk)
2019-11-10
11:09
Proper surrogate pair decoding added to JSON functions. See the mailing list bug report and https://bugs.python.org/issue38749. More test cases needed here, but it seems to work so far. (check-in: 51027f08c0 user: drh tags: trunk)
10:08
Remove an incorrect ALWAYS() macro. (check-in: f7a74f89db user: drh tags: trunk)
2019-11-09
15:31
Change the COLFLAG_NOTAVAIL bitmask so that it fits in the single-byte Walker.eCode field. (check-in: 53847f5c28 user: drh tags: trunk)
14:44
New dbsqlfuzz test cases added. (check-in: 18c3a17dc8 user: drh tags: trunk)
14:38
Make sure the WITH stack in the Parse object is disabled following an error. (check-in: de6e6d6846 user: drh tags: trunk)
2019-11-08
20:13
When a virtual table reports orderByConsumed, that tells us nothing about whether or not the SQLITE_DISTINCTBY constraint is met. Fix for ticket [7e59041f9c4e5102]. Test cases in TH3. (check-in: b59f94e4da user: drh tags: trunk)
2019-11-07
19:59
Experimental branch to provide SQLITE_LIMIT_HEAP_K to limit the amount of allocated memory used by each database connection, individually. (Leaf check-in: 4ab9dbb939 user: drh tags: limit_heap_k)
14:51
Fix the xferCompatibleIndex() function so that it recognizes that a PRIMARY KEY index for a WITHOUT ROWID table is different from a UNIQUE constraint index on the primary key. Ticket [302027baf1374498] (check-in: 34f64f11ca user: drh tags: trunk)
02:32
Restore generated column loop detection logic that was incorrectly removed from the previous check-in [9e07b48934e9a972]. This fixes ticket [299b50ba812d8e54] (check-in: 104a2beb57 user: drh tags: trunk)
2019-11-06
22:19
Change the way generated columns are computed so that no column is computed inside branch code that might not be taken. Ticket [4fc08501f4e56692] (check-in: 9e07b48934 user: drh tags: trunk)
19:25
Minor simplification to the changes from check-in [36c11ad51f]. (check-in: 7bc8205dd9 user: mistachkin tags: trunk)
17:31
Fix the OP_DeferredSeek index-to-table column map in P4 so that it works with generated columns. Ticket [ce22a07731530118] (check-in: 36c11ad51f user: drh tags: trunk)
14:49
Fix the handling of NOT NULL constraint violations for generated columns in a REPLACE statement. Ticket [2399f5986134f79c] (check-in: 77b1c90add user: drh tags: trunk)
2019-11-04
12:49
Changes an unreachable testcase() into an assert(). (check-in: 5710845b63 user: drh tags: trunk)
02:05
Fix a false-postive in the sqlite3ExprImpliesNonNullRow() decision routine, that resulted in an incorrect LEFT JOIN strength reduction when the WHERE clause contained a row-value comparison. Ticket [02aa2bd02f97d0f2] (check-in: ea20068e6d user: drh tags: trunk)
2019-11-03
00:07
The optimization of check-in [9b2879629c34fc0a] is incorrectly reasoned. The WHERE clause of the partial index might not be true if the table of the partial index is the right table of a left join. So disable the optimization in that case. Ticket [623eff57e76d45f6] (check-in: 3be19e1151 user: drh tags: trunk)
2019-11-02
17:59
Fix a problem in VIEW creation that was introduced by the generated columns feature. (check-in: 9c795c4d2b user: drh tags: trunk)
13:45
"STORED" is not actually a keyword. The parser looks for STORED as an ordinary identifier. (check-in: 167cd574d6 user: drh tags: trunk)
13:32
In sqlite3GenerateIndexKey(), do not attempt to reuse column values from the previous index if the current index is a partial index as the partial index test may have changed those values. Ticket [a9efb42811fa41ee] (check-in: 17e9f65814 user: drh tags: trunk)
00:00
Restore the on-line ".help" for the ".explain" command in the CLI. (check-in: 28b8f1036d user: drh tags: trunk)
2019-11-01
18:52
Fix a harmless compiler warning. (check-in: f0ebea35d9 user: drh tags: trunk)
17:31
The SET DEFAULT and SET NULL conflict resolution actions for foreign key constraints should cause an error when they appear on a generated column. (check-in: b47513d2b3 user: drh tags: trunk)
16:37
Fix a potential use-after-free bug that follows an OOM error in code added two days ago by check-in [84e02d773d60cffe]. Problem discovered by OSSFuzz. (check-in: 0a2eb949f8 user: drh tags: trunk)
16:08
Add another missing column number translation to the foreign key logic. (check-in: 32df5edcfe user: drh tags: trunk)
15:19
Omit the optimization that reduces the column-count on rowid-table cursors when the table has generated columns, because we do not know what columns the generator expressions might try to access. (check-in: e6c96ed91e user: drh tags: trunk)
13:37
Fix an fts3 assert() that could fail when operating on a database containing corrupt records. (check-in: 7c52f5478f user: dan tags: trunk)
12:14
Add missing column translations to foreign key logic. Ticket [c28a01da72f8957c] (check-in: bc6a43e7ee user: drh tags: trunk)
10:49
Fix a potential array bounds overflow in the mkkeywordhash.c code generator. Also add marks to omit keywords specific to generated columns when building with -DSQLITE_OMIT_GENERATED_COLUMNS. (check-in: cc6a408183 user: drh tags: trunk)
02:30
Slightly faster keyword hash table. (check-in: f12e743e19 user: drh tags: trunk)
2019-10-31
20:54
Correctly generate pre-UPDATE content for virtual columns that are used by foreign key constraints. Ticket [b9befa4b83a660cc] (check-in: 40d3282ec2 user: drh tags: trunk)
17:13
Add a few simple TCL test cases for generated columns. (Full test coverage of the generated column logic is provided separately by TH3.) (check-in: acedb5c7f7 user: drh tags: trunk)
13:16
Ignore differences in Expr.op2 in sqlite3ExprCompare() in cases where it does not matter. Ticket [1d2a8efc6c3a595a]. (check-in: 329820673a user: drh tags: trunk)
12:30
Enhance the TreeView logic to show information about Expr.op2 for FUNCTION and COLUMN nodes. (check-in: aceeaf9e28 user: drh tags: trunk)
2019-10-30
18:50
Always disallow the use of non-deterministic functions in CHECK constraints, even date/time functions that use the 'now' or similar keywords. Provide improved error messages when this requirement is not met. Ticket [830277d9db6c3ba1] (check-in: 2978b65ebe user: drh tags: trunk)
16:29
Simplify the bytecode generation for SQL function calls such that the OP_Function or OP_PureFunc opcodes are coded directly, rather than using the intermediate OP_Function0 or OP_PureFunc0 - opcodes that are now removed. (check-in: 84e02d773d user: drh tags: trunk)
13:00
New tokens ALWAYS, GENERATED, and STORED used by generated columns should all be fallback tokens. (check-in: 13fe6978b7 user: drh tags: trunk)
2019-10-29
16:18
Remove the legacy_file_format PRAGMA. In its place, provide the SQLITE_DBCONFIG_LEGACY_FILE_FORMAT option to sqlite3_db_config(). Fix for ticket [6484e6ce678fffab] (check-in: 4d424f3047 user: drh tags: trunk)
03:39
Tighten the generated column requirement such that every table must have at least one non-generated column. Ticket [166347c6fc994155]. (check-in: 4fba090e67 user: drh tags: trunk)
03:30
Add a missing translation from table column numbers to storage table numbers while processing constraints on an UPDATE statement. Ticket [9621dd78a024d07a] (check-in: 361ea81ae8 user: drh tags: trunk)
01:26
Disallow tables that have only virtual columns. (check-in: 591973217f user: drh tags: trunk)
2019-10-28
13:54
Fix a problem in fts3 causing it to report corruption if a doclist contains consectutive rowid entries that differ by more than 2^63. (check-in: 0b0a3048f9 user: dan tags: trunk)
13:07
Remove a NEVER() comparison from sqlite3ExprCompare(). (check-in: f4285297e1 user: drh tags: trunk)
04:20
ALWAYS macro added for coverage. (check-in: a1e1ba9145 user: drh tags: trunk)
2019-10-27
22:22
Improved detection of attempts to use a generated column as part of the primary key. Ticket [91e86951016a6802] (check-in: 6d1bbba9a0 user: drh tags: trunk)
2019-10-26
23:51
Remove code from the constraint checker that generates virtual column values with the incorrect time. Turns out the the regular code for all other columns works correctly and so the incorrect special-case code is not actually needed. Fix for ticket [3ea175512444b0d1]. (check-in: 5b4c0f2ddc user: drh tags: trunk)
18:56
Remove redundant code resulting from a merge error on the previous check-in. (check-in: 713fe86b8c user: drh tags: trunk)
18:47
Add support for generated columns. (check-in: b855acf183 user: drh tags: trunk)
17:08
Performance optimization on sqlite3GenerateConstraintChecks() - bypass the loop that checks each column for NOT NULL constraints if it is known in advance that the table has no NOT NULL constraints. (check-in: e3c3f4d787 user: drh tags: trunk)
16:38
Clarify some comments and add assert() and testcase() macros to the replace-trigger recheck logic for ticket [c1e19e12046d23fe] (check-in: 8c0042bd5c user: drh tags: trunk)
16:02
Fix a problem in the legacy ".explain on" formatting when it is used on a query with more than 8 output columns. (check-in: 070b49825c user: drh tags: trunk)
15:40
Minor changes to help ensure the pointer returned by sqlite3VdbeGetOp() is not used after it becomes invalid. (check-in: 346bdd49fb user: drh tags: trunk)
12:27
Overnight, OSSFuzz helpfully pointed out a potential use-after-free bug in yesterdays changes, involving continued use of a pointer after the memory pointed to had been realloc()-ed. Thanks Google. (check-in: c422afb507 user: drh tags: trunk)
01:43
Add missing VdbeCoverage() macro. Fix an off-by-one error in partial index handling. New test cases. Ticket [c1e19e12046d23fe] (check-in: 41cc8e3dab user: drh tags: trunk)
00:04
If replace triggers are run during uniqueness checking, then rerun all uniqueness checks a second time using the ABORT algorithm. Fix for ticket [c1e19e12046d23fe] (check-in: fbac0c65d8 user: drh tags: trunk)
2019-10-25
14:46
Performance optimization in sqlite3BtreeCursor(). (check-in: ea068b099c user: drh tags: trunk)
2019-10-24
23:43
Merge fixes from trunk. (Closed-Leaf check-in: 4ec57d8841 user: drh tags: generated-columns)
21:02
The previous fix was incomplete. It is also necessary to disable the Expr.y.pTab field when making the translation. (check-in: b99d570131 user: drh tags: generated-columns)
20:35
In fts5, fix a case of overreading a buffer by 1 byte when counting characters in malformed utf-8. Fix for [dd1f67bf]. (check-in: 8d964e1c21 user: dan tags: trunk)
20:29
Fix handling of covering indexes that use virtual columns. (check-in: e0f7e321ec user: drh tags: generated-columns)
19:35
Correction to check-in [bec5b6d4d083556d] so that it detects *all* triggers that might perturb the insertion cursor. Ticket [50c09fc2cf0d91ce]. (check-in: 521f1d3628 user: drh tags: trunk)
01:04
Do not allow ALTER TABLE ADD COLUMN for a STORED column. (check-in: 42fc08bc15 user: drh tags: generated-columns)
2019-10-23
21:00
Add an experimental set of UUID processing functions as the uuid.c extension in ext/misc/uuid.c. (check-in: 1a6e009372 user: drh tags: trunk)
18:14
Add uuid_string and uuid_blob functions (Leaf check-in: 97ba442b8d user: numist tags: uuid-funcs)
18:09
When a vector comparison appears in the WHERE clause and the constraint side has a COLLATE clause on the first term of the vector, be sure to honor that COLLATE clause. Ticket [135c9da7513e5a97]. (check-in: 978b2d20cf user: drh tags: trunk)
18:01
Create new branch named "uuid-funcs" (check-in: 815dc0437c user: numist tags: uuid-funcs)
15:47
Minor adjustments for clarity and test coverage. (check-in: 3006571687 user: drh tags: generated-columns)
03:53
Fix incorrect arguments to testcase() macros. (check-in: 812467fbf0 user: drh tags: generated-columns)
00:31
Fix the foreign key logic to be compatible with generated columns. (check-in: 3de57145a1 user: drh tags: generated-columns)
2019-10-22
21:01
Take the declared column time into account when computing the values for generated columns, and apply appropriate affinity. (check-in: 9e04ba22df user: drh tags: generated-columns)
20:16
Merge the row-value fix from trunk. (check-in: 1fbd743861 user: drh tags: generated-columns)
19:51
Disqualify row-value comparisons for use by an index if the right-hand side has an affinity that does not match the index. Fix for ticket [6ef984af8972c2eb] (check-in: 5c118617cf user: drh tags: trunk)
15:45
Do not allow generated columns in the PRIMARY KEY. (check-in: 1a54743a3d user: drh tags: generated-columns)
13:59
In UPDATE processing, include generated columns in the set of columns being updated if and only if their generator expressions reference some other column that is being updated. (check-in: d38176e93a user: drh tags: generated-columns)
13:01
New testcase() macros. Fix a problem with INSERT when the IPK is to the right of generated columns. (check-in: 412799fc55 user: drh tags: generated-columns)
12:02
Merge changes on trunk into the generated-columns branch. (check-in: ba123b8c20 user: drh tags: generated-columns)
11:29
Previous check-in to fix [b47e3627ecaadbde] was incomplete. This check-in completes the fix and adds a test cases. (check-in: c7da1c01f1 user: drh tags: trunk)
01:00
Move the sqlite3LocateCollSeq(), sqlite3FindCollSeq(), and sqlite3GetCollSeq() routines so that they are all beside one another in the callback.c source file. No logic changes. (check-in: 9ff80a9bf8 user: drh tags: trunk)
00:03
When flipping ("commuting") a comparison operator, set the new EP_Commuted bit rather than adding extra EP_Collate bits, to single later processing that the order of precedence for COLLATE operators is inverted. Fix for ticket [b47e3627ecaadbde] (check-in: 90f7c47735 user: drh tags: trunk)
2019-10-21
23:41
Add a VdbeCoverage() macro that was omitted from check-in [eea1e7aa57e74c43]. (check-in: cd2317d04c user: drh tags: trunk)
16:15
Try to fix a harmless compiler warning reported by ICC. (check-in: 7f41b44ca2 user: drh tags: trunk)
01:04
Changes to the INSERT logic to make it simpler and faster and so that it works with generated columns and BEFORE triggers. (check-in: bc368cb090 user: drh tags: generated-columns)
2019-10-20
08:26
Fix a resource leak in fts5 that could occur if an auxiliary function is called from within a query that does not use the full-text index. (check-in: b528bdcd45 user: dan tags: trunk)
2019-10-19
18:47
Work toward getting generated columns to work with triggers. Still more work to do in this area. (check-in: 932a37275d user: drh tags: generated-columns)
15:01
Add testcase macros. (check-in: fb9c9bb284 user: drh tags: generated-columns)
13:29
Refactor names of column index transformation functions, for clarity. Get generated columns working with ALTER TABLE RENAME COLUMN. (check-in: 27ab41c910 user: drh tags: generated-columns)
2019-10-18
22:54
Use an allocation count and freelist instead of a membership bitfield in the mini lookaside allocator (Leaf check-in: 9496b4d378 user: numist tags: 2-size-lookaside)
18:33
Fixes for WITHOUT ROWID tables with VIRTUAL columns and an INTEGER PRIMARY KEY. (check-in: 86074da0fd user: drh tags: generated-columns)
17:47
Merge trunk enhancements into the generated-columns branch. (check-in: 85bc4524d7 user: drh tags: generated-columns)
17:42
Get generated columns working for WITHOUT ROWID tables. (check-in: 9f409649ec user: drh tags: generated-columns)
15:58
Enhance the ".imposter" command in the CLI so that the first argument can be an existing WITHOUT ROWID table instead of an index. The resulting imposter is the same table, but with columns in storage order and with all constraints removed. (check-in: 9dc0d34586 user: drh tags: trunk)
12:52
Claw back some performance from the sqlite3ExprGetColumnOfTable() routine. (check-in: e8426acb94 user: drh tags: generated-columns)
12:14
Fix sqlite3ColumnOfIndex() to account for virtual columns. (check-in: 447271123e user: drh tags: generated-columns)
10:05
Get indexes working on virtual columns. (check-in: 450c48766c user: drh tags: generated-columns)
02:19
STORED columns can now reference other STORED columns, in any order, as long as there are not loops. (check-in: 0d236698e6 user: drh tags: generated-columns)
2019-10-17
18:35
In the Table object, change the nVCol field to nNVCol - the number of non-virtual columns, as that is the quantity that we need most. (check-in: 4ad66af04a user: drh tags: generated-columns)
18:07
Bug fix with INSERT using an explicit column list on a table with a non-final STORED column. (check-in: 61b4459ae6 user: drh tags: generated-columns)
17:54
Some (but not all) INSERT and UPDATE statements now work for STORED columns. (check-in: fe7517bf4d user: drh tags: generated-columns)
16:16
Fix the xfer optimization for generated columns, so that VACUUM works again. (check-in: 8f67b89b04 user: drh tags: generated-columns)
15:59
Basic UPDATE functionality working for VIRTUAL columns. (check-in: c21959d4eb user: drh tags: generated-columns)
15:41
Avoid an infinite loop in fts3/4 incremental-merge in the case where the lowest level in the database contains segments but no data (because there is a delete-marker for each valid entry). Fix for [bf1aab89]. (check-in: 35beaee059 user: dan tags: trunk)
14:21
Bug fixes so that "make test" once against runs with no errors. (check-in: 7bfe0f679d user: drh tags: generated-columns)
13:15
Fix the table_info and table_xinfo pragmas so that they work with virtual columns. Table_info omits virtual columns. Table_xinfo gives them a "hidden" flag of 2, and 3 for STORED columns. (check-in: 069351b85f user: drh tags: generated-columns)
2019-10-16
22:01
INSERT with named columns for a table with generated columns. (check-in: 64db39f92d user: drh tags: generated-columns)
20:05
ALTER TABLE is able to add a VIRTUAL column. (check-in: 120c6b78cb user: drh tags: generated-columns)
19:31
Simple INSERT and SELECT operations working with VIRTUAL columns. (check-in: 7f9f90b1b8 user: drh tags: generated-columns)
17:46
Enhancements to SQL query normalization for UPDATE statements. (check-in: bba975c7af user: mistachkin tags: trunk)
14:56
If an AFTER DELETE trigger fires when a conflict row is deleted by REPLACE conflict resolution, make sure the conflict really has been resolved and that the trigger did not recreate the row before continuing. Ticket [a8a4847a2d96f5de] (check-in: eea1e7aa57 user: drh tags: trunk)
12:18
Initial experimental code for generated column support. Non-functional. (check-in: 11d472c1df user: drh tags: generated-columns)
2019-10-15
19:01
Formatting change on a multi-line conditional, for improved clarity. No logic changes. (check-in: 7248e34765 user: drh tags: trunk)
2019-10-14
20:32
Futher improvements to the IN operator for row-values on virtual tables. (check-in: bc751fb64d user: drh tags: trunk)
15:24
New test cases in test/fuzzdata8.db. (check-in: 344d9cb0c7 user: drh tags: trunk)
15:15
Fix a problem with row-value IN(...) operators and virtual tables. (check-in: aa57d7abac user: dan tags: trunk)
2019-10-12
23:38
When Select-Trace is enabled (in debugging builds only) do not show the result of Window function tree rewrites if there are no window functions. (check-in: d1acf72ae1 user: drh tags: trunk)
2019-10-11
18:55
Update the zipfile extension to use deflateBound(), instead of compressBound(), to learn the maximum possible size of a deflate()d buffer. (check-in: f5ee30426e user: dan tags: trunk)
17:14
Futher improvements to LEFT JOIN strength reduction. (check-in: 8a39167bd2 user: drh tags: trunk)
16:01
Improvements to the LEFT JOIN strength reduction optimization. (check-in: 548082dfab user: drh tags: trunk)
15:33
Ensure fts3/4 prefix indexes are flushed to disk before an 'optimize' command. Fix for [745f1abc]. (check-in: 4ed905b188 user: dan tags: trunk)
14:27
Fix the fts3/4 integrity-check command so that it works with "ORDER=DESC" tables. Fix for [8a6fa2bb]. (check-in: 5863546df9 user: dan tags: trunk)
14:25
Increase the version number to 3.31.0 for the next release cycle. (check-in: ffd4c30620 user: drh tags: trunk)
14:21
Faster response to sqlite3_interrupt() in the OP_IntegrityCk and OP_Count opcodes. (check-in: bf875dc599 user: drh tags: trunk)
11:21
Merge the 3.30.1 changes into reuse-schema. (Leaf check-in: eff7cd7f12 user: drh tags: reuse-schema-3.30)
2019-10-10
23:58
Update the autoconf makefile for MSVC. (check-in: 9455643eec user: mistachkin tags: trunk)
23:58
Fix harmless compiler warning seen with MSVC. (check-in: 73a8211473 user: mistachkin tags: trunk)
20:19
Version 3.30.1 (check-in: 18db032d05 user: drh tags: release, version-3.30.1, branch-3.30)
17:09
Prevent SQLite from assuming that if ((? IS NOT NULL) IS NOT NULL) is true, ? may not be NULL. Fix for [c31034044bb72c89]. (check-in: 7833feecfe user: dan tags: trunk)
16:41
Fix a problem in the fts3 integrity-check routine causing it to report as corrupt tables that contain values with embedded 0x00 bytes. Ticket [278ac142625e3dcd] (check-in: 629e20c988 user: dan tags: trunk)
16:21
Avoid assuming that an expression that contains the sub-expression (? IS FALSE) or (? IS TRUE) may only be true if ? is non-null. Fix for [a976c487]. (check-in: c6cc2390e9 user: drh tags: branch-3.30)
16:10
Fix a problem with running ALTER TABLE ADD COLUMN statements within a transaction that writes to one or more virtual tables. Fix for [8fe768e9]. (check-in: a4974a0f95 user: drh tags: branch-3.30)
15:57
Fix the OP_SeekRowid opcode so that it works correctly with a Real argument without damaging the value in the register that is the argument. Ticket [b2d4edaffdc156cc]. Test cases in TH3. (check-in: b02630fe6e user: drh tags: branch-3.30)
15:48
Be sure to rewrite column references inside FILTER clauses and window frame definitions when flattening queries. Fix for [1079ad19]. (check-in: df2060f34f user: drh tags: branch-3.30)
15:42
Version number to 3.30.1. (check-in: 12e28cc7d9 user: drh tags: branch-3.30)
15:17
Be sure to rewrite column references inside FILTER clauses and window frame definitions when flattening queries. Fix for [1079ad19]. (check-in: ccba7202b6 user: dan tags: trunk)
2019-10-09
21:14
Avoid assuming that an expression that contains the sub-expression (? IS FALSE) or (? IS TRUE) may only be true if ? is non-null. Fix for [a976c487]. (check-in: eb7ed90b8a user: dan tags: trunk)
18:36
Do not allow users to effectively disable fts5 crisismerge operations by setting the crisismerge threshold to higher than the maximum allowable segment b-trees on a single level. Fix for [d392017c]. (check-in: 86e4972092 user: dan tags: trunk)
17:38
Merge recent fixes and enhancements from trunk. (check-in: 553258c2ed user: drh tags: 2-size-lookaside)
17:06
An alternative, experimental lookaside memory allocator that uses two different slot sizes. (check-in: 5ba8cee8f7 user: sperry tags: 2-size-lookaside)
15:37
An improved fix for the dbsqlfuzz-discovered ALWAYS() failure following OOM in sqlite3ExprCollSeq(). This time with a test case (engineered by Dan). (check-in: 907f7965b3 user: drh tags: trunk)
15:26
Disallow fts5 page sizes greater than 65536 bytes - as there are 16-bit offsets used in the page header. Fix for [81a7f7b9]. (check-in: 75775c5ab4 user: dan tags: trunk)
15:08
Remove the "fastfuzztest" makefile target. Use only "fuzztest". (check-in: e17571c789 user: drh tags: trunk)
15:03
New test cases added to test/fuzzdata8.db. (check-in: b68d21e93a user: drh tags: trunk)
15:00
Change sqlite3SelectDup() to always return NULL if an OOM has occurred. (check-in: 01ba4641ab user: drh tags: trunk)
13:52
Use the "fuzztest" target in place of "fastfuzztest". (Closed-Leaf check-in: 7129e468fd user: drh tags: makefile-cleanup)
13:12
Remove the obsolete "fastfuzztest" target from the makefiles. (check-in: 3d44f1ee0f user: drh tags: makefile-cleanup)
01:19
Save CPU cycles in sqlite3Prepare() by, among other things, shifting the EXPLAIN column label logic over to sqlite3VdbeMakeReady(). (check-in: 1ca5ef8450 user: drh tags: trunk)
2019-10-08
19:45
Store 64-bit offset values in osinst log files. (Leaf check-in: 74d975c69a user: dan tags: osinst)
13:34
Fix problems with using the fts5 'rebuild' command inside a transaction that contains other updates of the same table. Fix for [e258f008]. (check-in: 238e083571 user: dan tags: trunk)
2019-10-07
20:36
Disallow page-sizes smaller than 32 bytes in fts5. Also ensure the fts5 integrity-check works even when "PRAGMA reverse_unordered_selects" is true. Fix for [265e935b26]. (check-in: 8ab0aebdb3 user: dan tags: trunk)
20:33
Omit a pointless memory allocation in vdbeSorterSort(). (check-in: 5d76dbc5b0 user: drh tags: trunk)
18:43
Fix a problem with running ALTER TABLE ADD COLUMN statements within a transaction that writes to one or more virtual tables. Fix for [8fe768e9]. (check-in: 31e85fbbc4 user: dan tags: trunk)
13:46
Add a test case for the assert() fix in the previous commit. (check-in: 32fba11ab7 user: dan tags: trunk)
13:26
Fix a faulty assert() statement in the sqlite3VdbeMemExpandBlob() routine. (check-in: 69a26eade2 user: drh tags: trunk)
10:29
Avoid attempting to read 0 bytes from a file in the osinst vtab code. (check-in: 1fb76c3e7d user: dan tags: osinst)
01:05
Fix the OP_SeekRowid opcode so that it works correctly with a Real argument without damaging the value in the register that is the argument. Ticket [b2d4edaffdc156cc]. Test cases in TH3. (check-in: 3cde82c86b user: drh tags: trunk)
2019-10-05
19:53
Omit the check for conflicting shared-cache locks in sqlite3Prepare() if the database connection uses no shared cache. We might be able to go back and remove this code completely, due to the newer Schema.iGeneration logic, but that will take more analysis. This check-in gives the speed benefit but not the reduction in code size. (check-in: 0b73a09270 user: drh tags: trunk)
19:37
Fix a problem in Makefile.msc on this branch. (check-in: ed3499a1a5 user: dan tags: osinst)
19:24
Optimization to sqlite3VtabUnlockList() for the common case when there is no work to do. (check-in: fc8d45086d user: drh tags: trunk)
19:17
Add a timestamp to each osinst log entry, to facilitate merging multiple log files. (check-in: c9519c0cec user: dan tags: osinst)
18:33
Call sqlite3Prepare() directly, rather than going through sqlite3_prepare(), when processing the sqlite_master.sql column for a schema. (check-in: cc49380ea7 user: drh tags: trunk)
17:29
Have sqlite3.c automatically turn on osinst logging for all connections. (check-in: eea231f81b user: dan tags: osinst)
15:28
Reorder two comparisons for a small performance gain in OP_Transaction. (check-in: d7667f6560 user: drh tags: trunk)
14:39
Performance optimization to the lookaside-memory disabling mechanism. (check-in: 17ce1c49cb user: drh tags: trunk)
2019-10-04
16:24
Bring the begin-concurrent-pnu-wal2 branch up-to-date with 3.30.0. (check-in: dd09f7ce97 user: drh tags: begin-concurrent-pnu-wal2)
16:15
Bring the wal2 branch up to date with version 3.30.0 (check-in: 16e1dced8b user: drh tags: wal2)
16:08
Bring the begin-concurrent-pnu branch up-to-date with version 3.30.0. (check-in: a4d26bcfb4 user: drh tags: begin-concurrent-pnu)
15:52
Bring the begin-concurrent branch up-to-date with the 3.30.0 release. (check-in: abd1b4df4f user: drh tags: begin-concurrent)
15:41
Bring the apple-osx branch up-to-date with the 3.30.0 release. (check-in: 76b26acaba user: drh tags: apple-osx)
15:31
Bring the reuse-schema branch up-to-date with version 3.30.0. (check-in: 6e09afecd6 user: drh tags: reuse-schema)
15:03
Version 3.30.0 (check-in: c20a353364 user: drh tags: trunk, release, version-3.30.0)
2019-10-03
16:02
Avoid running a couple of tests in affinity2.test as part of the valgrind permutations, as the way floating point computations are simulated by valgrind causes them to fail. (check-in: 7f9a4b6015 user: dan tags: trunk)
14:51
Increase the precision of floating point value display in VDBE debugging output. No changes to normally deployed code. (check-in: a561a656ff user: drh tags: trunk)
14:36
Fix some test script issues that come up with SQLITE_OMIT_VIRTUALTABLE builds. (check-in: 3934d2d08e user: dan tags: trunk)
13:44
Fix issues with command line invocation of wapptest.tcl. (check-in: 9e0d5d2640 user: dan tags: trunk)
2019-10-02
19:44
Update error detection logic in releasetest.tcl to account for new output formats in USAN. (check-in: 3f36b98836 user: drh tags: trunk)
19:43
Update corruptM.test to account for the fact that the database schema may be loaded from within the "sqlite3" command for some test permutations. (check-in: cb9470fc06 user: dan tags: trunk)
19:33
Fix a long-standing problem in fts4 incrmental merge. (check-in: 67da31e24e user: dan tags: trunk)
00:25
Disable sqlite3_drop_module() tests when virtual tables are omitted from the build. (check-in: 9f4035f91a user: drh tags: trunk)
2019-10-01
21:31
Remove references to test scripts analyzeA.test and analyzeB.test from permutations.test, since those test modules no longer exist. (check-in: 2394879698 user: drh tags: trunk)
2019-09-30
19:13
The nodeReaderInit() function in FTS3 may not assume that the node is non-empty. (check-in: 361eb2f682 user: drh tags: trunk)
16:57
Merge in the 3.30.0 beta 1 changes. (check-in: 0679612412 user: drh tags: reuse-schema)
16:49
Merge in the 3.30.0 beta 1 enhancements. (check-in: ebf8872626 user: drh tags: begin-concurrent-pnu-wal2)
16:44
Merge 3.30.0 beta 1 changes from trunk. (check-in: 918bd97d29 user: drh tags: wal2)
16:43
Merge version 3.30.0 beta 1 changes from trunk. (check-in: ac4b644268 user: drh tags: begin-concurrent-pnu)
16:14
Merge the 3.30.0 beta 1 changes from trunk. (check-in: a003818f70 user: drh tags: begin-concurrent)
16:13
Merge the 3.30.0 beta 1 changes from trunk. (check-in: 9ce4c79171 user: drh tags: apple-osx)
2019-09-28
18:28
Add missing comment to constant definitions. (check-in: 661a3789eb user: drh tags: trunk)
16:14
Improvements to a comment. No code changes. (check-in: 1a3671c700 user: drh tags: trunk)
11:19
In FTS3/4, the poslist end marker must be larger than any other possible poslist value, even on a corrupt poslist. (check-in: 752679aea5 user: drh tags: trunk)
2019-09-27
17:36
Update requirement marks due to changes in documentation wording. (check-in: 326cdc16f4 user: drh tags: trunk)
16:33
Allow compile-time options -DHAVE_GETHOSTUUID=0 and -DHAVE_GETHOSTUUID=1. (check-in: 3bcb9cc104 user: drh tags: trunk)
15:15
Alternative implementation of the previous check-in which is testable. (check-in: 102ef64462 user: drh tags: trunk)
15:01
Fix sqlite3ExprCompare() so that it ignores differences in the Expr.iTable field for IN operators, as otherwise it can lead to false negatives, which is usually harmless, but can cause problems for an assert() in the window function logic. (check-in: 6a204b192a user: drh tags: trunk)
2019-09-26
20:57
More minor test file fixes. (check-in: 352878fe1c user: dan tags: trunk)
20:05
Allow DROP TABLE to work on tables name "sqlite_parameters" just as it does with tables named "sqlite_stat%". Fix for the ".parameter clear" command in the shell. (check-in: e768179baa user: drh tags: trunk)
19:53
Minor fix for test file indexexpr1.test. (check-in: 0ceab26f15 user: dan tags: trunk)
16:57
New dbsqlfuzz cases added to test/fuzzdata8.db. (check-in: 49073b7003 user: drh tags: trunk)
16:08
Test for an OOM condition in resolveAlias(). (check-in: 322eca7f6a user: drh tags: trunk)
15:53
Fix a window-functions problem that could occur if an ORDER BY clause contains an alias for a window-function that is not a top-level expression. (check-in: 1cc6cf6407 user: dan tags: trunk)
2019-09-25
18:44
Add a missing VdbeCoverage() macro. (check-in: 36d35dbd5a user: drh tags: trunk)
17:47
Remove an unused variable. (check-in: a19884455b user: drh tags: trunk)
16:41
Further simplifications to window-function code. (check-in: 5fe15c1d83 user: dan tags: trunk)
11:49
In the previous check-in, the variable should be openMode, not openFlags. (check-in: 77b0db22d6 user: drh tags: trunk)
10:36
In the unix VFS layer, do not attempt to chown() the journal to be the same as the database if running in 8+3 filename mode. Also, update the comments on the chown() attempt to be more precise. (check-in: ab853724a7 user: drh tags: trunk)
02:07
Simplifications to the window-function code. (check-in: 489a1eb3aa user: drh tags: trunk)
2019-09-24
20:20
Bug fixes for window frames of the form (... RANGE BETWEEN b PRECEDING AND a PRECEDING) or (... RANGE a FOLLOWING AND b FOLLOWING) where (a > b). (check-in: 040e196a8b user: dan tags: trunk)
2019-09-23
12:38
Omit the sqlite3IntTokens array constant for a code simplification. (check-in: f907395ef5 user: drh tags: trunk)
11:55
When a scalar subquery has a pre-existing "LIMIT X" then change it to "LIMIT X<>0" rather than just "LIMIT 1" so that if X is 0 the limit will still be zero. Ticket [99cd4807dc03f178]. Test cases in TH3. (check-in: 82e5dcf5c1 user: drh tags: trunk)
2019-09-21
18:49
Fix a harmless unused variable warning in the test logic. (check-in: d7673a445f user: drh tags: trunk)
17:31
Fix harmless compiler warnings. (check-in: 8ea1dc727d user: drh tags: trunk)
15:44
Allow SQLite to omit redundant ORDER BY sorts in the case where a SELECT statement has GROUP BY and ORDER BY clauses that use the same expressions, even when the ORDER BY expressions are marked "DESC". (check-in: 20f7951bb2 user: dan tags: trunk)
13:34
Add --multithread, --serialized, and --singlethread options to the speed-check.sh test script. (check-in: c17078af60 user: drh tags: trunk)
2019-09-20
21:12
Simplify the fix in the previous commit. (check-in: 5ef64b0f55 user: dan tags: trunk)
20:52
Fix a problem with queries containing a min() or max() function for which the FILTER clause excludes all rows. (check-in: b1d7e104e0 user: dan tags: trunk)
2019-09-19
13:51
Fix an assert() in fts3 that could fail when accessing a corrupt database. (check-in: 601ce9532d user: dan tags: trunk)
2019-09-18
20:34
Always clear the temporary register cache after coding a subroutine. (check-in: b6f2a7f9cd user: drh tags: trunk)
17:22
Add extra tests for the handling of corrupt records in fts3. (check-in: 40e29a47d1 user: dan tags: trunk)
12:49
Fix another potential "jump depends on uninitialized value" warning. (check-in: 633b214e9b user: drh tags: trunk)
11:46
Fix a "jump depends on unititialized value" valgrind error in fts5 triggered by corrupt database records. (check-in: 6b6751cd90 user: dan tags: trunk)
11:16
Fix an OOB read in the INSTR() function introduced yesterday by check-in [3fb40f518086c1e8] and detected by OSSFuzz. The test case is in TH3. (check-in: d49047c1b5 user: drh tags: trunk)
2019-09-17
21:28
Do not change the OP_String8 opcode into OP_String until *after* any necessary encoding conversions are accomplished. Otherwise, a rerun of the prepared statement after an OOM can result in errors. Test case in TH3. (check-in: 8efd62594e user: drh tags: trunk)
13:30
Test cases for ticket [587791f92620090e] (check-in: ca0e3a83a1 user: drh tags: trunk)
03:16
Fix the instr() SQL function so that it makes a copy of its argument before changing the datatype, since the datatype affects processing. Also fix the sqlite3_value_text() routine so that it always works even for values obtained form sqlite3_value_dup(). Ticket [587791f92620090e] (check-in: 3fb40f5180 user: drh tags: trunk)
2019-09-16
20:16
Improved type information display when tracing VDBE execution. (check-in: ee83d8e30d user: drh tags: trunk)
18:19
Do not attempt the LIKE optimization for non-text columns and a pattern prefix of "-". Ticket [0f0428096f17252a] (check-in: 6fe0367f9a user: drh tags: trunk)
15:15
Add recent interesting cases from dbsqlfuzz. (check-in: f06ef3d75d user: drh tags: trunk)
14:42
Documentation updates for the SQLITE_DIRECTONLY flag. (check-in: 5beb6dc9bc user: drh tags: trunk)
12:35
Merge all recent trunk enhancements into the reuse-schema branch. (check-in: 27eb223690 user: drh tags: reuse-schema)
12:29
Bring the begin-concurrent-pnu-wal2 branch up to date with all the latest enhancements on trunk. (check-in: 15593bf3ad user: drh tags: begin-concurrent-pnu-wal2)
12:23
Merge recent trunk enhancements into the wal2 branch. (check-in: da8bc97412 user: drh tags: wal2)
12:17
Merge recent trunk enhancements into the begin-concurrent-pnu branch. (check-in: 54930b7e0a user: drh tags: begin-concurrent-pnu)
12:08
Merge recent trunk enhancements into the begin-concurrent branch. (check-in: 93b9ef3f47 user: drh tags: begin-concurrent)
12:02
Merge the latest changes from trunk into the apple-osx branch. (check-in: a95191deab user: drh tags: apple-osx)
05:34
Fix a problem with processing CTEs that use a WINDOW clause. (check-in: ca564d4b5b user: dan tags: trunk)
2019-09-14
16:44
Add the --no-rowids option to the ".recover" command. (check-in: 01d71b947a user: dan tags: trunk)
16:21
Extra comments on fields of the Window object. (check-in: 3dbed16251 user: drh tags: trunk)
00:21
Fix the windows inverse function on the JSON aggregates. (check-in: f464d847af user: drh tags: trunk)
2019-09-13
20:42
Fix a problem with using json1 window functions with an EXCLUDE clause. (check-in: 4a1978814d user: dan tags: trunk)
18:59
Fix the windowB test module so that it works even if SQLite is built without JSON support. (check-in: 807975c76b user: drh tags: trunk)
18:27
Add the SQLITE_SUBTYPE flag, which may be passed to sqlite3_create_window_function() to indicate that the window function uses sqlite3_value_subtype() to check the sub-type of its arguments. (check-in: ba2ebc3a34 user: dan tags: trunk)
17:36
Change the meaning of the SQLITE_SUBTYPE flag so that it indicates that the function may use sqlite3_value_subtype() on its arguments. (Closed-Leaf check-in: 7f424ec9a3 user: dan tags: window-functions-subtype-fix)
17:30
Fix a typo in the carray extension header comment - the comment that serves as the documentation to this extension. (check-in: 658a42d363 user: drh tags: trunk)
17:05
Change the meaning of the SQLITE_SUBTYPE flag so that it indicates that the user-defined function cares about the subtypes of its arguments. (Closed-Leaf check-in: af1bc20f50 user: dan tags: window-functions-subtype-fix2)
16:19
Merge latest trunk changes with this branch. (check-in: 14ef754346 user: dan tags: window-functions-subtype-fix)
13:23
Ensure that the idxStr for FTS5 is always zero-terminated. Fix for check-in [9d418a7a491761ee] (check-in: 090cd07d37 user: drh tags: trunk)
12:24
Fix harmless compiler warnings. (check-in: a8927d14f8 user: drh tags: trunk)
2019-09-12
19:38
Allow fts5 to filter on multiple MATCH clauses in a single scan. (check-in: 9d418a7a49 user: dan tags: trunk)
2019-09-11
15:25
Fix typo for one instance of line number handling in the Lemon tool. (check-in: 980be1730d user: mistachkin tags: trunk)
2019-09-10
17:51
Enhance treeview to show SOFT-COLLATE for TK_COLLATE operators that omit the EP_Collate flag. (check-in: a97804620a user: drh tags: trunk)
15:33
Ensure the columns of views and sub-queries maintain their implicit collation sequences when the "push-down" optimization is applied. Fix for [18458b1a]. (check-in: 36997c4ade user: dan tags: trunk)
2019-09-09
20:17
Ensure the columns of views and sub-selects in the FROM clause of a select are always assigned implicit collation sequences, just as table columns are. Fix for [a7debbe0]. (check-in: b9ec72203c user: dan tags: trunk)
19:49
Ensure the columns of views and sub-selects in the FROM clause of a select are always assigned implicit collation sequences, just as table columns are. Possible fix for [a7debbe0]. (Closed-Leaf check-in: 1863b7bf12 user: dan tags: tkt-a7debbe0.)
2019-09-07
18:20
Add the SQLITE_SUBTYPE flag, which can be passed to sqlite3_create_function() and similar to indicate to the core that a user function is likely to use sqlite3_result_subtype(). (check-in: 6aa438ce41 user: dan tags: window-functions-subtype-fix)
2019-09-04
06:56
Fix handling of NULL, text and blob values in window queries that use "RANGE BETWEEN A FOLLOWING AND B FOLLOWING", or "B PRECEDING AND A PRECEDING", where A>B. (check-in: cb3e2be674 user: dan tags: trunk)
2019-09-03
19:40
Fix a buffer overread that could occur when running fts5 prefix queries inside a transaction. (Leaf check-in: b54aa18b0f user: dan tags: branch-3.18)
19:29
Fix a buffer overread that could occur when running fts5 prefix queries inside a transaction. (Leaf check-in: b584fd36f7 user: dan tags: branch-3.9)
18:43
Fix a buffer overread that could occur when running fts5 prefix queries inside a transaction. (Leaf check-in: 0770363b30 user: drh tags: branch-3.19)
18:36
Fix a buffer overread that could occur when running fts5 prefix queries inside a transaction. (check-in: 68b898381a user: drh tags: branch-3.22)
18:04
Disable the undocumented rtreenode() SQL function that is only used for testing, except when doing a build that is specifically intended for testing. (check-in: 8452fd5499 user: drh tags: branch-3.22)
17:55
Disable the undocumented rtreenode() SQL function that is only used for testing, except when doing a build that is specifically intended for testing. (check-in: 34cd2d929e user: drh tags: branch-3.19)
17:46
Disable the undocumented rtreenode() SQL function that is only used for testing, except when doing a build that is specifically intended for testing. (check-in: 0a1cce496c user: drh tags: branch-3.18)
17:39
Disable the undocumented rtreenode() SQL function that is only used for testing, except when doing a build that is specifically intended for testing. (check-in: 7b4583f932 user: drh tags: branch-3.9)
16:23
Updates to the default settings in Makefile.linux-gcc. (check-in: 3044cf6917 user: drh tags: trunk)
14:27
When we play games with COLLATE in order to commute an operator in the WHERE clause processing, be sure not to use the commuted operator to qualify a partial index, as insufficient COLLATE information is preserved to verify that the expression will correctly qualify the index. Ticket [767a8cbc6d20bd68] (check-in: 5351e920f4 user: drh tags: trunk)
2019-09-02
22:13
Fix a bug introduced earlier today by check-in [88833a9c2849c959]. Ticket [29f635e0af71234b] (check-in: 6e7b4527d3 user: drh tags: trunk)
14:46
Fix a potential crash in fts5 caused by using an auxiliary function on a "special" query like '*id' or '*reads'. (check-in: 9490683ae8 user: dan tags: trunk)
02:21
When applying the IN_INDEX_NOOP optimization and the LHS has REAL affinity, also apply REAL affinity to each element of the RHS. Ticket [2841e99d104c6436]. (check-in: 88833a9c28 user: drh tags: trunk)
01:25
Fix an obsolete comment that defines the meaning of one of the parameters to the sqlite3FindInIndex() subroutine. No changes to code. (check-in: 0c946f0846 user: drh tags: trunk)
00:58
When computing an expression value for an index-on-expression or a CHECK constraint and the expressions uses a REAL table column, but the value of that column is an integer (in other words, when it is using the store-real-as-integer optimization) be sure to promote the value to real before evaluating the expression. Ticket [57af00b6642ecd68]. (check-in: 0658c16e31 user: drh tags: trunk)
2019-09-01
23:36
Remove an obsolete paragraph from the OP_Column documentation. No code changes. (check-in: f6d8956cf8 user: drh tags: trunk)
2019-08-31
20:29
Fix a harmless compiler warning. (check-in: 63c67a54b4 user: drh tags: trunk)
20:26
Mark new VDBE branches never taken. (check-in: 83c2adffbf user: drh tags: trunk)
20:13
Improvements to the algorithm that determines which SELECT in a sequence of nested SELECT statements that an aggregate function belongs to. This resolves an issue identified by dbsqlfuzz. (check-in: d768007473 user: drh tags: trunk)
17:14
If a DELETE trigger fired by an UPDATE OR REPLACE statement deletes the row being updated, do not attempt to proceed with the original UPDATE operation. Fix for [d6a0fbc1]. (check-in: 4145b3e050 user: dan tags: trunk)
01:33
Remove some affinity tests that became unreachable due to the prior change. (check-in: e2db1123fa user: drh tags: trunk)
2019-08-30
23:56
When the affinity of a table column is INT or REAL, make the affinity of corresponding index columns NUMERIC. This increases the precision of index lookups for large numbers so that it matches the precision of ordinary comparison operators. Ticket [40812aea1fde9594] (check-in: e0d909c740 user: drh tags: trunk)
23:15
Make sure OP_RealAffinity has been applied to all columns of type REAL in the excluded.* pseudo-table of an UPSERT. Ticket [5a3dba8104421320] (check-in: 67381daded user: drh tags: trunk)
21:52
Improvements to VDBE tracing. No changes to code in normal deliverables. (check-in: 54553bf16f user: drh tags: trunk)
19:45
Add test case to window8.test. Also fix an error in a comment in window.c. (check-in: 2925bfa597 user: dan tags: trunk)
18:02
Back out the change at [47cd634c98b502d4] which was incorrect. Add a test case so that we don't accidently back out that change again. (check-in: 596ac2a4ea user: drh tags: trunk)
17:28
Add further comments to window.c. (check-in: 900464567b user: dan tags: trunk)
16:46
New test cases for window functions with RANGE BETWEEN and DESC NULLS FIRST. (check-in: f7002f86c7 user: drh tags: trunk)
16:14
Fix a bug in RANGE window functions that use "ORDER BY <expr> DESC NULLS FIRST" as the window-frame ORDER BY clause. (check-in: 39b4cad4a5 user: dan tags: trunk)
16:00
The expression "(X IS FALSE) IN (FALSE)" does not imply that X is NOT NULL. Ticket [f8f472cbc77ba9c9] (check-in: dd66134817 user: drh tags: trunk)
15:11
The expression "(X IS FALSE) BETWEEN FALSE AND TRUE" does not implie that X is not NULL. Ticket [fba33c8b1df6a915] (check-in: 057fb8b180 user: drh tags: trunk)
13:07
The expression "(x IS FALSE) IS FALSE" does not imply that X is not NULL. Ticket [a6408d42b9f44462] (check-in: 45ff2b1f26 user: drh tags: trunk)
2019-08-29
23:24
Remove a faulty testcase() macro. (check-in: 80124ae552 user: drh tags: trunk)
21:16
Improve vdbe branch coverage of NULLS LAST code. (check-in: e8e9f77d52 user: dan tags: trunk)
19:34
Fix other problems similar to ticket [c0390363]. (check-in: 96ff2ba9c4 user: dan tags: trunk)
16:48
Add a missing VdbeCoverage() macro. (check-in: 33da6092d3 user: drh tags: trunk)
16:17
Remove an unreachable branch in the NULLS LAST logic of RANGE window functions. (check-in: 47cd634c98 user: drh tags: trunk)
15:50
Fix another case where SQLite assumes that if "~(? AND FALSE)" is true, "?" must be non-null. (check-in: 616f5663b3 user: dan tags: trunk)
15:06
Avoid assuming that for "~ (? AND FALSE)" to be true, "?" must not be NULL, just as we do for "NOT (? AND FALSE)". Fix for ticket [c0390363]. (check-in: 84ae41fd2f user: dan tags: trunk)
14:25
Fix a potential buffer overrun in fts5 caused by corrupted database records. (check-in: c465d0eb47 user: dan tags: trunk)
00:27
Improve Lemon so that it enlarges some of its tables slightly in order to avoid having to index range checks on table lookups for a performance increase. (check-in: 4be6a23a18 user: drh tags: trunk)
2019-08-28
11:49
Fix an unreachable branch in sqlite3ParserFallback() (Closed-Leaf check-in: e059178b47 user: drh tags: lemon-optimization)
11:31
Further improvements to parser speed by enlarging lookup tables to eliminate the need to do range checking on the index prior to lookup. (check-in: 47d3e091ae user: drh tags: lemon-optimization)
02:09
Increase the size of the yy_lookahead table so that it is never necessary to down bounds checking on the index. (check-in: bafd872398 user: drh tags: lemon-optimization)
2019-08-27
19:59
Add support for "ORDER BY ... NULLS FIRST" and "ORDER BY ... NULLS LAST". Use this to fix ticket [f8a7060e]. (check-in: 94085fb3e7 user: dan tags: trunk)
17:59
The ALWAYS() added by the previous check-in was incorrect. Take it back out. (check-in: 336235db2b user: drh tags: trunk)
17:28
Add ALWAYS() to an always true conditional that results from the previous check-in. Add a test case for ticket [dbaf8a6820be1ece] to supplement those already checked into TH3. (check-in: aff2098047 user: drh tags: trunk)
17:01
Omit the "x IN (y)" to "x==y" optimization of check-in [e68b427afbc82e20] (and ticket [e39d032577df6942]) as it causes difficult affinity problems as demonstrated by ticket [dbaf8a6820be1ece] and the original assertion fault is no longer a factor due to countless other changes of the previous 5 years. (check-in: 7f5168a76a user: drh tags: trunk)
10:05
If a TEMP TRIGGER references an auxiliary schema, and that auxiliary schema is detached, move the trigger to reference the TEMP schema before completing the detach, so that the trigger does not hold a dangling schema pointer. Ticket [ac8dd4a32ba4322f] (check-in: 069c2f4c61 user: drh tags: trunk)
2019-08-26
20:41
Merge in recent fixes from trunk. (Closed-Leaf check-in: ad816d01d4 user: drh tags: nulls-last)
14:57
Tweak the shell tool ".recover" command so that it can recover rows that consist of a rowid and no fields. (check-in: 279ac7fdec user: dan tags: trunk)
14:18
Improved detection of number of column mismatch for vector assignment in UPDATE statements. Ticket [78acc9d40f0786e8] (check-in: bd4bda73df user: drh tags: trunk)
13:45
Fix typo in a comment. No code changes. (check-in: d0cc06d8a3 user: drh tags: trunk)
12:50
Enforce 80-character line discipline in the CLI. Minor improvements to the CLI built-in help. (check-in: 9690013a00 user: drh tags: trunk)
2019-08-24
21:02
Minor performance improvement for balance_nonroot(). (check-in: d7434cae3e user: dan tags: trunk)
17:11
Fix a potential buffer overrun in fts5 caused by corrupt database records. (check-in: 156d612800 user: dan tags: trunk)
2019-08-23
23:05
Fix the built-in edit() SQL function in the CLI so that it works with zero-length blobs. (check-in: e324901286 user: drh tags: trunk)
21:11
Attempt to parse the NULLS LAST clause more efficiently. A few cycles were saved, but at the expense of more code. And there is a bug was introduced somewhere. Not worth continuing down this line. (Closed-Leaf check-in: 12d2cf8871 user: drh tags: dead-end)
20:33
Move some things in parse.y so that TK_COLUMN and TK_AGG_COLUMN are assigned the same values as they are on trunk for a very small speedup. (check-in: d26fdfa3bc user: dan tags: nulls-last)
17:09
Revise the VDBE comments for NULL-scan so that they also work make sense when reading a NULLS FIRST plan. (check-in: bfe793780f user: drh tags: nulls-last)
17:00
Additional simplifications of the WHERE loop code generator logic for NULLS LAST. (check-in: 1383680d92 user: drh tags: nulls-last)
16:12
Simplification of the WHERE loop code generator for NULLS LAST saves a few CPU cycles and about a hundred bytes of code space. (check-in: e3ed2f496f user: drh tags: nulls-last)
13:32
Invert the meaning of the regBignull flag so that it is 1 when doing the normal scan and 1 when scanning nulls. This enables the re-do jump at the bottom of the loop to be coded with a single OP_IfNotZero opcode, rather than a sequence of OP_If, OP_Integer, OP_Goto. (check-in: bf875e1a25 user: drh tags: nulls-last)
13:08
Extra VDBE comments in the NULLS LAST logic provide landmarks to help understand the EXPLAIN output. (check-in: 649b08ead5 user: drh tags: nulls-last)
2019-08-22
21:13
Add additional VDBE coverage macros. (check-in: d3531f5be7 user: drh tags: nulls-last)
19:35
Merge fixes from trunk. Also fix a reference to the KeyInfo.aSortOrder field, which should now be KeyInfo.aSortFlags (check-in: 63e625c8eb user: drh tags: nulls-last)
16:38
Fix the likely(), unlikely(), and likelihood() functions so that they have no affinity, just like any other function. Ticket [7e07a3dbf5a8cd26] (check-in: 44578865fa user: drh tags: trunk)
11:11
Fix a false-positive in sqlite3ExprNeedsNoAffinityChange(). Ticket [ac184eb571d5e6e0] (check-in: e62eddbb04 user: drh tags: trunk)
00:53
Fix the OP_SeekGE, OP_SeekGT, OP_SeekLE, and OP_SeekLT opcodes so that they preserve the datatype of the value in the register used as the key. Ticket [d9f584e936c7a8d0] (check-in: 81b9f0f550 user: drh tags: trunk)
2019-08-21
19:58
Add missing VdbeCoverage() macros to new code. (check-in: b1cbcdc6eb user: dan tags: nulls-last)
17:46
Disable broken test case in expert1.test. (check-in: 73e30c2e92 user: dan tags: nulls-last)
15:41
Update this branch with latest trunk changes. (check-in: 6153bcf41a user: dan tags: nulls-last)
14:54
Avoid assuming that "column IS ?", where column is declared UNIQUE, matches only a single row (as "?" might be NULL). Fix for [b8689402]. (check-in: d02490a2f0 user: dan tags: trunk)
11:31
Fix a broken assert() in the fts3 snippet code that was failing for queries containging more than 64 phrases. (check-in: 4c01e0170e user: dan tags: trunk)
2019-08-20
20:09
Further tests for the special null-handling on this branch. (check-in: 0dbbb51f4d user: dan tags: nulls-last)
19:11
Fix a problem with fts5 "ORDER BY rank" queries when the fts5 table name requires quoting. (check-in: 00e9a8f273 user: dan tags: trunk)
17:51
Add tests for sort-by-index cases that use IN() and non-default NULL handling. (check-in: 09d660ecde user: dan tags: nulls-last)
17:14
Bring the hard-heap-limit branch up-to-date with trunk. (check-in: 9b14eb7754 user: drh tags: hard-heap-limit)
15:47
Do not pass ORDER BY clauses with non-standard NULL handling to virtual table implementations. (check-in: a9a82ee88d user: dan tags: nulls-last)
14:43
Fix a segfault that could occur following an OOM while processing a SELECT statement for which one or more of the expressions in the window frame declaration are themselves sub-selects that use window functions. (check-in: 75aec4fc88 user: dan tags: trunk)
13:49
Add the new sqlite3_drop_modules() interface to the loadable extension mechanism. (check-in: 658bd51623 user: drh tags: trunk)
11:43
Retain the affinity of an expression in a WHERE clause when it is transformed to a reference to an index column on the same expression. Fix for [f043b113]. (check-in: 511da08156 user: dan tags: trunk)
02:19
Fix a typo and a harmless compiler warning. (check-in: ec4c63e00c user: mistachkin tags: trunk)
2019-08-19
20:44
Add the sqlite3_drop_modules() interface. (check-in: e2c6fed8f8 user: drh tags: trunk)
20:35
Omit the "_except" term from the name of the new interface. (Closed-Leaf check-in: e5ba47c2d8 user: drh tags: sqlite3_drop_modules_except)
19:59
Fix problems with window frames that use ORDER BY ... NULLS LAST etc. (check-in: 75d665a494 user: dan tags: nulls-last)
17:26
Prevent NULLS FIRST/LAST from being used in CREATE INDEX and other statements. (check-in: bb9767a287 user: dan tags: nulls-last)
2019-08-17
19:58
Add some extra tests for the lsm virtual table module. (check-in: 4cb009b0f7 user: dan tags: trunk)
19:55
Fix to the query planner for the LSM1 extension. (check-in: 7496e872a1 user: drh tags: trunk)
19:45
The experimental sqlite3_drop_modules_except() interface. (check-in: 0851db4d33 user: drh tags: sqlite3_drop_modules_except)
19:31
Fix the new ability to unregister virtual table modules so that it works for the automatic PRAGMA virtual tables. (check-in: 5d6f4dfeea user: drh tags: trunk)
19:13
When populating an ephemeral b-tree for the RHS of an IN(...) clause, avoid applying an affinity to a value that may be used later on for some other purpose. Fix for [c7a117190]. (check-in: 43e8b14314 user: dan tags: trunk)
18:16
Add tests to ensure that this branch really does fix ticket [f8a7060ece]. (check-in: f892066425 user: dan tags: nulls-last)
17:55
Fix problem with DESC indexes on this branch. (check-in: b49df1fe9b user: dan tags: nulls-last)
17:07
Ensure the functions that appear to be constant are not factored out of expression that originate on the right-hand side of a LEFT JOIN. Ticket [6710d2f7a13a2997] (check-in: 500c9152da user: drh tags: trunk)
15:47
Merge trunk changes into this branch. (check-in: db1e60800b user: dan tags: nulls-last)
15:27
Activatate introspection pragmas by default. The new option SQLITE_OMIT_INTROSPECTION_PRAGMAS must be provided to keep them out. (check-in: 9c4bca64fb user: drh tags: trunk)
00:53
The SQLITE_DIRECTONLY flag, when added to sqlite3_create_function() prevents the function from being used inside a trigger or view. (check-in: de76737698 user: drh tags: trunk)
2019-08-16
22:58
Add the ability to unregister a virtual table module by invoking sqlite3_create_module() with a NULL sqlite3_module pointer. (check-in: 31e34fa339 user: drh tags: trunk)
21:07
Add support for using indexes for some ORDER BY clauses that use non-default NULL handling. Still some problems on this branch. (check-in: 81069d7196 user: dan tags: nulls-last)
2019-08-15
23:11
Fix harmless compiler warnings in the TCL interface. (check-in: f17e72291f user: drh tags: trunk)
21:27
Add the SQLITE_DBCONFIG_ENABLE_VIEW option, together with a "db config" command in the TCL interface that can access that option as well as all the other sqlite3_db_config() boolean options. (check-in: 61b4bccd29 user: drh tags: trunk)
20:04
Provide the SQLITE_DIRECTONLY flag for app-defined functions that prohibits the use of those functions within triggers or views. (Closed-Leaf check-in: fc745845d8 user: drh tags: directonly)
14:35
Ensure that the optional "sz=N" parameter that can be manually added to the end of an sqlite_stat1 entry does not have an N value that is too small. Ticket [e4598ecbdd18bd82] (check-in: 98357d8c12 user: drh tags: trunk)
13:53
Ensure that SQLite does not attempt to process incompatible window functions in a single scan. Fix for [256741a1]. (check-in: 4f5b2d9381 user: dan tags: trunk)
13:46
Avoid downgrading SQLITE_CORRUPT errors detected by the schema parser into SQLITE_NOMEM or SQLITE_ERROR errors. (check-in: b2e79f8ff0 user: drh tags: trunk)
13:17
Ensure that the cell overwrite optimization does not overwrite the header of the b-tree page. (check-in: 4cc5694cbd user: drh tags: trunk)
00:04
Early detection out-of-bounds page numbers on the direct-overflow-read optimization gives consistent error messages regardless of whether or not the optimization is enabled. (check-in: b517a52fa3 user: drh tags: trunk)
2019-08-14
15:17
Always check for reads past the end of the file on the in-memory journal driver. This used to be an assert(). (check-in: 4d41ca7d6e user: drh tags: trunk)
2019-08-13
20:34
Add some static to the 'regexp' extension. (check-in: a21d1dde73 user: mistachkin tags: trunk)
17:56
Update test cases so that they work with ICU enabled. (check-in: 408144a183 user: dan tags: trunk)
17:27
Update some corruption test cases to take [724f4df9c] into account. (check-in: 927cd7b4c5 user: dan tags: trunk)
15:22
Merge latest trunk changes with this branch. (check-in: 5b4689d89c user: dan tags: reuse-schema)
15:11
Fix a problem with RBU function sqlite3rbu_bp_progress() when used during an RBU vacuum. (check-in: 8c44b02f14 user: dan tags: trunk)
2019-08-12
18:26
Make sure the btree cursor overflow cache is cleared when overwriting a cell in sqlite3BtreeInsert(). Ticket [3cf9bb227e9a5d32] (check-in: 7dae7b969e user: drh tags: trunk)
16:36
Experimental implementation of NULLS FIRST/LAST. This branch still has problems - the most significant of which is that ORDER BY clauses with a non-default NULLS FIRST/LAST qualifier can never use an index. (check-in: 07babb0f89 user: dan tags: nulls-last)
16:25
For the ".testctrl prng_seed" command in the CLI, if the argument is "random" then select a random integer seed and print the seed value on stdout. (check-in: 636ca4472c user: drh tags: trunk)
15:37
Fix the build for compilation using separate files rather than the amalgamation. (Leaf check-in: 1e0f4869de user: drh tags: sha3)
15:19
Make the sha3 extension part of the amalgamation, enabled using SQLITE_ENABLE_SHA3. (check-in: a48a7b7859 user: drh tags: sha3)
14:17
Add a TESTCTRL that disables the verification of type, name, and tbl_name in the sqlite_master table. (check-in: 48d9b48ab4 user: drh tags: trunk)
00:08
Validate the type, name, and tbl_name fields of the sqlite_master table when loading the schema, unless writable_schema is engaged. (check-in: 724f4df9cc user: drh tags: trunk)
2019-08-10
15:06
Fix the sqliteExprImpliesExpr() routine so that it recognizes that "(NULL IS FALSE) IS FALSE" doe not imply "NULL NOT NULL". Ticket [9080b6227fabb466] (check-in: da01ba4fa4 user: drh tags: trunk)
14:35
Add extra test cases related to the previous commit. (check-in: 3c690b2b05 user: dan tags: trunk)
14:16
Remove two incorrect assert() statements from the logic used to derive column names and types from subqueries. (check-in: 712e477148 user: drh tags: trunk)
2019-08-09
20:26
Allow the RHS of a row-value IN operator to use a compound query with an ORDER BY clause. (check-in: eaf15d9bae user: drh tags: trunk)
14:54
In shared-schema mode, handle the case where a connection has created a virtual-table object, but is later assigned a different shared-schema object for which the virtual-table schema has not yet been initialized. (check-in: e30c7414fe user: dan tags: reuse-schema)
01:59
Modify signature of sqlite3VdbeChangeOpcode() to accept int instead of u32. (check-in: 68b7f2acf4 user: mistachkin tags: trunk)
01:11
Fix more compiler warnings. (check-in: 1b85442b61 user: drh tags: trunk)
2019-08-08
19:40
Fix harmless compiler warnings. (check-in: 1eef4ddea9 user: drh tags: trunk)
19:19
Remove support for SQLITE_ENABLE_STAT3. The sqlite_stat3 table is now ignored, if it exists. Run ANALYZE using STAT4 to get the equivalent functionality, which presumably everybody has been doing for a long time now. (check-in: f1cd234c98 user: drh tags: trunk)
18:49
Fix a case of the Expr.affinity to Expr.affExpr refactor that was missed in the [a29f2a7d07beff64] check-in. (check-in: 83450d1070 user: drh tags: trunk)
16:23
More legacy STAT3 code removed. (Closed-Leaf check-in: 845d2f17de user: drh tags: omit-stat3)
15:47
Fix spurious "no such table: x1" errors in shared-schema mode that could occur when a query that is a join across two or more databases needs to call the xConnect() methods of a virtual table. (check-in: edf45cd7c6 user: dan tags: reuse-schema)
15:24
Remove support for STAT3. The sqlite_stat3 tables are ignored, if they exist. STAT4 continues to work as it always has, and as it is a superset of STAT3 is the recommended replacement. (check-in: 1e17ea2fd1 user: drh tags: omit-stat3)
11:44
Fix a bug causing "no such table" and other similar sqlite3_prepare*() errors to return SQLITE_SCHEMA instead of SQLITE_ERROR in shared-schema mode when there is an attached database for which the schema has never been loaded. (check-in: 111e2c73cf user: dan tags: reuse-schema)
01:39
Remove a NEVER() that is reachable from a corrupt database. (check-in: 30e6ee27a9 user: drh tags: trunk)
2019-08-07
19:57
Remove use of the affinity() function from view.test, as it is only available in SQLITE_DEBUG builds. (check-in: 7f2246a17b user: dan tags: trunk)
18:34
Add "set TMP=%CD%" to the start of each msvc script output by releasetest_data.tcl. Otherwise, since binaries compiled with SQLITE_TEST all choose the same sequence of pseudo-random numbers, collisions between temp file names cause errors when running multiple tests in parallel. (check-in: f5d0436d8d user: dan tags: trunk)
17:45
Eliminate some more cases of redundant sorting in window-function queries. (check-in: 8158d2aca6 user: dan tags: trunk)
13:25
Do not make SQLITE_READ authorizer calls for tables without names, as all such tables will be internal-use-only tables for subqueries and whatnot. (check-in: 193c87fc96 user: drh tags: trunk)
2019-08-06
21:16
Ensure that when the col in an operator like "val IN(col)" is a column of a view, its affinity is not used to coerce val. Fix for [0a5e2c1d]. (check-in: 17b3d2218c user: dan tags: trunk)
20:55
Improved reuse of file descriptors for which close() is delayed to prevent clearing of posix advisory locks. (check-in: 509c1ba26a user: drh tags: trunk)
20:26
Enhance the ".recover" output in the shell to use double-quotes around table and column identifiers. (check-in: 846d2d2d2f user: drh tags: trunk)
18:40
Add "PRAGMA foreign_keys=OFF;" to the start of the script output by ".recover", just as is done for ".dump". (check-in: bfc29e62ef user: dan tags: trunk)
15:32
Ensure that columns of views and sub-queries that are expressions with no affinity are comparied without any type conversions, as required in the documentation. Tickets [61c853857f40da49] and [d52a29a9e6bc55c5]. (check-in: 9c8c1092a8 user: drh tags: trunk)
15:18
Performance optimization to the new affinity handling logic. (Closed-Leaf check-in: c9724e761b user: drh tags: pending)
15:02
Add a multi-threaded test to threadtest3.c for the feature on this branch. (check-in: 62557fab0d user: dan tags: reuse-schema)
14:37
Use 0x40 (ASCII '@') instead of 0x00 to mean "no affinity" so that columns with no affinity can appear in a zero-terminated string. Use the new SQLITE_AFF_NONE macro for this new magic number. (check-in: e8234f6939 user: drh tags: pending)
11:45
Add an assert() to the code on this branch. (check-in: fdd44bbb50 user: dan tags: reuse-schema)
2019-08-05
20:53
Ensure that columns of views and sub-queries that are expressions with no affinity are not assigned BLOB affinity. This matches the documentation. Fix for [61c853857f40da49]. (On a branch because there are still subtle issues.) (check-in: e15a0977dd user: dan tags: pending)
20:45
Add test cases to this branch. (Closed-Leaf check-in: f37317d81c user: dan tags: tkt-61c853-A)
19:44
Fix the patch on this branch so that it works with sub-queries, as well as views. (check-in: 7480db307c user: dan tags: tkt-61c853-A)
19:34
The second option for [61c853857f40da49]: In this mode, columns of VIEWs and subqueries that are formed by expressions have affinity BLOB rather than affinity none, as has usually been the case for a while. But this mode fixes a couple of corner cases involving query flattening and the push-down optimization where that rule was violated. (Closed-Leaf check-in: 470ac8d50c user: drh tags: tkt-61c853-B)
19:32
One of two options on how to address ticket [61c853857f40da49]. In this mode, we back out the documentation change of [07b7749da88d54e5] and change the core to work as it has been documented to work since 2017, rather than how it has actually worked since 2009. (check-in: 09cd0c0c6e user: drh tags: tkt-61c853-A)
18:01
Refactor field Expr.affinity into Expr.affExpr to avoid confusion with other fields and variables named "affinity" and display affExpr it in sqlite3TreeViewExpr() output. (check-in: a29f2a7d07 user: drh tags: trunk)
16:22
Improved detection of corruption on the freeblock list of a btree page. (check-in: 4b00799bdf user: drh tags: trunk)
13:19
Fix a problem with renaming a table when a view or trigger within the schema uses a FILTER with an aggregate function that is not currently registered with the database. (check-in: 2ac0e42f8a user: dan tags: trunk)
12:55
Prevent an fts5 table from being its own content table, or part of a view that is the content table. (check-in: b6d52c9364 user: dan tags: trunk)
2019-08-03
19:06
Strengthen an assert() in the WHERE clause code generator for the min/max optimization. (check-in: 1bd4b97d64 user: drh tags: trunk)
16:37
Fix a problem with queries of the form "SELECT min(<expr>) ... WHERE <expr>=?" where there is an index on <expr>. Fix for [71e183ca]. (check-in: d465c3eef4 user: dan tags: trunk)
16:17
In the ".wheretrace 0x100" debugging mode, show the structure of the main parameters to sqlite3WhereBegin() calls. (check-in: fd598e475d user: drh tags: trunk)
01:40
Add the SQLITE_TESTCTRL_PRNG_SEED which can control the PRNG seed either directly or through the schema cookie of a supplied database connection. (check-in: 2660e9292a user: drh tags: trunk)
01:39
Give the SQLITE_TESTCTRL_PRNG_SEED two arguments. The second argument if not NULL is a pointer to a database connection which seeds the connection from its schema cookie. In this way, fuzzers can control the PRNG seed. (Closed-Leaf check-in: 49aa344806 user: drh tags: prng-seed-test-control)
2019-08-02
21:03
Fixes to the PRNG_SEED pragma idea. (check-in: c71098409c user: drh tags: prng-seed-test-control)
20:45
Add the SQLITE_TESTCTRL_PRNG_SEED test control. (check-in: 3ac5723164 user: drh tags: prng-seed-test-control)
19:40
If a query like "SELECT min(a), b FROM t1" visits no rows where "a" is not null, extract a value for "b" from one of the rows where "a" is null. Fix for ticket [41866dc37]. (check-in: faaaae4940 user: dan tags: trunk)
18:43
If a query like "SELECT min(a), b FROM t1" visits no rows where "a" is not null, extract a value for "b" from one of the rows where "a" is null. Possible fix for ticket [41866dc37]. (Closed-Leaf check-in: a7277ed062 user: dan tags: tkt-41866dc37)
2019-08-01
22:48
The sqlite3_set_authorizer() interface should only expire prepared statements when it is setting a new authorizer, not when clearing the authorizer. And statements that are running when sqlite3_set_authorizer() is invoked should be allowed to continue running to completion. (check-in: 961e2f08c3 user: drh tags: trunk)
15:18
Add new release tests for windows to releasetest_data.tcl. (check-in: 1b330ec24c user: dan tags: trunk)
10:58
Fix a problem in ALTER TABLE triggered by views or triggers that include the construction "ORDER BY true" or "ORDER BY false". (check-in: 8168021f9a user: dan tags: trunk)
2019-07-31
21:08
Update "releasetest_data.tcl" so that it is a standalone script that generates sh or batch scripts to run each tcl test run at release time. Update wapptest.tcl to use it. (check-in: 559c2dd672 user: dan tags: trunk)
15:16
New test cases in test/fuzzdata8.db. (check-in: 6e92d71c24 user: drh tags: trunk)
12:13
Do not allow the json_set() function to overwrite the same element more than once. (check-in: f237f60e4f user: drh tags: trunk)
2019-07-30
21:00
Fix the build for when -DSQLITE_SMALL_STACK is used. (check-in: b9eda2249a user: drh tags: trunk)
14:22
Improved fix for ticket [ced41c7c7d6b4d36] that keeps skip-scan enabled, but avoids identifying a skip-scan as order-distinct (because it is not) and thus forces a separate b-tree to implement the DISTINCT clause of a query. This undoes check-in [a871d69c6de65038] and substitutes a new fix. (check-in: 89bf0399e8 user: drh tags: trunk)
01:17
Disable the skip-scan optimization for DISTINCT queries. Fix for ticket [ced41c7c7d6b4d36] (check-in: a871d69c6d user: drh tags: trunk)
2019-07-29
17:18
Convert an assert() in R-Tree into a database corruption detection case. (check-in: 48b518eb6f user: drh tags: trunk)
16:53
Fix a crash in fts3 caused by corrupt database records. (check-in: 11f7f94f1c user: dan tags: trunk)
15:32
When using an index for both DISTINCT and ORDER BY, do not confuse the number of columns required for distinctness with the number required to get the correct sort order. Fix for [6749cb3c]. (check-in: 6ac0f82245 user: dan tags: trunk)
14:42
When using an index for both DISTINCT and ORDER BY, do not confuse the number of columns required for distinctness with the number required to get the correct sort order. Fix for [6749cb3c]. (Closed-Leaf check-in: b47169319a user: dan tags: tkt-6749cb3c)
06:06
Fix the OP_Affinity operator so that when applying REAL affinity, it only sets MEM_IntReal if the integer value will fit in 6 bytes or less. Fix for ticket [ba2f4585cf495231] (check-in: 2b221bb15f user: drh tags: trunk)
05:23
Fix a minor typo in a comment. (check-in: cea8a892f7 user: drh tags: trunk)
02:52
Sync up warning related compiler options in the Makefiles for MSVC. (check-in: e77d48d1dd user: mistachkin tags: trunk)
02:49
Fix harmless compiler warning seen with MSVC for x64. (check-in: 857b2ba6d0 user: mistachkin tags: trunk)
2019-07-26
20:54
Merge latest changes from trunk into this branch. (check-in: 7f1e4e4b99 user: dan tags: reuse-schema)
20:33
Update RBU so that it supports indexes on expressions. (check-in: 6bfa44da22 user: dan tags: trunk)
16:16
Fix RBU handling of partial indexes with comments embedded in their CREATE INDEX statements. (check-in: e1ccf211aa user: dan tags: trunk)
2019-07-25
19:29
Fix a potential buffer overread in fts5 triggered by a corrupt database record. (check-in: 16472112b6 user: dan tags: trunk)
2019-07-24
23:15
Fix faulty asserts in the code generator. Ticket [c52b09c7f38903b1] (check-in: 01cdc590f7 user: drh tags: trunk)
20:10
Improve the ".recover" command so that it handles intkey pages linked into non-intkey b-trees, and vice-versa, better. (check-in: 9c458acba5 user: dan tags: trunk)
19:20
Improve the ".recover" command's handling of corrupt database schemas. (check-in: becaaa4d29 user: dan tags: trunk)
08:15
Improve the ".recover" command in the shell tool so that it is not confused by auto-vacuum databases. And so that it can recover tables for which one or more of the column names are SQL keywords. (check-in: 87d76047d6 user: dan tags: trunk)
2019-07-23
13:26
Avoid redefining types u32 and u16 when fossildelta.c is compiled as part of the amalgamation. (check-in: d8e88248e3 user: dan tags: trunk)
2019-07-22
23:30
Do not use the insert-overwrite optimization if the cell might overwrite the page header. (Leaf check-in: 9991626b25 user: drh tags: branch-3.29)
23:24
Do not use the insert-overwrite optimization if the cell might overwrite the page header. (check-in: f60a830691 user: drh tags: trunk)
19:01
Consolidate the removal of Window objects from the Select.pWin list into a single subroutine. (check-in: e46b2afc99 user: drh tags: trunk)
17:28
Fix a bug in the linked-list handling code added by commit [fd7316cd]. (check-in: 05080344dc user: dan tags: trunk)
16:57
New test cases added to test/fuzzdata8.db (check-in: 25fec62ac5 user: drh tags: trunk)
16:33
Remove Window objects from the corresponding Select.pWin list when they are deleted, as they are, for example, when the ORDER BY clause is optimized out. (check-in: fd7316cda0 user: dan tags: trunk)
16:20
Remove Window objects from the corresponding Select.pWin list when they are deleted. (Closed-Leaf check-in: d23f331682 user: dan tags: winfunc-in-orderby)
11:38
Fix a problem with renaming tables when the schema contains an invocation of a currently unregistered aggregate with a FILTER clause. (check-in: bd37ce3fb8 user: dan tags: trunk)
2019-07-20
21:12
Make sure any window definitions in an ORDER BY clause are removed from the SELECT statement if the ORDER BY clause gets optimized out. (check-in: 23b119671f user: drh tags: winfunc-in-orderby)
18:00
Early detection of a corrupt R-Tree in the R-Tree search algorithm. (check-in: 2bf5a4c164 user: drh tags: trunk)
17:43
Performance optimizations in the rtreeStepToLeaf() routine of RTree. (check-in: 4e34e3615f user: drh tags: trunk)
2019-07-19
15:03
New test cases added to test/fuzzdata8.db. (check-in: 39be3c61bd user: drh tags: trunk)
15:00
Refinement to check-in [348e7f193a963390] that avoids unreachable branches. (check-in: bbfb2908ec user: drh tags: trunk)
14:32
Fix a problem with renaming a table when the schema contains an invocation of a window function that is not currently registered. (check-in: ff290feb97 user: dan tags: trunk)
11:20
Fix a problem with renaming tables when the schema contains WINDOW definitions with (illegal) non-numeric expressions as part of a PRECEDING or FOLLOWING clause. (check-in: 348e7f193a user: dan tags: trunk)
10:31
Fix a faulty assert() in walker.c that could fail when processing an ALTER TABLE statement on a schema containing invalid table references that are part of a WINDOW definition. (check-in: ee076c28d8 user: dan tags: trunk)
01:25
Fix a new problem in the BETWEEN operator when applied to a window function. The problem was introduced yesterday by check-in [7ef7b23cbb1b9ace]. This cherry-pick also needed to remove an assert from sqliteExprDelete(). (check-in: ce6bf395e2 user: drh tags: branch-3.29)
01:11
Fix a new problem in the BETWEEN operator when applied to a window function. The problem was introduced yesterday by check-in [7ef7b23cbb1b9ace]. (check-in: 47e23064ba user: drh tags: trunk)
2019-07-18
20:55
Fix a problem where self-joins on views that are aggregate queries may return the wrong result. Cherrypick of [74ef97bf51dd531a]. (check-in: 2f0a564f6e user: mistachkin tags: branch-3.28)
19:50
Add a ctime.c entry for SQLITE_ENABLE_SHARED_SCHEMA. (check-in: 892ac94511 user: drh tags: reuse-schema)
13:33
Modify the bits used for special flags on this branch to account for the fact that some of them are now used for other purposes. (check-in: 5a8d0f50f3 user: dan tags: reuse-schema)
2019-07-17
19:57
Always use the stdlib.h intptr_t type for pointer-integer conversions, when it is available. (check-in: c0d932449d user: drh tags: trunk)
18:19
When processing a BETWEEN or CASE expression, avoid transforming a node of the original expression into a TK_REGISTER node. Instead, take a copy and use it instead. Fix for [1be72aab9]. (check-in: bc6b0d73ee user: drh tags: branch-3.29)
18:11
Fix problems with duplicate fields in the PRIMARY KEYs of WITHOUT ROWID tables. (check-in: bda258834b user: drh tags: branch-3.29)
16:18
Fix an incorrect assert() in balance_nonroot(). (check-in: 59c9e73f86 user: drh tags: trunk)
15:05
Improvement to the hexdb interpreter built into the CLI and into the TCL test harness: Round the "size" up to the next multiple of the "pagesize". (check-in: 9ec92939cb user: drh tags: trunk)
14:34
When processing a BETWEEN or CASE expression, avoid transforming a node of the original expression into a TK_REGISTER node. Instead, take a copy and use it instead. Fix for [1be72aab9]. (check-in: 7ef7b23cbb user: dan tags: trunk)
12:49
Fix the WITHOUT ROWID table logic so that it generates a correct KeyInfo object for tables that have a PRIMARY KEY containing the same column used more than once with different collating sequences. Enhance the index_xinfo pragma to assist in testing the above. Fix for ticket [fd3aec0c7e3e2998]. (check-in: 84a51a755c user: drh tags: trunk)
12:42
New test cases for PRAGMA index_xinfo on a WITHOUT ROWID table. And new testcases using index_xinfo to verify that WITHOUT ROWID tables are constructed correctly. (Closed-Leaf check-in: 340378c1e6 user: drh tags: wor-pk-dups)
11:01
Enhance the "PRAGMA index_info()" and "PRAGMA index_xinfo()" statements so that they allow a WITHOUT ROWID table as their argument, and in that case show the structure of the underlying index used to implement the WITHOUT ROWID table. (check-in: 62274ff683 user: drh tags: wor-pk-dups)
09:18
Fix problems with duplicate fields in the PRIMARY KEYs of WITHOUT ROWID tables. (check-in: bd9a47a3a2 user: dan tags: wor-pk-dups)
07:23
Add casts to shell.c.in to avoid warnings on systems where size_t is 32 bits. (check-in: fe014288ac user: dan tags: trunk)
2019-07-16
19:44
Add new assert() statements in an attempt to help static analyzers avoid false-positives. (check-in: 9e66458592 user: drh tags: trunk)
18:27
Add assert()s in os_win.c in an effort to silence false-positives from static analyzers. (check-in: 22a7c15b26 user: drh tags: trunk)
05:11
Call ioctl() with the correct signature on both Android and stock Linux. (check-in: 2422534908 user: dan tags: trunk)
2019-07-15
13:58
Fix a problem that could cause a crash if a blob handle were closed after the associated database handle was closed using sqlite3_close_v2(). (check-in: 52f463d294 user: dan tags: trunk)
07:58
Call ioctl() with the correct signature on both Android and stock Linux. (Closed-Leaf check-in: 68e12e063f user: dan tags: ioctl-signature)
2019-07-14
00:15
Mark an unreachable branch using ALWAYS(). (check-in: 0fff105a3e user: drh tags: trunk)
2019-07-13
18:27
Fix a memory leak that could follow an OOM in the new FILTER code. (check-in: 85fd70fead user: dan tags: trunk)
17:54
Fix a typo in test file window1.test. (check-in: 8c80e81d01 user: dan tags: trunk)
17:45
Fix error handling for the case where a window function is passed the wrong number of arguments. (check-in: 871796bb19 user: dan tags: trunk)
17:21
Fix a double-quoted string literal used in the ".schema" command of the CLI. (check-in: fcd937d978 user: drh tags: trunk)
16:39
Add support for attaching a FILTER clause to an aggregate function. (check-in: ee293e5aea user: dan tags: trunk)
16:22
Rework the FILTER clause implementation to share more code with window functions. (Leaf check-in: 5dac8c38df user: dan tags: filter-clause)
16:15
Remove unreachable "break" statements to silence harmless compiler warnings from ICC. (check-in: 0d7287e1bf user: drh tags: trunk)
09:56
Merge latest trunk changes into this branch. (check-in: 86ab963cc5 user: dan tags: filter-clause)
09:55
Trivial performance improvement for balance(). (check-in: c7920f5569 user: dan tags: filter-clause)
2019-07-12
15:15
Minor performance improvement in vdbeRecordCompareString(). (check-in: 777fec84a5 user: dan tags: filter-clause)
2019-07-11
19:50
Improved comments and extra testcase() macros on the serial-type computation logic in the OP_MakeRecord opcode. (check-in: 18bfb2179c user: drh tags: trunk)
19:27
Increase the version number to 3.30.0 for the next release cycle. (check-in: 2578e3c64b user: drh tags: trunk)
19:22
Move the sqlite3VdbeSerialType() routine in-line in the OP_MakeRecord opcode. Optimizing compilers were doing this already. By doing it manually, we can omit some redundant tests and make the whole thing run a million cycles faster and use about 80 bytes less code space. (check-in: d837ab0da5 user: drh tags: trunk)
18:43
Change the parser on this branch to more closely match trunk. This saves a few more cycles. (check-in: be01b801fb user: dan tags: filter-clause)
2019-07-10
20:16
Minor performance improvement in sqlite3ExprDeleteNN(). (check-in: bcc8b38ac7 user: dan tags: filter-clause)
18:45
Merge the version 3.29.0 release enhancements into the reuse-schema branch. (check-in: 9819ead089 user: drh tags: reuse-schema)
18:40
Merge the 3.29.0 updates into the begin-concurrent-pnu-wal2 branch. (check-in: 627b428fc8 user: drh tags: begin-concurrent-pnu-wal2)
18:30
Merge the 3.29.0 release into the wal2 branch. (check-in: 8baa402282 user: drh tags: wal2)
18:21
Merge the 3.29.0 changes into the begin-concurrent-pnu branch. (check-in: c89949ccd1 user: drh tags: begin-concurrent-pnu)
18:11
Merge the 3.29.0 release into the begin-concurrent branch. (check-in: 983733aeb8 user: drh tags: begin-concurrent)
17:58
Merge the 3.29.0 release into the apple-osx branch. (check-in: 87aa1d7051 user: drh tags: apple-osx)
17:32
Version 3.29.0 (check-in: fc82b73eaa user: drh tags: trunk, release, version-3.29.0)
2019-07-09
23:35
Add the "LL" suffix on a pair of larger integer literals, for compatibility with older C compilers. (check-in: 6f328c3594 user: drh tags: trunk)
17:36
Update rtree.c so that SQLITE_DEBUG is required to turn on assert() statements, even if it is compiled separately from the amalgamation. (check-in: b6e17f0139 user: dan tags: trunk)
12:03
Fix a test script problem in windowfault.test. (check-in: 47010bf17c user: dan tags: trunk)
2019-07-08
21:32
Merge recent trunk enhancements into the reuse-schema branch. (check-in: fae92fee54 user: drh tags: reuse-schema)
21:25
Merge enhancments from wal2, which also merges trunk enhancements. (check-in: 08dcb4593d user: drh tags: begin-concurrent-pnu-wal2)
21:19
Merge all enhancements from trunk into the wal2 branch. (check-in: dcbcbc2a69 user: drh tags: wal2)
21:12
Merge enhancements from trunk into the begin-concurrent-pnu branch. (check-in: 05aa93afdb user: drh tags: begin-concurrent-pnu)
21:06
Merge recent trunk enhancements into the begin-concurrent branch. (check-in: 7fff080335 user: drh tags: begin-concurrent)
20:59
Merge recent enhancements from trunk into apple-osx. (check-in: de88ed862e user: drh tags: apple-osx)
18:35
Fix dbfuzz2 so that it will compile on systems that do not support getrlimit(). (check-in: 36295dcebc user: drh tags: trunk)
13:45
Fix an assert() that [28196d89] caused to fail. (check-in: 8fb0c6d5a3 user: dan tags: trunk)
12:44
Comment improvements. No changes to code. (Leaf check-in: b0629132bc user: drh tags: tkt9b78184b-alt)
12:01
Ensure collation sequences and affinities work in window function queries. Fix for [9ece23d2]. (check-in: 28196d894a user: dan tags: trunk)
2019-07-05
19:10
Another very small performance improvement. (check-in: 7a1e30a17f user: dan tags: filter-clause)
17:38
Minor tweak to patch on this branch to reclaim some cycles. (check-in: 81eed055de user: dan tags: filter-clause)
15:16
Fix a valgrind problem in fts3corrupt4.test. (check-in: cb3dec427e user: dan tags: trunk)
2019-07-04
19:19
As it requires wal mode support, do not run test file chunksize.test as part of the "journaltest" permutation. (check-in: acd2df36c2 user: dan tags: trunk)
16:30
Fix a typo in the wapptest.tcl script. (check-in: 971b4422ae user: dan tags: trunk)
16:06
Have wapptest.tcl run at least one threadtest with an SQLITE_ENABLE_MEMORY_MANAGEMENT build. (check-in: d6131caf64 user: dan tags: trunk)
16:05
Fix a race condition that could occur in SQLITE_ENABLE_MEMORY_MANAGEMENT builds when two threads simultaneously open the first two database connections in the process. (check-in: 5ea3f6fc88 user: dan tags: trunk)
2019-07-03
18:31
Add tests for the FILTER clause. And a bugfix. (check-in: 28aa1702f7 user: dan tags: filter-clause)
2019-07-02
20:10
Have ALTER TABLE detect and error out for the case where renaming a column changes a the interpretation of a double-quoted identifier in the database schema from an SQL literal to a column reference. (check-in: 5dbb0734af user: dan tags: tkt9b78184b-alt)
12:23
Restore the legacy behavior of enabling double-quoted string literals in all contexts. But also provide a new compile-time option (SQLITE_DQS) to change the default to something more restrictive. (check-in: 97a94446f3 user: drh tags: trunk)
11:56
Experimental implementation of FILTER clause for aggregate functions. (check-in: 1f1ae2d6ac user: dan tags: filter-clause)
2019-06-28
07:08
Use the OP_Sequence opcode for generating unique rowid values for an autoindex on a co-routine implementation of a subquery. (check-in: eab4297577 user: drh tags: trunk)
2019-06-26
21:04
Ensure that when an ephemeral cursor is reopened with a second invocation of to OP_OpenEphemeral, the sequence counter is reset and the cache marked as stale. Fix for [9cdc5c46]. (check-in: 5fd20e09a5 user: dan tags: trunk)
2019-06-21
14:05
Fix a typo in an option name for the .dbconfig command in shell.c.in: s/wriable_schema/writable_schema/ (check-in: 1c58522e49 user: dan tags: trunk)
2019-06-17
14:50
Fix a problem with handling with handling quoted path elements in extension functions json_set() and json_insert() reported on the mailing list. (check-in: 45bfcb88e7 user: dan tags: trunk)
14:13
New sqlite3_db_config() options: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE, SQLITE_DBCONFIG_DQS_DML, and SQLITE_DBCONFIG_DQS_DDL. (check-in: a61db8ff67 user: drh tags: trunk)
13:56
Improved interface to double-quoted string literal enabling/disabling. (Closed-Leaf check-in: 923cfd53fc user: drh tags: new-dbconfig-options)
2019-06-16
14:56
Avoid transforming TK_COLLATE or TK_UNLIKELY Expr nodes to TK_REFERENCE. Instead, transform the uppermost Expr node in the expression tree that is not of this type. Fix for [e1e07ef2]. (check-in: 5411087048 user: drh tags: trunk)
08:58
Avoid transforming TK_COLLATE or TK_UNLIKELY Expr nodes to TK_REFERENCE. Instead, transform the uppermost Expr node in the expression tree that is not of this type. Fix for [e1e07ef2]. (Closed-Leaf check-in: ba7870e292 user: dan tags: tkt-e1e07ef2)
2019-06-15
15:32
Fix minor problems in the test code in test_demovfs.c. (check-in: ca4ddfefc1 user: dan tags: trunk)
15:27
Add extra test case for one of the problems fixed by the previous commit. (check-in: 0bbceebb12 user: dan tags: trunk)
15:21
Ensure that sqlite3RenameExprUnmap() does an unmap of the result set alias names in subqueries when ALTER TABLE fails because of a syntax error in a trigger. (check-in: d3b6f1665f user: drh tags: trunk)
2019-06-14
21:25
Add SQLITE_DBCONFIG options LEGACY_ALTER_TABLE, NO_DQS_SCHEMA, and NO_DQS. (check-in: 1fad20925e user: drh tags: new-dbconfig-options)
17:37
Deprecate the SQLITE_ALLOW_COVERING_INDEX_SCAN compile-time option when it is turned off. This probably will impact no-one. If it does, they will get an error message instructing them to contact developers, so that we can get feedback that somebody is actually using this feature. Start-time disabling of covering index scan is not affected. (check-in: 23e49f9984 user: drh tags: trunk)
13:24
Fix the implementation of the built-in RTRIM collating sequence so that it works for control characters at the end of the string. Ticket [f1580ba1b574e9e9] (check-in: 86fa0087cd user: drh tags: trunk)
12:28
Refactor the LIKE optimization decision logic so that it uses sqlite3AtoF() on both boundary keys to determine if the optimization can be used when the LHS is something that might not have TEXT affinity. Ticket [ce8717f0885af975]. See also [c94369cae9b561b1], [b043a54c3de54b28], [fd76310a5e843e07], and [158290c0abafde67]. (check-in: b4a9e09e60 user: drh tags: trunk)
2019-06-13
16:14
Add a new requirement mark on the ctime.c code. (check-in: c4b405687b user: drh tags: trunk)
14:07
Do not use the %lld printf conversion in the platform printf() as some legacy platforms do not support it. (check-in: f8696b60ee user: drh tags: trunk)
13:52
Fix a minor error in a test script, and harmless compiler warnings in the CLI code. (check-in: eaa34626e4 user: drh tags: trunk)
2019-06-12
22:46
Adjust requirements marks and add new requirements tests. (check-in: ebb81dad1f user: drh tags: trunk)
20:51
As a special case, casting '-0.0' into numeric should yield 0. Fix for ticket [674385aeba91c774]. (check-in: 491f0f9bbd user: drh tags: trunk)
20:11
Enhancements to the printf() logic in order to render a negative zero with a minus sign. (Leaf check-in: 6ba4be66be user: drh tags: negative-zero)
13:49
Handle expressions like "expr IS TRUE COLLATE xyz" in the same way as "expr IS TRUE". Fix for [4d01eda8115b10d1]. (check-in: 5c6146b56a user: dan tags: trunk)
2019-06-11
21:02
The affinity of the unlikely() function and its cousins should be "none". Ticket [0c620df60bffd9ef] (check-in: 614ecb0af4 user: drh tags: trunk)
18:07
Make sure the affinity of the RHS of an IN operator does not affect the outcome even if the RHS expression contains a COLLATE clause. Ticket [57353f8243c637c0] (check-in: 0f748fe58b user: drh tags: trunk)
16:43
Mark an unreachable branch with an ALWAYS macro. (check-in: d4755aca4b user: drh tags: trunk)
16:07
New test case in fuzzdata8.db. (check-in: e96641f0be user: drh tags: trunk)
16:06
Off-by-one error in the CAST to NUMERIC logic. (check-in: 25b8963020 user: drh tags: trunk)
12:03
Have the ALTER TABLE code handle the case where an entire expression that includes a sub-select is excluded from a view, trigger or index. (check-in: f2c8179f3c user: dan tags: trunk)
10:43
Add the new sqlite3ExprUnmapAndDelete() function and use it in place of separate calls to sqlite3RenameExprUnmap() and sqlite3ExprDelete(). (check-in: 36ea13e0a8 user: drh tags: trunk)
02:43
The ALTER TABLE command should not attempt to rename objects that are contained within an expression tree that has been optimized out because it is the other branch of an "AND false" expression. Ticket [533010b8cacebe82] (check-in: 04bd5cb732 user: drh tags: trunk)
01:56
Fix repeated test numbers in the altertab2.test file. (check-in: e82f235e72 user: drh tags: trunk)
01:30
Remove a comment made obsolete by check-in [71643deb6bbad4b4]. No changes to code. (check-in: 211c8002d5 user: drh tags: trunk)
2019-06-10
23:45
A string consisting of a single '.' is not a floating point literal with extra text at the end. Fix for ticket [412bba9b22c677da] (check-in: 5705016229 user: drh tags: trunk)
19:17
Have ALTER TABLE commands ignore the lhs of "expr IN ()" and "expr NOT IN ()" expressions, just as other queries do. Fix for [533010b8ca]. (check-in: 71643deb6b user: dan tags: trunk)
19:07
Improvements to the documentation for the xAccess method of the VFS. Ticket [5e0423b058fa5adf] (check-in: 7078d77eff user: drh tags: trunk)
18:33
Make sure a CAST to "NUMERIC" results in an integer if the value can be losslessly expressed as an integer, as the documentation requires. Ticket [dd6bffbfb6e61db9]. (check-in: c0c90961b4 user: drh tags: trunk)
15:34
Handle renaming a column or table when the schema contains a (meaningless) index on the constant expression ('text' IN ()) or ('text' NOT IN()). Fix for [fd76310a]. (check-in: 567b130939 user: dan tags: trunk)
13:46
Do not attempt the LIKE optimization on a column with numeric affinity if the rhs of the operator begins with whitespace. Fix for ticket [fd76310a5e]. (check-in: 94b58ab059 user: dan tags: trunk)
2019-06-07
22:51
Remove code in the round() SQL function that became unreachable due to the optimization of check-in [e95138f5f4febde5] (check-in: b141bae3f6 user: drh tags: trunk)
22:26
When casting string values into numeric and the string has a prefix that looks like a number but total string is not a well-formed number, then take extra care that the result is either integer or real depending on what the prefix looks like. Fix for tickets [e8bedb2a184001] and [4c2d7639f076aa]. (check-in: 67a68af557 user: drh tags: trunk)
18:56
Also upgrade script config.sub to the latest version. This should have been part of the previous commit. (check-in: efbf31b82e user: dan tags: trunk)
18:53
Upgrade the config.guess script to the latest version. (check-in: be8438133f user: dan tags: trunk)
2019-06-05
14:29
CLI enhancements: Add the ".filectrl" command. Make the ".testctrl" command visible to ".help". (check-in: 7b3a99fce8 user: drh tags: trunk)
13:14
Add a test case for the unix SQLITE_FCNTL_CHUNK_SIZE file-control. (check-in: 3a477fd0c9 user: dan tags: trunk)
2019-06-04
18:21
In the CLI, add a small delay (0.1 seconds) after launching the output command for ".once" before deleting the temporary file. (check-in: 4979f138e8 user: drh tags: trunk)
15:47
New dbsqlfuzz test cases add to test/fuzzdata8.db. (check-in: 873aa46da3 user: drh tags: trunk)
13:11
Fix a segfault in fts3 that could occur when processing corrupt fts records. (check-in: dff24c6c7a user: dan tags: trunk)
2019-06-03
15:10
Fix harmless compiler warning in lemon. (check-in: 3a05242953 user: mistachkin tags: branch-3.28)
15:09
Fix harmless compiler warning in lemon. (check-in: 2da0eea02d user: mistachkin tags: trunk)
14:02
Updates to the shared_schema.md notes document. (check-in: 51af2ade8e user: drh tags: reuse-schema)
13:53
Fix the count-of-view optimization so that it is (correctly) disabled for a query that includes a WHERE clause or a GROUP BY clause. Cherrypick of [05897ca48a40c6771]. (check-in: 583e5a0ab6 user: mistachkin tags: branch-3.28)
13:46
In the CLI, add ".help" text for the .shared-schema command. (check-in: 3ba6f790e0 user: drh tags: reuse-schema)
2019-05-30
13:47
Optimization to the round() SQL function for large input values without a fractional part. (check-in: e95138f5f4 user: drh tags: trunk)
00:46
Smaller and faster sqlite3IsNaN() implementation makes deserialization of floating point values much faster. (check-in: ea748edecb user: drh tags: trunk)
2019-05-29
21:18
Much faster implementation of applyNumericAffinity() by avoiding some unnecessary calls to sqlite3Atoi64(). (check-in: c1d8a3f654 user: drh tags: trunk)
18:33
Add an assert() as an additional test for fix in check-in [523b42371122d9e1b3]. (check-in: f9e85e6c79 user: drh tags: trunk)
17:22
Fix the query flattener optimization so that it preserve the "SF_Compound" bit when flattening a compound subquery into a non-compound outer query. Failure to preserve that bit could allow subsequent flattenings which are not valid. Fix for ticket [c41afac34f15781fe09cd]. (check-in: 523b423711 user: drh tags: trunk)
2019-05-28
14:42
Fix an assert() in fts3 that could fail when processing corrupt records. Also some minor sanitizer warnings. (check-in: c736c40aab user: dan tags: trunk)
2019-05-27
11:21
Fix an error message on the blobread() extension function so that it says "read" instead of "write". (check-in: 7cbb9a5fe8 user: drh tags: trunk)
11:09
Fix a memory leak in the delta_parse() table-valued function of the fossildelta.c extension. (check-in: c86ca3f022 user: drh tags: trunk)
00:29
Improved rounding even on systems with an 8-byte "long double" type. (check-in: 15202aee15 user: drh tags: trunk)
2019-05-25
18:17
Performance enhancement in sqlite3AtoF(). About 8% faster. (check-in: 81721aa545 user: drh tags: trunk)
17:41
Use "long double" literals to initialize an array of "long double" objects. (check-in: 2e2ebad3ab user: drh tags: trunk)
13:14
Add new cases to speedtest1 for measuring performance of binary to/from decimal conversions of floating point values. (check-in: b84e7057c0 user: drh tags: trunk)
00:17
Disable the new rounding tests on systems without long double support. (check-in: ed250b4e18 user: drh tags: trunk)
2019-05-24
22:58
Improvements to rounding behavior in the round() and printf() functions. (check-in: 641b2d2105 user: drh tags: trunk)
13:15
The ".shared-schema" command in the CLI requires the sqlite_dbpage table, so disable it if the build does not include that extension. (check-in: 0913ff4dc3 user: drh tags: reuse-schema)
13:04
Merge recent enhancements from trunk. (check-in: ff9f3e0951 user: drh tags: reuse-schema)
11:55
Fix an fts5 segfault that could occur after parsing a corrupt structure record. (check-in: 600daa9c27 user: dan tags: trunk)
2019-05-23
16:40
Add test cases for the fix in the previous commit. (check-in: c1057b2a60 user: dan tags: trunk)
16:38
Improvements to the view-self-join optimization so that it works on all VIEWs, not just on Common Table Expressions. (check-in: d2fe370caf user: drh tags: trunk)
2019-05-22
23:12
New test case for check-in [74ef97bf51dd531a] that takes the fix in the previous check-in into account. (check-in: cb1d06521d user: drh tags: trunk)
22:49
Renumber the Select.selId values in the copies of SELECT statements that implement VIEWs when the VIEW is expanded, so that when the same VIEW is used twice in the same join, each expansion as a distinct selId. This fixes ticket [ce823231949d3abf42453c8]. (check-in: 3cacc4b940 user: drh tags: trunk)
14:35
New dbsqlfuzz find added to test/fuzzdata8.db. (check-in: 42af7c819b user: drh tags: trunk)
14:22
Fix a buffer overread that could in fts3 when dealing with corrupt records. (check-in: 1660d7733e user: dan tags: trunk)
2019-05-21
17:04
Combine the implementations of the key and hexkey pragmas into a single case. Have both pragmas return "ok" if they are implemented. (check-in: b3692c406f user: drh tags: trunk)
16:32
Fix a problem in [b5ca442a] causing an assert() to fail in REINDEX commands. (check-in: a3e77c7776 user: dan tags: trunk)
14:42
Use a statement journal for all CREATE INDEX statements in case an indexed exprsesion throws an exception when it is evaluated. Fix for [b5ca442a]. (check-in: b8071d10cb user: dan tags: trunk)
2019-05-20
19:46
Fix a segfault that could occur in sqlite3session_diff() if NULL were passed as the pzErrMsg argument. (check-in: aee73fd28f user: dan tags: trunk)
18:43
Improvements to the automatic compile-time selection of byte-order, as suggested on the mailing list by Seb Kemper. (check-in: b7aad92961 user: drh tags: trunk)
18:35
A minor variation on check-in [1685610ef8e0dc] which (hopefully) makes the logic a little easier to follow. Also disallows the use of the double-quoted string hack in the query expression used for VACUUM INTO, which is not strictly required, but moves us toward the goal of disallowing the double-quoted string hack everywhere. (check-in: 3e1b55f3ab user: drh tags: trunk)
17:14
Disallow string constants enclosed in double-quotes within new CREATE TABLE and CREATE INDEX statements. It is still possible to enclose column names in double-quotes, and existing database schemas that use double-quotes for strings can still be loaded. This addresses ticket [9b78184b]. (check-in: 1685610ef8 user: dan tags: trunk)
10:36
Update the sqlite3ExprCompare() routine so that it does not think "? IS NOT TRUE" is the same as "? IS TRUE". Fix for [d3e7f2ba5b3]. (check-in: 99eba69b3a user: dan tags: trunk)
2019-05-18
21:22
Fix an assert() failure that could occur in a join query if the RHS of an IN() operator is a list containing correlated expressions. This problem was introduced by checkin [e130319317e7611938] which was part of the fix for ticket [787fa716be3a7f650c] - so this commit is part of that ticket's fix too. (check-in: 778b1224a3 user: dan tags: trunk)
19:49
Avoid including the comment in the output of "PRAGMA table_info" in situations where there is a comment following a DEFAULT value within a CREATE TABLE statement. (check-in: d91095ba71 user: dan tags: trunk)
2019-05-17
20:37
Disable PRAGMA journal_mode=OFF when SQLITE_DBCONFIG_DEFENSIVE is turned on. Ticket [f4ec250930342e0c]. (check-in: a0f5eb5c79 user: drh tags: trunk)
15:59
Always store a REAL value in a column with REAL affinity if the integer equivalent would require 8 bytes of storage. Fix for [3c27b97e3]. (check-in: 14c00b1016 user: dan tags: trunk)
2019-05-16
20:40
Add test cases to test/fuzzdata7.db for (harmless) dbfuzz2 finds. (check-in: 1eb2a628e4 user: drh tags: trunk)
20:36
Initialize the 18-byte overrun area on the buffer used to reconstruct overflow btree cells during a btree search, to avoid a harmless jump-depends-on-uninit-values warning. (check-in: 4b05caeb1b user: drh tags: trunk)
20:13
Fix an assert() in the OP_Delete opcode that could fail with a corrupt database. (check-in: 915388ab39 user: dan tags: trunk)
16:44
Add new test file fts5corrupt4.test. (check-in: 5dfc4fe98a user: dan tags: trunk)
11:47
Fix a harmless use-of-initialized-value fault in the assert() logic added by check-in [d612fb7873cf59d] (check-in: 3dac90728a user: drh tags: trunk)
03:47
Fix harmless compiler warning in the session extension. (check-in: dff823ca8b user: mistachkin tags: trunk)
01:22
Make sure the OP_Concat opcode always correctly zero-terminates a UTF16 string, even if the input strings are ill-formed. This is a followup to check-in [3a16ddf91f0c9c516a7] that fixes a case the previous check-in missed. Also add assert()s to prove correct zero termination. (check-in: d612fb7873 user: drh tags: trunk)
2019-05-15
18:42
Fix the count-of-view optimization so that it is (correctly) disabled for a query that includes a WHERE clause or a GROUP BY clause. (check-in: 05897ca48a user: drh tags: trunk)
10:16
Simplify the "Verifying Code Authenticity" section of the README.md file. No code changes. (check-in: adebffc18e user: drh tags: trunk)
2019-05-14
22:25
Merge all the latest trunk enhancements into the reuse-schema branch. (check-in: 018f3199b9 user: drh tags: reuse-schema)
22:07
Merge the latest trunk and wal2 enhancements. (check-in: 3deaa6e23b user: drh tags: begin-concurrent-pnu-wal2)
22:02
Merge the latest trunk enhancements into the wal2 branch. (check-in: 23ec34e4f6 user: drh tags: wal2)
21:51
Merge the latest trunk enhancements into begin-concurrent-pnu. (check-in: e70878b363 user: drh tags: begin-concurrent-pnu)
21:51
Merge the latest trunk enhancements into begin-concurrent. (check-in: 5d3a6e18d4 user: drh tags: begin-concurrent)
20:25
Fix a problem with the fix for [9cf6c9bb51] (commit [658b84d7]) that could cause a cursor to be left in an invalid state following a (rowid < text-value) search. (check-in: bc7d2c1656 user: dan tags: trunk)
19:39
Merge recent enhancements from trunk into apple-osx. (check-in: 40362d5181 user: drh tags: apple-osx)
19:20
New test cases in test/fuzzdata8.db. (check-in: 228e1087c0 user: drh tags: trunk)
18:33
Fix a problem with corrupt db handling in the fts5_vocab module. (check-in: 456ced5777 user: dan tags: trunk)
11:33
Fix an assert() and potential buffer overrun in fts5 that could occur if the database was corrupt. (check-in: 8be8bd0d56 user: dan tags: trunk)
00:43
Disable index seek optimizations on REINDEX when the order of primary keys in the index differs from the main table. Fix for ticket [bba7b69f9849b5bf11b4]. (check-in: f7aadfab3b user: drh tags: trunk)
2019-05-13
11:52
Fix an assert() failure in fts5 that could occur when processing a corrupt database. (check-in: f158c048be user: dan tags: trunk)
2019-05-11
19:36
A new implementation for the sqlite3ExprImpliesExpr() theorem prover that does a better job of answering TRUE to "(NOT A) OR B" when B is a NOT NULL expression. (check-in: b3413197f5 user: drh tags: trunk)
16:14
When considering partial indexes, do not assume that a "CASE x ..." expression implies "x IS NOT NULL". (check-in: 1b24303220 user: dan tags: trunk)
13:04
Do not assume that "x IS NOT ?" implies "x NOT NULL" when considering partial indexes. Fix for ticket [8025674847]. (check-in: 0ba6d709b5 user: dan tags: trunk)
2019-05-10
20:44
Add tests for the RBU module. (check-in: a194e53670 user: dan tags: trunk)
17:54
Fix harmless compiler warnings. (check-in: 956ca2a452 user: drh tags: trunk)
17:50
Fix harmless compiler warnings in the CLI. (check-in: 2846bc0429 user: drh tags: trunk)
16:16
Fix some harmless compiler warnings. (Closed-Leaf check-in: ca068d8238 user: mistachkin tags: warnings)
14:34
Ensure that the BtShared.nPage value is reset correctly on a SAVEPOINT ROLLBACK. (check-in: e6d5fee8cd user: drh tags: trunk)
14:26
Treat integer values in window definition ORDER BY clauses as constants, not as references to another expression. (check-in: 7e4809eadf user: dan tags: trunk)
14:03
Improved comments and extra assert() statements on the OP_Savepoint opcode, just to make the code a little easier to read and reason about. (check-in: e80b2d9fcb user: drh tags: trunk)
12:14
Fix the previous check-in [db9acef14d492121] so that the amalgamation build works for systems for which lack HAVE_ISNAN. (check-in: 3cc55e09e6 user: drh tags: trunk)
12:06
Fix the round() SQL function so that it handles infinities correctly. (check-in: db9acef14d user: drh tags: trunk)
2019-05-09
18:37
Fix another small buffer overread in sqlite_dbdata triggered by a corrupt database page. (check-in: 1dfc95b867 user: dan tags: trunk)
18:33
Fix a problem in the ".recover" command allowing a circular loop of b-tree pages in a database file to cause an infinite loop. (check-in: 8d2a062eb8 user: dan tags: trunk)
18:13
Make the ".schema" command in the CLI resistant to corrupt database files. (check-in: f22c7e229e user: drh tags: trunk)
17:54
Fix a crash in the sqlite_dbdata module that could occur if a pointer within an overflow chain in a corrupt database pointed past the end of the db. (check-in: 3eae4e301e user: dan tags: trunk)
17:10
Disable the optimization where a REAL value with no fractional part is stored as an INTEGER when the integer uses as much space as the real value it proposes to stand in for (8 bytes). This avoids corner cases of comparing integers against real values that are beyond the resolution of an IEEE 754 double. Fix for ticket [6c1d3febc00b22d457c78c2] (check-in: 9b0915272f user: drh tags: trunk)
16:57
Avoid long delays that can occur when ".recover"ing data from a database with a corrupt freelist. (check-in: 20f06bf2e6 user: dan tags: trunk)
16:22
Improved debugging output from the OP_MakeRecord opcode. (check-in: ac790729d9 user: drh tags: trunk)
15:51
Fix another corruption related buffer overread in the sqlite_dbdata module. (check-in: 5cd728fb6b user: dan tags: trunk)
15:07
Fix further buffer overreads triggered by passing corrupt records to the sqlite_dbdata module. (check-in: dbc6a9f7f6 user: dan tags: trunk)
14:15
Have ".recover" handle cases where the sqlite_master table contains malformed SQL statements. (check-in: e736da9c18 user: dan tags: trunk)
11:45
Fix a problem with running the ".recover" command on a database that is zero pages in size. (check-in: 47fa65343e user: dan tags: trunk)
11:34
Avoid reading outside a record buffer when extracting an SQL value in the sqlite_dbdata virtual table code. (check-in: d99bb0c11d user: dan tags: trunk)
11:21
Merge accidental fork in trunk. (check-in: ec9373031d user: dan tags: trunk)
11:19
Fix a problem in the new code introduced by [658b84d7] causing corruption and other errors to be ignored. (check-in: 7ccf2e7d41 user: dan tags: trunk)
11:18
Improved error handling for the ".open --hexdb" command of the CLI. (check-in: 4fa831d5cd user: drh tags: trunk)
2019-05-08
23:55
Ensure that the sqlite3BtreeLast() interface initializes the *pRes return to zero if the cursor is already sitting on the last entry of the table. Manuel Rigger found the obscure test case for which this makes a difference. (check-in: ebe4845cd0 user: drh tags: trunk)
23:53
This is part of the previous check-in that didn't get committed for some reason - probably because I failed to press the "Save" button on the text editor. (check-in: 51d32173ff user: drh tags: trunk)
21:14
Add another test case to cover a previously uncovered branch in the RBU module. (check-in: 3039298561 user: dan tags: trunk)
19:55
Fix another pattern for which the LIKE optimization does not work for a non-TEXT affinity. Case found by Manuel Rigger. (check-in: 740201107a user: drh tags: trunk)
19:32
Simplification to the logic underlying PRAGMA case_sensitive_like. (check-in: ef0015fde4 user: drh tags: trunk)
19:06
Avoid an excess register allocation in UPDATE, when possible. This improves speed (slightly) and reduces the code footprint. (check-in: 8658574e3f user: drh tags: trunk)
18:49
Add tests to improve code coverage of the RBU module. (check-in: ecb56b75a0 user: dan tags: trunk)
17:27
Provide the SQLITE_OMIT_CASE_SENSITIVE_LIKE_PRAGMA compile-time option to omit the case_sensitive_like pragma. This change, in combination with documentation changes, is the current solution to ticket [a340eef47b0cad5]. (check-in: eabe7f2d4f user: drh tags: trunk)
11:52
Fix VDBE opcodes OP_SeekLT and OP_SeekLE so that they work on intkey tables with non-numeric text values. Fix for [9cf6c9bb]. (check-in: 658b84d7f4 user: dan tags: trunk)
11:42
Fix VDBE opcodes OP_SeekLT and OP_SeekLE so that they work on intkey tables with non-numeric text values. (Closed-Leaf check-in: a870c196d7 user: dan tags: tkt-9cf6c9bb)
04:33
Remove an ALWAYS() that was previously added by check-in [a0819086] but which turns out can sometimes be false. (check-in: ad8fc5d8b4 user: drh tags: trunk)
03:34
Remove a NEVER() that was added in the previous check-in [a0819086a521f] because it is in fact reachable. (check-in: 74eba2558a user: drh tags: trunk)
00:17
Earlier detections of errors in the byte-offset-to-cell-content integer at offset 5 in the header of a btree page. (check-in: a0819086a5 user: drh tags: trunk)
2019-05-07
20:06
Generate all records for INSERT or UPDATE prior to running foreign key constraint checks, since the FK checks might modify the datatype of registers used to generate the records. Fix for ticket [e63cbcfd3378afe6980d6]. (check-in: 3c75605b46 user: drh tags: trunk)
19:44
Do not commit an "OR FAIL" statement that causes foriegn key constraint violations. (check-in: 659c551dcc user: dan tags: trunk)
19:21
Add test cases for the fix on this branch. (Closed-Leaf check-in: 2e31abe0ae user: dan tags: tkt-e63cbcfd)
19:13
On an INSERT or UPDATE, generate the new table record prior to running foreign key checks, in case the foreign key checks changes datatypes on the registers holding column values. Proposed fix for ticket [e63cbcfd3378afe6980d626]. (check-in: 3f1c805164 user: drh tags: tkt-e63cbcfd)
17:47
Strive to prevent harmless compiler warnings in GCC 4.8.5. (check-in: 8b6691f619 user: drh tags: trunk)
16:37
Optimize the restarting of an RBU vacuum. (check-in: 82062351a6 user: dan tags: trunk)
16:28
Remove some redundant code from sqlite3rbu.c. Add test cases for RBU vacuum. (Closed-Leaf check-in: 7b051698d8 user: dan tags: rbu-opt)
02:57
Add the exprNodeCopy() routine that will safely memcpy() an Expr node that might be a size-reduced node. (Leaf check-in: ab2ba8e732 user: drh tags: expr-node-copy-patch)
2019-05-06
20:40
Optimize further cases of restarting an RBU vacuum. (check-in: 6b3261bfa1 user: dan tags: rbu-opt)
16:15
Fix a problem with renaming an INTEGER PRIMARY KEY column of a WITHOUT ROWID table using ALTER TABLE. (check-in: 91f701d398 user: dan tags: trunk)
2019-05-04
20:04
Optimize some cases of restarting an RBU vacuum. (check-in: cdc09867ed user: dan tags: rbu-opt)
17:32
Fix the NOT NULL logic in the theorem prover that determines when a partial index can be used. Ticket [5c6955204c392ae763a95]. (check-in: c2e439bccc user: drh tags: trunk)
03:56
Fix harmless compiler warning seen with MSVC. (check-in: 5862b83eb3 user: mistachkin tags: trunk)
01:41
In the sqlite3_value or Mem object, make the MEM_IntReal type completely independent from MEM_Int and MEM_Real. This helps avoid problems when inserting non-float values into a "REAL" column. (check-in: 5a8a23ee5f user: drh tags: trunk)
01:29
New testcase macros to ensure that MEM_IntReal is fully tested. (Closed-Leaf check-in: 8b8ef445cc user: drh tags: int-real)
2019-05-03
21:17
Add the SQLITE_TESTCTRL_RESULT_INTREAL test-control and use it to create the intreal() SQL function in testfixture. Write a few simple tests to prove this all works. TH3 will hold most of the INTREAL tests, probably. (check-in: c983873132 user: drh tags: int-real)
19:34
Ensure that UTF16 strings are properly zero-terminated before returning them in an sqlite3_value_text16() request, even if the string is invalid UTF16 because it was formed from an arbitrary and/or odd-length BLOB. (check-in: 3a16ddf91f user: drh tags: trunk)
18:50
Fix a memory-leak/segfault caused by using OP_OpenDup and OP_OpenEphemeral on the same VM cursor. (check-in: a9b90aa12e user: dan tags: trunk)
17:19
Fix a problem where self-joins on views that are aggregate queries may return the wrong result. (check-in: 74ef97bf51 user: dan tags: trunk)
17:08
Improved comments on the elements of the array constant used to implement the sqlite3_value_type() interface. (check-in: f73a7de7a5 user: drh tags: int-real)
02:41
Fix the ".open --hexdb" command in the CLI so that it works even with terminal input. (check-in: 9b5d943426 user: drh tags: trunk)
2019-05-02
21:36
Make MEM_IntReal a completely independent type, meaning a floating point value stored as an integer. This fixes a problem with arithmetic within arguments to string functions on indexes of expressions. But it is a big change and needs lots of new testcase() macros for MC/DC and so it is initially put on this branch. (check-in: dba836e31c user: drh tags: int-real)
17:45
Ensure that the typeof() function always returns SQLITE_FLOAT for floating point values even when the value is stored as an integer to save space. (check-in: 48889530a9 user: drh tags: trunk)
17:06
Add options to wapptest.tcl similar to those supported by releasetest.tcl. Also add the -noui switch, for running without wapp altogether. (check-in: 005a169406 user: dan tags: trunk)
15:56
Earlier detection of a database corruption case in balance_nonroot(), to prevent a possible use of an uninitialized variable. (check-in: c509d8a8ae user: drh tags: trunk)
14:15
Merge enhancements from trunk (check-in: 3a4751a9f2 user: drh tags: hard-heap-limit)
01:41
The "LIKE Optimization" (which converts a LIKE into a BETWEEN operator that is able to use an index) does not work and cannot be used if the collating sequence of the column is not TEXT and if the pattern starts with a "+" sign. This is another case of ticket [c94369cae9b561b1f996d005]. The new test case was discovered by Manuel Rigger. (check-in: b043a54c3d user: drh tags: trunk)
00:52
Fix an issue (discovered by OSSFuzz) in the enhanced OP_Concat operator from check-in [713caa382cf7dd] earlier today. (check-in: 3e897702f8 user: drh tags: trunk)
2019-05-01
19:01
Add a test case for ticket [ae0f637bddc5290b44669e066a]. (check-in: ece481695f user: drh tags: trunk)
18:59
When values have real affinity and are converted into strings for CHECK constraints or index expressions, do the conversions into a real-number format even if the values are stored as integers for efficiency. This appears to fix ticket [ae0f637bddc5290b446]. (check-in: 5997d07566 user: drh tags: trunk)
17:36
Fix an incompatibility with -DSQLITE_OMIT_LOAD_EXTENSION=1 in dbdata.test. (check-in: a77cd85b1a user: dan tags: trunk)
17:32
Fix a case in wapptest.tcl where a failed test might report 0 errors. (check-in: 2be1ed70df user: dan tags: trunk)
15:32
Avoid unwelcomed side effects on the input operands in the OP_Concat operator. Fix for ticket [3be1295b264be2fac49b681] (check-in: 713caa382c user: drh tags: trunk)
15:25
Update wapptest.tcl so that it deletes extra files if the "Keep files:" checkbox is clear. Set it by default. (check-in: 09623cc4cc user: dan tags: trunk)
14:41
In "PRAGMA vdbe_trace" output, show the results of OP_Affinity opcodes. (check-in: 56604bb60a user: drh tags: trunk)
08:48
Fix an incompatibility with auto-vacuum mode in new test script recover.test. (check-in: 36dd5b0804 user: dan tags: trunk)
2019-04-30
20:43
Update wapptest.tcl to use a simpler slave script. And to leave scripts wapptest_configure.sh and wapptest_make.sh in each test directory. (check-in: 07e527d781 user: dan tags: trunk)
15:36
Fix a problem allowing a Table object to be deleted from within a call to the xDestroy method of the associated virtual table, causing a use-after-free error. (check-in: 1dbbb0101e user: dan tags: trunk)
14:26
Fix an error message in the Lemon parser generator. (check-in: b6d7d42b74 user: drh tags: trunk)
11:54
Small performance increase and size reduction in the implementation of the LIKE and GLOB operators. (check-in: f97626f921 user: drh tags: trunk)
01:08
Slightly smaller and faster implementation of the OP_MakeRecord opcode. (check-in: 3bdce7ef1a user: drh tags: trunk)
2019-04-29
16:44
Changes to oserror.test so that it works even on systems that allow an unusually large number of file descriptors. (check-in: a27b0b880d user: drh tags: trunk)
13:48
Do not de-duplicate columns index columns associated with a WITHOUT ROWID table if the columns have different collating sequences. This is the fix for ticket [3182d3879020ef3b2]. There is one test case added, but most of the tests are done in TH3. (check-in: 1b1dd4d48c user: drh tags: trunk)
13:30
Improved header comment and precondition checking for the new isDupColumn() function. (Closed-Leaf check-in: 740d5ff6cc user: drh tags: tkt-3182d38790)
11:41
Fix a buffer overwrite in shell.c.in (part of the new .recover code). (check-in: 92facbc73a user: dan tags: trunk)
11:27
Fix a stack overflow that could occur when renaming a table that has a trigger containing a window function invocation that itself contains a specific syntax error. (check-in: c621fc668c user: dan tags: trunk)
2019-04-28
19:27
Take collating sequence into account when removing redundant columns from indexes on WITHOUT ROWID tables. This is the first proof-of-concept fix for ticket [3182d3879020ef3]. More testing needed. (check-in: b34fa5bff4 user: drh tags: tkt-3182d38790)
2019-04-27
20:39
Add the shardvtab virtual table that uses the new cost estimation functions. (Leaf check-in: 9404300ac1 user: drh tags: cost-est)
20:30
Add the ".recover" command to the shell tool. For recovering as much data as possible from corrupt databases. (check-in: 50fe484589 user: dan tags: trunk)
20:16
Fix a minor typo in a comment. No changes to code. (check-in: 9520907217 user: drh tags: trunk)
20:15
Fix building the shell with SQLITE_OMIT_VIRTUAL_TABLE. And without SQLITE_ENABLE_DBPAGE_VTAB. (Closed-Leaf check-in: 425d708c39 user: dan tags: dbdata)
19:36
Add comments and fix formatting issues in new code in shell.c.in. (check-in: b91d819bd1 user: dan tags: dbdata)
18:47
Add the "--lost-and-found" option to the ".recover" command. For setting the name of the orphaned rows table. (check-in: 67bb88e24c user: dan tags: dbdata)
15:35
Fix a problem in the .recover command with recovering WITHOUT ROWID tables where the PK columns are not the leftmost in the CREATE TABLE statement. (check-in: 91df4b8e03 user: dan tags: dbdata)
2019-04-26
21:11
Have .recover store all orphaned rows in a single table, with extra columns to indicate the orphaned page and sub-tree they were discovered within. (check-in: 7221f6e33e user: dan tags: dbdata)
17:20
An experimental interface for retrieving the estimated cost and estimated number of output rows for a query. (check-in: 1b25fa108a user: drh tags: cost-est)
17:08
Omit tests of the LIKE optimization in like3.test when SQLITE_ENABLE_ICU is defined. (check-in: af53c41a12 user: dan tags: trunk)
15:40
Fix another problem with database freelist handling in the ".recover" command. (check-in: bee2652ac2 user: dan tags: dbdata)
15:14
Fix a locking-page related problem with the ".recover" command. (check-in: afdae10424 user: dan tags: dbdata)
2019-04-25
20:06
Merge latest trunk changes into this branch. (check-in: 1da302d85d user: dan tags: dbdata)
19:23
Unless the "--freelist-corrupt" option is specified, do not have the .recover command attempt to recover data from pages that are on the database free-list. (check-in: 8d2f52bb64 user: dan tags: dbdata)
18:15
Add the sqlite3_hard_heap_limit64() interface and the corresponding "PRAGMA hard_heap_limit=N" command. (check-in: b0ccef61a7 user: drh tags: hard-heap-limit)
16:20
Fix a bug preventing .recover from working on databases where the final page of the db is corrupt. (check-in: 959bbd11e9 user: dan tags: dbdata)
2019-04-24
20:48
Improve the performance of the .recover command. (check-in: a50768314d user: dan tags: dbdata)
17:04
New test cases in test/fuzzdata8.db. (check-in: 7be6222c9e user: drh tags: trunk)
16:13
Fix another instance in fts3 where a corrupt record can cause a buffer overflow. (check-in: e1724f1d61 user: dan tags: trunk)
15:57
Fix a problem in fts5 where a corrupt position list could lead to a buffer overwrite. (check-in: 516ca89451 user: dan tags: trunk)
15:13
Fix an error in fts3_write.c allowing a corrupt database to cause a crash. (check-in: 6e4a5f2281 user: dan tags: trunk)
04:53
Correction to the #if in the previous check-in. (check-in: 30dc05ac12 user: mistachkin tags: trunk)
00:37
Fix for 8-byte alignment asserts that can trigger in some circumstances with 32-bit MSVC. (check-in: 4c02832e0c user: mistachkin tags: trunk)
2019-04-23
22:00
Make no atttempt to generate VDBE code for VACUUM after a syntax error. (check-in: 930842470d user: drh tags: trunk)
20:48
Have ".recover" handle "\r" and "\n" in the same way as ".dump". (check-in: f95f0f02ab user: dan tags: dbdata)
18:03
Fixes for the ".recover" shell command. (check-in: 8dcc1d89d9 user: dan tags: dbdata)
15:30
Changes to the --hexdb decoder option in the shell (and also in the TCL test code) so that it works on systems where sscanf() does not recognize "%hhx" as wanting to delivery results into a character-size variable. (check-in: 4258e42d92 user: drh tags: trunk)
15:21
Minor simplification of NULL value handling for STAT4. Cherrypick of [69bad9257f8db6a2] from trunk. (check-in: 442c177dc4 user: mistachkin tags: branch-3.28)
15:08
Minor simplification of NULL value handling for STAT4. (check-in: 69bad9257f user: mistachkin tags: trunk)
12:31
New test cases in fuzzdata8.db. (check-in: 0fe3c3fd30 user: drh tags: trunk)
12:30
Improvement on the previous check-in. Parse.rc is less reliable than Parse.nErr for detecting SQLITE_TOOBIG errors. (check-in: 8d478cfb92 user: drh tags: trunk)
2019-04-22
20:52
Enhance the ".recover" command. Fix a problem with overflow pages in dbdata.c. (check-in: f193ca587f user: dan tags: dbdata)
20:05
Early detection of SQLITE_TOOBIG when processing nested queries. (check-in: 5d85d80ef8 user: drh tags: trunk)
11:47
Fix an assert() that may be false for corrupt databases. (check-in: b2ce5ed175 user: dan tags: trunk)
2019-04-20
20:57
Add the ".recovery" command to the shell tool. For recovering the maximum amount data from corrupt databases. Still needs work. (check-in: 7461d2e120 user: dan tags: dbdata)
2019-04-19
23:05
Mark a single branch as no longer reachable. (check-in: 4f35b3b78a user: drh tags: trunk)
22:01
Increase the version number to 3.29 for the next development cycle. (check-in: 6cf16703fd user: drh tags: trunk)
18:10
Mark two branches as unreachable. Oops - one of those branches was reachable via fuzzcheck tests. (Closed-Leaf check-in: 9b888fcc5a user: drh tags: mistake)
17:26
Improved optimization of the AND and OR operators. (check-in: 0fbd154eb4 user: drh tags: trunk)
16:34
Fix a problem with renaming a table that starts with "sqlite". Fix for ticket [f00d7b65]. (check-in: a2ead8aa45 user: dan tags: trunk)
16:21
Use macros to determine if an expression is always true or always false. (check-in: 6de980a09c user: drh tags: trunk)
13:38
Streamline the processing of the AND operator. Slightly smaller and faster. (check-in: 7713996aa9 user: drh tags: trunk)
2019-04-18
21:14
Add the sqlite_dbptr virtual table to the dbdata extension. For querying the links between b-tree pages. (check-in: 3213a15f21 user: dan tags: dbdata)
19:21
Minor simplification of NULL value handling for STAT4. (Closed-Leaf check-in: 5718a9d5fc user: mistachkin tags: nullStat4)
17:37
Undo change to 'analyze9.test' because the extra output can be useful for debugging. (Leaf check-in: f3081e5909 user: mistachkin tags: msvc)
2019-04-17
23:56
Fix a couple minor test issues. (check-in: 1f1866d11c user: mistachkin tags: msvc)
23:32
Work around lack of a C99 feature in MSVC. (check-in: f6ebe1c2be user: mistachkin tags: msvc)
21:17
Add the experimental dbdata extension. (check-in: a3ab588329 user: dan tags: dbdata)
21:12
Small performance and size optimization in sqlite3WalFindFrame(). (check-in: 03f2e78899 user: drh tags: trunk)
13:58
Fix a typo in the CLI help output for the ".dump" command. (check-in: 57638248de user: drh tags: trunk)
13:23
In the "pgidx" report from "showdb", also show the number of rows on each database btree page. (check-in: 2bda9dc41c user: drh tags: trunk)
12:29
In the "pgidx" command of the showdb utility, try to identify orphaned pages and show when pages have been zeroed out. (check-in: eed701ef91 user: drh tags: trunk)
12:07
Small performance improvement on the variable-length integer decoder: sqlite3GetVarint(). (check-in: 5df2bf62fc user: drh tags: trunk)
11:34
Faster and smaller implementation of sqlite3StrICmp(). (check-in: 7ac500fb5a user: drh tags: trunk)
2019-04-16
19:49
Version 3.28.0 (check-in: 884b4b7e50 user: drh tags: trunk, release, version-3.28.0)
11:21
Avoid a sanitizer error (pointer arithmatic overflow) in vdbesort.c. (check-in: af61a2fc45 user: dan tags: trunk)
10:51
Avoid a sanitizer error in test1.c. Have releasetest.tcl/wapptest.tcl create a file called "makecommand.sh" that can be used to rerun a test from the command line. (check-in: 4de4480ffd user: dan tags: trunk)
2019-04-15
19:17
Fix a bug in test module test_fs.c causing a segfault on OpenBSD. (check-in: ee88660029 user: dan tags: trunk)
15:41
Fix a problem with the user-auth extension and deserializing in-memory databases. (check-in: 09fa0b3c4a user: dan tags: trunk)
15:35
Merge recent changes from trunk into reuse-schema (check-in: 5c6c9e7f6f user: drh tags: reuse-schema)
15:28
Merge all recent enhancements. (check-in: 1cd536ecc8 user: drh tags: begin-concurrent-pnu-wal2)
15:17
Merge the latest trunk enhancements. (check-in: 8950f1195a user: drh tags: wal2)
15:07
Merge the latest enhancements from trunk. (check-in: 6caaaf21c9 user: drh tags: begin-concurrent-pnu)
14:59
Merge the latest enhancements from trunk. (check-in: 7c328e8894 user: drh tags: begin-concurrent)
14:49
Bring in the latest enhancements from trunk. (check-in: 378230ae7f user: drh tags: apple-osx)
13:59
Fix a test script problem in fts5corrupt3.test. (check-in: 734192d876 user: dan tags: trunk)
13:51
Update tool/symbols.sh to ignore symbols from sessions and rebaser and to not try to compile with ICU which is not available on all platforms. (check-in: 0bab4ece6e user: drh tags: trunk)
2019-04-14
00:40
Remove a stray tab from the source code. (check-in: 0ada58e930 user: drh tags: trunk)
00:34
Fix an obsolete comment and other minor issues from code inspection. (check-in: cd08442731 user: drh tags: trunk)
2019-04-13
16:50
Fix a harmless compiler warning in test logic. (check-in: c3932e6604 user: drh tags: trunk)
16:43
Fix the fts3varint.test script so that it works even on versions of TCL for which Tcl_GetWideIntFromObj() does not work. (check-in: 53f787ad29 user: drh tags: trunk)
16:35
Fix a test script problem in fts5corrupt3.test. (check-in: 858f62274e user: dan tags: trunk)
15:07
Partially revert the test file changes in [4371a0c46e]. It is no longer required following [93ae382e97c23c90]. (check-in: 593a7e6e20 user: dan tags: trunk)
14:17
Fix additional compiler warnings introduced by the previous check-in and found by MSVC. (check-in: 6fc0deffa4 user: drh tags: trunk)
14:07
Fixes for harmless compiler warnings. (check-in: c28c973ad6 user: drh tags: trunk)
04:38
Use the 64-bit memory allocator interfaces in extensions, whenever possible. (check-in: 07ee06fd39 user: drh tags: trunk)
04:01
Enforce the SQLITE_LIMIT_COLUMN limit on virtual tables. (check-in: 0b6ae032c2 user: drh tags: trunk)
2019-04-12
20:33
Add the socketvfs test extension. (Leaf check-in: f5b3ce9404 user: dan tags: socketvfs)
16:25
Test case changes so that they work with both Tcl8.6 and Tcl8.7. (check-in: 7b771405a9 user: drh tags: trunk)
13:40
Tweaks to wapptest.tcl: Ensure that the "Debug" checkbox is disabled unless the app is in "config" state, and have Debug variants run "test" instead of "fulltest". (check-in: dd248c186a user: dan tags: trunk)
12:10
Fix minor problems in tcl test scripts. (check-in: 56b664185e user: dan tags: trunk)
2019-04-11
19:07
Add the test/wapptest.tcl script, an alternative to releasetest.tcl that uses wapp to provide the user-interface. (check-in: edd87cd606 user: dan tags: trunk)
19:04
Merge trunk changes into this branch. (Closed-Leaf check-in: d805fc0cf1 user: dan tags: wapptest)
19:03
Further tweaks to wapptest.tcl. Add the ability to run the extra (n)debug tests that releasetest.tcl runs. (check-in: ec9c4f6d8d user: dan tags: wapptest)
17:06
Remove the vfslog.c extension from the testfixture target in main.mk, as that extension has no TCL bindings and is inaccessible. (check-in: d71f8bbc4e user: drh tags: trunk)
16:54
Fix RBU so that it does not write rows that should be excluded into partial indexes (corrupting the database). (check-in: 31eb27f438 user: dan tags: trunk)
06:50
Fix the checksymbols target in Makefile.in. (check-in: 1956eb3481 user: dan tags: wapptest)
2019-04-10
19:45
Have wapptest.tcl display the name, OS and architecture of the host. (check-in: c47e53b4d0 user: dan tags: wapptest)
18:56
Various fixes for the wapptest.tcl script. (check-in: cbf4236560 user: dan tags: wapptest)
18:29
Update the list of OMIT options in the omittest.tcl script. (check-in: f294cfc173 user: drh tags: trunk)
13:24
Further refinement of the sqlite3VdbeMEmExpandBlob() fix of check-in [df58774e994bd] to prevent a reference to an unused variable - problem discovered by Valgrind. (check-in: 09435b5700 user: drh tags: trunk)
12:02
Change the name of some internal testing interfaces to avoid a name conflict in AIX. (check-in: c1cae7e7f0 user: drh tags: trunk)
00:58
Do not place arbitrary restrictions on the length of the failure message for a uniqueness constraint. (check-in: 037da798fa user: drh tags: trunk)
2019-04-09
21:37
New test case for SQLITE_TOOBIG errors. (check-in: 4c77fbbe5d user: drh tags: trunk)
21:32
Improved reporting of SQLITE_TOOBIG errors while parsing. (check-in: ea2d4b65e2 user: drh tags: trunk)
20:50
Fix a problem caused by a small SQLITE_LIMIT_LENGTH value and a CREATE TABLE with a very large name. (Closed-Leaf check-in: 9b5d408864 user: dan tags: toobig-fix)
19:53
Add test/wapptest.tcl, a wapp alternative to releasetest.tcl. (check-in: a4af0c2fee user: dan tags: wapptest)
01:26
Use an unsigned integer to count free pages in btree.c:freePage2(). (check-in: 8820408597 user: drh tags: trunk)
2019-04-07
18:21
Make the testcase() macro added in the previous check-in reachable for testing. (check-in: 80704a16f6 user: drh tags: trunk)
18:04
Fix a faulty assert() in the sqlite3VdbeMemExpandBlob() routine. (check-in: df58774e99 user: drh tags: trunk)
2019-04-06
15:38
Fix two assert() statements in fts5 that are only true if the database is not corrupt. (check-in: edb095a9a6 user: dan tags: trunk)
2019-04-05
21:17
Remove some stale references to the addopcodes.tcl script from documentation. (check-in: c0381b0bc9 user: drh tags: trunk)
20:56
Eliminate the tool/addopcodes.tcl script. The purpose of that script was to keep the number of parser codes below 256 in order to save parser table space. But we have long since blown through that ceiling so the addopcodes.tcl script was just needless complexity. There is no longer any reason to keep it around. (check-in: d272819298 user: drh tags: trunk)
20:47
Add further tests so that veryquick.test covers all vdbe branches. (check-in: cbc67de5a3 user: dan tags: trunk)
17:22
Improved comment on the sqlite3FaultSim() function. No changes to code. (check-in: 08b29672c5 user: drh tags: trunk)
16:52
In the test_vfs.c VFS, if a Tcl xWrite script returns "SQLITE_OMIT", silently omit the write() call. (check-in: 8b5a621e2e user: dan tags: trunk)
16:38
Add the ability to override the new corruption detection logic of the previous checkin, in order to exercise downstream corruption detection during testing. (check-in: e859d31846 user: drh tags: trunk)
15:44
In the xfer-optimization, do early detection of when the source and destination index share the same btree, to avoid a long delay prior to reporting the database corruption. (check-in: af1e5873d4 user: drh tags: trunk)
2019-04-04
22:05
Add the vtab enable/disable options to the sqlite3_db_config TCL command in the testfixture. (Leaf check-in: c70524280f user: drh tags: disable-vtab)
21:40
Merge all the latest changes and enhancements from trunk. (check-in: 521d5186b8 user: drh tags: apple-osx)
20:55
Add further test cases to improve VDBE branch coverage. (check-in: 51a95e52fc user: dan tags: trunk)
20:21
Provide a DBCONFIG to enable or disable virtual tables that match a LIKE pattern. (check-in: b40a4edceb user: drh tags: disable-vtab)
19:21
Fix a typo in the documentation for sqlite3_value_frombind(). Also add a new hyperlink to that same documentation. No code changes. (check-in: bf3cd9364f user: drh tags: trunk)
18:20
Minor fixes to requirements marks. (check-in: 02ebc60b9b user: drh tags: trunk)
17:58
Add test cases to improve coverage of VDBE branches. Still some to go. (check-in: 4cef609d61 user: dan tags: trunk)
17:39
Correctly initialize the loadable extension thunk. (check-in: 4fca46ded7 user: drh tags: trunk)
15:25
Simplification of the recent VACUUM changes that make the code more like what it was before the change. Also, make the VACUUM command a no-inline procedure to work around a performance regression. (check-in: 9cac5ac145 user: drh tags: trunk)
14:36
Fix an incorrect comment on a test case for rowid renumbering in VACUUM. (check-in: 0d293fb43f user: drh tags: trunk)
14:00
Only preserve rowid values for VACUUM INTO. Keep the legacy behavior of renumbering rowids for ordinary VACUUM. (check-in: 13a0ea6466 user: drh tags: trunk)
2019-04-03
17:54
Add a defense-in-depth NEVER() test to the WAL cleanup code. (Leaf check-in: 1109942a50 user: drh tags: branch-3.27)
17:48
Add a defense-in-depth NEVER() test to the WAL cleanup code. (check-in: 8d3af2010f user: drh tags: trunk)
16:27
Fix a couple of problems with "RANGE BETWEEN <expr> PRECEDING AND <expr> PRECEDING" frames. (check-in: 39225cc775 user: dan tags: trunk)
2019-04-02
18:12
Small optimizations to the grammar for window functions save about 120 bytes of space in the parser tables. (check-in: bce01d9584 user: drh tags: trunk)
17:45
Use a separate bit on db->dbOptFlags to disable the xInverse optimization on window functions, rather than reusing the query-flattener disable bit. (check-in: bc0fb1c324 user: drh tags: trunk)
17:45
Including the phrase EXCLUDE NO OTHERS in the frame-spec of a window function (which is the default setting for EXCLUDE) silently disables the xInverse optimization. This is a feature, but we will keep it undocumented for now in case we later decide it is a bad idea. (check-in: 10aedce3dd user: drh tags: trunk)
13:10
Put the list of keywords in mkkeywordhash.c into alphabetical order. (check-in: ac98b23b34 user: drh tags: trunk)
01:00
Merge fixes from trunk. (check-in: 20372906cb user: drh tags: apple-osx)
00:56
Make sure the MEM_FromBind bit inthe Mem.flags field is not included in the MEM_TypeMask. This critical changes was omitted from the previous two check-ins by mistake, and so those check-ins are not fully functional. (check-in: f7ba2daf91 user: drh tags: trunk)
00:48
Add new APIs to the extension loading mechanism. (check-in: 6f122faf8a user: drh tags: trunk)
00:34
Merge enhancements from trunk. (check-in: 0b35aebbb3 user: drh tags: apple-osx)
00:28
Add the sqlite3_value_frombind() interface. Use that interface to improve fts3_tokenizer(). (check-in: b3f2c3205a user: drh tags: trunk)
2019-04-01
20:57
Performance improvement on the OP_Variable opcode. (Closed-Leaf check-in: 1dc7993bb6 user: drh tags: value_frombind)
19:42
Improvements to the sqlite3ExprImpliesNonNullRow() theorem prover. (check-in: 3fde627616 user: drh tags: trunk)
18:43
Add a test case to cover a missed VDBE branch generated by window.c. (check-in: b36813d646 user: dan tags: trunk)
17:24
If the library is built with SQLITE_VDBE_COVERAGE defined, have the Tcl tests generate a vdbe coverage report in file testdir/vdbe_coverage.txt. (check-in: f0ed714637 user: dan tags: trunk)
16:23
Frame range comparisons can never be NULL because the values will have been checked for NULL prior to the test. (check-in: fa37cf9a6a user: drh tags: trunk)
15:55
Mark rowid-comparison opcodes as never-null for VDBE coverage tracking purposes. (check-in: a69bb4f257 user: drh tags: trunk)
14:30
Improved VDBE branch coverage in the run-time frame-spec error detection logic of window functions. (check-in: f56d305a7b user: drh tags: trunk)
14:01
Improved comments on the VDBE branch coverage testing logic. Fix the VDBE branch coverage measurement on the OP_MustBeInt opcode. (check-in: 8681750e85 user: drh tags: trunk)
13:06
Fix a defect in the VDBE branch coverage testing logic. (check-in: 1fcf3307d3 user: drh tags: trunk)
03:07
Fix harmless compiler warnings seen with MSVC. (check-in: 6cf8b18ec2 user: mistachkin tags: trunk)
2019-03-31
21:09
Early detection of too many columns in an index avoid a possible 16-bit signed integer overflow. (check-in: 8af0caeb6d user: drh tags: trunk)
18:17
Add some missing VdbeCoverage() macros. (check-in: d03b611302 user: drh tags: trunk)
2019-03-30
20:43
Improvements to VdbeCoverage macros. (check-in: 10ee9e337e user: drh tags: trunk)
20:37
Fix issues with the previous check-in and add more VDBE branch coverage testing macros. (Closed-Leaf check-in: b5f72f10f2 user: drh tags: oops)
20:10
Enhanced VdbeCoverage() macros in the new windows function code. Later: This check-in causes an assertion fault. (check-in: f24066f8dd user: drh tags: oops)
19:17
Add a call to sqlite3FaultSim(410) inside of btreeRestoreCursorPosition() to simplify testing of error scenarios. (check-in: bb643bac53 user: drh tags: trunk)
18:39
The defragmentPage() routine detects corruption in the first-free-slot fields at offset 1 in the header and throws an error, rather than asserting. (check-in: fb125bd338 user: drh tags: trunk)
17:30
Add the blobio.c extension module implementing readblob() and writeblob(). Experimental. (check-in: e3fde56da4 user: drh tags: trunk)
17:07
Add an extra IO-error test to windowfault.test. (check-in: 5b8c44cd39 user: dan tags: trunk)
2019-03-29
17:26
Change the fts3_tokenizer() function to always return the pointer as a BLOB as long as the first argument is a bound parameter, regardless of the SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER setting. (check-in: 27160df7b3 user: drh tags: value_frombind)
15:21
Remove the unused P5 flag from the OP_Rewind opcode. (check-in: c2edbf3b8c user: drh tags: trunk)
13:17
Fix a fairly obscure problem causing the planner to sometimes choose sub-optimal plans for a query with a single virtual table in the FROM clause, and at least one IN(...) constraint in the WHERE clause. (check-in: f5752517f5 user: dan tags: trunk)
11:48
Fix typos in the comments of the sessions extension, one of which affects the generated documentation. No code changes. (check-in: 040d5d515b user: drh tags: trunk)
11:39
The two-argument version of fts3_tokenizer() works regardless of the value of SQLITE_DBCONFIG_ENABLE_FT3_TOKENIZER as long as the second argument is a bind parameter. (check-in: ab76e3a90e user: drh tags: value_frombind)
11:13
Initial implementation of the sqlite3_value_frombind() interface. (check-in: 98da62dfda user: drh tags: value_frombind)
01:15
Recover a some of the performance lost by window function alias fix two check-ins back. (check-in: 965cbcea11 user: drh tags: trunk)
2019-03-28
20:50
Add new test cases to test/fuzzdata8.db (check-in: f908cd40b2 user: drh tags: trunk)
16:15
Prevent aliases of window functions expressions from being used as arguments to aggregate or other window functions. (check-in: 1e16d3e8fc user: dan tags: trunk)
13:53
Show the pointer address for Window objects in the TreeView display. (check-in: 1ae70ad2ff user: drh tags: trunk)
13:35
More improvements to TreeView output for Window objects: (1) Show when the frame-spec is implied rather than explicit. (2) Move the FILTER clause out from within the OVER clause, making it a sibling of the OVER clause, to match syntax. (check-in: d6a0743342 user: drh tags: trunk)
13:03
Improved TreeView display of Window objects. Change the Window.eType field to Window.eFrmType to avoid confusion with other "eType" values. (check-in: ec2f207ded user: drh tags: trunk)
04:03
If the string formatter in sqlite3NestedParse() fails due to an over-length string, make sure this error is recorded by the parser so that it knows to fail. (check-in: 85e53ff133 user: drh tags: trunk)
01:00
Improvements to the README.md file. No code changes. (check-in: bbdbaf84a5 user: drh tags: trunk)
2019-03-27
14:59
Support building the Tcl bindings DLL using MSVC. (check-in: b2011c1317 user: mistachkin tags: trunk)
14:58
Fix harmless compiler warnings seen with MSVC. (check-in: 5be64ea8e3 user: mistachkin tags: trunk)
2019-03-26
19:14
Remove a "puts" statement accidentally left in a test script. (check-in: 9f591ac078 user: dan tags: reuse-schema)
18:40
Add a few extra tests for SQLITE_STATUS_SCHEMA_USED with shared-schema databases. (check-in: e399fede7b user: dan tags: reuse-schema)
16:47
Fix a problem with window frames that use "BETWEEN <start> AND 0 PRECEDING". (check-in: 7927b6b023 user: dan tags: trunk)
16:21
Fix harmless compiler warnings. (check-in: a063f7c426 user: drh tags: trunk)
14:04
Use the mutex-free PRNG in this branch, since anybody using this branch is probably interested in high concurrency. (check-in: e88fc6d0cd user: drh tags: begin-concurrent)
13:28
Bring this branch into closer alignment with begin-concurrent. (check-in: 6433d36617 user: drh tags: begin-concurrent-pnu)
13:08
Add support for new window functions related features - GROUPS frames, RANGE frames with logical start and end points, the EXCLUDE clause and window chaining. (check-in: c6da39115d user: dan tags: trunk)
12:37
Merge recent enhancements from trunk. (check-in: dc3c0b8b28 user: drh tags: apple-osx)
12:29
Bring this branch up to date with all the latest enhancements. (check-in: 2e964aafc2 user: drh tags: begin-concurrent-pnu-wal2)
12:22
Merge enhancements from trunk. (check-in: a0e2e90206 user: drh tags: wal2)
12:16
Merge the latest trunk changes. (check-in: 51e3e83549 user: drh tags: begin-concurrent-pnu)
12:07
Merge recent enhancements from trunk. (check-in: 774d0d5288 user: drh tags: begin-concurrent)
11:57
Merge recent trunk enhancements. (check-in: db4e2cc36a user: drh tags: reuse-schema)
2019-03-25
22:05
Fix an obsolete comment in the CLI. No code changes. (check-in: fade103cba user: drh tags: trunk)
21:56
In the CLI, code the "sqlite_parameters" name directly rather than using a macro, for clarity of presentation for users who are reading the code for the purpose of seeing how the CLI implements parameter binding. (check-in: e775ef002d user: drh tags: trunk)
21:55
Remove a test from the index build logic which is no longer needed and is in fact unreachable. (check-in: 9b20ee10ff user: drh tags: trunk)
21:35
Change the name of the parameter table in the CLI to "sqlite_parameters". Doing so involves adding SQLITE_DBCONFIG_WRITABLE_SCHEMA and allowing the creation of tables whose names begin with "sqlite_" and that are indexed while writable_schema is on. (check-in: 24ef384469 user: drh tags: trunk)
19:50
Earlier detection of corruption while added to the freelist. (check-in: 8c80b004ca user: drh tags: trunk)
18:44
Fix a faulty assert() statement in balance_nonroot() - the assert() should use get2byteNotZero() instead of get2byte() for the corner case where the number cells is zero on a 65536-byte page. (check-in: bcbe7d96df user: drh tags: trunk)
15:09
Improvements to the help text in the CLI. (check-in: 919fec91da user: drh tags: trunk)
15:06
Fix the writefile() SQL function implemented by ext/misc/fileio.c such that any directories created have standard umask permissions, not permissions of the file that is to be written. (check-in: f11c89595d user: drh tags: trunk)
14:24
For the ".archive --update" command in the CLI, only update files if their mtime or mode has changed. To force an update, use the new --insert instead. (check-in: 191a023ae7 user: drh tags: trunk)
2019-03-23
00:38
Support Tcl libraries with a suffix. (Closed-Leaf check-in: 8d0153996a user: mistachkin tags: msvcTcl)
2019-03-22
22:34
Further enhancements and fixes. (check-in: c9f1972e10 user: mistachkin tags: msvcTcl)
16:52
Attempt to detect when the MSVC linker requires the /MACHINE argument. (check-in: 3e35584621 user: mistachkin tags: msvcTcl)
13:56
Fix a problem with a window function in a correlated sub-query where at least one reference to the outer SELECT appears in a FROM clause sub-select. (Closed-Leaf check-in: 9aca86f983 user: dan tags: window-functions)
13:53
We learn that readdir_r() is deprecated in favor of plain old readdir(), which is now suppose to be threadsafe using thread-local storage. So remove the use of readdir_r() from the test code. (SQLite itself never calls readdir() or readdir_r()). (check-in: 7a0a26ed38 user: drh tags: trunk)
11:38
Add the --limit N option to dbfuzz2. Set the default callback limit to 250K. (check-in: b99f8512c0 user: drh tags: trunk)
01:26
Sync up the autoconf makefile for MSVC. (check-in: ecbae90aef user: mistachkin tags: msvcTcl)
01:25
Support building the Tcl bindings DLL using MSVC. (check-in: 908c4c891f user: mistachkin tags: msvcTcl)
2019-03-21
21:18
Add an extra test for database corruption to defragmentPage(). (check-in: 80e951fce3 user: dan tags: trunk)
17:22
Merge latest trunk changes with this branch. (check-in: 3196f5f480 user: dan tags: reuse-schema)
17:13
Disable the feature on this branch in non-SQLITE_ENABLE_SHARED_SCHEMA builds. (check-in: b8e536089b user: dan tags: reuse-schema)
13:51
Remove assert() statements based on the counter-factual proposition that 0 is not a valid cursor number. (check-in: c7b336181a user: dan tags: window-functions)
2019-03-20
20:27
Experimental change to apply affinity before running CHECK constraints on an INSERT. Note that in the CHECK constraints, REAL affinity really is REAL affinity, and not numeric affinity. This causes failures in some tests that are assuming affinity is applied after CHECK constraints. (Leaf check-in: 9ef69d1839 user: drh tags: apply-affinity-first)
20:02
Use the IsReuseSchema() macro more consistently. Also, rename it to IsSharedSchema(). (check-in: c1be211c02 user: dan tags: reuse-schema)
19:17
Fix an error message. (check-in: a70fdaa390 user: dan tags: reuse-schema)
18:22
In the CLI, give better error messages if something goes wrong with the ".dbinfo" command. (check-in: 3649a77b79 user: drh tags: trunk)
16:58
Fix a potential dangling pointer deference in an ALTER TABLE run on a schema that contains constructs of the form "PRIMARY KEY(column COLLATE collation)". (check-in: b9e2393cf2 user: dan tags: trunk)
16:03
Merge latest trunk changes into this branch. (check-in: 4cd20ca677 user: dan tags: reuse-schema)
12:08
Fix harmless compiler warnings from MSVC. (check-in: f0f02d46e4 user: drh tags: trunk)
11:16
Enhance the rtreenode() function of rtree (used for testing) so that it uses the newer sqlite3_str object for better performance and improved error reporting. Test cases added to TH3. (check-in: 90acdbfce9 user: drh tags: trunk)
05:45
Fix various harmless compiler warnings seen with MSVC. (Closed-Leaf check-in: 1c0fe5b576 user: mistachkin tags: noWarnings)
2019-03-19
20:48
Merge recent enhancements from trunk. (check-in: 000f4398db user: drh tags: apple-osx)
20:42
Enhance the VACUUM INTO command so that it works on read-only databases. (check-in: 55be6d0a9f user: drh tags: trunk)
20:13
Fix a compiler warning in FTS5. (check-in: d5acf3af65 user: drh tags: trunk)
19:39
Add further tests to window8.test. (check-in: ec7e224f50 user: dan tags: window-functions)
19:19
Fix a problem with EXCLUDE clauses on window frames with no ORDER BY. (check-in: e025506379 user: dan tags: window-functions)
17:45
Add tests to ensure that the window functions implementation is not generating code for unnecessary sorts. (check-in: e195948a68 user: dan tags: window-functions)
16:49
Add missing VdbeCoverage() macros to new code in window.c. (check-in: 4f9b93e6cf user: dan tags: window-functions)
15:36
When computing the amount of scratch memory needed during a rebalance operation, assume the worst case for the number of cells per page, rather than relying on the BtPage.nCell value, which might be incorrect for a corrupt database. (check-in: a420ebd08f user: drh tags: trunk)
11:56
Revert the OP_MustBeInt opcode implementation on this branch so that it again matches trunk. The extra functionality is no longer required. (check-in: c02f77b1b4 user: dan tags: window-functions)
11:35
Tweak the tool/cg_anno.tcl script so that it can run on systems without /usr/bin/tclsh. (check-in: a026189aa4 user: dan tags: trunk)
11:17
Update this branch with latest trunk changes. (check-in: 98cc265987 user: dan tags: window-functions)
09:57
Add a LICENSE.md, containing the text of the blessing. (check-in: cbb7e60272 user: drh tags: trunk)
06:40
Ensure that all the new window-function keywords can still be used as SQL identifiers. (check-in: a6d61dfd47 user: dan tags: window-functions)
2019-03-18
21:19
Add further tests for new window function functionality. (check-in: 1fbddf01b1 user: dan tags: window-functions)
18:55
Always evaluate window functions using the alternative path usually only used by EXCLUDE frames if the SQLITE_QueryFlattener test flag is set. (check-in: 2879a691ac user: dan tags: window-functions)
16:51
Fixes for RANGE windows and NULL values. (check-in: 723c84be3e user: dan tags: window-functions)
15:49
Fix a buffer overread that could occur when running fts5 prefix queries inside a transaction. (check-in: b3fa58dd74 user: dan tags: trunk)
15:23
Fix an fts5 problem with interleaving reads and writes in a single transaction. (check-in: 45c73deb44 user: dan tags: trunk)
10:30
Fix a typo in a comment. No changes to code. (check-in: c2f50aa4e7 user: drh tags: trunk)
2019-03-17
23:59
New hyperlink on the README.md file. (check-in: cc5ab96715 user: drh tags: trunk)
23:44
Update the README.md file at the top level to talk about how to deal with version names and how to verify the code in Git mirrors. (check-in: e8c87a0ac1 user: drh tags: trunk)
2019-03-16
20:29
Fix problems with RANGE windows and string, blob and NULL values. (check-in: cebe09e11c user: dan tags: window-functions)
10:15
In order to identify the first row of each partition, check if the rowid in the ephemeral table is 1 instead of using a dedicated flag register. (check-in: f2d5f7a24c user: dan tags: window-functions)
2019-03-15
20:46
Implement the EXCLUDE clause for window frames. (check-in: 9b43c3ee2e user: dan tags: window-functions)
19:08
Back out the change to support Fuchsia, since it turns out fuchsia does not like dot-file locks. (check-in: 1d801a3b2c user: drh tags: trunk)
18:57
Remove a debugging printf() left in test/sessionfuzz.c. (check-in: 73c4abc902 user: dan tags: trunk)
16:17
Ensure that ALTER TABLE commands open statement transactions. Fix for [596d059a]. (check-in: 0f2129f59f user: dan tags: trunk)
2019-03-14
20:53
Parse EXCLUDE clauses in window frames. They do not yet work. (check-in: d03c7533a1 user: dan tags: window-functions)
16:36
Add things to this branch that will be required to support the EXCLUDE clause. (check-in: 7d66cd2013 user: dan tags: window-functions)
00:01
Technical improvements to the documentation for sqlite3_bind_blob() and sqlite3_bind_text(). No changes to code. (check-in: fb60150aee user: drh tags: trunk)
2019-03-13
23:51
Improvements to the sqlite3_db_filename() API documentation. No code changes. (check-in: 711f5ec4dc user: drh tags: trunk)
17:31
Merge latest trunk changes into this branch. (check-in: 0b904517bd user: dan tags: window-functions)
17:20
Avoid allocating excessive registers for the PARTITION BY expressions when processing window functions. (check-in: 180be26623 user: dan tags: window-functions)
15:29
Remove rows from the ephemeral table used by window functions once they are no longer required. (check-in: 6ad5531920 user: dan tags: window-functions)
13:19
New test cases added to test/fuzzdata8.db (check-in: 049e992620 user: drh tags: trunk)
11:40
When deserializing a database (sqlite3_deserialize()), do not attempt to parse the schema before the data is loaded. (check-in: 4e1b005e8b user: dan tags: trunk)
10:29
Detect zero-length free slots on btree pages and report that as corruption. (check-in: c4f0568fde user: drh tags: trunk)
08:28
Minor optimization in sqlite3WindowCodeStep(). (check-in: b1322ffb6e user: dan tags: window-functions)
2019-03-12
18:28
Allow real values to be used in PRECEDING and FOLLOWING expressions for RANGE window frames. (check-in: 25ff7091cb user: dan tags: window-functions)
15:21
Expand on header comment for sqlite3WindowCodeStep(). Further simplify the implementation of the same. (check-in: 5129bcc996 user: dan tags: window-functions)
09:49
Fix a crash that could occur if the RHS of an IN expression is a correlated sub-query that refers to the outer query from within a window frame definition only. (check-in: 0524aaaf45 user: dan tags: trunk)
2019-03-11
19:50
Remove "cache mode" from the window frame code generator. Handle the same cases by editing the window frame specification itself. (check-in: 0812635383 user: dan tags: window-functions)
18:17
Simplify the windows frame code some. Add a comment explaining some of the VM code generated by sqlite3WindowCodeStep(). (check-in: 6bd1a07949 user: dan tags: window-functions)
11:12
Fix problems with "RANGE ... ORDER BY <expr> DESC" window frames. (check-in: e7bced731a user: dan tags: window-functions)
2019-03-09
20:49
Add support for RANGE window frames. Some cases still do not work. (check-in: ffc32b246d user: dan tags: window-functions)
07:38
Merge latest trunk changes into this branch. (check-in: 53ea550ce7 user: dan tags: window-functions)
2019-03-08
20:57
Add simple tests for GROUPS window frames. (check-in: 2872702dac user: dan tags: window-functions)
20:26
Fix a harmless bug in the Makefile. (check-in: 62ac9cb07f user: drh tags: trunk)
20:02
Finish consolidation of window frame code. Add untested support for GROUPS frames. (check-in: 954bf36993 user: dan tags: window-functions)
16:06
Merge the latest enhancements and fixes from trunk. (check-in: 543ecb30d6 user: drh tags: begin-concurrent-pnu-wal2)
15:57
Merge the latest enhancements and fixes from trunk. (check-in: bf20d4ffcb user: drh tags: wal2)
15:39
Add the bgckpt.c extension to Makefile.in and Makefile.msc. (check-in: 3712d625d6 user: drh tags: wal2)
15:30
Merge all the latest enhancements from trunk. (check-in: 667cce3dce user: drh tags: begin-concurrent-pnu)
14:07
Add new test cases in test/fuzzdata8.db (check-in: 97bdc090f3 user: drh tags: trunk)
14:02
Patch makes balance_nonroot() slightly smaller and faster and more robust against corrupt databases. (check-in: 174da3c32c user: drh tags: trunk)
13:27
Fix another segfault in fts3 that could occur with corrupt records. (check-in: fcc24edde4 user: dan tags: trunk)
01:52
Detect an attempt to drop a btree that is not within the bounds of the database file and abort early with an SQLITE_CORRUPT error, to avoid problems later on in the process. (check-in: 235a9698f5 user: drh tags: trunk)
2019-03-07
20:47
Fix other "ROWS BETWEEN" cases on this branch. (check-in: a5f68f6647 user: dan tags: window-functions)
19:26
Modify new window functions function so that cursors are stepped immediately after each operation, instead of immediately before. (check-in: 093d2b25f1 user: dan tags: window-functions)
2019-03-06
21:04
Simplify the window function code generator some more. (check-in: 45cbd3b449 user: dan tags: window-functions)
17:12
Improvements to the way built-in window functions are handled. (check-in: e8eee566df user: dan tags: window-functions)
14:53
Add the sqlite3_stmt_isexplain() interface. (check-in: ee642d3e27 user: drh tags: trunk)
14:08
Add an "|| CORRUPT_DB" term to an assert() that might be false if the database is corrupt. Also add a branch to have sqlite3PagerMovepage() return SQLITE_CORRUPT in that case. (check-in: b0d5cf40bb user: drh tags: trunk)
2019-03-05
23:49
Fix a potential 32-bit integer overflow in the "showdb" utility program when it is trying to interpret a corrupt database file. (check-in: 3803e75038 user: drh tags: trunk)
19:29
Extend windowCodeStep() to handle any ROWS PRECEDING/FOLLOWING frame specification. (check-in: af0ea13635 user: dan tags: window-functions)
16:53
Add a script to tool/ that will extract the sqlite3.h header file from an sqlite3.c amalgamation. (check-in: 38d2e510cd user: drh tags: trunk)
14:47
New dbfuzz2 test cases added to test/fuzzdata7.db (check-in: 25975e1fb2 user: drh tags: trunk)
14:39
If the initial byte of a record is a large value, then always used the generalized record comparison routine sqlite3VdbeRecordCompare() rather than one of the specialized versions that are optimized for shorter records. (check-in: c1ac00706b user: drh tags: trunk)
2019-03-04
21:08
Merge trunk changes into this branch. (check-in: 9b4d561f68 user: dan tags: window-functions)
21:07
Support some "ROWS BETWEEN N PRECEDING AND M FOLLOWING" window functions without caching entire partitions. (check-in: e7a91f1228 user: dan tags: window-functions)
07:25
Merge latest trunk changes into this branch. (check-in: 97a9604d85 user: dan tags: reuse-schema)
07:15
Fix a problem preventing compilation with SQLITE_OMIT_UTF16. (check-in: 906d1fd865 user: dan tags: trunk)
2019-03-02
20:09
Improved comments on the fossildelta.c extension. (check-in: d7d23f0450 user: drh tags: trunk)
15:25
Fix the SQLITE_DIRECT_OVERFLOW_READ compile-time option so that it works with SQLITE_HAS_CODEC. (check-in: fd085e9260 user: drh tags: trunk)
12:17
Remove a redundant parameter extraction call from the percentile.c extension. (check-in: d49c32e6e7 user: drh tags: trunk)
2019-03-01
21:37
Merge recent changes from trunk. (check-in: f270245a7b user: drh tags: apple-osx)
21:33
The fts3_tokenizer() function returns NULL if the SQLITE_DBCONFIG_ENABLE_FTS_TOKENIZER setting is disabled, which is is by default. (check-in: f5732f4caf user: drh tags: trunk)
21:12
Fix a minor comment typo. No code changes. (check-in: 9a0a93c89d user: drh tags: trunk)
18:27
Merge the latest enhancements from trunk. (check-in: e64ded7b04 user: drh tags: apple-osx)
18:07
In a query that uses a partial index, the expression that is the WHERE clause of the partial index must always be true. Use this fact to avoid evaluating identical terms in the WHERE clause of the query. (check-in: 9b2879629c user: drh tags: trunk)
2019-02-28
20:10
Add the ".parameter" command to the CLI. (check-in: 1f9fa58541 user: drh tags: trunk)
17:29
Add the new "bind_fallback" method to the "sqlite3" object in the TCL interface. (check-in: c7f70b6d96 user: drh tags: trunk)
14:09
New test case loaded into test/fuzzdata8.db. (check-in: 00ae0c6c48 user: drh tags: trunk)
13:41
Avoid an assert() failure and an undefined left-shift operation in the fts3 snippet() function that could occur if the database was corrupt. (check-in: d5250db632 user: dan tags: trunk)
13:21
Add an "|| CORRUPT_DB" term to an assert() statement in the btree defragmenter. (check-in: 6bfd8655f0 user: drh tags: trunk)
2019-02-27
23:05
Enable the LIKE optimization when the ESCAPE keyword is present and the PRAGMA case_sensitive_like pragma is ON. (check-in: 6ae4b8c525 user: drh tags: trunk)
19:59
Fix the readfile() UDF so that it returns an empty BLOB, not an OOM error, when reading an empty file. (check-in: 0edad5339e user: drh tags: trunk)
16:38
Add the "-returntype" option to the "db function" Tcl method. (check-in: 789a492b68 user: dan tags: trunk)
15:26
Verify that fts5 auxiliary functions cannot be used in aggregate queries. (check-in: 122330dba3 user: dan tags: trunk)
2019-02-26
19:16
Reformat the white-space in a few test cases so that the tests work with Tcl 8.6.9. (check-in: 29d02bf2fa user: dan tags: trunk)
18:21
Minor change to dbfuzz2 that allows it to be compiled against older versions of SQLite. (check-in: 6d39d6a68b user: drh tags: trunk)
17:52
New test cases added to test/fuzzdata8.db. (check-in: 61fdfc57b9 user: drh tags: trunk)
17:49
Allocate a few extra bytes for the pager temp page as an overrun buffer while processing corrupt database files. (check-in: e7aca0714b user: drh tags: trunk)
16:36
Update doc/shared_schema.md to describe the shell tool ".shared-schema" dot-command. (check-in: 0ce2092a59 user: dan tags: reuse-schema)
16:17
Use unsigned integers to count the number of pages in a freelist during an integrity_check, to avoid any possibility of a signed integer overflow. (check-in: 05b87e0755 user: drh tags: trunk)
16:13
Add new test file reuse5.test. For testing the shell tool ".shared-schema" command. (check-in: fa6008d547 user: dan tags: reuse-schema)
16:11
Fix a harmless compiler warning that only comes up during debug builds. (check-in: 848869ced9 user: drh tags: trunk)
15:43
Add the ".shared-schema check|fix DB1 DB2..." command to the shell tool. For checking if a database is eligible to share an in-memory with the main database, and for fixing small problems that prevent it from being so. (check-in: 7d8e8a9572 user: dan tags: reuse-schema)
12:29
Update the configure-generated makekfile to generate a portable pkgIndex.tcl. (check-in: 35cbee7fe4 user: drh tags: trunk)
2019-02-25
19:23
Fix a comment in build.c. (check-in: d6a9bff6f5 user: dan tags: reuse-schema)
18:43
Enhance the command-line shell to accept bound parameters, using the TEMP table named "$Parameters" to look up the values for bound parameters. (check-in: 7c941ce5bc user: drh tags: trunk)
18:07
Merge latest trunk changes into this branch. (check-in: 5c1cf30859 user: dan tags: reuse-schema)
17:54
Where possible, avoid loading all schemas into memory for PRAGMA statements. (check-in: 64f97530ad user: dan tags: reuse-schema)
16:06
Version 3.27.2 (check-in: bd49a8271d user: drh tags: release, branch-3.27, version-3.27.2)
15:55
Internally, remove all references to a Window object that belongs to an expression in an ORDER BY clause if that expression is converted to an alias of a result-set expression. (check-in: a21ffcd817 user: drh tags: branch-3.27)
15:43
This was originally intended to be the 3.27.2 release, but then I realized that I left out an important patch. (Closed-Leaf check-in: 6c5e5e2ee0 user: drh tags: mistake)
14:52
Update comments on the fossildelta extension. No changes to code. (check-in: 9da4fb59b2 user: drh tags: trunk)
14:25
Fix a typo in the documentation for sqlite3_total_changes(). (check-in: 4febdfb37b user: drh tags: branch-3.27)
14:16
Fix a typo in the documentation for sqlite3_total_changes(). (check-in: 8474c1560e user: drh tags: trunk)
2019-02-23
20:48
Fix a couple of assert() statements in fts3 that can be false if the database is corrupt. (check-in: 84162af521 user: dan tags: trunk)
00:56
Import from trunk the new fix to ticket [df46dfb631f75694] in which all ephemeral tables used as the RHS of an IN operator be index btrees and never table btrees so that they can always be reused. (check-in: 0e64ac122a user: drh tags: branch-3.27)
00:21
Check-in [fa792714ae62fa98] is incorrect. Add a test case to refute it and also a fix to make it right. Then add an alternative fix to ticket [df46dfb631f75694] in which all ephemeral tables used as the RHS of an IN operator be index btrees and never table btrees so that they can always be reused. (check-in: d3915230e3 user: drh tags: trunk)
00:08
Remove a testcase() macro which is now unreachable due to the contraction of the use of IN_INDEX_ROWID. (Closed-Leaf check-in: 90c5a17cd5 user: drh tags: tkt-df46dfb631)
2019-02-22
23:29
Make all ephemeral tables built to hold the RHS of an IN operator be index-btrees, never table-btrees, regardless of whether or not they are used as IN_INDEX_LOOP or IN_INDEX_MEMBERSHIP. That way, the same ephmerial table can be reused for both cases. (check-in: c2d50df8fd user: drh tags: tkt-df46dfb631)
21:33
Check-in [fa792714ae62fa980] is not a valid fix for ticket [df46dfb631f75694], as the new test case in this check-in demonstrates. The fix here causes test cases for the [df46dfb631f75694] bug to fail again, so this check-in is on a branch. A new fix is needed for [df46dfb631f75694]. (check-in: 0d456456da user: drh tags: tkt-df46dfb631)
19:24
Internally, remove all references to a Window object that belongs to an expression in an ORDER BY clause if that expression is converted to an alias of a result-set expression. Fix for [4feb3159c6]. (check-in: 579b66eaa0 user: dan tags: trunk)
17:44
Merge latest trunk changes into this branch. (check-in: 001771afd0 user: dan tags: reuse-schema)
16:18
In sqlite3NestedParse() be sure to detect all SQLITE_NOMEM and SQLITE_TOOBIG errors and to distinguish between them. (check-in: 73056b314b user: drh tags: trunk)
15:42
Modify sqlite3_str_finish() and sqlite3VMPrintf() so that they always return NULL on any OOM or SQLITE_LIMIT_LENGTH error. (check-in: e7144ffd21 user: drh tags: trunk)
2019-02-21
18:11
Fix OOM handling in sqlite3NestedParse(). (Leaf check-in: e6e9dd5c17 user: dan tags: nested-parse-oom)
16:41
Detect oversized strings in the OP_String opcode even if the P4 argument is originally UTF8 and has to be converted to UTF16 to match the database file and that conversion causes the string to become shorter and cross below SQLITE_LIMIT_LENGTH threshold. This might fix an OSSFuzz problem that we have been so far unable to reproduce. (check-in: c13d563925 user: drh tags: trunk)
2019-02-20
19:20
Changes to the unix VFS that allegedly enable it to build of Fuchsia. We have no way of testing this. (check-in: be21a6416d user: drh tags: trunk)
19:06
Disable unix-specific features of dbfuzz2 when compiling on windows. (check-in: af84774d1e user: drh tags: trunk)
18:44
Further test cases and fixes for SQLITE_OPEN_SHARED_SCHEMA. (check-in: ba0ab042f4 user: dan tags: reuse-schema)
18:13
Avoid the use of function pointers in columnName(), as function pointers appear to be a source of consternation to LLVM. (check-in: c48f6f39c5 user: drh tags: trunk)
17:36
Add test and fixes for SQLITE_OPEN_SHARED_SCHEMA mode. (check-in: 9a78d89c84 user: dan tags: reuse-schema)
13:55
Progress handler improvements: (1) Invoke the callback after OP_Program opcodes (2) Invoke the callback multiple times in a row to catch up after a long run of no progress checks. (check-in: 0c5db18d79 user: drh tags: trunk)
13:23
Merge the latest performance enhancements and fixes from trunk. (check-in: be71d1e24c user: drh tags: apple-osx)
13:14
Increment the version number to 3.27.2. (check-in: a70d67d8af user: drh tags: branch-3.27)
13:12
When an IN operator drives a query loop, mark it as "CODED" so that it will not be used afterwards for a (pointless) membership test. (check-in: 55e38d53ad user: drh tags: branch-3.27)
12:52
When an IN operator drives a query loop, mark it as "CODED" so that it will not be used afterwards for a (pointless) membership test. This is a better fix for ticket [df46dfb631f75694] than the previous fix that is now on a branch as it preserves the full optimization of check-in [e130319317e76119]. (check-in: fa792714ae user: drh tags: trunk)
03:38
Back off the optimization of check-in [e130319317e76119] slightly so that it only applies to IN operators that are used for membership tests. Proposed fix for ticket [df46dfb631f75694]. (Closed-Leaf check-in: b5f90bfe62 user: drh tags: tkt-df46dfb631)
2019-02-19
20:29
Enhance the xBestIndex method on delta_parse() to return SQLITE_CONSTRAINT if no delta argument is supplied. (check-in: f16d127c3b user: drh tags: trunk)
20:19
Add the delta_parse(DELTA) table-valued function to the fossildelta extension. (check-in: d91fcc267b user: drh tags: trunk)
18:39
Add the fossildelta.c extension in ext/misc with implementations of the Fossil delta functions. (check-in: b80cafa6f8 user: drh tags: trunk)
18:00
Improve error messages caused by corrupt database schemas in OPEN_SHARED_SCHEMA mode. (check-in: 8ac75b8a88 user: dan tags: reuse-schema)
17:45
Fix a potential memory leak in RBU if the rbu_fossil_delta() SQL function is misused. Misuse never happens in a working RBU system, so this is not a particularly important fix. (check-in: 12517d1b15 user: drh tags: trunk)
16:42
Fix an assert() that might not be true if the database file is corrupt. (check-in: f2d400db4d user: drh tags: trunk)
13:51
New assert() to verify the TF_HasprimaryKey flag. (check-in: 0abace8a7a user: drh tags: trunk)
13:08
Always use the symbolic name SQLITE_IDXTYPE_PRIMARYKEY rather than a hard-coded magic number 2. (check-in: 55d43adc89 user: drh tags: trunk)
2019-02-18
18:16
Ensure that creating temp schema items does not cause an OPEN_SHARABLE_SCHEMA connection to load all schemas into memory. (check-in: 88cbf54eee user: dan tags: reuse-schema)
12:16
Fix an assert() that might not be true if the %_segdir table of FTS3 contains corrupt entries. (check-in: a6509ca3dc user: drh tags: trunk)
2019-02-16
22:45
Fix an assert() that might be false for a corrupt database. (check-in: 0cfb888723 user: drh tags: trunk)
17:27
Add support for chaining of WINDOW definitions. (check-in: c155125fd5 user: dan tags: window-functions)
2019-02-15
19:36
Enhance the virtual table in test_schemapool.c so that it can be used to check that SHARED_SCHEMA connections are not allocating and freeing schemas when they should not be. (check-in: cb236cb985 user: dan tags: reuse-schema)
19:00
Fix a problem with eponymous virtual tables and SHARED_SCHEMA databases. Also, after preparing statements that require all database schemas (REINDEX, ANALYZE, CREATE, DROP and some PRAGMA statements), do not allow the database connection to return more than one schema to each schema-pool. (check-in: ecf6251ec0 user: dan tags: reuse-schema)
11:54
Revert the rearrangement of VDBE code in [219b39e14] so that vdbe.c matches trunk. Since the new call to sqlite3Init() in OP_ParseSchema was removed, the rearrangement no longer provides any performance advantage. (check-in: 03c4f00317 user: dan tags: reuse-schema)
2019-02-14
21:04
Fix SQLITE_DBSTATUS_SCHEMA_USED so that it works with SQLITE_OPEN_SHARED_SCHEMA connections. (check-in: d43b3c056c user: dan tags: reuse-schema)
18:38
Change the name of the SQLITE_OPEN_REUSE_SCHEMA flag to SQLITE_OPEN_SHARED_SCHEMA. (check-in: 7257fcc8c9 user: dan tags: reuse-schema)
17:59
Fix a typo in shared_schema.md. (check-in: e47a5aea76 user: dan tags: reuse-schema)
17:51
Add documentation file doc/shared_schema.md to describe the change on this branch. (check-in: a5f8067dde user: dan tags: reuse-schema)
15:56
Merge latest trunk into this branch. (check-in: 577d163836 user: dan tags: reuse-schema)
15:47
Add missing comments and fix other code issues in the new functions in callback.c. (check-in: 441cabb62f user: dan tags: reuse-schema)
15:27
Improved oversized cell detection when updating ptrmap pages in balance_nonroot(). (check-in: aa61435a4c user: drh tags: trunk)
2019-02-13
19:17
Fix for sqlite3_table_column_metadata() on REUSE_SCHEMA databases. (check-in: 53220ad780 user: dan tags: reuse-schema)
18:29
Avoid crashing after parsing a corrupt schema with a REUSE_SCHEMA connection. (check-in: b102148e71 user: dan tags: reuse-schema)
15:51
Fix a problem with the incrblob API and reusable schemas. (check-in: 34f0f96f47 user: dan tags: reuse-schema)
14:06
Rearrange the code in the VDBE to help out the C-compiler optimizer. And fix a harmless compiler warning. (check-in: 219b39e149 user: drh tags: reuse-schema)
13:48
Performance optimization in the VDBE, and a fix for a harmless compiler warning. (Closed-Leaf check-in: e002666ac7 user: drh tags: reuse-schema-vdbe-opt)
08:40
Fix a problem with OPEN_REUSE_SCHEMA connections reloading the temp schema. (check-in: 7c2ec2d4cf user: dan tags: reuse-schema)
2019-02-12
22:58
Ensure that the nProgressLimit variable is always initialized in sqlite3VdbeExec(), even if the routine jumps to its exit processing early. (check-in: 167b91df77 user: drh tags: trunk)
21:04
Enhancement the progress callback mechanism so that the progress callback is always invoked at least once at the end of a prepared statement if the opcode count has been exceeded. This makes the progress callback more effective at limiting run times. This check-in also includes and unrelated performance enhancement to OP_Column. (check-in: 68cce272e7 user: drh tags: trunk)
20:58
Add tests for creating temp schema objects with SQLITE_OPEN_REUSE_SCHEMA connections. (check-in: 8c07b609fc user: dan tags: reuse-schema)
19:20
Share schemas between databases attached to the same database handle. (check-in: ea611d7cba user: dan tags: reuse-schema)
16:58
Further performance improvements to btreeInitPage(). (check-in: 93ae382e97 user: drh tags: trunk)
15:51
Increase the version number to 3.28.0 for the next release cycle. (check-in: 6eb38c59a8 user: drh tags: trunk)
12:25
Register the "vfsstat" virtual table immediately when loading the vfsstat.c extension. (check-in: 9bd92afd0c user: drh tags: trunk)
01:28
New test cases in test/fuzzdata8.db. (check-in: ab2356f580 user: drh tags: trunk)
01:04
Defer computing the number of bytes of free space on a btree page until that value is actually needed. (check-in: 177f5f40ea user: drh tags: trunk)
00:58
Change an assert() into a NEVER(), since the condition is difficult to prove with certainty. Improved comment on the MemPage.nFree field. (Closed-Leaf check-in: fec071b89d user: drh tags: deferred-free-space)
2019-02-11
22:50
Do not invoke btreeComputeFreeSpace() when not necessary. (check-in: f11b0ed474 user: drh tags: deferred-free-space)
20:13
Merge latest trunk changes into this branch. (check-in: dbedd81bf2 user: dan tags: reuse-schema)
19:34
Add eponymous virtual table "schemapool". For inspecting the current contents of the schema-pool. (check-in: 2ebeb74783 user: dan tags: reuse-schema)
19:27
Improvements to comments. No changes to code. (check-in: 16eb0fc8f8 user: drh tags: deferred-free-space)
17:22
Fix test cases. Avoid unnecessary tests for MemPage.nFree less than zero. (check-in: 480a5090be user: drh tags: deferred-free-space)
16:12
Fix another segfault that could occur in fts5 with a corrupted database. (check-in: 09e337386b user: dan tags: trunk)
13:25
Fix typos in comments in fts5.h. No changes to code. (check-in: c19e97bc92 user: dan tags: trunk)
12:51
Updates to a comment to keep it in alignment to the changes on this branch. (check-in: 7499f74351 user: drh tags: deferred-free-space)
11:34
Build and test fixes for SQLITE_OMIT_WINDOWFUNC builds. (check-in: 8824115a97 user: dan tags: trunk)
11:04
Avoid using a "return void_function();" statement in void function sqlite3WalSnapshotUnlock(). It provokes a warning from some compilers. (check-in: 4a4952d38e user: dan tags: trunk)
01:58
Add an assert() in an attempt to repro an ASAN warning from OSSFuzz. (check-in: 7b41222428 user: drh tags: trunk)
2019-02-09
22:33
Fix a page-cache reference leak in the btree balancer when there is a corrupt database. (check-in: 9285899120 user: drh tags: deferred-free-space)
21:06
Defer computing the MemPage.nFree value of an in-memory btree page until it is actually needed, since for many pages it is never needed. This checkin works sufficiently to prove the concept, but still has issues with exception handling. (check-in: 1d43ee4000 user: drh tags: deferred-free-space)
19:23
Change a few assert() statements in fts3 that might fail if the database is corrupt. (check-in: db74a56af7 user: dan tags: trunk)
17:47
Fix virtual table support for SQLITE_OPEN_REUSABLE_SCHEMA connections. (check-in: 3ca8856a7b user: dan tags: reuse-schema)
2019-02-08
22:34
Small performance improvement and size reduction for pageFindSlot() - the routine in btree.c that locates a free slot for a cell on a btree page. (check-in: 1969372ac7 user: drh tags: trunk)
20:55
Use a fast compiler-provided memory barrier exclusively, if such a memory barrier is available. (Leaf check-in: df66fec9bc user: drh tags: faster-memory-barrier)
19:30
Add test cases and fix problems on this branch. (check-in: 2b2e9f81cd user: dan tags: reuse-schema)
17:28
Further simplifications to sqlite3VdbeMemSetStr(). (check-in: 1d21295707 user: drh tags: trunk)
15:59
Change the sqlite3VdbeMemGrow() routine so that it no longer guarantees a minimum size of 32 bytes. That minimum is no longer required, and without the extra check for the minimum size, the routine runs faster. (check-in: 5c499da8a4 user: drh tags: trunk)
14:59
Merge the fix for ticket [4e8e4857d32d401f], so that this branch now contains release 3.27.1 plus the extra patch to preserve ROWID values on VACUUM. (check-in: 0cdae60ed7 user: drh tags: apple-osx)
14:55
Give the sqlite3 object a pointer to the current Parse so that if an OOM occurs, it can automatically set the Parse.rc value to SQLITE_NOMEM. This avoids a frequent extra test of db.mallocFailed in the innermost parser loop. (check-in: 5c6638040b user: drh tags: trunk)
13:17
Version 3.27.1 (check-in: 0eca3dd3d3 user: drh tags: release, branch-3.27, version-3.27.1)
12:46
Cherrypick the fix for ticket [4e8e4857d32d401f] from trunk. (check-in: d5d944d794 user: drh tags: branch-3.27)
12:44
Increase the version number to 3.27.1. (check-in: b94d5428bb user: drh tags: branch-3.27)
04:15
Do not do the optimization that attempts to pull expression values from an index on that expression when processing a multi-index OR (see check-in [a47efb7c8520a0111]) because the expression transformations that are applied become invalid when the processing moves off of the current index and on to the next index. Fix for ticket [4e8e4857d32d401f]. (check-in: 440a7cda00 user: drh tags: trunk)
2019-02-07
19:28
Pull in the change that causes VACUUM to preserve rowid values. (check-in: c9af2f71bf user: drh tags: apple-osx)
19:07
Change VACUUM so that it preserves ROWID values. (check-in: 49e5d11d46 user: drh tags: trunk)
18:49
Merge the offical 3.27.0 release. (check-in: 628291641f user: drh tags: apple-osx)
17:02
Version 3.27.0 (check-in: 97744701c3 user: drh tags: trunk, release, version-3.27.0)
15:09
Experimental change to VACUUM so that it preserves existing ROWID values. (Closed-Leaf check-in: f264015f84 user: drh tags: vacuum-preserves-rowid)
00:17
In the fuzzcheck test program, make sure the isspace() and related routines are not given values outside the range of -1 to 255. (check-in: f298328771 user: drh tags: trunk)
2019-02-06
20:49
Ensure all bytes of the PgHdr1 structure are initialized. This avoids a valgrind error when running corruptI.test. (check-in: a505e34d4e user: dan tags: trunk)
20:12
Update an assert() in test_journal.c to take the new "VACUUM INTO" functionality into account. (check-in: 0e6249cb95 user: dan tags: trunk)
19:42
Avoid attempting to delete a file while it is still open in walfault2.test. (check-in: 9d54a63d6e user: dan tags: trunk)
18:08
Update test file dbfuzz001.test so that it works with SQLITE_ENABLE_OVERSIZE_CELL_CHECK builds. (check-in: 4371a0c46e user: dan tags: trunk)
15:23
Add -DSQLITE_ENABLE_DESERIALIZE to the default testing configuration in test/releasetest.tcl. (check-in: 433d6ef637 user: dan tags: trunk)
13:48
Do not attempt to test the shell ".trace" command in SQLITE_OMIT_TRACE builds. (check-in: 3839e90981 user: dan tags: trunk)
13:41
Fix a problem preventing testfixture from being built with SQLITE_OMIT_VIRTUALTABLE. (check-in: d2cca36adc user: dan tags: trunk)
01:18
When extending the size of SrcList objects, do not attempt to use extra space on the end of the allocation, as that provides scarcely any performance benefit but does greatly complicate cross-platform testing. (check-in: 3087a0c31e user: drh tags: trunk)
00:55
If the query flattener detects an error, cause the SELECT code generator to abort immediately. (check-in: 3d3b142f10 user: drh tags: trunk)
00:11
Back out check-in [008112bcef561a8], reenabling deprecated PRAGMAs when the SQLITE_OMIT_DEPRECATED compile-time option is used, because way too many TH3 tests depend on those deprecated PRAGMAs. (check-in: 9dbf512d1c user: drh tags: trunk)
2019-02-05
20:51
Omit the ".progress" command from the shell if it is compiled with the SQLITE_OMIT_PROGRESS_CALLBACK option. (check-in: 4d0a949fd9 user: drh tags: trunk)
19:52
Fix a harmless compiler warning in the memtrace.c extension. (check-in: 2f468da4e9 user: drh tags: trunk)
19:51
Merge latest trunk into this branch. (check-in: c089cc4fbe user: dan tags: reuse-schema)
19:48
Fix compiler warnings on Windows. (check-in: 4978ee8b54 user: drh tags: trunk)
19:15
Fix memory leaks on this branch. (check-in: e9c5e1891f user: dan tags: reuse-schema)
16:53
Update the tester.tcl --malloctrace option so that it uses eu-addr2line instead of addr2line. (check-in: 79c073878d user: dan tags: trunk)
14:36
The IS NOT NULL operator does not imply that the operand is never NULL. Fix for ticket [5948e09b8c415bc45da5cf] (check-in: d840e9bb02 user: drh tags: trunk)
12:16
Keep the temp_store_directory and data_store_directory pragmas even when compiling with SQLITE_OMIT_DEPRECATED. (check-in: 93386a7c97 user: drh tags: trunk)
08:55
Update test file "resetdb.test" so that it works with the "prepare" permutation. (check-in: 95d338124b user: dan tags: trunk)
2019-02-04
21:10
Early detection of implausibly sized records to avoid unnecessary large memory allocations. (check-in: 2c8769c69f user: drh tags: trunk)
21:02
Fix a problem with reloading the schema on this branch. (check-in: 5dfbef8349 user: dan tags: reuse-schema)
19:52
Mention the new -memtrace command-line option in the -help output of the CLI. (check-in: ada91aefe3 user: drh tags: trunk)
19:50
Add the -memtrace option to dbfuzz2. (check-in: 67fecbc79d user: drh tags: trunk)
19:45
Enhance dbfuzz2 so that with the -v option it shows the return code and error message for any failing SQL statements. (check-in: 3a127ef9f7 user: drh tags: trunk)
19:12
Ensure that the sqlite3_exec() callback gets the correct number of columns for a query, even if the schema changes out from under it. (check-in: a16ffb5a4b user: drh tags: trunk)
16:42
Do not run shmlock.test as part of the inmemory_journal permutation. (check-in: d3fea69cbb user: dan tags: trunk)
16:36
Update the test/fuzzdata8.db database with new interesting cases from dbsqlfuzz. (check-in: e467e4c8fa user: drh tags: trunk)
16:25
Fix problems with SAVEPOINT and related commands within transactions on a corrupt database that include fts5 or some other virtual tables. (check-in: b0da6e0dd1 user: dan tags: trunk)
14:53
Add the ".progress" command to the CLI. (check-in: ad84ca24ff user: drh tags: trunk)
14:00
Fix another potential buffer overread in fts5. (check-in: 14fba4cc5d user: dan tags: trunk)
11:54
Fix another corruption case in fts5. (check-in: e608085d3f user: dan tags: trunk)
2019-02-03
07:46
Fix an assertion failure in fts3 triggered by a corrupt database. (check-in: 560ebd4269 user: dan tags: trunk)
2019-02-02
21:02
Try new approach ensuring that each Schema object is only used by one connection/database at any one time. (check-in: 9e8e5f52cf user: dan tags: reuse-schema)
18:24
New testcase added to test/fuzzdata8.db. (check-in: 2f5c1925b9 user: drh tags: trunk)
15:59
Honor key query parameters for SEE on the URI filename for ATTACH and VACUUM INTO. (check-in: 2e01096b89 user: drh tags: trunk)
15:05
Give a link to the URI Filename document in the documentation to the various sqlite3_uri_parameter() interfaces. (check-in: 69b0b2ee53 user: drh tags: trunk)
13:47
Fix a buffer overread in fts5 debugging scalar function fts5_decode(). (check-in: 54f2399fb2 user: dan tags: trunk)
01:27
Fix harmless compiler warning. (check-in: dddda685f3 user: mistachkin tags: trunk)
2019-02-01
21:08
Slight adjustment to the printf formatter large memory allocation detector so that it does not overestimate the amount of space needed for oversize %d conversions. (check-in: 1aee70d6de user: drh tags: trunk)
20:29
Prevent the printf formatter from doing large memory allocations - larger than either the size of the static buffer for interfaces like sqlite3_snprintf(), or larger than SQLITE_LIMIT_LENGTH for interfaces that are associated with a database connection. This helps to prevent DOS attacks on products that let hostile sources inject arbitrary SQL. It also helps fuzzers run faster and more effectively. (check-in: 179e5d4605 user: drh tags: trunk)
18:46
Performance improvement in the parsing of options to %-formats in the printf implementation. (check-in: 40d8f8ae87 user: drh tags: trunk)
15:06
Ensure that the Walker.pParse structure is initialized when walking the source tree to gather the WINDOW clauses on a query with window functions. (check-in: 4ca9d5d53d user: drh tags: trunk)
14:54
New test cases added to test/fuzzdata8.db. (check-in: e5924939c9 user: drh tags: trunk)
14:50
Improve the strict enforcement of cell sizes in balancing from check-in [12713f320b2c1def] so that it also works with table-btrees in addition to index-btrees. (check-in: ef27e7a087 user: drh tags: trunk)
14:40
Fix an assert() in fts5 that could fail if the database is corrupt. (check-in: 55f06aa3f8 user: dan tags: trunk)
13:34
Fix another corrupt-database-handling problem in fts5. (check-in: 9876ae1b80 user: dan tags: trunk)
2019-01-31
16:09
Remove an incorrect assert() from the deserialize in-memory database VFS. (check-in: 80151d7e3b user: drh tags: trunk)
15:38
Add the SQLITE_CONFIG_MEMDB_MAXSIZE configuration option for configuring the default maximum size of an in-memory database created using sqlite3_deserialize(). This is necessary to make the interface reasonably testable. (check-in: cb72ee0478 user: drh tags: trunk)
14:37
Fix another buffer overrun that could occur when quering a corrupt database using an fts5vocab table. (check-in: b80119bd60 user: dan tags: trunk)
02:42
If the amalgamation file "sqlite3.c" is generated using the SQLITE_ENABLE_UPDATE_DELETE_LIMIT option, but then subsequently (mis-)compiled without that option, and then a particular syntax error could cause a memory leak, but for this fix. (check-in: 1bb17c863a user: drh tags: trunk)
01:39
Improvements to "PRAGMA parser_trace=ON": Make it a flag pragma, and then use the flag to show the complete SQL text at the beginning of the parse. (check-in: 507c43537f user: drh tags: trunk)
2019-01-30
19:50
Change the error message slightly for when two or more indexes have the same rootpage. (check-in: 916c52dad4 user: drh tags: trunk)
19:12
When parsing the schema, check for duplicate index root page numbers before adding the index to the schema hash table. (check-in: 6b360bc0b9 user: dan tags: trunk)
18:47
Add test case for the previous commit. (check-in: 197edb235b user: dan tags: trunk)
18:33
Detect if two indexes of the same table share a common rootpage while parsing the schema, and throw an error immediately. (check-in: f21c6f1343 user: drh tags: trunk)
16:58
Fix an off-by-one error when parsing the names of indexes that do not have arguments in the index_usage utility. (check-in: dc794d8f51 user: drh tags: trunk)
15:47
Add the --progress, --using, and -q options to the index_usage utility program. (check-in: a5e6be7cbc user: drh tags: trunk)
14:01
Enhancements to the index_usage utility program. (check-in: 19c739b4a8 user: drh tags: trunk)
12:15
Fix another buffer overread in fts5 that may occur when accessing a corrupt database. (check-in: 760d14374d user: dan tags: trunk)
2019-01-29
19:17
Merge enhancements from trunk. (check-in: 31efcc3775 user: drh tags: apple-osx)
16:54
Fix harmless compiler warnings. (check-in: 9a93c68a76 user: drh tags: trunk)
16:47
Load all the latest dbsqlfuzz finds into test/fuzzdata8.db. (check-in: e744d2dd93 user: drh tags: trunk)
16:41
More robust handling of corrupt database file in the rebalance operation of the btree logic. (check-in: 97704cb7d2 user: drh tags: trunk)
16:34
Avoid an integer overflow in the fts5 snippet() function triggered by a corrupt database record. (check-in: 7c862c4655 user: dan tags: trunk)
15:30
Avoid a crash when the fts5 snippet() function (or similar) is used with a special query pattern, like '*id' or '*reads'. (check-in: 9d58a15737 user: dan tags: trunk)
11:42
Fix a buffer overrun triggered by a merge operation on a corrupt fts5 database. (check-in: 7ee3cd5b2c user: dan tags: trunk)
02:37
Set a low limit on the length of strings and blobs in the OSSFuzz module, in an effort to avoid timeouts when the fuzzer does things like "randomblob(1e12)". (check-in: 119d1609fa user: drh tags: trunk)
2019-01-28
19:06
Fix the query planner so that it is able to use an index on a CAST expression. (check-in: 2c886f3d49 user: drh tags: trunk)
18:58
Fix a performance regression caused by the previous commit. (Closed-Leaf check-in: c4db0ad12d user: drh tags: index-on-cast)
18:08
Make indexes on CAST(...) expressions work. (check-in: 3ef711d98f user: dan tags: index-on-cast)
16:50
Fix a buffer overread in fts3 that could occur when accessing a corrupt database. (check-in: a9faf90339 user: dan tags: trunk)
13:27
Do not assume that text parameters passed to fts4aux queries do not contain embedded nul characters. (check-in: df04859a99 user: dan tags: trunk)
11:54
Add a new test case to fuzzdata8.db. (check-in: ce8e279a7d user: drh tags: trunk)
00:42
Change the definition of the BtCursor.skipNext field so that it is undefined for states CURSOR_VALID and CURSOR_INVALID. (check-in: 6089d5dba7 user: drh tags: trunk)
2019-01-27
19:50
Improvements to the ".eqp trace" command in the CLI so that it ensures that the schema has been read prior to activing the tracing feature, to avoid cluttering the output with a trace of the schema parse. (check-in: 42687d45aa user: drh tags: trunk)
02:45
New test cases form dbsqlfuzz (check-in: 9cf8ebd141 user: drh tags: trunk)
02:41
Window functions that can abort should indicate this, so that if they are used in DML statement, a statement journal will be used. (check-in: 0ea05a0eb9 user: drh tags: trunk)
01:11
Update fuzzcheck so that with the --load-dbsql options it screens its inputs to ensure that they are valid dbsqlfuzz cases. Add new dbsqlfuzz finds to the test/fuzzdata8.db database. (check-in: 004f7d9bbe user: drh tags: trunk)
2019-01-26
23:34
Ensure that the btree cursor is correctly set up prior to backing it up as part of a delete operation on a divider cell in an index. (check-in: a3ea1a822d user: drh tags: trunk)
21:05
Fix a broken assert() in fts3. Also some test script issues causing failures with builds that do not support fts3. (check-in: d59567dda2 user: dan tags: trunk)
20:41
Fix another typo in fts3_common.tcl causing test failures in builds that do not support fts3. (Closed-Leaf check-in: 773b598608 user: dan tags: rollback-abort)
20:35
Fix a typo in fts3corrupt4.test causing it to fail if the build does not support fts3. (check-in: 5016303421 user: dan tags: rollback-abort)
19:09
Fix a broken assert() in fts3. (check-in: b8dd2d67b5 user: dan tags: rollback-abort)
18:10
If a write statement fails with OE_Abort, but there is no statement journal, roll the entire transaction back instead. (check-in: 75a8ed7a42 user: dan tags: rollback-abort)
17:47
Fix "PRAGMA journal_mode" so that if it fails because there is a transaction open, it does not roll that transaction back. (check-in: 9f39cb5b81 user: dan tags: rollback-abort)
16:34
Roll back the transaction if a write statement fails with OE_Abort but there is no open statement transaction. (check-in: d536be698d user: dan tags: rollback-abort)
15:40
Add the ".eqp trace" command to the CLI when using SQLITE_DEBUG, as a convenient shorthand for "PRAGMA vdbe_debug=ON" but with automatic indentation feature for program listings provided by the CLI. (check-in: 626502faa1 user: drh tags: trunk)
2019-01-25
20:09
Do not accidently truncate zeroblob values when doing an arithmetic operation. Fix for ticket [bb4bdb9f7f654b0bb9f34cfba]. (check-in: 13f6942eb0 user: drh tags: trunk)
19:29
Reinitialize debugging information on registers of a trigger prior to each invocation of the trigger. This prevents false-positives from the sqlite3VdbeMemAboutToChange() test logic. (check-in: 98b3b97573 user: drh tags: trunk)
18:17
Fix harmless compiler warnings. (check-in: 3ff220ad37 user: drh tags: trunk)
18:17
Fix the assert_fts3_nc() macro so that it works for test builds that omit SQLITE_DEBUG. (check-in: b10df2b569 user: drh tags: trunk)
17:51
Fix harmless compiler warnings in fuzzcheck (check-in: a825396657 user: drh tags: trunk)
17:26
Fix a segfault that could follow an OOM when querying a table that has one or more columns with default values "true" or "false". (check-in: 202f9919c2 user: dan tags: trunk)
16:54
Fix asan warnings in fts5 triggered by corrupt databases - passing NULL to memcmp, out-of-range left-shift values and signed integer overflow. (check-in: 93f8ec146d user: dan tags: trunk)
14:48
Add an assert_fts3_nc() macro to fts3 - for assert() conditions that are only true when it is guaranteed that the fts3 database is not corrupt. (check-in: 3498908cd7 user: dan tags: trunk)
14:23
Extend fuzzcheck so that it can process dbsqlfuzz cases. Add a collection of interesting dbsqlfuzz cases to the standard test suite. (check-in: e2991a7ecf user: drh tags: trunk)
14:16
Fix the xFetch method of the "memdb" VFS (used by deserialize) so that it is robust against corrupt database file. (Closed-Leaf check-in: 2c1ef40e78 user: drh tags: dbsqlfuzz-in-fuzzcheck)
13:42
Fix a couple of assert() statments in btree.c that could fail with corrupt databases. (check-in: 5eb5e8289f user: dan tags: trunk)
13:03
In fuzzcheck, activate vdbe_debug for dbsqlfuzz cases when using the -vvvvv verbosity level or above. (check-in: 2e6f7c2ace user: drh tags: dbsqlfuzz-in-fuzzcheck)
04:43
Improved automatic detection of dbsqlfuzz cases in fuzzcheck. (check-in: 1ef24e89c9 user: drh tags: dbsqlfuzz-in-fuzzcheck)
04:00
Add the ability to process dbsqlfuzz cases in fuzzcheck and add an initial set of interesting dbsqlfuzz cases. (check-in: fb9074ff45 user: drh tags: dbsqlfuzz-in-fuzzcheck)
2019-01-24
17:41
Fix a buffer overread in fts3 that could occur in a prefix query on a corrupted database. (check-in: d0d5689371 user: dan tags: trunk)
16:51
While PRAGMA full_column_names is off (the default) do not make changes to the short_column_names pragma when computing the column names for subqueries. (Leaf check-in: 718ead555b user: drh tags: literal-column-names)
16:27
Fix a problem with running ALTER TABLE on a schema that contains expressions of the type "col IN ()" (empty set on RHS of IN operator). (check-in: 2d9cd06715 user: dan tags: trunk)
16:07
Omit deprecated PRAGMAs when compiling with the -DSQLITE_OMIT_DEPRECATED option. (check-in: 008112bcef user: drh tags: trunk)
15:51
Make sure the column name flags are restored correctly after an error inside of sqlite3ResultSetOfSelect(). (check-in: b1601db7ad user: drh tags: trunk)
15:16
Fix a potential problem with "INSERT INTO ... SELECT * FROM" (or VACUUM) statements on a corrupted database. (check-in: db4b4c2c1e user: dan tags: trunk)
14:16
Change a integer variable in sqlite3VdbeRecordUnpack() to unsigned in order to avoid any possibility of an integer overflow. (check-in: 1b536f6fd8 user: drh tags: trunk)
13:36
Use memmove() instead of memcpy() in a place where buffers might overlap if the database file is badly corrupted, to prevent warnings from ASAN and valgrind. (check-in: 65ad6c55f1 user: drh tags: trunk)
04:44
Remove an unreachable branch. (check-in: 4c976f1713 user: drh tags: trunk)
2019-01-23
20:31
Fix an assert() in vdbemem.c that could fire if the database was corrupt. (check-in: a70958cd7d user: dan tags: trunk)
19:50
Fix a problem with renaming a table within a schema that contains a composite query that uses a column alias as an ORDER BY term. (check-in: 2ca6b8f84e user: dan tags: trunk)
19:25
Stricter enforcement of cell sizes when doing balancing operations on the btree, in order to catch file corruption sooner. (check-in: 12713f320b user: drh tags: trunk)
19:17
Fix another fts5 crash that can occur if the database is corrupted. (check-in: 44ce8baa47 user: dan tags: trunk)
16:59
Fix problems with sub-selects in WINDOW definitions. Also rename-column operations when the column being renamed appears in a WINDOW definition that is part of a VIEW or TRIGGER. (check-in: 0387cb3add user: dan tags: trunk)
12:19
Fix a buffer overwrite triggered by a prefix query on a corrupt fts5 table. (check-in: 1d8172a94b user: dan tags: trunk)
2019-01-22
21:17
Fix a buffer overrun that could occur in fts5 if a prefix query is made on a corrupt database. (check-in: 1abc441564 user: dan tags: trunk)
20:18
Do not run shmlock.test as part of the journaltest permutation. (check-in: 5b7d0c784e user: dan tags: trunk)
18:20
Add the SQLITE_ENABLE_EARLY_CURSOR_CLOSE compile-time option which causes read cursors to be closed after their usefulness ends during a two-pass UPDATE. (check-in: 8790368b4a user: mistachkin tags: branch-3.26)
16:44
Use _strdup() instead of strdup() on Windows builds of the CLI, to avoid a compiler warning reported on the mailing list. (check-in: a7126a4f4f user: drh tags: trunk)
16:43
Fix the SQLITE_DESERIALIZE_READONLY feature so that it does not cause an assertion fault in the pager. (check-in: b9eccef782 user: drh tags: trunk)
16:11
Update dbfuzz2 to set a maximum database size of 100MiB by default, but with the new --max-db-size N option to change that limit. (check-in: 21d6bb78ef user: drh tags: trunk)
16:06
Enhancements to deserialize: (1) Add the SQLITE_FCNTL_SIZE_LIMIT file control to set a maximum size for an in-memory database, defaulting to SQLITE_MEMDB_DEFAULT_MAXSIZE or 1GiB. (2) Honor the SQLITE_DESERIALIZE_READONLY flag. (3) Enhance the TCL interface to support -maxsize N and -readonly BOOLEAN. (4) Add the --maxsize option to the ".open" command and on the command-line for the CLI. (check-in: 30f08d5888 user: drh tags: trunk)
13:45
Make sure cursors are opened on all indexes for an UPDATE OR REPLACE regardless of whether or not the indexes are partial or contain columns that might need to be updated. (check-in: e148cdad35 user: drh tags: trunk)
12:21
Fix another segfault caused by a corrupt fts3 database. (check-in: ba3b841272 user: dan tags: trunk)
02:34
Ensure that a key comparison does not read a collating sequence past the end of the KeyInfo, even if the key field of an index is corrupted by having a string in the last column instead of the ROWID. (check-in: 058a8006dc user: drh tags: trunk)
2019-01-21
23:18
Enhance the btree search routine so that it does early detection of impossibly large keys and thereby avoids a large malloc() call. (check-in: 3ecaaee69f user: drh tags: trunk)
17:57
Avoid deferencing a freed pointer following an OOM or SQLITE_CORRUPT error in the fts3 xDestroy method. (check-in: 505ed9a478 user: dan tags: trunk)
16:12
Remove a faulty assert() from fts3. (check-in: 6c33a303eb user: dan tags: trunk)
16:01
Make sure the extra bytes allocated for the saved cursor position by check-in [160b1e31c0f27257] are initialized to zero. (check-in: 2737564929 user: drh tags: trunk)
14:55
Add the --memtrace option to the CLI. (check-in: a1e12fa2a8 user: drh tags: trunk)
14:49
Minor fix the fallocate.test module change from [7cd56cad5efead5] (check-in: 94fb7a4700 user: drh tags: trunk)
13:47
Add the --max-data and --max-as options to dbfuzz2. Also cause dbfuzz2 to show its maximum RSS size upon exit in standalone mode with the -v option. (check-in: 7ce93e824a user: drh tags: trunk)
2019-01-20
00:03
Add the --max-stack option to dbfuzz2. (check-in: c11ae4fed8 user: drh tags: trunk)
2019-01-19
15:55
Avoid a division-by-zero error in fts5 caused by a corrupt database. (check-in: 928e622178 user: dan tags: trunk)
15:27
Remove a broken assert() triggered by a "PRAGMA max_page_count = N" invocation, where N is larger than the number of pages in the database image, but smaller than the number of pages in the database file. (check-in: 7cd56cad5e user: dan tags: trunk)
14:07
Fix a problem with using ALTER TABLE to rename a table or column when the database schema contains a trigger or view that itself contains an expression "<column> AND 0". (check-in: 908ff7fffa user: dan tags: trunk)
2019-01-18
21:17
Fix a memory leak introduced by [55c5d72a]. (check-in: fbd681dce2 user: dan tags: trunk)
21:12
Fix a crash in the fts5vocab module caused by including a "term < NULL" term in a WHERE clause. (check-in: 9e717c4377 user: dan tags: trunk)
21:03
Fix an infinite loop caused by a corrupt database in fts3. Also an undefined left-shift in fts5. (check-in: 55c5d72af9 user: dan tags: trunk)
20:15
Avoid passing a NULL pointer to memcpy in fts5, even if the database is corrupt. (check-in: acccc9808f user: dan tags: trunk)
19:33
Typecasts added to the GeoPoly extension to avoid harmless UBSAN warnings. (check-in: a1f6a093ac user: drh tags: trunk)
19:26
Fix problems causing undefined left-shift operations in the fts3 snippet() function. (check-in: b90dbaed30 user: dan tags: trunk)
18:52
Avoid integer overflow when computing the array of a bounding box with the rtree_i32 virtual table. (check-in: b352f1590d user: drh tags: trunk)
17:53
Handle oversize floating point values carefully when converting to integers for the '%' binary operator. (check-in: 048add13fc user: drh tags: trunk)
16:06
Fix a fairly obscure problem allowing an "ALTER TABLE RENAME col TO ..." statement to modify the schema in such a way as to break a reference within a trigger program. (check-in: 64bec9e621 user: dan tags: trunk)
14:53
Use the full 64-bit integer value in the argument to randomblob(). (check-in: 05df5f7aea user: drh tags: trunk)
2019-01-17
20:19
Disable the xfer-optimization if the two tables have the same root page due to schema corruption. (check-in: f31b3bd2a6 user: drh tags: trunk)
20:06
Fix another corruption related crash in fts5. (check-in: 4538d9afe4 user: dan tags: trunk)
19:33
Add the SQLITE_ENABLE_EARLY_CURSOR_CLOSE compile-time option which causes read cursors to be closed after their usefulness ends during a two-pass UPDATE. (check-in: 7def6c8edd user: drh tags: trunk)
19:11
Fix a buffer overwrite that could occur when running an fts5 prefix query against a corrupt database. (check-in: 3910b5639d user: dan tags: trunk)
17:39
Fix problems with joining two or more fts5_vocab tables that access the same underlying fts5 table. (check-in: 49956395e1 user: dan tags: trunk)
15:47
Sync up with the latest enhancements on trunk. (check-in: 475a179a27 user: drh tags: apple-osx)
15:40
Revamp the SrcList allocator routines to be methods of Parse instead of being methods of the "sqlite3" object, so that they can leave better error messages when the SrcList object grows too large. (check-in: df08d472b0 user: drh tags: trunk)
14:34
Limit the size of SrcList objects to 200 entries (compile-time configurable using -DSQLITE_MAX_SRCLIST=n). The maximum number of tables in a join has always been 64, so this is not a real constraint on capability. Limiting the size of a SrcList prevents DOS attacks (discovered by OSSFuzz) using crazy nexted CTE joins. (check-in: 7cac614d5d user: drh tags: trunk)
04:40
Fix a corner-case for the logic that cause an insert of a NULL into an INTEGER PRIMARY KEY column to be converted into a valid integer key, when the NULL results from a CASE expression that lacks an ELSE clause. (check-in: 9a425051e7 user: drh tags: trunk)
03:43
Ensure that the variable-length integer decoder in FTS3 never tries to left-shift a negative number. (check-in: 10ffc1fe00 user: drh tags: trunk)
01:06
Fix a failure in sqlite3ExprCompare() (check-in: 835e2cc55f user: drh tags: trunk)
2019-01-16
20:48
Fix a problem with fix [b4b57413]. (check-in: ca7b7aaed0 user: dan tags: trunk)
19:44
Fix a problem in the fts3 matchinfo() function with corrupt database handling. (check-in: 24ed5fb6ae user: dan tags: trunk)
19:26
Fix a problem in the code generator for sorting results with SRT_EphemTab and a LIMIT clause. (check-in: 49fcde2f1f user: drh tags: trunk)
14:58
Fix a problem with renaming a column that is used as part of an ORDER BY on a compound SELECT within a database view or trigger. (check-in: b4b5741366 user: dan tags: trunk)
12:05
Avoid a dangling pointer comparison when renaming a table that has a trigger that itself contains a window function with an (illegal) column reference in a FOLLOWING expression. (check-in: d45bee36f2 user: dan tags: trunk)
11:38
Fix a memory leak that could occur in fts3 when handling a corrupt database. (check-in: 65cebb06a0 user: dan tags: trunk)
2019-01-15
20:51
Fix a problem with ALTER TABLE and vector assignments in UPDATE statements within triggers. (check-in: cc6cd7531f user: dan tags: trunk)
18:14
Handle SQL NULL values without crashing in the fts5 snippet() and highlight() functions. (check-in: a5e9cc794f user: dan tags: trunk)
16:14
Fix a buffer overread in fts3 caused by a corrupt record. (check-in: e54efd60c2 user: dan tags: trunk)
15:18
Have fts5 reject attempts to insert a non-integer, non-null value into a rowid column with SQLITE_MISMATCH. (check-in: 4a9483f81e user: dan tags: trunk)
14:44
Fix a harmless memory leak in the Lemon parser generator utility program. (check-in: 1caff0fb0b user: drh tags: trunk)
14:31
Fix a problem triggered by DELETE statements with WHERE clauses that use the OR-optimization on some virtual tables. (check-in: ecf5caa7e9 user: dan tags: trunk)
2019-01-14
20:44
Add scalar function "prefix_length()" to ext/misc/prefixes.c. (check-in: 0bf1550507 user: dan tags: trunk)
19:13
Fix a problem causing some Tcl test cases to fail with errors like "expected: [<multiline-whitespace>], got: []". (check-in: 11b8a4cba7 user: dan tags: trunk)
16:16
Add the "prefixes" table-valued function in the ext/misc folder. (check-in: f0fd2163fc user: drh tags: trunk)
15:35
Fix a problem causing a crash if an fts5vocab table was created to query an fts3/4 FTS index. (check-in: 9cd64ce453 user: dan tags: trunk)
15:09
Fix a problem with querying a corrupt fts3 database. (check-in: 65e50706a0 user: dan tags: trunk)
13:32
When parsing a corrupt record using sqlite3VdbeRecordUnpack(), make sure that the resulting UnpackedRecord object is completely initialized, to avoid (harmless) MSAN warnings. (check-in: ddc3697efd user: drh tags: trunk)
11:56
Have fts3 ignore empty sets of parenthesis if built with SQLITE_ENABLE_FTS3_PARENTHESIS. (check-in: c93c6b45a3 user: dan tags: trunk)
05:48
Avoid reading off the front of a page buffer when balancing a corrupt btree page. (check-in: cb50509020 user: drh tags: trunk)
2019-01-13
20:23
In dbfuzz2, avoid using a malloc in the LLVMFuzzerInitialize() initializer routine, so that no memory leaks are reported. Also, show the version of SQLite being used when the -v option is on. (check-in: 824f932469 user: drh tags: trunk)
20:17
Relax the minimum size database file constraint on the dbtotxt utility program. (check-in: 97e723d746 user: drh tags: trunk)
20:17
Improved detection of database corruption while balancing pages from an auto_vacuum database with overflow pages. Test cases in TH3. (check-in: 35f04235c4 user: drh tags: trunk)
00:58
Move a local variable declaration into the outermost scope in which it is used. This fixes an ASAN warning. (check-in: ac3b6021d9 user: drh tags: trunk)
2019-01-12
21:30
Prevent unsigned 32-bit integer overflow from leading to a buffer overread inside of an assert(). The problem fixed here is no reachable in production code. (check-in: 0f850a25d6 user: drh tags: trunk)
20:55
Fix another problem with handling corrupt records in fts5_decode(). (check-in: 726e398b9d user: dan tags: trunk)
16:19
Fix an off-by-one error on a Goto in the code generator, that only causes problems for a REPLACE on an INTEGER PRIMARY KEY in non-debug builds. Test case in TH3. (check-in: e35eb8776e user: drh tags: trunk)
14:58
Fix a problem with corrupt database handling in the fts3 matchinfo() function. (check-in: 703646b1b5 user: dan tags: trunk)
00:45
Improved detection of shadow table corruption in the fts5_decode() SQL function. (check-in: b74e5f3f30 user: drh tags: trunk)
00:12
Improved shadow table corruption detection in the matchinfo() function of FTS3. (check-in: 567be3bb1e user: drh tags: trunk)
00:07
Indicate that the database may be corrupt in the fts3corrupt4.test test script. (check-in: 473626d557 user: drh tags: trunk)
2019-01-11
23:08
Use 64-bit APIs in the fileio.c extension. (check-in: b49d56a0fa user: drh tags: trunk)
21:34
Fix a segfault in fts3 prompted by a corrupted database. (check-in: 2d7b1d1d41 user: dan tags: trunk)
19:27
Fix another problem with corrupt databases in fts5. (check-in: 9bf811ea89 user: dan tags: trunk)
17:41
Fix a problem handling a negative value in the "number-of-pages" database header field. Also a problem with running "REINDEX tbl" against a virtual table for which the SQL passed to sqlite3_declare_vtab() contains PRIMARY KEY or UNIQUE constraints. (check-in: 556dd8922f user: dan tags: trunk)
17:20
Improved detection and reporting of errors in the readfile() extension SQL function. (check-in: d2f0b5a483 user: drh tags: trunk)
17:19
Omit errors about missing SAVEPOINTs when aborting the .archive command in the CLI. (check-in: 2a47387ba6 user: drh tags: trunk)
16:44
Improved detection of cell corruption in sqlite3VdbeRecordCompareWithSkip(). (check-in: fa47f4c658 user: drh tags: trunk)
15:26
Merge documentation changes from branch begin-concurrent-wal2 into this branch. (check-in: cf8a0c71cf user: dan tags: begin-concurrent-pnu-wal2)
15:22
Merge documentation changes from branch "begin-concurrent" into this branch. (Closed-Leaf check-in: 41e742bd0f user: dan tags: begin-concurrent-wal2)
15:06
Add new documentation file begin_concurrent.md. (check-in: fdbf97e611 user: dan tags: begin-concurrent)
15:00
Merge latest begin-concurrent-wal2 changes (documentation only). (check-in: d0ab56a3be user: dan tags: begin-concurrent-pnu-wal2)
14:59
Merge latest wal2 changes (documentation only) into this branch. (check-in: 820ba1cc7e user: dan tags: begin-concurrent-wal2)
14:58
Add new file doc/wal2.md to this branch. (check-in: b495dce153 user: dan tags: wal2)
14:46
Fix PRAGMA integrity_check so that it does not cancel the PRAGMA vdbe_debug setting. (check-in: aaa3a19f8c user: drh tags: trunk)
14:38
Add the --vdbe-debug command-line option to dbfuzz2. (check-in: 599b4df43c user: drh tags: trunk)
14:22
Add the "dbfuzz2" target to main.mk. Remove an unused local variable from dbfuzz2.c. (check-in: 05c7609cfd user: drh tags: trunk)
13:32
The keywords TRUE and FALSE should only act as boolean literal values if unquoted. (check-in: 5547f39de9 user: drh tags: trunk)
13:03
Separate makefile targets for "dbfuzz2", "dbfuzz2-asan", and "dbfuzz2-msan". (check-in: ea119641a7 user: drh tags: trunk)
2019-01-10
19:26
Fix a memory leak in fts5 that could occur if scalar function fts5_decode() was passed a corrupt record. (check-in: 240f1c0c92 user: dan tags: trunk)
18:35
Fix a memory leak in fts5. (check-in: ff3b011f17 user: dan tags: trunk)
17:08
Avoid use-after-free and double-free errors that could occur if an fts5 table is modified in certain ways while there are active cursors. (check-in: 3291b2a6fe user: dan tags: trunk)
15:17
Fix further problems with fts5 handling corrupt databases. (check-in: 83c467d7af user: dan tags: trunk)
14:33
More aggressive early detection of orphaned and malformed autoindexes when parsing the schema. (check-in: 10f9e39d6e user: drh tags: trunk)
13:56
Use the new SQLITE_IDXTYPE_IPK values (3) on Index.idxType to indicate the fake INTEGER PRIMARY KEY index used during query planning. (check-in: e22d2f905f user: drh tags: trunk)
01:12
Fix the fts3DecodeIntArray() function so that it will not read off the end of the buffer it is handed. Any unread integers are set to zero. (check-in: 666cf8f6b3 user: drh tags: trunk)
2019-01-09
21:12
Fix an out-of-bounds read in SQL function fts5_decode() that could occur if it was passed a corrupt record. (check-in: 931278b257 user: dan tags: trunk)
14:49
Adjustments to the page cache to try to avoid harmless TSAN warnings. (check-in: 383437be27 user: drh tags: trunk)
11:19
Improved database corruption detection in the dbstat virtual table. (check-in: fc5ecc88f8 user: drh tags: trunk)
11:06
Small simplification to the dbstat virtual table. (check-in: 9d4c156fa2 user: drh tags: trunk)
02:02
Enhance the ALTER TABLE RENAME COLUMN feature so that it works on tables that have redundant UNIQUE and/or PRIMARY KEY constraints. Fix for ticket [bc8d94f0fbd633fd9a051e3] (check-in: f09aa3248e user: drh tags: trunk)
2019-01-08
20:02
Use 64-bit math to compute the sizes of memory allocations in extensions. (check-in: ca67f2ec0e user: drh tags: trunk)
15:18
Performance improvement on the instr() function, especially for large haystacks. (check-in: ce51f1a2b6 user: drh tags: trunk)
14:28
Fix a possible memory leak when trying to UPDATE a corrupt RTREE index. (check-in: 63eb803dbc user: drh tags: trunk)
08:02
Fix further problems with fts5 and corrupt databases causing integer overflow. (check-in: 673a7dd698 user: dan tags: trunk)
2019-01-07
16:52
Fix another potential buffer overread in fts5. (check-in: d0e943d957 user: dan tags: trunk)
15:57
For SQLITE_ENABLE_PREUPDATE_HOOK builds, disable the optimization for a REPLACE command on a WITHOUT ROWID table with no indexes, triggers or foreign key constraints that causes SQLite to clobber any existing row without separately checking for it. This optimization causes SQLite to omit the expected pre-update-hook callbacks. (check-in: 6281ef974c user: dan tags: trunk)
2019-01-06
02:06
The page size becomes fixed as soon as page1 from a non-empty database file is read. (check-in: 6064584d57 user: drh tags: trunk)
01:46
Give symbolic names to the special prepared statements used to implement incremental blob I/O. (Leaf check-in: 2a1cc6327a user: drh tags: named-blob-I/O)
2019-01-05
21:56
Add the exprNodeCopy() routine that will safely memcpy() an Expr node that might be a size-reduced node. (check-in: a874c64996 user: drh tags: trunk)
21:09
If the OP_ParseSchema opcode with a non-NULL P4 operand does not parse any rows out of the sqlite_master table, that indicates that the sqlite_master table is corrupt, so raise an SQLITE_CORRUPT error. (check-in: 598d7358e7 user: drh tags: trunk)
07:17
Fix two more problems with corrupt database handling in fts5. (check-in: 444c7c99be user: dan tags: trunk)
2019-01-04
23:39
Give a meaningful error on an attempt to use UPSERT on a virtual table, rather than simply not working. (check-in: fa98748f95 user: drh tags: trunk)
19:39
Fix the experimental sqlite3_wal_info() API so that it works with wal2 mode. (check-in: 079daedbe4 user: dan tags: begin-concurrent-pnu-wal2)
19:25
Add the "-external" option to the tserver_test.tcl program.. (check-in: ae7c5ed15d user: dan tags: begin-concurrent-pnu-wal2)
17:12
Update the "tserver" program to report the amount of time spent in COMMIT commands. (check-in: cf494b412c user: dan tags: begin-concurrent-pnu-wal2)
14:29
If the ".open" command fails in the CLI, reopen to :memory: so that at least some database is available for subsequent commands. (check-in: d7f55c62c3 user: drh tags: trunk)
12:46
Remove debugging pragmas accidently left in by a prior change. (check-in: 26275fc7e8 user: drh tags: trunk)
12:35
Fix a typo in a comment used to generate documentation. No functional changes. (check-in: ccc4f7424b user: drh tags: trunk)
11:20
Fix another fts5 assert() that may fail if the database is corrupt. (check-in: 0888fc2e88 user: dan tags: trunk)
2019-01-03
19:12
Fix some problems with sqlite3_interrupt() handling in fts5. (check-in: c0eb839a3c user: dan tags: trunk)
16:03
Fix the csv01.test module so that it works on systems with \r\n line endings. (check-in: 36eaf5a5e5 user: drh tags: trunk)
16:00
Fix the shmlock.test script so that it works with the Windows restriction that UnlockFile must exactly correspond to a prior LockFile. (check-in: df939c89fa user: drh tags: trunk)
15:22
Fix a harmless compiler warning in the CSV extension. (check-in: fbcd72565f user: drh tags: trunk)
15:17
Fix a problem with the second and subsequent sqlite3rbu_savestate() calls made on an RBU vacuum handle. (check-in: bef216dfa1 user: dan tags: trunk)
00:44
Fix the geopoly_svg() function so that it returns NULL when given zero arguments. (check-in: 120cb17683 user: drh tags: trunk)
2019-01-02
23:49
Fix harmless compiler warnings in the unicode2 logic of FTS3 and FTS5. (check-in: 703029ac6d user: drh tags: trunk)
19:46
Merge changes from begin-concurrent-wal2. Also modify the unix-excl shm-locks on this branch so that it is not an error to attempt to release an EXCLUSIVE lock that is not held. (check-in: 86685679b4 user: dan tags: begin-concurrent-pnu-wal2)
17:08
Reinstate assert() statements in os_unix.c that were removed to allow wal-mode SHARED locks to be taken over more than one locking slot (this branch no longer does that, so the assert() statements can go back in). (check-in: fcb7348ba1 user: dan tags: begin-concurrent-wal2)
17:00
Reinstate assert() statements in os_unix.c that were removed to allow wal-mode SHARED locks to be taken over more than one locking slot (this branch no longer does that, so the assert() statements can go back in). (check-in: 8445fb6d5d user: dan tags: wal2)
16:30
Merge latest wal2 changes into this branch. (check-in: c31eeb3c87 user: dan tags: begin-concurrent-wal2)
16:15
Merge latest trunk changes into this branch. (check-in: 87ef68f917 user: dan tags: wal2)
16:08
Merge latest trunk changes into this branch. (check-in: 5bf212f1a7 user: dan tags: begin-concurrent)
16:01
Add another test case to vacuum-into.test. (check-in: 0465d2fc0d user: dan tags: trunk)
15:27
Add test cases for commit [6c6fb1c6]. (check-in: 3961995cb5 user: dan tags: trunk)
14:34
Raise an error if the argument to VACUUM INTO is an identifier. (check-in: 6c6fb1c6ea user: drh tags: trunk)
2019-01-01
19:17
Fix another fts5 problem caused by a corrupt database. (check-in: 911342f751 user: dan tags: trunk)
18:00
Ensure that when a new cursor is opened by OP_OpenDup, any existing cursor with the same id opened by a previous OP_OpenDup is closed first. (check-in: 5c188361a9 user: dan tags: trunk)
13:59
Fix another case in fts5 where a corrupt database could cause a buffer overread. (check-in: f7e6cdc562 user: dan tags: trunk)
2018-12-31
21:43
Fix harmless compiler warnings. (check-in: b57c545a38 user: drh tags: trunk)
20:39
Additional steps to help ensure that scalar subqueries are only evaluated once even if they are used in multiple places within the query. This fixes a performance regression reported on the mailing list and caused by check-in [531eca6104e41e43] which was a fix for ticket [787fa716be3a7f650c]. Think of this check-in as an improved fix for that ticket. (check-in: e130319317 user: drh tags: trunk)
20:13
Remove an optimization that can no longer occur, being superceded by the subquery-reuse optimization. Put an assert in place of the optimization to detect if the need for this optimization ever returns. (Closed-Leaf check-in: 4fcdc7a293 user: drh tags: reuse-subqueries)
18:30
Merge enhancements and bug fixes from trunk. (check-in: 9fb646f29c user: drh tags: reuse-subqueries)
17:58
Small changes to the OP_OpenEphemeral opcode to improve testability. (check-in: f856676c84 user: drh tags: trunk)
16:36
Fix the OP_OpenEphemeral opcode in the bytecode engine so that if it is called a second or subsequent time, it merely clears the existing table rather than creating a new one. Proposed fix for ticket [d0866b26f83e9c55e30de0821f5d]. (check-in: 4678cb1044 user: drh tags: trunk)
2018-12-29
20:47
Merge latest begin-concurrent changes with this branch. (check-in: 1625887c02 user: dan tags: begin-concurrent-wal2)
20:42
Fix a problem causing a corrupt pager-cache if an OOM or IO error was encountered while committing a concurrent transacation. (check-in: 48ca30f9d7 user: dan tags: begin-concurrent)
16:34
Increase coverage provided by permutation "coverage-wal" on this branch. (check-in: f664f940a7 user: dan tags: begin-concurrent-wal2)
14:23
Additional small performance increase and size reduction to the sqlite3VdbeMakeLabel() mechanism. (check-in: 1bdee199a7 user: drh tags: trunk)
02:26
A new implementation of sqlite3VdbeMakeLabel() is faster and makes fewer memory allocations by deferring memory allocation until sqlite3VdbeResolveLabel() is called, at which point the code generator has a better idea of how big the relocation table needs to be. The sqlite3VdbeMakeLabel() routine now takes a Parse* parameter instead of Vdbe*. (check-in: 4a0929ac76 user: drh tags: trunk)
2018-12-28
21:40
Merge performance enhancements and other patches. (Leaf check-in: 44e1b55aab user: drh tags: factor-out-scalar-subselect)
21:32
Merge performance enhancements from trunk. (check-in: 0f1b9ff9e1 user: drh tags: reuse-subqueries)
20:48
Faster allocation of new sqlite3_stmt objects. (check-in: 891f1f7218 user: drh tags: trunk)
20:14
Move the nOpAlloc field from Parse into Vdbe to avoid an extra pointer deference on the fast path in sqlite3VdbeAddOp3(). (check-in: 8f10efc29d user: drh tags: trunk)
19:23
Merge patches and enhancements from trunk. (check-in: da53f3d3ff user: drh tags: reuse-subqueries)
18:09
Fix another problem with loading the structure record from a corrupt fts5 database. (check-in: c4d44542d2 user: dan tags: trunk)
17:45
Fix a problem causing the sqlite_master entry corresponding to a virtual table to be removed by a DROP TABLE even if the call to the vtabs xDestroy() method failed. (check-in: 0140f6dbfb user: dan tags: trunk)
16:20
Add new test file wal2rollback.test to this branch. (check-in: 85a376fc6c user: dan tags: wal2)
14:33
Avoid an undefined left-shift operation in fts5 caused by malformed utf-8 text. (check-in: c3a3a11194 user: dan tags: trunk)
13:57
Fix a buffer overwrite in fts5 triggered by a corrupt database. (check-in: a385298df2 user: dan tags: trunk)
07:37
Fix problems in fts5 found by ASAN. (check-in: c564bf8701 user: dan tags: trunk)
2018-12-27
20:12
Fix another problem with corrupt database handling in fts5. (check-in: fb0d7fba07 user: dan tags: trunk)
17:11
Merge latest wal2 changes with this branch. (check-in: ea96001e80 user: dan tags: begin-concurrent-wal2)
16:55
Modify the btree02.test module so that it does not depend on whether TCL interprets a value as a string or as an integer. (check-in: d9e4f95746 user: drh tags: trunk)
16:49
Increase test coverage of wal.c provided by permutation "coverage-wal" on this branch. (check-in: 2f7f893a70 user: dan tags: wal2)
15:36
Fix another problem in fts5 caused by a corrupt schema record. (check-in: ff45f9dd69 user: dan tags: trunk)
13:52
Fix the filename normalization in the dbtotxt utility program. (check-in: 29a00a05dd user: drh tags: trunk)
07:46
Fix a null-pointer dereference that could occur in fts5 with a corrupt database. (check-in: b0a49d5e6d user: dan tags: trunk)
02:16
Fix a problem in which nested CTEs with the same table name trick the code generator into thinking they are the same CTE, which then tries to use the manifest them both into the same transient table. (check-in: 202dd03301 user: drh tags: trunk)
00:30
In the treeview debugging output, provide additional details for the Table object associated with each FROM clause term. (check-in: 11d4682d2e user: drh tags: trunk)
2018-12-26
20:42
Improve testing of the wal.c changes on this branch. (check-in: 63483e22c7 user: dan tags: wal2)
19:10
Merge latest trunk changes with this branch. (check-in: 404f9d99d3 user: dan tags: wal2)
18:34
Update the coverage-wal permutation to cover branches enabled by SQLITE_ENABLE_SNAPSHOT. (check-in: 6821c61f1d user: dan tags: trunk)
17:49
Add a few more test cases to walvfs.test. (check-in: 14a64df36e user: dan tags: trunk)
16:57
Avoid an "uninitialized value read" problem in fts5 that can occur with a corrupt database. (check-in: 6cae81cd1f user: dan tags: trunk)
16:04
Fix a problem with handling corrupt databases in the fts5 integrity-check function. (check-in: 9bad745d37 user: dan tags: trunk)
15:04
Here is the beginnings of an effort to factor out the implementation of scalar subqueries to be implemented as subroutines at the end of the main body of bytecode, after the jump back to the OP_Init opcode. This is an incremental check-in that contains only preliminary changes. (check-in: 50e5f390fb user: drh tags: factor-out-scalar-subselect)
14:23
Fix a problem with corrupt fts3 database detection introduced by [27199380]. (check-in: ceeb4fba84 user: dan tags: branch-3.22)
14:15
Fix a problem with corrupt fts3 database detection introduced by [95a9a39f]. (check-in: c80bb15b44 user: dan tags: trunk)
12:50
Fix a problem with the CSV extension when it uses the "header" option on a real file. (check-in: 7acaed08f9 user: drh tags: trunk)
11:39
Avoid a left-shift of a negative value (undefined behaviour) when dealing with a corrupt database in fts3. Cherrypick of [b851d12474]. (check-in: 2fa63a8be6 user: dan tags: branch-3.22)
2018-12-25
11:17
Fix a typo in a comment that is used to generate session documentation. (check-in: a1f50d57ce user: drh tags: trunk)
00:15
Increase the number of parameters to sqlite3WhereCodeOneLoopStart() to encourage the compiler to inline that routine within sqlite3WhereBegin(). This gives a performance improvement. (check-in: 3c2ad0e915 user: drh tags: reuse-subqueries)
2018-12-24
20:21
Improvements to EXPLAIN QUERY PLAN formatting. The MULTI-INDEX OR now shows a separate "INDEX" subtree for each index. SCALAR SUBQUERY entries provide a subquery number that is related back to the .selecttrace output. (check-in: 7153552bac user: drh tags: reuse-subqueries)
20:00
Add a few more test cases to walfault2.test and walvfs.test. (check-in: 3873941c4f user: dan tags: trunk)
19:59
Change another fts5 assert() that may fail with a corrupt database to an assert_nc(). (check-in: d9653380c4 user: dan tags: trunk)
18:51
Add test cases to test file walvfs.test. (check-in: d697f6f3ca user: dan tags: trunk)
18:10
Always include OP_Explain opcodes in the bytecode when SQLITE_DEBUG is enabled. (check-in: d8c1235c02 user: drh tags: trunk)
15:22
Copy some extra test infrastructure from the mutexfree-shmlock branch to trunk. (check-in: 883337ffdb user: dan tags: trunk)
15:15
Merge latest trunk with this branch. (Leaf check-in: 606b1ead24 user: dan tags: mutexfree-shmlock)
14:30
Restore a line of code that was previously commented out for debugging. (check-in: e53781f5bd user: drh tags: reuse-subqueries)
13:39
Change the way a comparison used to detect corrupt databases in fts3 is done to avoid potential pointer overflow in 32-bit builds. Cherrypick of [95a9a39ff7]. (check-in: 271993803c user: dan tags: branch-3.22)
13:34
Change the way a comparison used to detect corrupt databases in fts3 is done to avoid potential pointer overflow in 32-bit builds. (check-in: 95a9a39ff7 user: dan tags: trunk)
12:09
Do not generate subroutines for non-static SELECT and EXISTS expressions. Fix up some test cases to account for the minor changes in EXPLAIN QUERY PLAN output. (check-in: 06de44ec9e user: drh tags: reuse-subqueries)
11:55
Prevent the use of subroutines to implement the RHS of IN operators within CHECK constraints. (check-in: 6b24d3fb94 user: drh tags: reuse-subqueries)
02:34
Experimental code that tries to put the computation of subqueries inside a subroutine, and reuse that subroutine if the same subquery is evaluated more than once. Current code does not work for CHECK constraints. (check-in: 6c44838adb user: drh tags: reuse-subqueries)
2018-12-23
21:27
Split the code generation for the RHS of IN operators and for SELECT and EXISTS expressions into two separate subroutines, because there is now little commonality between those to functions. This is intended to help make the code easier to read and maintain. (check-in: 2b6494b150 user: drh tags: trunk)
2018-12-22
20:32
Improve the coverage of wal.c provided by the "coverage-wal" test permutation. (check-in: 6231485114 user: dan tags: trunk)
19:54
Catch another case of a corrupted structure record in fts5. (check-in: fb17fea4b9 user: dan tags: trunk)
19:09
Change a faulty assert() in fts5 that could fail on a corrupt db to an if() statement. (check-in: 1daaba9fb4 user: dan tags: trunk)
16:14
Fix one more instance of excess whitespace in test result strings. (check-in: c064964deb user: drh tags: trunk)
15:50
Enhance the wal2 header comment in wal.c to explain how the wal-hook is invoked in wal2 mode. (check-in: 118aa7e32a user: dan tags: wal2)
15:46
Remove unnecessary whitespace from testcase result strings. (check-in: ad70f03ced user: drh tags: trunk)
15:21
Fix an assert() in fts5 that could fail with a corrupt database. (check-in: 83935b9506 user: dan tags: trunk)
13:34
Fix a "jump or move depends on uninitialized value" valgrind error that could occur in fts5 when dealing with a corrupt database. (check-in: 3518c09b94 user: dan tags: trunk)
09:39
Avoid a left-shift of a negative value (undefined behaviour) when dealing with a corrupt database in fts3. (check-in: b851d12474 user: dan tags: trunk)
07:16
Fix cut-and-paste error in test file fts4umlaut.test. (check-in: cad5da1bf5 user: dan tags: trunk)
01:13
Do not all REPLACE to sneak a NULL value into a NOT NULL column. Detect that situation and ABORT instead. Fix for ticket [e6f1f2e34dceeb1ed61531c7e98]. (check-in: db8d1d12f5 user: drh tags: trunk)
00:34
The OP_Eq and OP_Ne operators have a special P5 value SQLITE_NOTNULL that asserts that the values are not null. Except that is not always true for a corrupt database. Adjust the assert() and add a testcase() to make this point clear. (check-in: a3fdb2c78d user: drh tags: trunk)
2018-12-21
22:11
Update the dbtotxt utility program so that it does not output characters that are special to TCL, thus making the output of dbtotxt easier to insert into test scripts. (check-in: 48438bb35b user: drh tags: trunk)
22:08
Improved detection of shadow table corruption in RTREE. (check-in: b39bf4356e user: drh tags: trunk)
20:18
Add new sqlite3_prepare_v3() flag SQLITE_PREPARE_NO_VTAB, for preparing statements that are not allowed to use any virtual tables. Use this to prevent circular references in triggers on virtual table shadow tables from causing resource leaks. (check-in: da587d1857 user: dan tags: trunk)
19:55
Use SQLITE_PREPARE_NO_VTAB in rtree as well. (Closed-Leaf check-in: 82a2ae7132 user: dan tags: prepare-no-vtab)
19:30
Add tests for the use of SQLITE_PREPARE_NO_VTAB in fts5. (check-in: 1999612010 user: dan tags: prepare-no-vtab)
19:29
Add new sqlite3_prepare_v3() flag SQLITE_PREPARE_NO_VTAB, for preparing statements that are not allowed to use any virtual tables. Use this to prevent circular references in triggers on virtual table shadow tables from causing resource leaks. (check-in: 25666e3d03 user: dan tags: prepare-no-vtab)
18:51
In FTS3, avoid calling memcpy() with a NULL source pointer, even if the transfer amount is zero bytes. (check-in: 1abb83d29a user: drh tags: trunk)
18:50
The fts4umlaut.test module requires FTS5, so do not try to run it without that module. (check-in: dee3ae9001 user: drh tags: trunk)
18:17
Fix the node hash function in RTREE to ensure that it always returns a non-negative value. (check-in: 0bf4c70a68 user: drh tags: trunk)
17:51
Fix a potential NULL-pointer deference in RTREE due to corrupt shadow tables. (check-in: 1fdd3604ee user: drh tags: trunk)
16:53
Prevent an infinite loop in rtree that can result from a corrupt shadow table. (check-in: 085667180b user: drh tags: trunk)
15:13
Fix the RTree extension so that it correctly ignores constraints that it does not understand, even if they are against a dimension column. (check-in: ed8531e575 user: drh tags: trunk)
13:30
In RTREE, turn an assert() into an if() because the condition can sometimes be false when dealing with a corrupt database. (check-in: 99bce4358b user: drh tags: trunk)
11:53
Remove an assert() that could fail on a corrupt db from fts3_write.c. (check-in: 4cdcda408a user: dan tags: trunk)
2018-12-20
22:08
Do not set the Cursor.seekOp test variable in the OP_NotExists opcode. This is a change to test logic only and does not affect deliverable builds. (check-in: 98f3430778 user: drh tags: trunk)
17:32
Fix a bug in the code that detects self-referencing rows as part of foreign key processing. Fix for [50d2a6c2]. (check-in: 16fff05347 user: dan tags: trunk)
15:04
Fix a segfault caused by using the RAISE function incorrectly (library now returns an error instead of crashing). (check-in: ddf06db702 user: dan tags: trunk)
2018-12-19
17:05
Add new interfaces sqlite3_result_pointer(), and sqlite3_value_pointer() and use them to transfer the eponymous FTS3 column pointer to the snippet() and offsets() routines. Cherrypick from commit [8201f4e1] on branch-3.18. (check-in: 553a923c82 user: dan tags: branch-3.19)
16:03
Add interfaces sqlite3_bind_pointer(), sqlite3_result_pointer(), and sqlite3_value_pointer() used to safely move pointer values through SQL without exposing underlying memory address information. Cherrypick from commit [8201f4e1] on branch-3.18. (check-in: 4cb67252d3 user: dan tags: branch-3.9)
14:44
Fix a crash that can follow an OOM in fts3 on this branch. (check-in: de07814857 user: dan tags: branch-3.19)
01:57
Add extra defenses against strategically corrupt databases to fts3/4. (check-in: 882ef4e39b user: drh tags: branch-3.9)
01:44
Add extra defenses against strategically corrupt databases to fts3/4. (check-in: 4f315e4a3d user: drh tags: branch-3.19)
01:38
Add extra defenses against strategically corrupt databases to fts3/4. (check-in: 4bb21d8205 user: drh tags: branch-3.18)
01:30
Add extra defenses against strategically corrupt databases to fts3/4. (check-in: c255889bd9 user: drh tags: branch-3.22)
2018-12-18
20:31
In defensive mode, do not allow shadow tables to be renamed using ALTER TABLE. (check-in: 23e200da5c user: dan tags: trunk)
19:46
Add the "mutexfree-shmlock" patch to this branch. (check-in: c3191fc8fc user: dan tags: begin-concurrent-pnu-wal2)
18:16
Fix a test script problem in wal2savepoint.test. (check-in: e388d02940 user: dan tags: begin-concurrent-pnu-wal2)
18:01
Merge the wal2 feature into this branch. (check-in: a2c618c0a4 user: dan tags: begin-concurrent-pnu-wal2)
17:47
Merge latest begin-concurrent changes into this branch. (check-in: a93ca38b43 user: dan tags: begin-concurrent-pnu)
17:32
Merge latest trunk changes into this branch. (check-in: b3a163b46c user: dan tags: begin-concurrent-wal2)
17:20
Merge latest trunk changes into this branch. (check-in: 123cbb3312 user: dan tags: begin-concurrent)
16:24
Add the ".integrity_check" command to tserver. (check-in: fa46fa3bfc user: dan tags: begin-concurrent-wal2)
2018-12-17
22:19
Move variable declaration to address compilation issue (C89). (check-in: d64f248da3 user: mistachkin tags: trunk)
18:26
Add wal2 related tests to this branch. (check-in: 5645822039 user: dan tags: begin-concurrent-wal2)
15:22
Merge changes from wal2 branch. (check-in: 85f49f0d73 user: dan tags: begin-concurrent-wal2)
15:22
Add extra test case to wal2recover.test. (check-in: 1a5aa73435 user: dan tags: wal2)
2018-12-15
20:59
Merge latest wal2 changes into this branch. (check-in: 06bb80eeb8 user: dan tags: begin-concurrent-wal2)
20:20
Further test cases for wal2 mode. (check-in: 9cb5f8dab6 user: dan tags: wal2)
07:12
Fix errors in comments in fts5.h. (check-in: 4002790d94 user: dan tags: trunk)
2018-12-14
21:58
Experimental support for new sqlite3_bind_blob() and sqlite3_bind_text() interfaces that take an extra void* argument that is passed into the destructor in front of the object that is to be destroyed. (Leaf check-in: 33a1924ebb user: drh tags: custom-destructors)
20:28
Add a missing OP_ColumnsUsed opcode to code for expressions like "? IN (SELECT ...)" in cases where expression can use an index that may contain NULL values. (Backported fix from version 3.14.0). (Leaf check-in: 11368e673c user: drh tags: branch-3.8.9)
20:20
Add the OP_ColumnsUsed opcode (when compiled with SQLITE_ENABLE_COLUMN_USED_MASK) as a hint to the b-tree layer as to which columns of a btree cursor will be used. (Backport from 3.8.11) (check-in: b29e02f877 user: drh tags: branch-3.8.9)
19:53
Add further tests for wal2 mode. (check-in: 54e628f902 user: dan tags: wal2)
18:11
Fix harmless compiler warnings. (check-in: 27221c6990 user: drh tags: trunk)
17:57
Fix possible integer overflow while running PRAGMA integrity_check on a database file with a badly corrupted freelist. (check-in: 395599116d user: drh tags: trunk)
16:20
Back out the expansion of the temporary buffer size from [32754ca6f86da816] and replace it with an explicit test for buffer overreads. (check-in: 8ba3d9f380 user: drh tags: trunk)
16:00
Avoid a buffer overread in ptrmapPutOvflPtr() that can occurs in a corrupt database file that has large entries and uses autovacuum. (check-in: f8b781cf41 user: drh tags: trunk)
13:47
Fix a harmless compiler warning in Sessions. (check-in: fc9791ea98 user: drh tags: trunk)
13:35
Expand the size of the temporary page used during btree rebalancing by a few bytes, to avoid problems with small buffer overreads that can occur on corrupted database files. (check-in: 32754ca6f8 user: drh tags: trunk)
13:18
When saving the position of a cursor at the b-tree layer, allocate a few extra bytes at the end of the buffer used to save the key. Otherwise, if the key is corrupt, the code that restores the cursor position may overread the buffer by a little. (check-in: 160b1e31c0 user: dan tags: trunk)
11:16
Fix a problem with bytecode generation when a query involves two or more indexes on expressions connected by OR. Ticket [d96eba87698a428c1ddd0790ea04] (check-in: 7e4ed8b5c2 user: drh tags: trunk)
08:40
Possible fix for [d96eba87]. (Closed-Leaf check-in: 89a25abfcd user: dan tags: tkt-d96eba87)
03:16
Report corruption when an attempt is made to write a pointer-map page that is also being used as a btree page. Also, fix a bug in fuzzcheck that cause it to overlook a pointer-map bug that was trigger by the fuzzcheck test data, and also fix the pointer-map bug. (check-in: cc42dd1510 user: drh tags: trunk)
03:14
Detect when an attempt is made to write to a pointer map page that is also being used as a btree page and report corruption. (Closed-Leaf check-in: 3036fd71ac user: drh tags: fuzzcheck-fix)
02:29
Fix a bug in the custom in-memory VFS used by fuzzcheck. This bug masks other bugs that should have caused some existing fuzzdata7.db entries to fail, and so this fix is initially on a branch until those other bugs can be repaired. (check-in: e0994e9995 user: drh tags: fuzzcheck-fix)
2018-12-13
22:58
Fix the dbtotxt decoder in the CLI so that it ignores excess bytes. (check-in: 18740bd448 user: drh tags: trunk)
21:52
dbfuzz2 found a NEVER() that is sometimes true. (check-in: 1201615cbb user: drh tags: trunk)
21:11
Add extra tests for database corruption inside the defragmentPage() routine, as dbfuzz2 has found ways for corruption to leak into that point. Add test cases in fuzzdata7.db. (check-in: 997b65117f user: drh tags: trunk)
21:05
Fix a problem in sqlite3BtreeDelete() in which deleting an entry from a corrupt database can leave a btree page with zero cells. (check-in: 682053d1e6 user: drh tags: trunk)
20:49
Add the "decode_hexdb" TCL command to testfixture. Add the dbfuzz001.test module to demonstration how to use decode_hexdb to deserialize a dbtotxt database description for use in a corruption test. (check-in: 1f583c53f3 user: drh tags: trunk)
18:59
Fix the CLI to keep proper track of input line numbers for use in error messages, even after processing in-line hex database inputs using ".open --hexdb". (check-in: 7ffa985816 user: drh tags: trunk)
18:30
Fix the CLI so that the ".open --hexdb" command works even if it is contained in a subscript that is read using ".read". (check-in: 67a87399b8 user: drh tags: trunk)
16:26
Add tests cases for recovery in wal2 mode. (check-in: 34f56f8a42 user: dan tags: wal2)
15:52
Merge the dbtotxt enhancement from trunk. (Closed-Leaf check-in: b386fce9a2 user: drh tags: dbfuzz2-cases)
15:06
Add the "dbtotxt" utility program and the ability to read "dbtotxt" output as a deserialized input database in the CLI, using the --hexdb option to the ".open" command. (check-in: e3bf1d3ea5 user: drh tags: trunk)
12:37
Include OPTS in the build of dbfuzz2. (check-in: eac9c0c496 user: drh tags: trunk)
12:28
Fix the Makefile so that it honors CFLAGS when building sessionfuzz. (check-in: 54231ac4ca user: drh tags: trunk)
03:36
New database corruption test cases discovered by dbfuzz2. The new cases have been added to test/fuzzdata7.db, but have not yet all been fixed, so tests will not currently pass. (check-in: b4210d320c user: drh tags: dbfuzz2-cases)
2018-12-12
21:34
Fix another problem found by Matthew Denton's new fuzzer. (check-in: 2b690dbdff user: drh tags: trunk)
20:39
Add new test file wal2big.test. (check-in: e3e50bcdab user: dan tags: wal2)
20:11
Remove an ALWAYS() from a branch that is not always taken. The test case found by OSSFuzz has been added to TH3. (check-in: 5c7dab8553 user: drh tags: trunk)
19:04
Add tests to ensure that each of the 4 wal read-locks does what it is supposed to. (check-in: 4d5779f31d user: dan tags: wal2)
11:57
OSSFuzz found a case where an assert() inside sqlite3ExprCompare() can be true. Test case added to TH3. (check-in: bc891ac6b6 user: drh tags: branch-3.26)
11:54
Fix a problem with using "<db>-vacuum" (the default) as the state database when resuming an RBU vacuum. (check-in: 6b7567fc0c user: drh tags: branch-3.26)
11:50
Do not use a partial index as a table scan in an IN operator. Fix for ticket [1d958d90596593a77420e59]. (check-in: c1c735a8c6 user: drh tags: branch-3.26)
11:23
OSSFuzz found a case where an assert() inside sqlite3ExprCompare() can be true. Test case added to TH3. (check-in: 23b62fb160 user: drh tags: trunk)
2018-12-11
17:56
Change the way wal2 locks work to ensure a reader only ever has to lock a single slot. (check-in: 18b2c23ac5 user: dan tags: wal2)
13:44
Merge latest trunk changes into this branch. (check-in: d8dd98a39e user: dan tags: wal2)
12:51
Small performance improvement in sqlite3_step(). (check-in: d1db8d5894 user: drh tags: trunk)
12:20
Small performance improvement in the sqlite3_bind() family of interfaces. (check-in: 1dc0c3df32 user: drh tags: trunk)
2018-12-10
20:01
Further refinements to the sqlite3_normalized_sql() interface. TH3 now gives 100% MC/DC on that interface. (check-in: c96bf6cca2 user: drh tags: trunk)
18:15
Refactor the sqlite3_normalized_sql() implementation. (check-in: 06e955e5d2 user: drh tags: trunk)
16:53
Merge latest mutexfree-shmlock changes into this branch. (Leaf check-in: 186b376ec3 user: dan tags: begin-concurrent-pnu-mutexfree-shmlock)
16:52
Make SQLITE_MFS_NSHARD a compile time setting. (check-in: b9a7415190 user: dan tags: mutexfree-shmlock)
16:49
Fix issues with the new normalizer. (Leaf check-in: 057d7d40c5 user: drh tags: normalize-refactor)
16:00
Refactor the sqlite3_normalized_sql() implementation. This is a work-in-progress. There are still issues. (check-in: a4c890b0af user: drh tags: normalize-refactor)
15:58
Merge the latest version of mutexfree-shmlock with this branch. (check-in: 6007abfe09 user: dan tags: begin-concurrent-pnu-mutexfree-shmlock)
15:51
Add extra tests to shmlock.test (direct testing of xShmLock methods). (check-in: d2c785f94c user: dan tags: mutexfree-shmlock)
15:24
Rework the SQLITE_MUTEXFREE_SHMLOCK code to reduce contention. (check-in: d9157dd176 user: dan tags: mutexfree-shmlock)
09:45
Avoid a mutex in-and-out in unixShmBarrier() on this branch. Use __sync_synchronize() instead. (check-in: a8c5fd86ce user: dan tags: mutexfree-shmlock)
09:36
Avoid a mutex in-and-out in unixShmBarrier() on this branch. Use __sync_synchronize() instead. (check-in: 280d1a72dc user: dan tags: begin-concurrent-pnu-mutexfree-shmlock)
08:41
Fix a problem with using "<db>-vacuum" (the default) as the state database when resuming an RBU vacuum. (check-in: c878d74173 user: dan tags: trunk)
02:00
Merge enhancements from trunk. (check-in: b1bbc718c7 user: drh tags: apple-osx)
01:48
Add support for the VACUUM INTO command. (check-in: 77f150b8b4 user: drh tags: trunk)
00:41
Fix the shell1.test test for the new format of the .backup command. (Closed-Leaf check-in: 9748d7995b user: drh tags: vacuum-into)
00:40
Merge fixes from trunk. (check-in: ab1e58fac9 user: drh tags: vacuum-into)
2018-12-09
18:55
New test case for ticket [1d958d90596593a77420e59]. (check-in: b7bf3c9832 user: drh tags: trunk)
2018-12-08
20:30
Do not use a partial index as a table scan in an IN operator. Fix for ticket [1d958d90596593a77420e59]. (check-in: 15bc915dd7 user: drh tags: trunk)
01:09
Add the --async option to the ".backup" command in the CLI. (check-in: 7b6a605b18 user: drh tags: vacuum-into)
00:43
Allow the INTO clause of VACUUM to be a text-valued expression. (check-in: af172b53b4 user: drh tags: vacuum-into)
2018-12-07
23:48
Do not allow VACUUM INTO into a file that already exists. (check-in: 92f70e0fa3 user: drh tags: vacuum-into)
20:40
Merge the VACUUM simplification from trunk. (check-in: 93d92a0a5d user: drh tags: vacuum-into)
20:26
Remove a line of code from VACUUM that is no longer needed, due to the change that allows ATTACH to run within a transaction. (check-in: a92c398fc5 user: drh tags: trunk)
20:25
Add multi-threaded performance test program "tserver" to this branch. Fix bugs in the begin-concurrent/wal2 integration revealed by the same. (check-in: 7bd3b35661 user: dan tags: begin-concurrent-wal2)
17:28
Prototype implementation for the VACUUM INTO command. (check-in: 036e3320a4 user: drh tags: vacuum-into)
16:32
Fix the sqlite3_normalized_sql() interface so that it renders double-quoted string literals as "?". (check-in: 0d8e150434 user: drh tags: trunk)
03:01
Fix dbfuzz2.c so that it works with -DSQLITE_OMIT_INIT (check-in: 9ad796a882 user: drh tags: trunk)
02:01
Fix the sqlite3ExprDup() function so that it correctly duplicates the Window object list on a Select that contains window functions. Fix for ticket [f09fcd17810f65f717]. (check-in: 65aafb5531 user: drh tags: branch-3.26)
01:56
Fix the sqlite3ExprDup() function so that it correctly duplicates the Window object list on a Select that contains window functions. Fix for ticket [f09fcd17810f65f717]. (check-in: db5ed2268e user: drh tags: trunk)
2018-12-06
22:12
Performance improvement: Avoid using sqlite3WalkerSelectExpr() and sqlite3WalkerSelectFrom() twice, so that the compiler will in-line their implementation. (Closed-Leaf check-in: 2b9258b8b0 user: drh tags: ticket-f09fcd17810f)
22:04
Fix the sqlite3ExprDup() routine so that it makes complete duplications of subqueries containing window functions. (check-in: 940174543e user: drh tags: ticket-f09fcd17810f)
20:26
Add the mutexfree-shmlock experiment to the begin-concurrent-pnu branch. (check-in: 3aead209b4 user: dan tags: begin-concurrent-pnu-mutexfree-shmlock)
20:18
Experimental changes to (optionally) allow double-quoted strings to be checked against known identifiers. (Leaf check-in: 73a6b8c1b9 user: mistachkin tags: normalize_v4)
19:56
New test case that still hits an assertion fault, just to prove that the previous checkin merely made the problem more obscure and did not completely fix it. (check-in: a9a3b53264 user: drh tags: ticket-f09fcd17810f)
19:15
Simplify the query flattener so that it does not duplicate the WHERE clause of subquery that is being incorporated into the outer query - copies it directly. This is more efficient. And it also fixes the specific test case show for ticket [f09fcd17810f65f71789525] but it does not resolve the more general problem that sqlite3ExprDup() does not correctly duplicate expressions that contain subqueries with window functions. (check-in: f1b18d44ff user: drh tags: ticket-f09fcd17810f)
18:58
Experiment with using an atomic CPU primitive instead of a mutex for intra-process locking with the unix-excl VFS. (check-in: 8f4cb9dd33 user: dan tags: mutexfree-shmlock)
17:06
When masking bits off of sqlite3.flags, make sure the mask is 64 bits in size so as not to accidentally mask of high-order bits. (check-in: 53d3b169d8 user: drh tags: trunk)
16:54
Add test file wal2snapshot.test that should have been added as part of an earlier commit. (check-in: f6baa7e116 user: dan tags: wal2)
16:50
When saving off the value of sqlite3.flags, take care to preserve all 64 bits. (check-in: 9c6dbcfab5 user: drh tags: trunk)
16:11
Issue a warning whenever a double-quoted string literal is used. (check-in: ac9ad50430 user: drh tags: trunk)
14:24
Bump the version number to 3.26.1. (check-in: e97e053b78 user: drh tags: branch-3.26)
14:11
Fix a potential NULL pointer dereference that can occur in ALTER TABLE following an OOM. Test case in TH3. (check-in: 99a0951fdc user: drh tags: branch-3.26)
13:57
Ensure that ALTER TABLE modifies table and column names embedded in WITH clauses that are part of views and triggers. (check-in: e066b4e171 user: drh tags: branch-3.26)
03:59
Invoking the sqlite3_trace() or sqlite3_trace_v2() interfaces cancels any sqlite3_profile() that is running. (check-in: ec63d3506b user: drh tags: trunk)
03:13
Merge fixes from trunk. (check-in: f2083ee410 user: drh tags: begin-concurrent-pnu)
02:08
Merge bug fixes from trunk. (check-in: 1e13aaa29f user: drh tags: begin-concurrent)
02:01
Remove the unused pColHash field from the Table object. (check-in: 3a2c047989 user: drh tags: trunk)
01:53
Fix a potential NULL pointer dereference that can occur in ALTER TABLE following an OOM. Test case in TH3. (check-in: ea50815bf8 user: drh tags: trunk)
01:08
Fix a missing mutex in the sqlite3_normalized_sql() interface when it is called on a prepared statement that did not previously have a computed normalization of the input SQL. (check-in: 1a1a59c6c5 user: drh tags: trunk)
00:08
Merge ALTER TABLE and sqlite3_normalized_sql() bug fixes from trunk. (check-in: 3793e5d5d6 user: drh tags: begin-concurrent-pnu)
00:05
Merge ALTER TABLE and sqlite3_normalized_sql() fixes from trunk. (check-in: acf10b3f8d user: drh tags: begin-concurrent)
2018-12-05
23:56
Get rid of the hash table used to track IN operators in the sqlite3_normalized_sql() implementation. Use simple integer variables instead. (check-in: 272dc74fd0 user: drh tags: trunk)
23:45
The sqlite3_normalized_sql() interface should not be transforming quoted identifier names into wildcards. Fix this, and at the same time simplify the code substantially. (check-in: e8540377ec user: drh tags: trunk)
23:25
Bungled checkin. Ignore. (Closed-Leaf check-in: 9b6e9a6e45 user: drh tags: mistake)
21:55
Fix an imbalanced lock problem in sqlite3Normalize() introduced by the simplification in [94ea6379178e3ff6a]. (check-in: f69624373e user: drh tags: trunk)
19:42
Increase the version number to 3.27.0 for the next development cycle. (check-in: 8f8d682825 user: drh tags: trunk)
18:28
Merge enhancements and the ALTER TABLE bug fix from trunk. (check-in: edfc2acfcd user: drh tags: apple-osx)
18:25
Add test cases to wal2concurrent.test. (check-in: ef9e7a87a4 user: dan tags: begin-concurrent-wal2)
17:48
Simplifications to the sqlite3_normalized_sql() implementation. (check-in: 94ea637917 user: drh tags: trunk)
17:36
Fix a test script problem on this branch. (check-in: 692ddc2808 user: dan tags: begin-concurrent-wal2)
17:31
Fix a test script problem on this branch. (check-in: 285d1c5904 user: dan tags: wal2)
17:20
Fix a problem causing "PRAGMA journal_mode" to report the wrong journal mode (wal instead of wal2) under some circumstances. (check-in: bf309107df user: dan tags: begin-concurrent-wal2)
17:14
Fix a problem causing "PRAGMA journal_mode" to report the wrong journal mode (wal instead of wal2) under some circumstances. (check-in: 1d8d4f6896 user: dan tags: wal2)
16:45
Fixes for snapshots API on this branch. Also ensure that the snapshots API cannot be used with wal2 mode databases (for now anyhow). (check-in: d8c2d55fa4 user: dan tags: begin-concurrent-wal2)
16:31
Fixes for snapshots API on this branch. Also ensure that the snapshots API cannot be used with wal2 mode databases (for now anyhow). (check-in: 19c61ab794 user: dan tags: wal2)
13:49
Merge enhancements from trunk, especially the sqlite3_normalized_sql() enhancement. (check-in: 342c9538d9 user: drh tags: begin-concurrent-pnu)
13:49
Ensure that ALTER TABLE modifies table and column names embedded in WITH clauses that are part of views and triggers. (check-in: f44bc7a8b3 user: dan tags: trunk)
13:44
Merge enhancements from trunk, especially the enhanced sqlite3_normalized_sql() interface. (check-in: 47b73f6bfe user: drh tags: begin-concurrent)
13:39
Enhance the sqlite3_normalize_sql() interface so that it works even if the prepared statement was not initially compiled using SQLITE_PREPARE_NORMALIZED. Enhance the ".trace" command in the CLI so that it is able to access the full scope of functionality provided by sqlite3_trace_v2() and in particular so that it is able to show normalized SQL output using the newly enhanced sqlite3_normalize_sql() interface. (check-in: 7da617e97e user: drh tags: trunk)
2018-12-04
21:16
When compiled with SQLITE_ENABLE_NORMALIZE, always have sqlite3_exec() enable the SQLITE_PREPARE_NORMALIZE flag. (Leaf check-in: 28643d837d user: mistachkin tags: execWithNormalize)
19:41
First attempt at making features work together. Only the most minimal testing so far. (check-in: fd707001f0 user: dan tags: begin-concurrent-wal2)
16:51
Add the "index_usage" utility program. (check-in: df95455213 user: drh tags: trunk)
14:33
Performance improvement in sqlite3_step() by creating a new mTrace flag for the legacy xProfile pointer that is set by sqlite3_profile(). (check-in: e28584e8bc user: drh tags: trunk)
13:51
Fix a problem with SQLITE_ENABLE_EXPENSIVE_ASSERT builds on this branch. (check-in: ddb4a6fbf8 user: dan tags: begin-concurrent)
13:51
Small performance increase in sqlite3_step() for the common case where it returns SQLITE_ROW. (check-in: 8934482652 user: drh tags: trunk)
01:18
Attempt to make the parser a little faster by storing the ON and USING clause in a single OnUsing object. (Leaf check-in: 6770ed0873 user: drh tags: on-using-opt)
2018-12-03
23:57
Reduce the size of the parser tables generated by Lemon by splitting the yyRuleInfo structure into separate yyRuleInfoLhs and yyRuleInfoNRhs arrays. (check-in: 70fe8ec2ae user: drh tags: trunk)
20:49
Merge the wal2 and begin-concurrent code. Both features work, but not at the same time. (check-in: b7281a1caa user: dan tags: begin-concurrent-wal2)
20:38
Minor change to wal.c on this branch to make it more similar to trunk. (check-in: 6a7af3ead5 user: dan tags: begin-concurrent)
19:29
Cherrypick a couple of fixes from begin-concurrent-pnu into this branch. The differences between the two branches are now that this one does not have "PRAGMA noop_update" or the mutex-free PRNG. (check-in: a56506b938 user: dan tags: begin-concurrent)
18:24
Merge in all changes for release 3.26.0. (check-in: 85fd92c71f user: drh tags: begin-concurrent-pnu)
18:15
Bring up to date with version 3.26.0. (check-in: f0ddb358cc user: drh tags: begin-concurrent)
18:13
Increase a timeout in test file walprotocol2.test. To account for unix builds without HAVE_USLEEP. (check-in: 480be916c8 user: dan tags: wal2)
17:40
Remove the unused sqlite3Fts5UnicodeNCat() function. (check-in: 7149dacf1d user: drh tags: trunk)
16:14
Add the "remove_diacritics=2" option to the unicode61 tokenizer in both FTS5 and FTS3/4. (check-in: 06177f3f11 user: dan tags: trunk)
14:58
Update the autoconf makefile for MSVC. (check-in: 675aba1f8b user: mistachkin tags: trunk)
01:58
Remove two lines of unnecessary code, for a very small performance increase and size decrease. (check-in: 15824ccda0 user: drh tags: trunk)
01:47
Fix a parser bug in the use of parentheses around table-valued functions. (check-in: 58a51123d1 user: drh tags: trunk)
2018-12-02
01:15
Omit a line of code that has no affect on the outcome. (check-in: 5d933aa659 user: drh tags: trunk)
2018-12-01
21:13
Very slightly smaller and faster. (check-in: 27798f17f5 user: drh tags: trunk)
20:14
Sync this branch with the latest trunk. (check-in: 7a44fa5a35 user: dan tags: wal2)
12:34
Version 3.26.0 (check-in: bf8c1b2b7a user: drh tags: trunk, release, version-3.26.0)
2018-11-30
20:59
Fix a typo in a comment. No changes to code. (check-in: 23684cb841 user: drh tags: trunk)
18:22
Merge the pre-3.26.0 fixes from trunk. (check-in: 2c76ce4f42 user: drh tags: apple-osx)
16:26
Merge the mutex-free PRNG change into this branch. (check-in: 81e626f4a4 user: dan tags: begin-concurrent-pnu)
2018-11-29
12:00
Fix the name of the trig function approximation in geopoly. No functional changes to the code. (check-in: 33576b12b4 user: drh tags: trunk)
2018-11-28
19:23
Fix a typo in a comment used to generate documentation. No changes to code. (check-in: 62360ceae9 user: drh tags: trunk)
19:12
Update incrvacuum.test so that it works with builds that do not support mmap(). (check-in: 8eb62fd5fa user: dan tags: trunk)
11:49
Update some test cases to account for SQLITE_OMIT_VIRTUAL_TABLE builds. (check-in: b53a9a3dc6 user: dan tags: trunk)
11:09
Follow-up to [0bf0fd242b93c3bd30]: only reset the pager when adding a new codec, not when overwriting an existing codec. Also, improve a comment in the pcache1 subsystem. (check-in: 5c040fdb01 user: drh tags: trunk)
08:24
Changes to Makefile.in to allow testfixture to be built with SQLITE_USER_AUTHENTICATION. (check-in: 7b510f59fd user: dan tags: trunk)
08:09
Remove -DSQLITE_USER_AUTHENTICATION from the "Unlock-Notify" configuration. Create a dedicated "User-Auth" configuration for testing this feature. (check-in: 8c41024fbb user: dan tags: trunk)
08:02
Fixes for SQLITE_OMIT_VIRTUAL_TABLE builds. (check-in: 9bcdec85e2 user: dan tags: trunk)
01:45
Always enable SQLITE_ENABLE_DESERIALIZE for the MSVC makefile as this is necessary to get releasetest.tcl to work. (check-in: d362dedba3 user: drh tags: trunk)
2018-11-27
19:47
Fix a failing assert() in sqlite3ResetAllSchemasOfConnection(). (check-in: 0ea049f342 user: dan tags: trunk)
17:02
Improvements to two cases in pragma4.test. (check-in: 3c893d9bcc user: drh tags: trunk)
14:41
Remove the sqlite3PagerUseWal() routine which was made obsolete by the [81629ba91475938b6ad] change. (check-in: 4331b4990c user: drh tags: trunk)
14:34
Add a simple test case for Lemon. Always include assert.h in the Lemon-generated parser. (check-in: 9c9c46dcbe user: drh tags: trunk)
14:03
Fix to the error handling logic in the Lemon parser template. This does not affect SQLite since SQLite does not use that part of the Lemon parser template. (check-in: c6dfc59eb1 user: drh tags: trunk)
09:57
Add an "#ifndef SQLITE_DISABLE_FTS4_DEFERRED" block around function fts3EvalDeferredPhrase() in fts3 in order to silence a compiler warning. (check-in: 6f4b0d0494 user: dan tags: trunk)
2018-11-26
23:35
Merge recent enhancements from trunk. (check-in: e8c20a88c1 user: drh tags: apple-osx)
18:09
Do not allow direct access to internal-use SQL functions such as sqlite_rename_column() and sqlite3_rename_table() except when the new SQLITE_TESTCTRL_INTERNAL_FUNCTIONS flag is set. (check-in: 6e1330545e user: drh tags: trunk)
15:00
Minor comment enhancement in alter.c. No changes to code. (check-in: 12920bcb99 user: drh tags: trunk)
07:34
Merge latest begin-concurrent changes into this branch. (check-in: 76608f750a user: dan tags: begin-concurrent-pnu)
07:21
Merge latest trunk changes into this branch. (check-in: 28a615a2e0 user: dan tags: begin-concurrent)
2018-11-24
20:44
Fix a bug in the geopoly_ccw() function. Test cases in TH3. (check-in: 773c5c1d9c user: drh tags: trunk)
17:46
Make the winTruncate() method of the windows VFS be a no-op if there are outstanding references to the memory-mapped pages. Otherwise, memory might be deleted out from under those references when the file is remapped during the truncate operation. (check-in: ffce4aac18 user: drh tags: trunk)
16:07
Remove the unused mmapSizeActual field from the Windows sqlite3_file implementation. (check-in: 0e7aa62227 user: drh tags: trunk)
2018-11-23
13:21
Make the winTruncate() method of the windows VFS be a no-op if there are outstanding references to the memory-mapped pages. Otherwise, memory might be deleted out from under those references when the file is remapped during the truncate operation. (Leaf check-in: 8576ccb479 user: drh tags: branch-3.25)
2018-11-22
19:10
Fix a problem reading from temp databases in SQLITE_DIRECT_OVERFLOW_READ builds. (check-in: 81629ba914 user: dan tags: trunk)
2018-11-21
14:27
Improvements to the ossfuzz.c fuzz-testing module so that it works with -DSQLITE_OMIT_PROGRESS_CALLBACK and with -DSQLITE_OMIT_INIT. (check-in: d343f7d6b0 user: drh tags: trunk)
2018-11-20
18:09
Fix problems in pragma.c causing some PRAGMA statements to test the wrong schema-cookie before proceeding, or to try to open cursors on the wrong database ("PRAGMA foreign_key_check" only). (check-in: 6982f52f57 user: dan tags: trunk)
16:02
Consolidate the two sqlite3SchemaToIndex() routines. (Leaf check-in: dfab7170ed user: dan tags: reuse-schema1)
2018-11-19
20:41
Fix a problem with virtual tables in shared schemas. (check-in: 84be9220db user: dan tags: reuse-schema1)
2018-11-17
19:15
Fix another name resolution problem occurring when two or more attached databases use the same Schema object. (check-in: 5328f89951 user: dan tags: reuse-schema1)
18:45
Merge latest trunk changes into this branch. (check-in: 9fdd186897 user: dan tags: reuse-schema1)
18:11
Fix further problems with the feature on this branch. (check-in: 6d7a7e5faf user: dan tags: reuse-schema1)
14:59
Fix the regexp used to recognize libdl errors on OS-X. (check-in: 1740025307 user: drh tags: trunk)
14:26
Fix harmless compiler warnings that appear with SQLITE_OMIT_EXPLAIN. (check-in: 5fff00b0d5 user: drh tags: trunk)
14:19
Remove a C++-style comment. (check-in: 645232f2b9 user: drh tags: trunk)
13:08
Fix a problem in test script e_fkey.test. (check-in: acfd0a05a8 user: dan tags: trunk)
2018-11-16
20:50
Fix a test case so that it works on windows. (check-in: 2d92d25fae user: drh tags: trunk)
20:18
Add SQLITE_CONSTRAINT support to the xBestIndex methods on dbstat, sqlite_dbpage, and zipfile. (check-in: 5cd24e552b user: drh tags: trunk)
19:19
Update the explain virtual table to make use of SQLITE_CONSTRAINT. (check-in: b2d41ff702 user: drh tags: trunk)
17:04
Fix further REUSE_SCHEMA issues. (check-in: 9780829a77 user: dan tags: reuse-schema1)
16:04
Fix the JSON table-valued functions to make use of SQLITE_CONSTRAINT. (check-in: 3f34f4f561 user: drh tags: trunk)
15:41
Add an assert() to the generate_series virtual table to verify assumptions about the design. (check-in: cd13b499a2 user: drh tags: trunk)
15:08
Update the generate_series() table-valued function to make use of the new SQLITE_CONSTRAINT return from xBestIndex. (check-in: 4372ad644d user: drh tags: trunk)
14:36
In order to avoid exporting a symbol, use a macro instead of a function to replace sqlite3_complete() in the shell code when SQLITE_OMIT_COMPLETE is defined. (check-in: d584a0cb51 user: dan tags: trunk)
13:56
Enhance the xBestIndex interface of virtual table so that if the xBestIndex method returns SQLITE_CONSTRAINT then that particular combination of constraints is considered unusable and does not participate further in query planning. (check-in: 684013cef6 user: drh tags: trunk)
13:06
Fix comments and make magic numbers into #defines in the fsdir implementation. (check-in: c537c9c363 user: drh tags: trunk)
08:36
Fix a problem with virtual table "fsdir" and some join queries. (check-in: 7fffcee0fc user: dan tags: trunk)
01:42
Improvements to the CSV virtual table. (check-in: 0406ecbbe7 user: drh tags: trunk)
2018-11-15
21:20
Fix some problems with the feature on this branch. Many problems remain. (check-in: 31b6aee755 user: dan tags: reuse-schema1)
19:12
Fix typos in the previous check-in. (check-in: 9b37bbf5f3 user: mistachkin tags: trunk)
16:56
Include geopoly in the compiler-warning script. (check-in: 3d947e1ec0 user: drh tags: trunk)
13:51
New fuzztest cases. (check-in: e8316ba47f user: drh tags: trunk)
2018-11-13
20:21
Fix a potential buffer overread in the dbstat virtual table when processing a corrupt database file. (check-in: a62e6b593b user: drh tags: trunk)
19:51
Turn on ASAN for the dbfuzz2 utility. Fix a buffer overread associated with sqlite3_deserialize(). (check-in: 4e38f27b55 user: drh tags: trunk)
2018-11-12
15:20
New hyperlinks in comments used to generate documentation. No changes to code. (check-in: f9755f81b1 user: drh tags: trunk)
13:20
Fix a use-after-free problem in the fts5vocab virtual table. (check-in: ac69d169c6 user: dan tags: trunk)
2018-11-10
20:07
Merge the read-only shadow table and defensive mode enhancments from trunk. (check-in: 977fc44e65 user: drh tags: apple-osx)
18:23
Add support for read-only shadow tables on virtual tables. Added the SQLITE_DEFAULT_DEFENSIVE compile-time option that can put SQLite in defensive mode by default. (check-in: 9c685171c4 user: drh tags: trunk)
17:37
Add the "changesetfuzz" program. For fuzzing changeset blobs. (check-in: 2bae0e7c1c user: dan tags: trunk)
17:36
Merge latest trunk changes. (Closed-Leaf check-in: b6d549c988 user: dan tags: changesetfuzz)
04:14
Remove a NEVER() that is reachable after all. Reverts checkin [9292d3351c40339]. (Closed-Leaf check-in: c5dc7fb873 user: drh tags: read-only-shadow)
03:47
Merge fixes from trunk. (check-in: bf88efcec4 user: drh tags: read-only-shadow)
2018-11-09
23:45
Merge fixes from trunk. (check-in: e3e9b85ead user: drh tags: apple-osx)
23:41
Fix invalid use of unprotected sqlite3_value objects in the sqldiff utility, when using the --changeset option. (check-in: a8d65214a5 user: drh tags: trunk)
20:04
When a table is renamed using "ALTER TABLE RENAME TO", update any REFERENCES clauses that refer to the table, unless "PRAGMA legacy_alter_table" is true and "PRAGMA foreign_keys" is set to false (i.e. so that when "PRAGMA legacy_alter_table" is set behaviour is still compatible with versions 3.24 and earlier). (check-in: ae9638e9c0 user: dan tags: trunk)
18:44
Merge latest trunk changes with this branch. (check-in: ae88f8e1ff user: dan tags: reuse-schema)
14:17
Fix for ticket [787fa716be3a7f650cac] (check-in: 531eca6104 user: drh tags: trunk)
00:02
Disable the use of coroutines for subqueries within a query that is the RHS of an IN operator, as the IN operator might be evaluated more than once. Possible fix for [787fa716be3a7f65], unless we can come up with something better. Later: Counter-example found. (Closed-Leaf check-in: 8d663bfaaa user: drh tags: tkt787fa716-deadend)
2018-11-08
22:53
In the treeview.c module, break out the display of SrcList into a separate subroutine, so that it can be invoked while debugging. (check-in: 8c74065f00 user: drh tags: trunk)
17:32
Improved documentation for SQLITE_DBCONFIG_DEFENSIVE. Add a NEVER() macro on an unreachable branch. (check-in: 9292d3351c user: drh tags: read-only-shadow)
14:59
Add tests and a fix for program "changesetfuzz". (check-in: 09b90db56c user: dan tags: changesetfuzz)
2018-11-07
20:13
Merge latest trunk changes into this branch. (check-in: 53cd91d005 user: dan tags: changesetfuzz)
20:07
Fix minor issues in the changesetfuzz program. (check-in: 5c7f024073 user: dan tags: changesetfuzz)
17:52
Update the "changesetfuzz" program to work with patchsets as well as changesets. (check-in: 75b00fbe88 user: dan tags: changesetfuzz)
16:46
Performance improvement in subroutine that decides whether or not a table is read-only. (check-in: 6e4968b005 user: drh tags: read-only-shadow)
16:12
Merge the onefile permutation fix from trunk. (check-in: e543bff87d user: drh tags: read-only-shadow)
14:41
More test-case adjustments for defensive mode. (check-in: 911e8a17a3 user: drh tags: read-only-shadow)
14:39
Fix a problem with the handling of SQLITE_FCNTL_PRAGMA in the test_onefile.c demo. (check-in: 13e21b7da8 user: dan tags: trunk)
13:41
Merge the permutations fix from trunk. (check-in: b753d849fe user: drh tags: read-only-shadow)
11:56
Partially revert [3e1a2f661], as some test scripts require separate $presql and $dbconfig variables. (check-in: cbf85284be user: dan tags: trunk)
02:17
Add the SQLITE_DEFAULT_DEFENSIVE compile-time option. Fix up test cases so that they work with DEFENSIVE enabled. (check-in: 3212733cb6 user: drh tags: read-only-shadow)
2018-11-06
20:08
Update the changesetfuzz program to fuzz changeset schemas as well as data. (check-in: 141a93c843 user: dan tags: changesetfuzz)
19:26
Enable DEFENSIVE mode by default for tests. This requires lots of case of turning DEFENSIVE off in order to dodgy things to the database for testing purposes. No all of those cases are yet handled, so "make test" does not run to completion. (check-in: a1d6c6712c user: drh tags: read-only-shadow)
15:57
Turn on defensive mode for running test scripts. Does not yet work. (check-in: 1c1d24edbb user: drh tags: read-only-shadow)
14:03
Only allow shadow table to be written from within a recursive SQL call. Omit the SQLITE_PREPARE_SHADOW flag. Some tests are failing because the tests depend on being able to write to shadow tables. (check-in: d890c65825 user: drh tags: read-only-shadow)
13:37
Add enforcement of read-only on shadow tables. This does not currently work since some virtual tables are attempting to update shadow tables using sqlite3_exec(). (check-in: f79b47c985 user: drh tags: read-only-shadow)
2018-11-05
23:01
Initial code to make shadow tables read-only to ordinary SQL. The now xShadowName method is added to the sqlite3_module object and is used to identify potential shadow tables. The SQLITE_PREPARE_SHADOW argument to sqlite3_prepare_v3() is defined. It is designed to permit writing to shadow tables, but is currently an unused placeholder. (check-in: 31942b3dd3 user: drh tags: read-only-shadow)
20:37
Version 3.25.3 (check-in: 89e099fbe5 user: drh tags: release, version-3.25.3, branch-3.25)
20:37
Add preliminary version of "changesetfuzz" program. For fuzzing changeset data without creating corrupt changesets. (check-in: 81ac8745fa user: dan tags: changesetfuzz)
19:37
Add the SQLITE_DBCONFIG_DEFENSIVE flag. (check-in: 11d98414ea user: drh tags: trunk)
16:38
Eponymous virtual tables appear to exist in all schemas. This is an alternative and improved fix to the eponymous virtual table in trigger problem that was previously addressed by checkin [1fa74930ab56171e]. (check-in: b8d35c4a7c user: drh tags: trunk)
13:53
Merge recent trunk enhancements. (check-in: 62acf7a09e user: drh tags: apple-osx)
13:48
Disable the IS NOT NULL optimization when the IS NOT NULL operator is part of the ON clause of a LEFT JOIN. Fix for ticket [65eb38f6e46de8c75e188a17ec]. (check-in: 8d09ce5d73 user: drh tags: branch-3.25)
13:43
Add extra defenses against strategically corrupt databases to fts3/4. (check-in: 940f2adc85 user: drh tags: branch-3.25)
13:37
Increase the version number to 3.25.3. (check-in: 1250ab8f22 user: drh tags: branch-3.25)
13:35
Fix a assert() in the query planner that can arise when doing row-value operations on a PRIMARY KEY that contains duplicate columns. Ticket [1a84668dcfdebaf12415d]. (check-in: 1309c84ad3 user: drh tags: branch-3.25)
07:53
Disable the IS NOT NULL optimization when the IS NOT NULL operator is part of the ON clause of a LEFT JOIN. Fix for ticket [65eb38f6e46de8c75e188a17ec]. (check-in: af39661e60 user: drh tags: trunk)
2018-11-03
17:31
Correct the internal logic for SQLITE_DBCONFIG_DEFENSIVE. (Closed-Leaf check-in: 7609434582 user: drh tags: dbconfig-defensive)
16:51
Add extra defenses against strategically corrupt databases to fts3/4. (check-in: d44318f590 user: dan tags: trunk)
16:09
Add the SQLITE_DBCONFIG_DEFENSIVE flag. (check-in: af3f29d493 user: drh tags: dbconfig-defensive)
13:11
Fix a assert() in the query planner that can arise when doing row-value operations on a PRIMARY KEY that contains duplicate columns. Ticket [1a84668dcfdebaf12415d]. (check-in: dcb8c73594 user: drh tags: trunk)
2018-11-02
17:38
Enhance triggers so that they can use table-valued-functions that exist in schemas outside of the schema in which the trigger is defined. (check-in: 1fa74930ab user: drh tags: trunk)
2018-10-31
20:52
Deploy the sqlite3Strlen30NN() function (argument guaranteed to be non-NULL) for a small performance improvement. (check-in: 4a6ad5190b user: drh tags: trunk)
19:01
Add support for the SQLITE_PREPARE_NORMALIZED flag and the sqlite3_normalized_sql() when compiling with SQLITE_ENABLE_NORMALIZE. Also remove unnecessary whitespace from Makefiles. (check-in: 790ea39a65 user: drh tags: trunk)
18:24
Tweaks to the test_intarray documentation and tests. (check-in: 7107f0dacf user: drh tags: trunk)
01:26
Merge fixes from trunk, especially rebustness against corrupt database files. (check-in: 4b370c74ae user: drh tags: apple-osx)
01:12
Merge fuzz test cases computed by dbfuzz2. (check-in: e0d30c1862 user: drh tags: trunk)
01:04
Improved corrupt database detection in the relocatePage() routine of the b-tree module. (check-in: d57873337a user: drh tags: trunk)
2018-10-30
23:45
Add new fuzzer cases generated by dbfuzz2. (Closed-Leaf check-in: 79fdad8b42 user: drh tags: dbfuzz2-cases)
19:14
Update comments in sqlite3session.c to describe the format of "rebase blobs", as well as changesets and patchsets. (check-in: bf93f7b56b user: dan tags: trunk)
16:25
Split the SQLITE_WriteSchema flag in two flags, WriteSchema and SQLITE_NoSchemaError. Set only WriteSchema on a VACUUM to avoid problems when trying to vacuum a corrupt database. With this change, the size of the flags field on sqlite3 must grow from 32 to 64 bytes. (check-in: 4f9878107a user: drh tags: trunk)
15:31
Modify the CLI so that the --deserialize option is only available if it is compiled with SQLITE_ENABLE_DESERIALIZE. DESERIALIZE is now off by default for the main.mk makefile, but on for Makefile.in and Makefile.msc. (check-in: 90b2a684f7 user: drh tags: trunk)
15:20
Improvements to the -fsanitize=fuzzer based database file fuzzer. (Cherrypick from the rubust-against-damaged-db branch.) (check-in: 3cc01a0eaf user: drh tags: trunk)
14:36
In the CLI, when opening a file that begins with the normal SQLite prefix, open the file as a normal database even if it has a ZIP for AppendVFS record at the end. (check-in: 7989bbda70 user: drh tags: trunk)
13:19
Enable sqlite3_deserialize() in the CLI. The --deserialize option associated with opening a new database cause the database file to be read into memory and accessed using the sqlite3_deserialize() API. This simplifies running tests on a database without risk of modifying the file on disk. (check-in: 5e0129ee9a user: drh tags: trunk)
00:06
Improvements to the -fsanitize=fuzzer based database file fuzzer. (Closed-Leaf check-in: 585c94db09 user: drh tags: robust-against-damaged-db)
00:06
In the VACUUM command, defer setting writable_schema until after it has been determined that the schema is not corrupt. (check-in: 3afec26014 user: drh tags: robust-against-damaged-db)
2018-10-29
21:01
Fix a potential assertion fault that can occur while trying to DROP a table from a corrupted database file. (check-in: 147a9429a5 user: drh tags: trunk)
18:33
Fix minor memory leak in the dbstat extension that can occur following an attempt to analyze a corrupt database file. (check-in: cb874fd873 user: drh tags: trunk)
17:53
Add the sqlite3_normalized_sql() API. (Closed-Leaf check-in: 592b66e805 user: mistachkin tags: normalized_sql)
17:08
In the sessions module, avoid collecting rebase data if the user has not requested it. (check-in: de72a773dd user: dan tags: trunk)
16:07
Harden the dbstat extension against corrupt database files. (check-in: a0d47f25ae user: drh tags: trunk)
2018-10-27
21:06
Improvements to the dbfuzz2.c test module. (check-in: d60eff493b user: drh tags: trunk)
16:02
Add an entry in Makefile.in to build dbfuzz2 using clang-6.0 with -fsanitize=fuzzer,undefined. (check-in: a4a083ed8c user: drh tags: trunk)
00:47
Initial code for a fuzzing tool on database file that works with the -fsanitize=fuzzer option of clang. (check-in: 90d12094d3 user: drh tags: trunk)
2018-10-26
17:05
Add the sqlite3session_config() interface. For configuring global parameters belonging to the sessions module. (check-in: 1e69f3ff05 user: dan tags: trunk)
15:36
Prevent an == constraint specified using the table-valued-function argument syntax from being used to optimize any scan not related to the virtual table for which it was specified as an argument. (check-in: 4d46685f28 user: dan tags: trunk)
2018-10-25
16:58
Merge bug fixes from trunk. (check-in: 1e973f65e8 user: drh tags: apple-osx)
15:25
In the WHERE-constraint propagation optimization, if there are duplicate constraint, make sure only one of them propagates. Proposed fix for ticket [cf5ed20fc8621b165]. (check-in: caebf87925 user: drh tags: branch-3.25)
14:15
In the WHERE-constraint propagation optimization, if there are duplicate constraint, make sure only one of them propagates. Proposed fix for ticket [cf5ed20fc8621b165]. (check-in: 5d5b596f15 user: drh tags: trunk)
11:55
Speed up xAccess() calls made on an RBU VFS when there are lots of open connections. Cherrypick of [310b4b65]. (check-in: fda8fdb0cb user: dan tags: branch-3.22)
2018-10-24
23:55
Add the ENABLE_GEOPOLY case to the compile_options pragma. (check-in: de940296d2 user: drh tags: trunk)
2018-10-23
13:48
Fix a problem with using window functions in compound (UNION, INTERSECT etc.) queries. (check-in: 059ff53a46 user: dan tags: trunk)
2018-10-20
13:48
Add the sqlite3changeset_start_v2() - a new version of _start() that accepts a flags parameter - and a streaming equivalent to the sessions module. Also add the SQLITE_CHANGESETSTART_INVERT flag, used with start_v2() to invert a changeset while iterating through it. (check-in: cbedcb9aae user: dan tags: trunk)
2018-10-18
15:17
Take steps to avoid a potential integer overflow in sessionBufferGrow(). (check-in: f7affa2e70 user: dan tags: trunk)
14:59
Add the SQLITE_CHANGESETAPPLY_INVERT flag to sessions. For inverting and applying a changeset in a single step. (check-in: d4b6406e7f user: dan tags: trunk)
2018-10-12
22:02
Fix the SQLITE_ENABLE_APPLE_SPI compile-time option. (check-in: 6cb537bdce user: drh tags: apple-osx)
15:01
Test case modifications to support SEE. (check-in: 02b6f8f277 user: drh tags: trunk)
2018-10-11
18:45
Fix issues with the new textkey pragma from the previous check-in. (check-in: d1008b0728 user: drh tags: apple-osx)
18:41
Add the textkey and textrekey pragmas. (check-in: f03164d454 user: drh tags: trunk)
18:28
Add the textkey and textrekey pragmas. (check-in: f829099d25 user: drh tags: apple-osx)
17:05
Merge compiler warning fixes and the codec enhancement from trunk. (check-in: f9fa58e1d1 user: drh tags: apple-osx)
16:53
Fix harmless compiler warnings in the CLI. (check-in: 1916d2912a user: drh tags: trunk)
16:38
Always reset the pager before changing the codec. (check-in: 0bf0fd242b user: drh tags: trunk)
16:28
Fix a merge problem in main.mk (check-in: 9a54935917 user: drh tags: apple-osx)
14:07
Remove surplus code in geopoly.c that seems to have come from a bad merge. (check-in: c486a63c33 user: drh tags: apple-osx)
13:57
Merge enhancements from trunk. (check-in: 9e10d88bcb user: drh tags: apple-osx)
13:51
On the first connection to a WAL-mode database that was not cleanly shut down and contains a left-over -shm file, truncate the -shm file to 3 bytes instead of to 0 bytes. Avoiding a truncation to 0 means that system monitoring tools can better detect if a process illegitimately tries to truncate a -shm file. Such a rogue process might think it is being helpful by cleaning up old files, but there is a race condition that can cause damage to the database. (check-in: 90cf32cde0 user: drh tags: trunk)
10:37
In the CLI, fix a file descriptor leak following OOM and a missing va_end() call. (check-in: ec36d15a9e user: drh tags: trunk)
02:39
In the unix VFS, fix the heap shm allocator (used for unix-excl) so that it works even on systems where the page size is larger than 32KB. (check-in: 7fbb083c5c user: drh tags: trunk)
2018-10-10
18:56
In the CLI, allow the SQLITE_HISTORY environment variable, if it exists, to specify an alternative file in which to store the shell edit history. (check-in: 696e82f7c8 user: drh tags: trunk)
01:01
Fix the build for Macs. (check-in: 6a1d937d66 user: drh tags: apple-osx)
2018-10-09
22:58
Merge enhancements from trunk. (check-in: 1b60e7a981 user: drh tags: apple-osx)
22:50
Merge changes for the 3.25.0 release. (check-in: ddf6a54ef3 user: drh tags: apple-osx)
2018-10-08
23:29
Add the ability to open a database connection in -reuseschema mode in the CLI. Adjust memory allocation accounting so that a shared schema is allocated across each database sharing it. (check-in: 3869b2106b user: drh tags: reuse-schema)
20:57
Fix a problem with using virtual tables via reuse-schema connections. (check-in: e5897dafda user: dan tags: reuse-schema)
20:37
Merge fixes from trunk. (check-in: 9c8255a199 user: drh tags: reuse-schema)
20:04
Fix an issue with the new memstat.c extension. (check-in: ce6e80b130 user: drh tags: trunk)
18:58
Merge latest trunk changes into this branch. (check-in: 2ac72114a1 user: dan tags: reuse-schema)
18:55
Replace the new geopoly_reverse() function with geopoly_ccw(). The geopoly_ccw() function only reverses the vertex order if doing so is necessary to get the correct right-hand winding rule on the polygon. (check-in: 075066944b user: drh tags: trunk)
12:58
Add the geopoly_reverse() function to the GeoPoly extension. (check-in: 690dd18a57 user: drh tags: trunk)
2018-10-06
14:38
Fix the ".help -all" option in the command-line shell. (check-in: aac8f1dff0 user: drh tags: trunk)
14:33
Ensure each ALTER TABLE statement makes just a single SQLITE_ALTER_TABLE call to the authorizer function. (Leaf check-in: dac285474a user: dan tags: alter-auth-callbacks)
13:46
Add test cases and assert() statements to ensure that the authorizer is being called as expected from within ALTER TABLE. (check-in: ff10d2c7de user: dan tags: trunk)
2018-10-05
20:09
When the left-hand side of a WHERE clause contraint is a UNIQUE column, and that term of the WHERE clause is not used for indexing, assume that the term reduces the number of output rows by half. This is one proposed fix for ticket [e8b674241947eb3ba4] (Leaf check-in: 5c243eec7b user: drh tags: unique-constraint-weights)
15:10
Changes to geopoly to silience false-positive warnings coming out of clang. (check-in: 11d9015f31 user: drh tags: trunk)
2018-10-04
18:17
The 0x8000 optimization flag associated with SQLITE_TESTCTRL_OPTIMIZATIONS causes a large penalty (200) to be added to all sorting costs, which encourages the query planner avoid using the sorter. This flag can be used in experiments to help come up with a more accurate estimate of the true cost of sorting. (Leaf check-in: 857a1b01df user: drh tags: query-planner-debug)
2018-10-03
18:05
Add an ALWAYS on an unreachable branch in the ALTER TABLE logic. (check-in: ebcd452317 user: drh tags: trunk)
11:13
Change a type in shell.c.in from "int" to "sqlite3_int64" in order to avoid a compiler warning and possible integer overflow. (check-in: bf0a6634cd user: dan tags: trunk)
2018-10-02
20:16
Add an additional assert() verifying mutex invariants on the unixShmSystemLock() routine in the unix VFS. (check-in: cb1511065d user: drh tags: trunk)
19:58
Additional field name changes and commit fixes associated with shared-memory locking in the unix VFS, to improve maintainability. No logic changes. (check-in: 9280774a4b user: drh tags: trunk)
19:36
Fix comments and refactor some names associated with shared-memory locking in the Unix VFS. No logical changes. (check-in: 3e9f163527 user: drh tags: trunk)
2018-10-01
21:41
Add the "PRAGMA table_xinfo" command that works like table_info but also shows hidden columns in virtual tables and adds the "hidden" boolean column. (check-in: defa0515b8 user: drh tags: trunk)
21:36
Test case for PRAGMA table_xinfo. (Closed-Leaf check-in: 7694b9bc30 user: drh tags: pragma-table-vinfo)
21:26
Change the name of the pragma to PRAGMA table_xinfo. Improve the mkpragmatab.tcl script to reuse column names where appropriate. (check-in: 2fdd068987 user: drh tags: pragma-table-vinfo)
18:28
Add the extra "hidden" column to the end of the PRAGMA table_vinfo output. (check-in: cf1b76135f user: drh tags: pragma-table-vinfo)
17:33
Speed up xAccess() calls made on an RBU VFS when there are lots of open connections. (check-in: 310b4b65b8 user: dan tags: trunk)
17:15
Bring the PRAGMA table_vinfo statement up to date with trunk. (check-in: 6f606f9923 user: drh tags: pragma-table-vinfo)
14:05
Fix a potential crash that can occur while reading an index from a corrupt database file. The corruption is a record-header-size that is larger than 0x7fffffff. Problem detected by OSSFuzz against GDAL and reported to us (with a suggested fix) by Even Rouault. The test case is in TH3. (check-in: 5d29165896 user: drh tags: branch-3.25)
13:54
Fix a potential crash that can occur while reading an index from a corrupt database file. The corruption is a record-header-size that is larger than 0x7fffffff. Problem detected by OSSFuzz against GDAL and reported to us (with a suggested fix) by Even Rouault. The test case is in TH3. (check-in: 8ac2cdda68 user: drh tags: trunk)
11:00
Ensure that the OP_VColumn opcode does set sqlite3_vtab_nochange() unless the OPFLAG_NOCHNG bit is set in P5. Fix for ticket [69d642332d25aa3b7315a6d385] (check-in: 31ac8dbae4 user: drh tags: branch-3.25)
07:04
Fix a problem with ALTER TABLE commands when the schema features an INSTEAD of trigger that uses NEW.* or OLD.*. (check-in: c52f457e56 user: dan tags: trunk)
2018-09-29
19:38
Add the PRAGMA table_vinfo command (with an extra "v" before "info") that works like PRAGMA table_info (without the "v") except that it also shows hidden columns on virtual tables. (check-in: 8bcd1a5956 user: drh tags: pragma-table-vinfo)
2018-09-28
23:53
Fix test cases so that they work with ICU. (check-in: d04b2013b5 user: drh tags: trunk)
21:11
Merge latest begin-concurrent changes into this branch. (check-in: 6f3dd9809f user: dan tags: begin-concurrent-pnu)
20:58
Merge latest trunk into this branch. (check-in: 86750c927c user: dan tags: begin-concurrent)
20:46
Have sqlite3changegroup_output_strm() call its output function more regularly. (check-in: 8467c31aa0 user: dan tags: trunk)
18:51
Fix a bug in the sqlite_memstat virtual table that was causing it to report the amount of memory used as zero bytes. (check-in: 8a758a8721 user: drh tags: trunk)
14:01
Add the geopoly_regular(X,Y,R,N) function to the geopoly extension. (check-in: 4505bbae58 user: drh tags: trunk)
13:18
Make most geopoly functions pure. (check-in: 944e167a98 user: drh tags: trunk)
00:16
Rig geopoly to use sqlite3AtoF() if it is available, as that routine is much faster than atof(). (check-in: 470c6c07d0 user: drh tags: trunk)
2018-09-27
23:57
Small performance optimization in the JSON parser of Geopoly. (check-in: fb520e7103 user: drh tags: trunk)
20:37
Enhance the GeoPOLY extension so that it always stores its polygons in the binary format, which is faster and more compact. (check-in: dc35f7b175 user: drh tags: trunk)
20:20
Ensure that the OP_VColumn opcode does set sqlite3_vtab_nochange() unless the OPFLAG_NOCHNG bit is set in P5. Fix for ticket [69d642332d25aa3b7315a6d385] (check-in: 322ab1fc61 user: drh tags: trunk)
17:33
Another minor tweak to memstat.c so that it may be built against older versions of SQLite. (check-in: 4c1fed60b9 user: dan tags: trunk)
17:15
Modify the memstat virtual table so that it works with SQLite version 3.9.2. (check-in: 7171d8ae6b user: drh tags: trunk)
17:03
Add the sqlite_memstat extension - an eponymous virtual table that shows memory usages statistics for SQLite. (check-in: 954ef61f6a user: drh tags: trunk)
16:57
Enhancements to sqlite_memstat: (1) Add an extra "schema" column to show the schema name for ZIPVFS stats. (2) Only show ZIPVFS stats to schema that use ZIPVFS (3) Put a NULL in unused columns of the output. (Closed-Leaf check-in: 9351135b43 user: drh tags: memstat-vtab)
15:45
Add initial ZIPVFS support for the "main" database to the sqlite_memstat virtual table. (check-in: 9cd27350b0 user: drh tags: memstat-vtab)
15:21
Initial prototype of a eponymous virtual table that accesses sqlite3_status64() and sqlite3_db_status(). (check-in: 0b44e1f68e user: drh tags: memstat-vtab)
14:24
Minor enhancement to the pager so that it remembers if the underlying database files is immutable. (Leaf check-in: 64db614edd user: drh tags: immutable-pager)
13:10
Disallow the use of window functions in the recursive part of a recursive CTE. Fix for ticket [e8275b415a2f03bee]. (check-in: b284957096 user: drh tags: branch-3.25)
12:14
Disallow the use of window functions in the recursive part of a recursive CTE. Fix for ticket [e8275b415a2f03bee]. (check-in: 7fc2994434 user: dan tags: trunk)
00:04
Minor simplification: In OP_ParseSchema, read the p1 register once. (check-in: bd250533a0 user: mistachkin tags: trunk)
2018-09-26
18:02
Further improvements to the ".help" command in the CLI. (check-in: edc3d18ecb user: drh tags: trunk)
16:53
Begin revamping the ".help" command in the command-line shell so that it can accept an argument and will do a search for commands that match that argument. (check-in: 209afb8d06 user: drh tags: trunk)
16:05
Tweak spellfix.c so that if SQLITE_SPELLFIX_5BYTE_MAPPINGS is defined at compile time the Transliteration structure has space for 5 byte (instead of 4 byte) mappings. (check-in: cbaf5b6c1b user: dan tags: trunk)
03:43
Fix typos in the header comment for the sha1 and sha3 hash extensions in the ext/misc folder. (check-in: 4ed9d83a0b user: drh tags: trunk)
2018-09-25
19:08
Version 3.25.2 (check-in: fb90e7189a user: drh tags: release, version-3.25.2, branch-3.25)
13:52
Fix a problem in releasetest.tcl causing configuration "Fast-One" to fail. (check-in: 32ac001426 user: dan tags: branch-3.25)
13:51
Fix a problem in releasetest.tcl causing configuration "Fast-One" to fail. (check-in: 42e04fefbc user: dan tags: trunk)
01:38
Bump the version number to 3.25.2. (check-in: 996d74f501 user: drh tags: branch-3.25)
01:35
Fix a compilation issue in the "userauth" extension. Also fix a few test script errors that occur with SQLITE_USER_AUTHENTICATION=1 builds. (check-in: e7db5f59ee user: drh tags: branch-3.25)
01:17
Fix a problem building on Android with SQLITE_ENABLE_BATCH_ATOMIC_WRITE set. (check-in: b9ffa77c92 user: drh tags: branch-3.25)
2018-09-24
21:07
Avoid incrementing the SQLITE_LOOKASIDE_MISS_SIZE stat before sqlite3_open() returns. Fix test script problem in lookaside.test. (check-in: 3bd94e4317 user: drh tags: branch-3.25)
20:50
Fix missing space in 'configure.ac' reported on the mailing list. (check-in: 4407e15ac9 user: drh tags: branch-3.25)
20:48
Add the "PRAGMA legacy_alter_table=ON" command to enable the pre-3.25.0 behavior of ALTER TABLE that does not modify the bodies of triggers or views or the WHERE clause of a partial index. Enable the legacy behavior by default when running the xRename method of virtual tables. (check-in: 31dc8b191c user: drh tags: branch-3.25)
19:41
Allow a writable virtual table to have a schema with an INTEGER PRIMARY KEY and WITHOUT ROWID. This fixes ticket [f25d5ceebe1d710ff61a571e395356869d8272ef]. Test case in TH3. (check-in: 3139af9910 user: drh tags: branch-3.25)
19:32
Fix a faulty assert() in the validation logic for the LEFT JOIN strength reduction optimization. Problem found by OSSFuzz. (check-in: 8694c3d565 user: drh tags: branch-3.25)
19:21
Fix the "sqlite3" command in the TCL interface so that it correctly returns an error if invoked with no arguments. (check-in: 8a82fcf05f user: drh tags: branch-3.25)
18:29
Fix a problem with views that use window functions as part of complex expressions. (check-in: 1c0ecbbdf1 user: drh tags: branch-3.25)
15:39
Slightly smaller and faster alternative to [507d892c3a40a0bacbd47] that fixes a problem with views that use window function as part of complex expressions. (check-in: d7c816ae15 user: drh tags: trunk)
14:51
Fix a problem with views that use window functions as part of complex expressions. (check-in: 507d892c3a user: dan tags: trunk)
14:10
Allow a writable virtual table to have a schema with an INTEGER PRIMARY KEY and WITHOUT ROWID. This fixes ticket [f25d5ceebe1d710ff61a571e395356869d8272ef]. Test case in TH3. (check-in: 5a38d9281b user: drh tags: trunk)
12:37
Use compile-time options SQLITE_QUERY_PLANNER_LIMIT and SQLITE_QUERY_PLANNER_LIMIT_INCR to control the value for WhereLoopBuilder.iPlanLimit, rather than embedding magic numbers in the code. (check-in: 903e501894 user: drh tags: trunk)
10:47
Increase the initial value of WhereLoopBuilder.iPlanLimit to 20K. Issue a warning if the iPlanLimit reaches zero. (check-in: 3dd35f5118 user: drh tags: trunk)
2018-09-23
02:01
Fix a faulty assert() in the validation logic for the LEFT JOIN strength reduction optimization. Problem found by OSSFuzz. (check-in: 2fd62fccd1 user: drh tags: trunk)
2018-09-22
15:05
Enhance WhereLoopBuilder.iPlanLimit to handle a case involving the OR optimization discovered overnight by OSSFuzz. (check-in: 7b59930a1d user: drh tags: trunk)
2018-09-21
23:41
Fix harmless compiler warning when compiled with SQLITE_OMIT_AUTHORIZATION. (check-in: 50f2fa1953 user: mistachkin tags: trunk)
19:06
Comment typo fixed. No code changes. (check-in: 7e68cdab20 user: drh tags: trunk)
18:43
Put a limit counter on the query planner that restricts the number of index+constraint options that can be considered for each table in a join. This prevents certain pathological queries from taking up too much time in the query planner. (check-in: 8690b5a0cc user: drh tags: trunk)
13:07
Optimization to the OP_MakeRecord opcode makes speed-check.sh run about 1.1 million cycles faster, and results in a slightly smaller library. (check-in: d10e636291 user: drh tags: trunk)
2018-09-20
20:43
Minor code simplification. (check-in: 22ae8a52dd user: drh tags: trunk)
20:15
Add the "PRAGMA legacy_alter_table=ON" command to enable the pre-3.25.0 behavior of ALTER TABLE that does not modify the bodies of triggers or views or the WHERE clause of a partial index. Enable the legacy behavior by default when running the xRename method of virtual tables. (check-in: 7edd26ed27 user: drh tags: trunk)
19:02
Combine the Expr.pTab and Expr.pWin fields into a union named "y". Add a new EP_WinFunc property that is only true if Expr.y.pWin is a valid pointer. This reduces the size of the Expr object by 8 bytes, reduces the overall amount of code, and shaves over 1 million cycles off of the speed test. (check-in: ad130bb86e user: drh tags: trunk)
17:21
By default, make all "ALTER TABLE RENAME" statements executed within a virtual table xRename() method exhibit the legacy behaviour. (Closed-Leaf check-in: 71947337e9 user: dan tags: legacy-alter-table)
08:28
Add a PRAGMA that restores the legacy ALTER TABLE RENAME TO behaviour. (check-in: 5acad2e92c user: dan tags: legacy-alter-table)
2018-09-19
20:14
Reduce the size of Expr to 64-bytes. This works somewhat, but there are test failures. More importantly, the size reduction from 80- to 64-bytes has not lowered the schema memory usage, but it has made the code a little bigger and a little slower. So the initial evidence is that this Expr refactoring experiment is not working... (Leaf check-in: 24b0f66ac6 user: drh tags: expr-simplify)
18:17
A minor code simplification, saved in a branch for future reference. (Leaf check-in: 5e458f4a92 user: drh tags: minor-altertab-simplification)
17:24
Fix an issue in virtual table handling associated with the new Expr.x.pRight field. (check-in: 8487f84af0 user: drh tags: expr-simplify)
17:09
Fix a compilation issue in the "userauth" extension. Also fix a few test script errors that occur with SQLITE_USER_AUTHENTICATION=1 builds. (check-in: 221f3f572e user: dan tags: trunk)
16:35
Make sure Expr.eX changes back to EX_None after Expr.x.pRight is set to NULL due to an OOM. (check-in: e4129cd3a0 user: drh tags: expr-simplify)
15:08
Fix the "sqlite3" command in the TCL interface so that it correctly returns an error if invoked with no arguments. (check-in: 2034fa8089 user: drh tags: trunk)
14:54
Reduce the size of Expr from 80 to 72 bytes moving the pRight field inside the "x" union. This is an incremental check-in that still has issues. (check-in: 147c61a6d4 user: drh tags: expr-simplify)
11:59
Make sure temporary Expr objects are fully initialized prior to sending them into sqlite3ExprCodeTemp(). (check-in: de02a1d97a user: drh tags: expr-simplify)
2018-09-18
21:35
In the Expr object, the Expr.eX field determines what value is stored in the Expr.x union. This mostly works, but there are issues identified by valgrind. (check-in: 8849a463d6 user: drh tags: expr-simplify)
20:20
Version 3.25.1 (check-in: 2ac9003de4 user: drh tags: release, version-3.25.1, branch-3.25)
19:40
Fix a problem building on Android with SQLITE_ENABLE_BATCH_ATOMIC_WRITE set. (check-in: e41e50fe74 user: dan tags: trunk)
18:08
Merge all recent trunk enhancements. (check-in: 655f065404 user: drh tags: expr-simplify)
17:50
Avoid incrementing the SQLITE_LOOKASIDE_MISS_SIZE stat before sqlite3_open() returns. Fix test script problem in lookaside.test. (check-in: e461cb2819 user: dan tags: trunk)
17:00
Enhance tester.tcl so that when "--malloctrace=1" is specified, the test generates self-contained Tcl scripts that present GUIs instead of *.sql files that require a separate program to interpret. (check-in: de2e3cbd08 user: dan tags: trunk)
16:06
Minor improvements to the permutations.test script. Most notably, a command like "permutations.test alter%" now runs all test scripts with names that match the LIKE pattern "alter%". Or, say, "permutations wal alter%" to run all alter% tests in wal mode. (check-in: 3e1a2f6614 user: dan tags: trunk)
2018-09-17
20:47
Further optimizations to the UPDATE logic to avoid making changes to partial indexes if none of the columns mentioned in the WHERE clause are modified by the UPDATE. (check-in: d1365a5bf0 user: drh tags: trunk)
15:25
Disable the ORDER BY LIMIT optimization in queries using window functions. This fixes a problem that was introduced by check-in [206720129ed2fa8875a286] which attempted to fix ticket [9936b2fa443fec03ff25f9]. This changes is a fix for the follow-in tocket [510cde277783b5fb5de628]. (check-in: 36c75fd5b7 user: drh tags: branch-3.25)
15:19
Disable the ORDER BY LIMIT optimization in queries using window functions. This fixes a problem that was introduced by check-in [206720129ed2fa8875a286] which attempted to fix ticket [9936b2fa443fec03ff25f9]. This changes is a fix for the follow-in tocket [510cde277783b5fb5de628]. (check-in: c6c9585f29 user: drh tags: trunk)
14:18
Fix a false-positive in the post-ALTER-TABLE schema verification logic that prevents ALTER TABLE from working if the table being altered has a trigger that references any column of a virtual table. Ticket [b41031ea2b537237]. (check-in: 5ce568c0e7 user: drh tags: branch-3.25)
14:13
Fix a false-positive in the post-ALTER-TABLE schema verification logic that prevents ALTER TABLE from working if the table being altered has a trigger that references any column of a virtual table. Ticket [b41031ea2b537237]. (check-in: 84105ea4af user: drh tags: trunk)
13:55
Restore an assert() that was present on trunk. (Closed-Leaf check-in: a7b572ca78 user: drh tags: tkt-b41031ea)
13:38
Minor modification to the fix on this branch to avoid adding extra conditional compilation macros. (check-in: 4d8be404da user: dan tags: tkt-b41031ea)
12:49
Fix missing space in 'configure.ac' reported on the mailing list. (check-in: 96b00a3cd2 user: mistachkin tags: trunk)
11:36
Increase the version number to 3.25.1. (check-in: f3c8cfdb35 user: drh tags: branch-3.25)
08:27
Add extra test for the fix on this branch. Also fix a pointer-compare-after-free problem that occurs in similar cases. (check-in: 1856ea63b3 user: dan tags: tkt-b41031ea)
00:15
Add assert()s to the new code in the previous check-in. (check-in: b12f23a5c4 user: drh tags: tkt-b41031ea)
2018-09-16
23:27
First proposed fix for the ALTER TABLE problem described by ticket [b41031ea2b5372378cb3d2d] (check-in: 05a9d12925 user: drh tags: tkt-b41031ea)
18:23
Remove an unreachable branch from the index-on-expression optimization. (check-in: 2df2cf4f17 user: drh tags: trunk)
16:34
Fix a memory leak in the explain extension. (check-in: d0c92b047a user: drh tags: trunk)
16:18
Add the new "explain" virtual table in ext/misc. Use this virtual table for additional test cases for the optimization that avoids updating indexes on expressions when none of the columns changed by the UPDATE are in the expression. (check-in: 2404304cc1 user: drh tags: trunk)
15:01
Improved presentation on the new code that prevents unnecessary writes to expressions on indexes during an UPDATE when the expression does not reference any of the columns that are changing. (check-in: c9f045295c user: drh tags: trunk)
2018-09-15
21:43
Increase the version number to 3.26.0 as we start the next development cycle. (check-in: 885f0f8252 user: drh tags: trunk)
21:38
Optimization: when doing an UPDATE on a table with indexes on an expression, do not update the expression indexes if they do not refer to any of the columns of the table being updated. (check-in: a71b101635 user: drh tags: trunk)
04:01
Version 3.25.0 (check-in: b63af6c3bd user: drh tags: trunk, release, version-3.25.0)
2018-09-14
17:42
Fix minor typos in comments that get carried over into documentation. No changes to code. (check-in: 7921dd91a1 user: drh tags: trunk)
2018-09-13
17:11
Update releasetest.tcl to run "make test" as part of the "Fast-One" configuration. (check-in: d5ebfe1c75 user: dan tags: trunk)
17:07
Make sure the %z optimization for printf() is not invoked if there has been a prior error (SQLITE_NOMEM or SQLITE_TOOBIG) associated with the same printf() call. (check-in: a2304a3474 user: drh tags: trunk)
13:17
Fix a requirement mark on a test script. No changes to code. (check-in: 628d5c0aa0 user: drh tags: trunk)
2018-09-12
20:32
Fix an assert() in os_unix.c that is not true when using RBU. (check-in: 028ed8618a user: dan tags: trunk)
15:51
Restrict the scope of internal-use functions in alter.c. (check-in: 4396914f8e user: drh tags: trunk)
14:28
Improvements to the documentation for SQLITE_FCNTL_DATA_VERSION. No changes to code. (check-in: 2783762433 user: drh tags: trunk)
08:51
Fix an invalid pointer comparison triggered by renaming a table column when there are views with explicit column names in the schema. (check-in: 572de7e4e3 user: dan tags: trunk)
01:05
Fix some harmless compiler warnings seen with MSVC. (check-in: 78862252da user: mistachkin tags: trunk)
00:48
For MSVC, migrate some commonly used shell compilation options to the library. (check-in: 68a71e5f4e user: mistachkin tags: trunk)
00:21
Fix a harmless compiler warning that arose from the ENABLE_CURSOR_HINTS fix of check-in [0af18674ca5b34e67e] (check-in: f578e62ae6 user: drh tags: trunk)
2018-09-11
19:05
Do not do the byte-by-byte modifications in the resetdb.test script if the reserved-byte flag in the DB header is non-zero, because in that case the bytes will be in the wrong place and the test won't work. (check-in: 0af18674ca user: drh tags: trunk)
13:38
Fix a problem causing ENABLE_CURSOR_HINTS builds to segfault. (check-in: e7033104fa user: dan tags: trunk)
2018-09-10
19:34
Fix a test script issue in fts3ao.test. (check-in: 74c381b573 user: dan tags: trunk)
19:27
Fix a minor problem causing an incorrect cursor-hint to be generated in some cases. (check-in: d879c47d7d user: dan tags: trunk)
17:21
Add the ability for loadable extensions to access the new sqlite3_create_window_function() interface. (check-in: 3def6d8ef1 user: drh tags: trunk)
16:38
Fix a broken assert() in fts3.c. (check-in: 564fa75195 user: dan tags: trunk)
14:43
New testcase() macros on virtual table xBestIndex logic. (check-in: 3bbd9c5f2f user: drh tags: trunk)
12:40
Fix the LIKE optimization so that it is disabled when the LHS of the expression does not have TEXT affinity and the RHS is the pattern '/%' or the RHS begins with the escape character. Fix for ticket [c94369cae9b561b1f996d0054b]. (check-in: f191431d63 user: drh tags: trunk)
12:17
Fix a problem with processing a "vtab.col IS NULL" expression within the WHERE clause of a query when "vtab" is a virtual table on the rhs of a LEFT JOIN. (check-in: 83da4d4104 user: dan tags: trunk)
2018-09-08
20:29
Fix an unreachable branch in the new sqlite3WhereOrderByLimitOptLabel() function of the query planner. (check-in: 5a954533ed user: drh tags: trunk)
20:09
Fix multiple issues with the ORDER BY LIMIT optimization. This is the proposed resolution to ticket [9936b2fa443fec03ff25]. (check-in: 206720129e user: drh tags: trunk)
16:55
Add a missing call to free() in Lemon. (check-in: 8b4cf33aaf user: mistachkin tags: trunk)
16:53
Fix typo in the Win32-specific code for the fileio extension. (check-in: e812e5d59a user: mistachkin tags: trunk)
2018-09-07
19:12
Remove a faulty ALWAYS() macro added by check-in [8fa254aa6329bdd0]. (check-in: fc47316e9b user: drh tags: trunk)
18:56
Add extra test case to altertab.test. (check-in: 64c3ee3c25 user: dan tags: trunk)
18:52
Add assert() and ALWAYS() to identify two unreachable branches. (check-in: 8fa254aa63 user: drh tags: trunk)
15:50
Fix a problem with renaming a non-temp table that has at least one temp trigger and shares its name with a temp table. (check-in: ceb60bd7e5 user: dan tags: trunk)
11:51
Minor fixes for problems revealed by releasetest.tcl. (check-in: 1a8aedc337 user: dan tags: trunk)
11:08
Fix an uninitialized variable in the OP_ParseSchema opcode that comes up only if the schema is corrupt. (check-in: 725808d4c5 user: drh tags: trunk)
2018-09-06
20:33
In all.test, do not attempt to run the RBU tests in non-RBU builds. (check-in: 10c3e5a031 user: dan tags: trunk)
19:36
Fix a harmless compiler warning in os_unix.c. (check-in: b9d1fb5d44 user: drh tags: trunk)
18:56
Fix a problem with ALTER TABLE when there are views or triggers in the schema that contain "<expr> IS NULL" expressions. (check-in: 91aab32e71 user: dan tags: trunk)
17:47
Fix a problem in ALTER TABLE with SQLITE_OMIT_VIRTUALTABLE builds. (check-in: fa835145e6 user: dan tags: trunk)
17:23
Fix test script problems causing SQLITE_OMIT_VIRTUALTABLE builds to fail. (check-in: 37ad064e5f user: dan tags: trunk)
16:50
Merge accidental fork. (check-in: ebadb7dc25 user: mistachkin tags: trunk)
16:47
Fix harmless compiler warning. (check-in: 88b39c46c1 user: mistachkin tags: trunk)
16:47
Fix a problem causing SQLITE_OMIT_VIRTUALTABLE builds to fail. (check-in: 18beabc848 user: dan tags: trunk)
16:24
Add new test file "alterauth.test". (check-in: 00940265b1 user: dan tags: trunk)
16:20
Add an "ALTER TABLE RENAME COLUMN" command. Upgrade "ALTER TABLE RENAME TABLE" so that it modifies references to the renamed table embedded in SQL view and trigger definitions. (check-in: 4da5998314 user: dan tags: trunk)
16:17
Merge latest trunk changes into this branch. (Closed-Leaf check-in: 8a28a326d7 user: dan tags: alter-table-rename-column)
16:01
Ensure that the tbl_name column in the sqlite_temp_master table is updated correctly as part of a RENAME TABLE operation. (check-in: ffecfca511 user: dan tags: alter-table-rename-column)
14:01
Add the randomshape.tcl test-case generator script to the util subdirectory of the rtree extension. (check-in: 8f48991dcb user: drh tags: trunk)
11:14
Fix excess memory usage in the JSON parser of GEOPOLY. (check-in: 9057e27e12 user: drh tags: trunk)
02:40
Fix a problem with geopoly trying to update both the _shape and an auxiliary column in the same UPDATE statement. (check-in: 14c955152d user: drh tags: trunk)
2018-09-05
17:52
Merge latest trunk changes into this branch. (check-in: 6f4f707f9c user: dan tags: alter-table-rename-column)
17:45
Fix some test script errors. And an incorrect assert() in fts5. (check-in: f804336f08 user: dan tags: alter-table-rename-column)
16:16
Remove an old testcase() macro that is no longer valid. (check-in: e628713338 user: drh tags: trunk)
14:36
Avoid comparing pointer values after the object that they point to has been deleted. (check-in: 2ec7e50cbc user: dan tags: alter-table-rename-column)
08:28
Fix minor code issues in alter.c. (check-in: 18ba35b86f user: dan tags: alter-table-rename-column)
2018-09-04
18:23
Merge latest trunk changes into this branch. (check-in: ef9e088290 user: dan tags: alter-table-rename-column)
2018-09-03
20:05
Improve the error messages emitted by RENAME TABLE. (check-in: 6805b5900d user: dan tags: alter-table-rename-column)
17:11
Ensure that FTS5 queries of the form "WHERE rowid BETWEEN ? AND ? AND tbl MATCH ? ORDER BY rank" do rowid filtering before sorting. (check-in: f1138a38bd user: dan tags: trunk)
2018-09-01
20:38
Add another test case to altertab.test. (check-in: 828e8849fa user: dan tags: alter-table-rename-column)
20:23
Fix a problem with renaming a column in a table that has a temp trigger that references another attached database. (check-in: 336b8a0923 user: dan tags: alter-table-rename-column)
20:02
Fixes for harmless compiler warnings. (check-in: 41b8f38b97 user: drh tags: alter-table-rename-column)
16:55
Fix some harmless compiler warnings and improve defenses against OOM errors. (check-in: 2e2cf992f5 user: drh tags: alter-table-rename-column)
16:13
Merge alter-table-rename-table back into this branch. (check-in: ad704a7c86 user: dan tags: alter-table-rename-column)
16:05
Have "ALTER TABLE ADD COLUMN" reload the entire db schema, as "RENAME COLUMN" and "RENAME TABLE" do. (Closed-Leaf check-in: 8d89ddc1a6 user: dan tags: alter-table-rename-table)
15:55
Merge fixes from the alter-table-rename-column branch that occurred after this branch separated from that one. (check-in: 22e785aa2b user: drh tags: alter-table-rename-table)
15:49
Merge fixes and enhancements from trunk. (check-in: 589186c083 user: drh tags: alter-table-rename-table)
06:13
Update test script snapshot_fault.test to account for the new sqlite3_snapshot_open() error code. (check-in: c1aca7673a user: dan tags: trunk)
2018-08-31
23:22
New hyperlink on the README.md file. (check-in: c663961e34 user: drh tags: trunk)
19:00
If a call to sqlite3_snapshot_open() fails because the requested snapshot no longer exists, return SQLITE_ERROR_SNAPSHOT instead of SQLITE_BUSY_SNAPSHOT. (check-in: e07923128b user: dan tags: trunk)
18:23
Ensure b-tree mutexes are always held when sqlite3FindTable() is called. Do not invoke the authorizer callback when parsing schema items as part of ALTER TABLE commands. Fix test script issues. (check-in: eac2aa7dce user: dan tags: alter-table-rename-table)
2018-08-30
20:28
Try to identify the places in WAL code where thread-safety depends on the underlying architecture supporting atomic load and store of aligned 32-bit values. (check-in: 47d44be4a6 user: drh tags: trunk)
20:03
Test the schema after renaming a table. Ensure that temp database triggers and views are updated when renaming a column. (check-in: f3c27d916d user: dan tags: alter-table-rename-table)
18:53
Give the debugging routine print_pager_stats() external linkage in order to suppress harmless compiler and TSAN warnings. (check-in: ff4dc08298 user: drh tags: trunk)
16:26
Fix an ALTER TABLE problem with processing temp schema views and triggers. (check-in: 72cfb1be29 user: dan tags: alter-table-rename-table)
01:52
Improved JSON parser caching. (check-in: 58078c0d26 user: drh tags: trunk)
2018-08-29
21:01
Additional test cases for geopoly. (check-in: 19b5eb45e0 user: drh tags: trunk)
21:00
Extend RENAME TABLE to edit triggers and views. Still buggy. (check-in: 01308bae3a user: dan tags: alter-table-rename-table)
20:52
Fixes to the UPDATE logic in Geopoly. (check-in: 7c3cee0a2a user: drh tags: trunk)
20:24
Also free up the MEM_RowSet bit in the Mem.flags field and have RowSet objects be destroyed using Mem.xDel. This change results in faster code. (check-in: f48e9feb3f user: drh tags: trunk)
18:47
Free up the MEM_Frame bit in Mem.flags object. Store VdbeFrame objects as MEM_Blob with a special Mem.xDel pointer instead. (check-in: 62db5fd476 user: drh tags: trunk)
15:50
Add the geopoly_group_bbox() aggregate function to the Geopoly module. (check-in: 2d4debccbc user: drh tags: trunk)
2018-08-28
21:12
Disable the server1.test script on old PPC Macs due to problems in the pthreads implementation on those archaic machines. (check-in: 43efdd8c7e user: drh tags: trunk)
19:23
Stricter enforcement of the JSON and GeoJSON standards in the Geopoly extension. (check-in: c0bf3ff3af user: drh tags: trunk)
15:51
Fix new issues in the geopoly module discovered by TH3. (check-in: 22fff9afc2 user: drh tags: trunk)
11:23
Fix a problem causing spurious SQLITE_CORRUPT errors when using the snapshot API to read from old database snapshots. (check-in: 535155be58 user: dan tags: trunk)
2018-08-27
17:13
Add support for the Geopoly extension to the R-Tree extension. This also involves adding the SQLITE_INDEX_CONSTRAINT_FUNCTION capability to the xFindFunction method of the sqlite3_module object, and to the sqlite3_index_info.aConstraint.op field in the xBestIndex implementation of virtual tables. (check-in: 666133e32c user: drh tags: trunk)
17:05
Minor changes to the visual01.txt test script. (Closed-Leaf check-in: 4bc28eed32 user: drh tags: rtree-geopoly)
15:55
Split the three-argument version of geopoly_within() off into a separate function named geopoly_contains_point(). (check-in: 5a0e154103 user: drh tags: rtree-geopoly)
2018-08-25
23:03
Enhance the geopoly virtual table so that it does a better job of optimizing geopoly_within() queries. (check-in: 1f71738534 user: drh tags: rtree-geopoly)
19:51
Provide the two-argument geopoly_within(P1,P2) routine that determines if polygon P2 is contained within polygon P1. Make this function available to the query planner for optimized rtree lookups. Update the visual01.txt script to verify that the new functionality actually works. (check-in: 6eb5d09b7f user: drh tags: rtree-geopoly)
18:57
Fix a harmless compiler warning. (check-in: d49be9838d user: drh tags: rtree-geopoly)
16:22
Fix a minor issue in the altercol.test script so that it runs on Windows. (check-in: 62089c6daf user: drh tags: alter-table-rename-column)
16:14
Invoke the authorizer for ALTER TABLE RENAME COLUMN. (check-in: fc293bcb34 user: drh tags: alter-table-rename-column)
03:29
Remove an unnecessary IN_RENAME_COLUMN macro from resolve.c. (check-in: 5858c0bde7 user: drh tags: alter-table-rename-column)
02:04
The implementation of sqlite_rename_column() must be holding the schema mutexes. (check-in: f0eed21d4e user: drh tags: alter-table-rename-column)
2018-08-24
20:20
Fix a problem by renaming a column when the schema contains an trigger program featuring an UPSERT that uses an "excluded.*" reference to a different table. (check-in: 83d5f5abce user: dan tags: alter-table-rename-column)
20:10
Fix a problem with renaming a column that occurs as an "excluded.colname" construction in an UPSERT that is part of a trigger program. (check-in: bb2f723496 user: dan tags: alter-table-rename-column)
19:04
Set SQLITE_PTRSIZE to 4 when compiling with xlc on 32-bit AIX. (check-in: d158e5b12e user: mistachkin tags: trunk)
17:55
After modifying and reparsing the schema as part of an ALTER TABLE RENAME COLUMN, check that no new schema errors have been introduced (e.g. ambiguous column names in views) before committing the operation. (check-in: a0e06d2c5e user: dan tags: alter-table-rename-column)
16:04
Avoid incorrectly replacing tokens that refer to a column being renamed via an alias. For example, do not overwrite "xyz" when "a" is renamed in "CREATE VIEW v1 AS SELECT a AS xyz FROM tbl WHERE xyz=1" (check-in: ad072a835f user: dan tags: alter-table-rename-column)
2018-08-23
20:09
Add the "atrc" test program to the Makefiles. Fix a typo in the instructions in the header comment of the atrc program. (check-in: 2130a407dd user: drh tags: alter-table-rename-column)
19:32
Fix harmless compiler warnings in the ALTER TABLE logic. Rephrase an error message to use active voice. (check-in: a7dae59a7e user: drh tags: alter-table-rename-column)
18:56
Automatically detect when compiling for AArch64 on windows and set SQLITE_BYTEORDER to little-endian to avoid compile-time testing. (check-in: ef6729be85 user: drh tags: trunk)
18:50
The Expr.iColumn field must also be initialized in tokenExpr(). (check-in: 772985f18b user: drh tags: alter-table-rename-column)
18:22
Make sure the Expr.iTable field is initialized by tokenExpr(). (check-in: 02a05a3b3c user: drh tags: alter-table-rename-column)
14:54
Merge enhancements from trunk. (check-in: c446c88411 user: drh tags: rtree-geopoly)
2018-08-21
17:03
Fix a test case that was failing for SQLITE_ENABLE_STAT4 builds. (check-in: 1e29fd430d user: dan tags: trunk)
16:32
Rename internal function sqlite3RenameToken() to sqlite3RenameTokenMap() and sqlite3MoveRenameToken() to sqlite3RenameTokenRemap(). (check-in: b9ae9a0a18 user: dan tags: alter-table-rename-column)
15:06
Rationalize some duplicated code in alter.c. Also improve error messages for ALTER TABLE RENAME COLUMN in some cases. (check-in: 5d2163c734 user: dan tags: alter-table-rename-column)
12:46
Further attempts to reduce the number of false-positives genenerated by static analysis tools. (check-in: 38f9ce6503 user: drh tags: trunk)
12:16
Fix various harmless warnings generated by static analysis tools. (check-in: a04a0ea9e3 user: drh tags: trunk)
08:29
Minor changes to function tokenExpr() in order to claw back cycles lost to the rename-column change. (check-in: 479976955e user: dan tags: alter-table-rename-column)
2018-08-20
20:01
Add further tests for RENAME COLUMN. (check-in: 82c4c10a96 user: dan tags: alter-table-rename-column)
16:16
Ensure that it is not possible to rename columns of system tables, views or virtual tables. (check-in: 786b5991dc user: dan tags: alter-table-rename-column)
2018-08-18
18:27
Additional fixes for harmless compiler warnings that are specific to this branch. (check-in: 9d8e73bf71 user: drh tags: alter-table-rename-column)
18:14
Merge trunk fixes. (check-in: ccad277927 user: drh tags: alter-table-rename-column)
18:01
Have ALTER TABLE RENAME COLUMN also edit trigger and view definitions. (check-in: 7908e8a4a3 user: dan tags: alter-table-rename-column)
17:35
Improvements to error handling in ALTER TABLE RENAME COLUMN. (Closed-Leaf check-in: 7fa1faeaff user: dan tags: edit-trigger-wrapper)
2018-08-17
21:14
Fix harmless compiler warnings only seen with STAT4 enabled. (check-in: 6f5e84bafc user: mistachkin tags: trunk)
18:08
Allow an ALTER TABLE RENAME COLUMN to proceed even if the schema contains a virtual table for which the module is unavailable. (check-in: 7b72b2360a user: dan tags: edit-trigger-wrapper)
17:18
Ensure that CREATE VIEW, TRIGGER or INDEX statements can be edited by ALTER TABLE RENAME COLUMN even if they use collation-sequences or user-defined-functions that are not available. (check-in: 540014efd6 user: dan tags: edit-trigger-wrapper)
2018-08-16
19:49
Further progress on updating trigger programs as part of ALTER TABLE RENAME COLUMN. (check-in: 3f47222b6e user: dan tags: edit-trigger-wrapper)
16:24
Fix a harmless unused-variable compiler warning that only came up in certain compile-time configurations. (check-in: 456842924b user: drh tags: trunk)
15:29
Fix EXPLAIN QUERY PLAN so that it describes IN operators implemented using a ROWID lookup. (check-in: 60045fbf52 user: drh tags: trunk)
2018-08-15
20:28
Have ALTER TABLE RENAME COLUMN edit trigger programs. Only partly working. (check-in: e272dc2b1c user: dan tags: edit-trigger-wrapper)
14:03
Allow sqlite3_snapshot_open() to be called to change the snapshot after a read transaction is already open on database. (check-in: 4139916995 user: dan tags: trunk)
2018-08-14
21:05
Fix a problem when renaming an IPK column that is also part of a child key. (check-in: 6e6a2bfdbb user: dan tags: edit-trigger-wrapper)
21:03
Fix a problem when renaming an IPK column that is also part of a child key. (check-in: ad15486022 user: dan tags: alter-table-rename-column)
20:40
Merge latest trunk and ALTER TABLE error message improvements into this branch. (check-in: 7a45802daf user: dan tags: edit-trigger-wrapper)
20:38
Do not allow ALTER TABLE RENAME COLUMN on a virtual table. (check-in: f6d6b47271 user: drh tags: alter-table-rename-column)
20:18
Have ALTER TABLE RENAME edit column references in CREATE VIEW statements. (check-in: db829dc1a2 user: dan tags: edit-trigger-wrapper)
19:27
Improved error messages when an ALTER TABLE RENAME COLUMN fails due to a duplicate column name. (check-in: 37d11b8e82 user: drh tags: alter-table-rename-column)
18:12
Merge fixes and enhancements from trunk. (check-in: dff0314b7e user: drh tags: alter-table-rename-column)
16:18
Fix ALTER TABLE RENAME COLUMN in cases where the column being renamed is an IPK declared with a separate PRIMARY KEY clause - "CREATE TABLE x(y INTEGER, PRIMARY KEY(y))". (check-in: 32ca8418df user: dan tags: alter-table-rename-column)
15:12
Fix UPSERT so that it checks the target-constraint first and fires the DO UPDATE if that constraint is violated regardless of whether or not other constraints are in violation. This aligns SQLite behavior with what PostgreSQL does. Fix for ticket [908f001483982c43cdb476dfb590a1a]. (check-in: 529fb55e3d user: drh tags: trunk)
2018-08-13
22:50
Stop requiring the global VFS mutex to access the unixInodeInfo.pUnused field. The unixInodeInfo mutex is sufficient. (check-in: e3ea43dabf user: drh tags: trunk)
20:46
Take extra precautions to ensure access to unixInodeInfo.pUnused is protected by all necessary mutexes. (check-in: 8b1e0010b9 user: drh tags: trunk)
17:14
Edit the WHEN and UPDATE OF clauses of trigger programs as part of ALTER TABLE RENAME COLUMN. (check-in: 5fdb6b0aaf user: dan tags: edit-trigger-wrapper)
17:02
Make the sqlite_rename_column() SQL function resistant to problems caused by OOMs and/or malformed parameters submitted by hostile application code. Also add additional comments to the RENAME COLUMN logic. (check-in: 87743ddef1 user: drh tags: alter-table-rename-column)
15:09
Fix legacy comments on Token. Begin commenting the new ALTER TABLE RENAME COLUMN code. Fix a memory leak in the sqlite_rename_column() SQL function. (check-in: 32edc89203 user: drh tags: alter-table-rename-column)
13:43
Fix issues with ALTER TABLE RENAME COLUMN associated with OOM errors. (check-in: 0b28dd5c2e user: drh tags: alter-table-rename-column)
12:58
Fix a heap-corruption causing race condition in os_unix.c that could occur when one thread wal opening a database file while another is unlocking the same file. Edit: Let's go in a slightly different direction with this fix. (Closed-Leaf check-in: 2447e0fd98 user: dan tags: unix-lock-fix-attempt)
11:32
Fix an incorrect comment on the unix-nolock VFS object. No functional code changes. (check-in: 90f7c193b4 user: drh tags: trunk)
2018-08-11
20:46
Add the "atrc" test program. "Atrc" is short for "ALTER TABLE RENAME COLUMN". See the header comment on the program itself for further information. (check-in: ed64a55a22 user: drh tags: alter-table-rename-column)
20:38
If the new column name in an ALTER TABLE RENAME COLUMN statement is quoted, then also use quotes for the column name in the edited SQL statements. (check-in: ca5184a25f user: dan tags: alter-table-rename-column)
18:34
Avoid an assert() sometimes triggered by ALTER TABLE RENAME COLUMN in non-debug builds. (check-in: 520c1c75da user: dan tags: alter-table-rename-column)
17:49
Fix a bug causing ALTER TABLE RENAME COLUMN to fail when renaming an IPK column that is used in a CHECK constraint. (check-in: 6595c8811f user: dan tags: alter-table-rename-column)
17:34
Fix a bug causing all ALTER TABLE RENAME COLUMN commands to fail if ANALYZE had been run on the database. Also prevent the user from renaming the columns of system tables. (check-in: ca644a2877 user: dan tags: alter-table-rename-column)
13:40
Reload the entire schema after renaming a column in order to ensure that the schema for any tables for which parent key definitions were changed are reloaded. (check-in: f4497b0136 user: dan tags: alter-table-rename-column)
2018-08-10
20:19
Ensure the schema cookie is changed when a column is renamed. (check-in: 2dec9ea4ab user: dan tags: alter-table-rename-column)
19:33
Fix harmless compiler warnings. (check-in: 9564d7008c user: drh tags: alter-table-rename-column)
19:19
When a column is renamed, update any references to it in REFERENCES clauses that belong to other tables. (check-in: 191079bd4f user: dan tags: alter-table-rename-column)
15:27
Merge latest trunk changes with this branch. (check-in: c355a83707 user: dan tags: alter-table-rename-column)
14:23
Fix a problem with renaming columns on tables with REFERENCES clauses that specify a large number of columns. (check-in: d48f7bbdf4 user: dan tags: alter-table-rename-column)
2018-08-09
21:45
Fix the isLikeOrGlob() routine in the WHERE clause processing logic so that it avoids signed/unsigned character comparisons, as that can lead to an incorrect answer if the ESCAPE clause is an invalid UTF8 string. Problem found by OSSFuzz. (check-in: 4195a3f8b5 user: drh tags: trunk)
20:47
Experimental implementation of ALTER TABLE ... RENAME COLUMN. Still buggy. (check-in: fa0fc01eb4 user: dan tags: alter-table-rename-column)
18:36
When a column must be a constant due to WHERE clause and the value of that column is being coded as a constant, make sure the affinity is correct. (check-in: 7404ea8316 user: drh tags: trunk)
2018-08-08
20:46
Minor style improvements. (check-in: 60bbca2b9a user: mistachkin tags: trunk)
2018-08-06
17:12
Allow sqlite3_snapshot_open() to be called to change the snapshot after a read transaction is already open on database. (Closed-Leaf check-in: 051ac01520 user: dan tags: exp-snapshot-open)
02:08
Enhance the edit() function so that it converts text from \r\n back into \n only if the original unedited copy contained no \r\n values. (check-in: 20c995d3f0 user: drh tags: trunk)
01:39
Add the --info option to the fuzzcheck test utility. (check-in: 1caaaaa70f user: drh tags: trunk)
01:21
Fix an overzealous assert() statement discovered by OSSFuzz. (check-in: d9c9fe9f5a user: drh tags: trunk)
2018-08-04
20:30
Remove the column-cache from the code generator. The column-cache has been a persistent source of bugs for years and with recent improvements in the performance of OP_Column, it no longer provides a benefit. After the column cache is removed, the binary is almost 2KB smaller and the speed-check.sh performance test is over 3 million cycles faster. (check-in: cdff3af7be user: drh tags: trunk)
20:12
Remove a testcase() that is no longer reachable without the column cache. Provide an assert() to help prove that the testcase is no longer reachable. (Closed-Leaf check-in: a500893b6f user: drh tags: omit-column-cache)
17:15
Fix comments that were made obsolete by the removal of the column cache. (check-in: 2041231d56 user: drh tags: omit-column-cache)
16:54
Remove more column-cache residue: The OP_SetColTab and OP_VerifyColTab opcodes and the associated SQLITE_DEBUG_COLUMNCACHE logic. (check-in: 80236e81ce user: drh tags: omit-column-cache)
15:53
Further logic simplifications that flow out of the omission of the column cache. (check-in: 7d9072b027 user: drh tags: omit-column-cache)
15:28
Add test cases for the constant expression fix of the previous check-in. (check-in: 95db5bd9fe user: drh tags: trunk)
15:16
Ensure that all expressions that are to be evaluated once at the start of a prepared statement (the Parse.pConstExpr expressions) pass the sqlite3ExprIsConstantNotJoin() test. It is not sufficient to pass just the sqlite3ExprIsConstant() test as that would allow through column references that are bound to constants by the WHERE clause in the constant propagation optimization. This fixes a problem discovered by OSSFuzz. (check-in: 8bc7f84c39 user: drh tags: trunk)
14:30
Remove additional traces of the column cache. (check-in: db6052e972 user: drh tags: omit-column-cache)
2018-08-03
23:04
Completely remove the column cache logic, which has been a persistent source of bugs for many years. Due to recent enhancements to the performance of the OP_Column opcode, removing the column cache actually makes speed-check.sh run faster. Removing the column cache also saves about 1,800 bytes of code space. (check-in: 3f5f60cd75 user: drh tags: omit-column-cache)
20:19
Fix the handling of sub-queries with LIMIT clauses by the optimization activated by compile-time symbol SQLITE_COUNTOFVIEW_OPTIMIZATION. (check-in: 21235d9a41 user: dan tags: trunk)
15:58
Fix the OP_SeekRowid opcode so that it has no type-change side-effects on the key register in P3. This fixes an obcure problem that arises when doing equi-joins between a table with a TEXT column against another table with an INTEGER PRIMARY KEY. The original problem was discovered when OSSFuzz created such a query and hit an assert() in OP_VerifyTabCol that was specifically designed to catch these kinds of errors at run-time. Test cases for this fix are in TH3. (check-in: fa94b49e02 user: drh tags: trunk)
13:56
Improve "PRAGMA vdbe_trace=ON" to always show the key values for the OP_IdxGT and related opcodes. (check-in: 0f881955ed user: drh tags: trunk)
2018-07-29
18:56
In the command-line shell, always exit if realloc() fails. (check-in: e390023c8e user: drh tags: trunk)
2018-07-28
21:01
Add a small cost penalty to sorting to bias the query planner in favor of plans that do not require a final sorting pass. (check-in: 85b9beb460 user: drh tags: trunk)
16:24
Do not allow a column reference that is converted into a constant by the WHERE-clause constant propagation optimization to be moved to the init-time constant expression list, as the table reference will not work there. This fixes a problem found by OSSFuzz. (check-in: d30b2a9473 user: drh tags: trunk)
14:56
Fix an assert() statement that was made obsolete by the constant propagation enhancement. Problem discovered by OSSFuzz. (check-in: e4b4737e34 user: drh tags: trunk)
14:34
Improved debugging output when the ".selecttrace" option is used in the shell. (check-in: fcb88dd6b0 user: drh tags: trunk)
13:37
An early attempt at refactoring Expr (Closed-Leaf check-in: fc90a53de7 user: drh tags: expr-simplify-branch1)
01:30
Add assert() statements to sqlite3ExprDelete() that prove various symmetry properties of the Expr object that might be exploited to make the Expr object smaller and faster. (check-in: 81f25d5c84 user: drh tags: expr-simplify)
2018-07-27
23:33
Improvements to the parser to increase coverage. Fix the parser so that at least one expresssion is required after PARTITION BY and within the list of expressions on VALUES(). (check-in: 02204f8b24 user: drh tags: trunk)
22:55
When doing a DROP VIEW do not try to delete entries from the sqlite_stat1 table as there are none. (check-in: 7efdba2bbc user: drh tags: trunk)
22:14
Minor grammar changes that help the parser run faster by reducing the number of NUL rule reductions. (check-in: cfd1b00592 user: drh tags: trunk)
20:45
Enhance Makefile for MSVC to support building the shell tool without using the amalgamation. (check-in: 3d815d83a6 user: mistachkin tags: trunk)
20:37
The WHERE-clause constant propagation optimization attempts to use transitive laws to replace column values with constants in the WHERE clause in order to help to query planner make more aggressive optimizations. (check-in: f4229707ac user: drh tags: trunk)
20:01
Reduce the performance cost of the constant propagation optimization to less than 200,000 cycles. (Closed-Leaf check-in: 865249de68 user: drh tags: propagate-const-opt)
18:19
Performance improvement to sqlite3ExprCollSeq(). With this change, the performance of speed-check.sh is within 400,000 cycles of trunk. (check-in: a5f86f49b7 user: drh tags: propagate-const-opt)
18:12
Faster implementation of sqlite3IsBinary(). (check-in: be05d0db09 user: drh tags: propagate-const-opt)
17:51
Only run the constant propagation optimization on joins since that is the only scenario where it is useful. This saves prepare time for the common case of a simple query. (check-in: 598d608359 user: drh tags: propagate-const-opt)
16:57
Constant propagation is now restricted to just the WHERE clause. The mechanism is changed to take affinity and collation into account. This seems to give correct answers. But the search for constant propagation costs 4 million cycles in the speed test. (check-in: 82c67efb72 user: drh tags: propagate-const-opt)
2018-07-26
23:54
Add a test case demonstrating the collation problem with constant propagation. (check-in: 50add839fd user: drh tags: propagate-const-opt)
23:47
Generalize the constant propagation optimization so that it applies on every WHERE close, not just those that contain a subquery. This then demonstrates that the current implementation is inadequate since it does not take into account collating sequences. (check-in: 57eb2abd5b user: drh tags: propagate-const-opt)
21:48
In the unix VFS, give every unixInodeInfo object its own mutex, rather than using the global VFS mutex, to improve concurrency in cases where there are many threads operating on separate database files. (check-in: 22f47cf430 user: drh tags: trunk)
21:16
Initial implementation of the WHERE-clause constant propagation optimization. (check-in: 2fb82ad8eb user: drh tags: propagate-const-opt)
2018-07-25
15:25
Fix a buffer overread in fts5. (check-in: 0e3de8abbb user: dan tags: trunk)
15:12
Keep generated opcode values grouped together when required, even when they do not correspond to a token. (check-in: 6ee2950b27 user: mistachkin tags: trunk)
07:29
Fix a typo in the documentation for sqlite3_snapshot_get(). (check-in: cd9713c9a8 user: dan tags: trunk)
2018-07-24
22:02
Do not abort running queries due to a CREATE INDEX statement. Allow them to run to completion before being reprepared. Fix for ticket [c694113e50321afdf9]. (check-in: 2bd593332d user: drh tags: trunk)
13:57
Add missing SQLITE_OMIT_WINDOWFUNC check to the json1 extension. (check-in: fe19f8239d user: mistachkin tags: trunk)
2018-07-23
22:55
Return an SQLITE_NOMEM error if the locking mutex fails to allocate. (Closed-Leaf check-in: 1c94834879 user: drh tags: separate-lock-mutex)
21:10
First attempt at reducing mutex contention in the unix VFS by providing a separate mutex for each unixInodeInfo object. (check-in: f69afaf00a user: drh tags: separate-lock-mutex)
18:53
Fix typo of 'SQLITE_OMIT_WINDOWFUNC'. (check-in: 8607b84a5c user: mistachkin tags: trunk)
18:32
Attempt to improve the documentation for snapshots. No changes to code. (check-in: 46dd076af5 user: drh tags: trunk)
10:57
Fix the macros used to generate the output of "PRAGMA compile_options" so that they handle valid values for the SQLITE_DEFAULT_LOOKASIDE macro (which contain a "," character). (check-in: 1cc72845f9 user: dan tags: trunk)
2018-07-22
21:23
Fix more harmless compiler warnings seen with MSVC. (check-in: edab5666f8 user: mistachkin tags: trunk)
21:08
Another minor revision to the 'fulltestonly' set of tests. (check-in: 61f8e2a4c6 user: mistachkin tags: trunk)
20:24
Fix harmless compiler warning. (check-in: ead4762dfc user: mistachkin tags: trunk)
06:25
In the Win32 VFS, when truncating a file, unmap it first. (check-in: 21510a66dc user: mistachkin tags: trunk)
00:45
Remove an unused branch in the FK logic. (Closed-Leaf check-in: 523ff77925 user: drh tags: dropViewNoStat)
2018-07-21
23:15
In 'resetdb.test', close a database prior to trying to delete it. (check-in: 45137053a5 user: mistachkin tags: trunk)
2018-07-20
20:56
When dropping a view, skip trying to delete from 'sqlite_stat*'. (check-in: 2f5be3a2dd user: mistachkin tags: dropViewNoStat)
19:24
Change the SQLITE_Stat34 bit of the optimization test-control so that it prevents STAT4 data from being used but allows it to be loaded into the Index objects. This permits STAT4 to be turned on and off on a per-statement basis. (check-in: 489f3caf5d user: drh tags: trunk)
18:01
Experimental change to ANALYZE so that when computing values for sqlite_stat1, it uses the maximum number for the number of rows having equivalent values, rather than the average. (Leaf check-in: 085f17e124 user: drh tags: stat1-max)
15:44
New checks in PRAGMA integrity_check to validate the autovacuum settings in the header. (check-in: a4663f09c9 user: drh tags: trunk)
13:39
Enhanced detection of problems on the freelist and on overflow list in PRAGMA integrity_check. (check-in: 11e58f5b37 user: drh tags: trunk)
2018-07-19
15:27
Avoid a branch in the commit logic that is unreachable when compiled without SQLITE_ENABLE_BATCH_ATOMIC_WRITE. (check-in: 271b8980c3 user: drh tags: trunk)
14:40
Allow the VACUUM following SQLITE_DBCONFIG_RESET_DATABASE to proceed even if the write-version in the header indicates that the database file is not writable. (check-in: 3dca8b9d5a user: drh tags: trunk)
11:44
Experimental fix for resetting databases that have been deemed read-only due to a corrupt "read-version" header field. (Closed-Leaf check-in: e2394002d0 user: dan tags: exp-dbreset-fix)
2018-07-18
19:09
Add the SQLITE_FCNTL_DATA_VERSION file control (check-in: a5087c5c87 user: drh tags: trunk)
17:37
Fix a harmless compiler warning in the pager. Enhance the docs for sqlite3_changes() and sqlite3_total_changes() to refer to the data_version pragma. (check-in: 4c70ea5b0e user: drh tags: trunk)
2018-07-17
14:01
If an SQLITE_IOERR error is encountered as part of an atomic commit on an F2FS file-system, retry the commit in legacy journal mode. (check-in: 2e0357c2ed user: dan tags: trunk)
13:55
Fix for builds without SQLITE_ENABLE_BATCH_ATOMIC_WRITE. (Closed-Leaf check-in: b10ec14ef7 user: dan tags: exp-retry-atomic-commit)
2018-07-16
20:44
Add new file doc/F2FS.txt, containing notes on the way SQLite uses the F2FS atomic commit feature. (check-in: 59efb1bfab user: dan tags: exp-retry-atomic-commit)
11:32
Minor simplification to sqlite3RollbackAll(). (check-in: 432fdc2215 user: drh tags: trunk)
2018-07-14
20:25
If an SQLITE_IOERR error is encountered as part of an atomic commit on an F2FS file-system, retry the commit in legacy journal mode. (check-in: 1c41250f67 user: dan tags: exp-retry-atomic-commit)
2018-07-13
20:28
Remove an unused function declaration from fts5. (check-in: 148d9b6147 user: dan tags: trunk)
19:52
Add the "categories" option to the unicode61 tokenizer in fts5. (check-in: 80d2b9e635 user: dan tags: trunk)
2018-07-12
19:39
Merge latest begin-concurrent changes with this branch. (check-in: d33527d223 user: dan tags: begin-concurrent-pnu)
19:28
Merge latest trunk changes into this branch. (check-in: 6a00a34e19 user: dan tags: begin-concurrent)
19:14
Add a test-control to disable the skip-scan optimization. (check-in: 650a3fe03d user: dan tags: trunk)
11:28
Add a test case to check that SQLITE_DBCONFIG_RESET_DATABASE can be used with wal mode databases even if there are active readers. (check-in: 6145f5b3ba user: dan tags: trunk)
2018-07-11
13:34
On an UPSERT when the order of constraint checks is rearranged, make sure that the affinity transformations on the inserted content occur before any of the constraint checks. Fix for ticket [79cad5e4b2e219dd197242e9e5f4e]. (check-in: d120c45f3d user: drh tags: trunk)
03:27
Adjustments to VdbeCoverage macros to deal with byte-code branches that can never be taken in some directions. (check-in: b170c0092b user: drh tags: trunk)
2018-07-10
23:31
Remove incorrect ALWAYS() macros from the window function logic. (check-in: 94ac51cc4e user: drh tags: trunk)
22:24
Add VdbeModuleComment()s on the three main code generators for window functions. (check-in: f7c239e959 user: drh tags: trunk)
20:50
Minor comment changes. Add ALWAYS() macros on some unreachable branches in the xStep() methods of built-in window functions. (check-in: f2057542cf user: drh tags: trunk)
19:48
Identify Select objects within a single statement using small sequential integers rather than "0x%p". This is more readable and yields the same result on successive runs. (check-in: a7cdc5bc85 user: drh tags: trunk)
18:50
Modify tests in window3.test to be tolerant of rounding errors when comparing floating point values. (check-in: 7c26c443e7 user: dan tags: trunk)
17:26
Fix a problem with using scalar sub-selects in window function queries. (check-in: 687fe532c2 user: dan tags: trunk)
17:10
Further improvements to bytecode branch testing. Fix cases where the macros said a branch could not be taken when in fact it could be. Alter some window function branch coverage macros to indicate that comparison operands cannot be NULL. (check-in: 76e42b7071 user: drh tags: trunk)
16:04
Enhancements and improved documentation to the byte-code branch coverage testing logic. Provide new macros that allow the code to specify that some branch instructions can never take the NULL path and that the OP_Jump opcode is only interested in equal/not-equal. The SQLITE_TESTCTRL_VDBE_COVERAGE file control callback now works slightly differently (it provides the callback with a bitmask of the branch action, rather than an integer). (check-in: cd2da7e1ba user: drh tags: trunk)
15:55
Experimental planner change to avoid a skip-scan if a regular index scan on the same index columns can be done instead. (Leaf check-in: 350f29ea1c user: dan tags: exp-begin-concurrent-pnu)
15:48
Merge begin-concurrent changes into this branch. (check-in: af17432eb1 user: dan tags: begin-concurrent-pnu)
15:45
Merge latest trunk changes into this branch. (check-in: e9a3e8642e user: dan tags: begin-concurrent)
07:39
Fix a harmless warning about comment formatting in the previous check-in. Simplify the ORDER BY dereferencing logic so that it avoids unreachable branches. (check-in: 0f6ec605e1 user: drh tags: trunk)
07:25
Assert that if two functions compare equal in every other way, then they must both have OVER clauses, or neither has an OVER clause. Use this fact to simplify expression comparison. (check-in: 52559ad58c user: drh tags: trunk)
06:47
Enhance the sqlite3ExprCompare() routine so that it knows to compare the OVER clause of window functions. (check-in: 0a7649afeb user: drh tags: trunk)
06:32
Enhance the TreeView mechanism so that it shows the window function data structures as part of the abstract syntax tree. (check-in: a2c0e1bec0 user: drh tags: trunk)
05:11
New VDBE comments and coverage macros. (check-in: a9a307265b user: drh tags: trunk)
2018-07-09
22:49
Fixes for various harmless compiler warnings. (check-in: 5023b1b85b user: drh tags: trunk)
20:58
Add a comment to restriction (6) of the push-down optimization. No changes to code. (check-in: 0c8a2f257f user: drh tags: trunk)
20:41
Add an ALWAYS() around a branch in sqlite3BtreeSkipNext() that we believe must always be true. (check-in: 12be361a53 user: drh tags: trunk)
18:55
Avoid leaving view-definitions with an incomplete set of column names/types in the in-memory schema if an OOM strikes while allocating the same. (check-in: 1ddbb5372e user: dan tags: trunk)
18:11
Add a couple of OOM tests. (check-in: 50de2a0d2d user: dan tags: trunk)
17:33
Remove redundant branches in window function processing. (check-in: 8fdaf3f37e user: drh tags: trunk)
16:24
Simplification to the grammar rules for window functions. Fix a memory leak that can follow an OOM while parsing a comma-separated list of window definitions. (check-in: a568f9c9db user: drh tags: trunk)
13:31
Throw an error if the second argument passed to nth_value() is not a positive integer. (check-in: 1a06e57a0b user: dan tags: trunk)
06:51
Fix a bad assert() in window.c. (check-in: fe8aaf0c80 user: dan tags: trunk)
02:37
Simplification to the logic that detects misuse of the application-defined function creation interfaces. (check-in: 8f21d77845 user: drh tags: trunk)
02:02
During WITHOUT ROWID table creation, if the sqlite3CreateTable() call fails due to an authorizer denying the INSERT into the sqlite_master table, then detect this fact and abort the CREATE TABLE early, to avoid an assertion fault. (check-in: 164b1641e3 user: drh tags: trunk)
2018-07-08
01:02
Identify specific FuncDef objects for window functions using the pointer to the function name (FuncDef.zName) rather than the pointer to the xStep method. This allows xStep method pointer to be replaced with a single noopStepFunc() procedure, and thus save having lots of different no-op step functions. (check-in: 410e13b0e0 user: drh tags: trunk)
2018-07-07
20:55
Simplifications to the implementation of the sum() SQL function. (check-in: a8b1300237 user: drh tags: trunk)
20:26
Fix another problem with reusing LSM cursors for range scans. (check-in: ae3fc7652f user: dan tags: trunk)
20:23
Fix the JSON extension so that it can be compiled separately from the amalgamation. (check-in: 4b8cfe7bfe user: drh tags: trunk)
20:13
Fix an LSM problem caused by using the same cursor for equality and range scans. (check-in: f05bead371 user: dan tags: trunk)
19:47
Add ALWAYS() macros on results of sqlite3_aggregate_context() calls in xInverse() implements, since they can never fail. (check-in: fdef2a921d user: drh tags: trunk)
19:36
Add an assert() to help verify that OP_AggInverse is never called on an accumulator that has not previously been processed by OP_AggStep. (check-in: 4213889103 user: drh tags: trunk)
17:38
Add missing VdbeCoverage() macro to window.c. (check-in: 63f4d306ba user: dan tags: trunk)
17:30
Fix a problem with the handling of NULL values in the min() window function. (check-in: b76f35b092 user: dan tags: trunk)
2018-07-06
17:19
Try to improve the error messages for misformed frame specifications in window definitions. (check-in: 927b95a081 user: drh tags: trunk)
14:31
Also disallow non-constant expressions in "<expr> PRECEDING" or "<expr> FOLLOWING" clauses. (check-in: a6dffecc6b user: dan tags: trunk)
14:15
Ensure an error is returned if the user specifies an unsupported frame type. (check-in: 0f3f8fcde1 user: dan tags: trunk)
13:48
Prevent "UNBOUNDED FOLLOWING" from being used as the starting boundary of a window-frame. And "UNBOUNDED PRECEDING" from being used as the ending boundary. (check-in: e51fdf66a2 user: dan tags: trunk)
13:25
Remove some bad assert() statements from the implementations of window functions percent_rank() and cume_dist(). (check-in: 443f0c286f user: dan tags: trunk)
07:42
Return an error if DISTINCT is used with a window-function (e.g. "count(DISTINCT <expr>) OVER (...)"). (check-in: d59bcc8eea user: dan tags: trunk)
2018-07-05
21:22
Use separate opcodes, OP_AggValue and OP_AggInverse, for the new callbacks associated with Window Functions, for improved readability of EXPLAIN output. (check-in: fa65380509 user: drh tags: trunk)
20:33
Update the recipe for resetting a database using SQLITE_DBCONFIG_RESET_DATABASE. (check-in: c43dd23fb0 user: dan tags: trunk)
20:05
Get the json_group_array() and json_group_object() SQL functions working as window functions. (check-in: 916cdc83f5 user: drh tags: trunk)
18:34
Return an error if a "RANGE" window-frame uses "<expr> PRECEDING" or "<expr> FOLLOWING". (check-in: 786c87ba41 user: dan tags: trunk)
18:19
Fix a problem in the xInverse method of window-function group_concat(1). (check-in: 7339128310 user: dan tags: trunk)
17:35
Fix the .dump command in the command-line shell so that it does not show extraneous SELECT statements when ".echo on" is enabled. (check-in: 11763cac33 user: drh tags: trunk)
17:16
In wal mode, if a "BEGIN EXCLUSIVE" command (or any other command that upgrades from no transaction directly to a write transaction) hits an SQLITE_BUSY_SNAPSHOT error, change the error code to SQLITE_BUSY to indicate to the caller that the condition may be transient. (check-in: e6108047cb user: dan tags: trunk)
17:03
Fix a typo inside an assert() statement introduced by the previous commit. (Closed-Leaf check-in: e335772847 user: dan tags: exp-busy-snapshot-fix)
15:46
In wal mode, if a "BEGIN EXCLUSIVE" command (or any other command that upgrades from no transaction directly to a write transaction) hits an SQLITE_BUSY_SNAPSHOT error, change the error code to SQLITE_BUSY to indicate to the caller that the condition may be transient. (check-in: 221ff63e79 user: dan tags: exp-busy-snapshot-fix)
2018-07-04
14:28
Experimental planner change to avoid a skip-scan if a regular index scan on the same index columns can be done instead. (Leaf check-in: 32924446db user: dan tags: exp-avoid-expensive-skipscan)
2018-07-03
20:17
Test that a race condition can cause a "BEGIN EXCLUSIVE" to return SQLITE_BUSY_SNAPSHOT in wal mode. (check-in: 5a12db75d1 user: dan tags: trunk)
2018-07-02
17:45
Fix a problem in the xInverse callback for the built-in sum() window function. (check-in: b656364738 user: dan tags: trunk)
17:14
Fix a segfault caused by having identical window functions in the select-list and ORDER BY clause of a SELECT statement. (check-in: 693b4350d7 user: dan tags: trunk)
15:03
Fix a crash caused by a LIKE pattern that consists of a single escape character. Problem found by OSSFuzz. (check-in: bb9bfc3a12 user: dan tags: trunk)
12:07
Fix a segfault caused by invoking a regular aggregate as a window-function. And some problems with count(*) when used as a window-function. (check-in: 4f3c8a82fd user: dan tags: trunk)
2018-07-01
16:05
Quick patch to the Lemon parser template to avoid an array overread reported by OSSFuzz. A proper fix involves enhancements to the table generators in Lemon to make the overread impossible. That fix will take longer to implement. The current check-in is a stop-gap. (check-in: 3f6730be4c user: drh tags: trunk)
2018-06-30
20:26
Avoid a warning in fts5.c due to not using generated routine sqlite3Fts5ParserFallback(). (check-in: 65ff5144a5 user: dan tags: trunk)
20:15
Merge implementation of SQL window functions from the exp-window-functions into trunk. (check-in: 17198a1206 user: dan tags: trunk)
20:00
Fix a minor problem in the code for determining whether or not an SQL statement is SQLITE_TOOBIG. (Closed-Leaf check-in: 763e6c9e2b user: dan tags: exp-window-functions)
19:12
Merge all changes from the weak-fallback branch except those related to the weak-fallback feature itself. (check-in: aad718fb1a user: dan tags: exp-window-functions)
18:54
Have the tokenizer handle fallback for tokens "OVER" and "FILTER" in the same way as it does for "WINDOW". (Leaf check-in: 12d819e1c1 user: dan tags: weak-fallback)
2018-06-29
20:43
Further performance related tweaks for sqlite3RunParser(). (check-in: 5eb4776598 user: dan tags: weak-fallback)
20:21
Further tweaks to sqlite3RunParser(). (check-in: eef61ffab7 user: dan tags: weak-fallback)
19:54
Improve on the previous checkin. Still a bit slow. (check-in: c1fb41aa7b user: dan tags: weak-fallback)
17:44
Instead of using a lemon %fallback directive, have the tokenizer try to figure out whether an instance of "WINDOW" should be TK_WINDOW or TK_ID. (check-in: 022079cb0d user: dan tags: weak-fallback)
2018-06-28
20:05
Modifications to parse.y to better support backwards compatibility for the "window" keyword. (check-in: 7c4b879bdb user: dan tags: weak-fallback)
03:38
Introduce the concept of "weak fallback" in the parser. A weak fallback only occurs if a syntax error would result otherwise. (check-in: c41d7079fb user: drh tags: weak-fallback)
2018-06-27
20:24
Add missing VdbeCoverage() and VdbeCoverageNeverTaken() macros to window.c. (check-in: 4383cb68a1 user: dan tags: exp-window-functions)
19:48
Avoid redundant ORDER BY operations when rewriting SELECT statements that contain window functions. (check-in: 336de43a47 user: dan tags: exp-window-functions)
2018-06-26
20:19
Merge latest trunk changes. (check-in: d9f814b443 user: dan tags: exp-window-functions)
2018-06-25
20:34
Add documentation comment for sqlite3_create_window_function(). And further tests. (check-in: 3f2705b933 user: dan tags: exp-window-functions)
11:42
Fix another problem that could cause a crash when a window function was used in a view. (check-in: e954145a3a user: dan tags: exp-window-functions)
2018-06-23
19:29
Fix problems with using window-functions in correlated sub-queries. (check-in: 3e23cfc813 user: dan tags: exp-window-functions)
16:26
Fix a problem with using LIMIT in window-function queries. (check-in: c1abd2dda4 user: dan tags: exp-window-functions)
07:59
Fix a problem with using a window-function SELECT as a FROM clause sub-query in some circumstances. (check-in: 11d733396f user: dan tags: exp-window-functions)
2018-06-22
20:51
Omit all window-function related code when building with SQLITE_OMIT_WINDOWFUNC. (check-in: 5f04b01646 user: dan tags: exp-window-functions)
17:57
Merge latest trunk changes. (check-in: ebe65b2386 user: dan tags: exp-window-functions)
2018-06-21
23:53
Improved context for error_log message coming from sqlite3_prepare(). (check-in: fea7ade649 user: drh tags: trunk)
23:43
Improved context for error_log message coming from sqlite3_prepare(). (Leaf check-in: 64df1189b3 user: drh tags: ieee754)
19:20
Fix a problem with handling single row partitions in the percent_rank() window function. (check-in: b84fbf16ea user: dan tags: exp-window-functions)
2018-06-20
09:23
Add tests to improve coverage of code in window.c. Fix a problem with "SELECT row_number() OVER ()". (check-in: f41b6b7317 user: dan tags: exp-window-functions)
2018-06-19
21:15
Make the ieee754() a built-in function. Add the --ieee754 option to the ".dump" command in the shell to cause it to output floating-point values as ieee754() calls, so that the floating point number will be reproduced exactly. Not sure yet that we want to go this way, but it is one option. (check-in: 7fa8f16e58 user: drh tags: ieee754)
19:16
The file_control_ofd_locks TCL command in testfixture distinguishes between OFD locks unavailable on the platform and OFD locks not used. (Leaf check-in: 87a9e9d776 user: drh tags: ofd-locks)
19:15
Merge latest trunk changes with this branch. (check-in: 6ad0e64b46 user: dan tags: exp-window-functions)
19:01
OFD locks are now mostly working, but need additional tests. (check-in: 4f1fb5c94b user: drh tags: ofd-locks)
18:11
Fix a problem caused by a sub-query containing a window function in the FROM clause of a query that itself uses a window function. (check-in: f4b1b6f85b user: dan tags: exp-window-functions)
17:19
Miscellaneous cleanup of OFD logic. Add an #if 0 to disable the use of OFD logic, temporarily, until I can get it to actually work. (check-in: d849ade396 user: drh tags: ofd-locks)
17:13
Fix a problem with using min() or max() as a window function. (check-in: 801074ce63 user: dan tags: exp-window-functions)
13:45
Initial attempt to get SQLite working with OFD locks on Linux. The code here does not function correctly. This is an incremental check-in for a work in progress. (check-in: 148f8dec9a user: drh tags: ofd-locks)
11:15
Minor change to the input grammar to make the parser tables slightly smaller. (check-in: 320fa69e6a user: drh tags: trunk)
2018-06-18
20:34
Fix problems with using window functions in CREATE VIEW statements. (check-in: 943bccd2a6 user: dan tags: exp-window-functions)
20:08
Add test case for the fix in the previous commit. (check-in: 39434262d5 user: dan tags: trunk)
19:09
Fix typo in the 'normalize' extension. (check-in: 0c9163ea23 user: mistachkin tags: trunk)
17:36
Ensure that all four callbacks are provided when registering a window function (otherwise SQLITE_MISUSE is returned). (check-in: 5720dcd8b1 user: dan tags: exp-window-functions)
16:55
Add new API function sqlite3_create_window_function(), for creating new aggregate window functions. (check-in: da03fb4318 user: dan tags: exp-window-functions)
2018-06-15
20:46
Add extra OOM test. (check-in: ac251f7260 user: dan tags: exp-window-functions)
19:01
Fix another problem in lead()/lag(). And some errors that could occur following OOM faults. (check-in: fadd4dc119 user: dan tags: exp-window-functions)
16:10
Fix a bug in the lead() and lag() window functions causing them to fail when used in queries featuring multiple window functions. (check-in: 3839fb18f9 user: dan tags: exp-window-functions)
2018-06-14
20:52
Fix a problem with handling of statements containing two or more different windows. (check-in: 567e09ef2a user: dan tags: exp-window-functions)
19:06
Fix problem with window functions min() and max() when used with a PARTITION clause and a frame starting point other than "UNBOUNDED PRECEDING". (check-in: 43eb1e75a4 user: dan tags: exp-window-functions)
14:30
Merge latest trunk changes into this branch. (check-in: 5cf5f1808a user: dan tags: exp-window-functions)
14:27
Improve comments and code legibility in new file window.c. (check-in: bb915854d4 user: dan tags: exp-window-functions)
2018-06-13
20:29
Fix problems with "RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING" window frames. (check-in: c34f31dbd7 user: dan tags: exp-window-functions)
17:19
Output infinity as 1e999 in the ".dump" command of the command-line shell. (check-in: ee431d55eb user: drh tags: trunk)
16:52
Pad out the sqlite3_value structure to be a multiple of 8 bytes. (check-in: f76dc33bde user: drh tags: trunk)
16:08
Fix some test case numbers in expert1.test. (check-in: b90c3c16c0 user: dan tags: trunk)
11:41
Unless SQLITE_OMIT_AUTOINIT is defined, allow sqlite3_vfs_unregister() to be called before sqlite3_initialize(). (check-in: ab6c1ae46d user: dan tags: trunk)
11:11
Check that malloc() has not already failed when invoking the xUpdate() method of a virtual table implementation. This fixes an assert() failure in FTS5 that could occur following an OOM condition. (check-in: e9a7e4d58f user: dan tags: trunk)
02:20
Add the unused SQLITE_CANTOPEN_DIRTYWAL result code. This code was used in some historical versions on the apple-osx branch but was removed by check-in [27e20d699872b2b8]. Restore it so that old code that actually references that result code will still compile. (check-in: 9f40383eed user: drh tags: trunk)
2018-06-12
20:53
Fix another issue to do with window-functions in aggregate queries. (check-in: 6413e38a17 user: dan tags: exp-window-functions)
19:35
Documentation update: clarify that sqlite3_errcode() and related interfaces do not themselves modify the error code. (check-in: 858fc52b23 user: drh tags: trunk)
19:22
Documentation updates: clarify the behavior of sqlite3_column and sqlite3_value interfaces following an OOM error. (check-in: 428c581e4b user: drh tags: trunk)
18:40
Fix some problems with using window-functions in aggregate queries. (check-in: fe7081e095 user: dan tags: exp-window-functions)
13:52
Improvements to SCopy correctness tracking when SQLITE_DEBUG is enabled. (check-in: b2973f2357 user: drh tags: trunk)
13:16
Fix the "Synopsis" on the OP_BitNot opcode. (check-in: acd78df611 user: drh tags: trunk)
2018-06-11
21:33
Improvements to the --enable and --disable options for the amalgamation tarball. (check-in: 02e337e080 user: drh tags: trunk)
20:50
Clarify the relationship between a Window object and its associated Expr. (check-in: 0cd55e98a4 user: dan tags: exp-window-functions)
19:47
Fix various --enable and --disable options on the top-level configure script. (check-in: 6fd7e8ceb9 user: drh tags: trunk)
18:16
Fix handling of window frames containing negative number of rows. e.g. "ROWS x PRECEDING AND y PRECEDING" where (x<y). (check-in: b6d9c7eda8 user: dan tags: exp-window-functions)
18:06
Fix the column cache invalidation logic in the code for ROWID uniqueness constraint checking in the INSERT command. This fixes ticket [c2432ef9089ee73bd]. (check-in: 0b485a571c user: drh tags: trunk)
17:35
Add the OP_SetTabCol and OP_VerifyTabCol opcodes, only when compiling with SQLITE_DEBUG, to do run-time verification of the column cache. (check-in: b37614a367 user: drh tags: trunk)
13:10
Strengthen the sqlite3VdbeMemAboutToChange() run-time verification mechanism to better detect missed calls to AboutToChange(). (check-in: 793e942205 user: drh tags: trunk)
11:19
Fix a typon in main.mk. (check-in: e74f86f271 user: dan tags: exp-window-functions)
01:30
Always initialize the WhereClause.hasOr field that was added by check-in [292724ffc4]. Error detected by OSSFuzz. (check-in: 9faf41713e user: drh tags: trunk)
2018-06-10
07:42
Update Makefile.msc to include window.c in the build. (check-in: 16db73842a user: dan tags: exp-window-functions)
2018-06-09
20:52
Fix a typo in the amalgamation autoconf file. (check-in: de0857f396 user: drh tags: trunk)
18:09
Merge recent trunk changes with this branch. (check-in: c71f23590c user: dan tags: exp-window-functions)
17:58
Update the amalgamation build script to include window.c. (check-in: 21d2f4a62e user: dan tags: exp-window-functions)
17:43
Add support for FILTER clause on aggregate window functions. (check-in: ceaf798ea0 user: dan tags: exp-window-functions)
16:49
Slightly smaller and faster code by encapsulating wal-index hash table location information in a separate WalHashLoc object rather than passing around the various elements as separate variables. (check-in: 538a365b7a user: drh tags: trunk)
14:13
Improved comments an presentation for the recent IN operator decision improvement. (check-in: 31e480f68d user: drh tags: trunk)
02:49
Performance improvement to sqlite3WhereExprUsage(). (check-in: fd09341390 user: drh tags: trunk)
01:12
Compute the bitmask of indexed columns for each index once when the Index objecct is constructed, instead of recomputing it every time it is needed. (check-in: d735872ec3 user: drh tags: trunk)
00:09
Avoid invoking the whereLoopAddOr() routine in the query planner if there are no OR operators in the WHERE clause, thus speeding up query planning slightly. (check-in: 292724ffc4 user: drh tags: trunk)
2018-06-08
23:23
When the query planner has the opportunity to use an IN operater constraint on a term of an index other than the left-most term, use the estimated number of elements on the right-hand side of the IN operator to determine if makes sense to use the IN operator with index lookups, or to just do a scan over the range of the table identified by the index terms to the left. Only do this if sqlite_stat1 measurements are available as otherwise the performance estimates will not be accurate enough to discern the best plan. Bias the decision slightly in favor of using index lookups on each element of the IN operator. (check-in: 2cbbabdf5e user: drh tags: trunk)
21:21
Only choose to scan an IN operator rather than use an index if we have real STAT1 data to suggest it is advantageous. (Closed-Leaf check-in: 30e874661d user: drh tags: in-scan-vs-index)
20:58
Add support for the WINDOW clause. (check-in: 19c983b511 user: dan tags: exp-window-functions)
19:54
Merge the btreeNext() assertion bug fix from trunk. (check-in: 11bd66e090 user: drh tags: in-scan-vs-index)
19:13
Fix an assert() that can be false for a corrupt database and a strange query that uses a recursive SQL function to delete content from a corrupt database file while it is being queried. (check-in: 99057383ac user: drh tags: trunk)
18:22
Consider doing a partial table scan to fulfill an IN operator rather than using an index. Try to pick the plan with the lowest cost. (check-in: 1fa40a78fe user: drh tags: in-scan-vs-index)
16:11
Do not flatten sub-queries that contain window functions. (check-in: 236cb75bd1 user: dan tags: exp-window-functions)
11:45
Fixes to allow group_concat() to be used as a window function. (check-in: 89bbc9ba8f user: dan tags: exp-window-functions)
2018-06-07
20:35
Merge latest trunk changes with this branch. (check-in: 2510220342 user: dan tags: exp-window-functions)
20:08
Add window functions lag() and lead(). (check-in: ef34207073 user: dan tags: exp-window-functions)
18:13
The IN-early-out optimization: When doing a look-up on a multi-column index and an IN operator is used on a column other than the left-most column, then if no rows match against the first IN value, check to make sure there exist rows that match the columns to the right before continuing with the next IN value. (check-in: 09fffbdf9f user: drh tags: trunk)
18:01
Fix the assert()s in the byte-code engine that prove that cursors are unidirectional. (Closed-Leaf check-in: 4b0b4e1403 user: drh tags: multikey-opt-idea)
17:45
Add support for window function first_value(). (check-in: 060b264028 user: dan tags: exp-window-functions)
17:32
Remove the NextIfOpen and PrevIfOpen opcodes which are no longer needed when the IN-early-out optimization is working. (check-in: 439c816227 user: drh tags: multikey-opt-idea)
16:07
Test cases. (check-in: 085e863713 user: drh tags: multikey-opt-idea)
15:54
Fix problems with the nth_value() function. (check-in: 63002b9a09 user: dan tags: exp-window-functions)
15:28
Merge the ".stat/.eqp" CLI fix from trunk. (check-in: a91cad3381 user: drh tags: multikey-opt-idea)
15:23
Avoid using a prepared statement for ".stats on" after it has been closed by the ".eqp full" logic. Fix for ticket [7be932dfa60a8a6b3b26bcf76]. (check-in: bb87c054b1 user: drh tags: trunk)
14:59
Add the WHERE_IN_EARLYOUT flag and use it to clarify the logic of this optimization. (check-in: 522f1eacc2 user: drh tags: multikey-opt-idea)
14:32
Merge recent trunk enhancements. (check-in: e9d7bf4f7b user: drh tags: multikey-opt-idea)
2018-06-06
23:31
Change a comma into a logically equivalent but semantically clearer semicolon. (check-in: 71f97f0f82 user: drh tags: trunk)
20:55
More space and performance enhancements to sqlite3VdbeRecordCompare(). (check-in: 83a60ff056 user: drh tags: trunk)
20:51
Add implementation of nth_value() window function. (check-in: eb1fb420ac user: dan tags: exp-window-functions)
20:29
Small performance optimization in sqlite3VdbeRecordCompareWithSkip() for the common case where the comparison is equal. (check-in: 1e616e256a user: drh tags: trunk)
19:48
Rearrange the order of some checks in the integrity_check pragma for a very slight performance gain. (check-in: 4b853f0205 user: drh tags: trunk)
18:50
Fix the sqlite3BeginTrans() calls within the snapshot extension. (check-in: 1fef7ad25b user: drh tags: trunk)
17:45
Another minor optimization to OP_Transaction. (check-in: d80077aee3 user: drh tags: trunk)
17:12
Merge the 3.24.0 changes plus a few subsequent enhancements. (check-in: be7004a971 user: drh tags: begin-concurrent-pnu)
17:03
Merge changes from trunk, including all the 3.24.0 changes plus some later enhancements. (check-in: d7299bfeb1 user: drh tags: begin-concurrent)
16:28
Change sqlite3BtreeBeginTrans() to return the BTREE_SCHEMA_COOKIE, for a small speed improvement when starting new transactions. (check-in: a10662aa91 user: drh tags: trunk)
01:18
Fix the ".archive" command in the CLI (and the corresponding -A command-line option) so that it silently ignores filenames that contain "../" in their names. This prevents the "Zip Slip" attack. (check-in: 27291f2d7f user: drh tags: trunk)
00:36
Attempt to optimize the resolveExprStep() routine by mapping Expr opcodes into a subset of opcodes that resolveExprStep() cares about and only calling the routine when those opcodes are encountered. Is slightly faster, but it seems like the very slight performance bump is not worth the added complexity. Saved on a dead-end branch for historical reference. (Closed-Leaf check-in: bad4d7a0d9 user: drh tags: dead-end)
2018-06-05
23:51
Update the version number to 3.25.0 for the next development cycle. (check-in: 7598236c35 user: drh tags: trunk)
23:21
Avoid unnecessary loads of columns in an aggregate query that are not within an aggregate function and that are not part of the GROUP BY clause. (check-in: e15e100660 user: drh tags: trunk)
20:45
Add the OP_IfNoHope and OP_SeekHit opcodes used to reduce the number of unnecessary sqlite3BtreeMovetoUnpacked() calls when checking for an early exit on IN-operator loops. Futher optimizations are likely possible here. (check-in: 6bf251af43 user: drh tags: multikey-opt-idea)
20:04
Calculate non-aggregate expressions in the SELECT list of an aggregate query that does not use min() or max() once per group, instead of once per row visited. (Closed-Leaf check-in: dce2dfbe15 user: dan tags: exp-agg-opt)
16:16
Add implementation of last_value() window function. (check-in: 2493ce1a40 user: dan tags: exp-window-functions)
15:16
Use an OP_NotFound opcode to cancel futile IN operators early. The current implementation is suboptimal because it always runs teh OP_NotFound. This still needs to be enhanced to only do the OP_NotFound if no results have been seen on the current loop. (check-in: 87a9fc504f user: drh tags: multikey-opt-idea)
13:54
Merge trunk changes. (check-in: 047295c588 user: drh tags: multikey-opt-idea)
13:43
Update and correct the documentation on the OP_OpenRead, OP_OpenWrite, and OP_ReopenIdx opcodes. No code changes other than the addition of an assert(). (check-in: 8a0b730d0e user: drh tags: trunk)
2018-06-04
19:24
Version 3.24.0 (check-in: c7ee083322 user: drh tags: trunk, release, version-3.24.0)
18:55
Add implementation of window function ntile(). (check-in: 3f093f608c user: dan tags: exp-window-functions)
14:10
Merge changes from trunk. (check-in: 95fbac39ba user: drh tags: apple-osx)
13:27
Merge recent changes from trunk. (check-in: f8df2a8e28 user: drh tags: multikey-opt-idea)
08:28
Merge latest trunk changes into this branch. (check-in: 83d6416a86 user: dan tags: exp-window-functions)
08:22
Add support for window function cume_dist(). Improve tests for percent_rank(). (check-in: 76543f7dd3 user: dan tags: exp-window-functions)
2018-06-02
21:04
Add support for window functions row_number(), rank(), dense_rank() and percent_rank(). (check-in: 91c1cb7a21 user: dan tags: exp-window-functions)
19:14
Avoid using a misaligned pointer. (check-in: 1ecb3aa13d user: drh tags: trunk)
19:01
Fix the usage of posix_fallocate() so that it correctly responds to EINVAL returns. (check-in: ce2c3e7a87 user: drh tags: trunk)
17:00
Update a test case in malloc5.test to take into account that malloc() sometimes returns slightly more space than requested. (check-in: 3d5eae1c26 user: dan tags: trunk)
16:32
Work around a sanitizer warning about a pointer being only 4-byte aligned instead of 8-byte aligned. (Closed-Leaf check-in: 1b807b51cd user: drh tags: align8-fix)
14:37
Proposed fix for the use of posix_fallocate() so that it handles EINVAL returns correctly. (Closed-Leaf check-in: ab3a5539db user: drh tags: einval-from-fallocate)
12:05
Fix the CSV extension so that it works with single-column CSV files. (check-in: e336cf0048 user: drh tags: trunk)
11:31
Ensure that sqlite3AuthRead() is only call for TK_COLUMN and TK_TRIGGER expression nodes. This fixes a harmless assert() identified by OSSFuzz. Move the assert() into a position where it is tested even if the authorizer is disabled. (check-in: d0c3beef7c user: drh tags: trunk)
2018-06-01
21:00
Allow an entire partition to be cached in a temp table for all types of window frames. This is required by nth_value() and others. (check-in: b5b18f6613 user: dan tags: exp-window-functions)
13:30
Fix a bug in the SQLITE_ENABLE_SORTER_REFERENCES code causing an out-of-bounds array reference. (check-in: 8cadaf587d user: dan tags: trunk)
2018-05-31
19:14
More documentation typo fixes. No code changes. (check-in: 66c24513c2 user: drh tags: trunk)
19:00
Fix a harmless typo in a comment used to generate documentation. (check-in: 5a2a88cb01 user: drh tags: trunk)
2018-05-30
20:44
Allow min() and max() to be used as window functions. (check-in: c16125a884 user: dan tags: exp-window-functions)
14:17
Add the Makefile.fallback makefile to the amalgamation tarball. (check-in: ce3d045633 user: drh tags: trunk)
07:36
Do not use the codec on the resetdb.test script. (check-in: fe55cea0c8 user: drh tags: trunk)
07:24
Fix a typo in an error message in the CLI. (check-in: 8088398081 user: drh tags: trunk)
01:14
Fix the parser so that it builds with -DSQLITE_OMIT_CTE. (check-in: 86ee267ee8 user: drh tags: trunk)
00:59
Fix a harmless compiler warning. (check-in: 8d02c7a6a0 user: drh tags: trunk)
00:54
Demonstration code on a possible technique for optimizing the use of IN operator on columns to the right of multicolumn indexes. If the OP_Noop generated where were really a new opcode that checked to see if there existed any entries in the index with a matching prefix, it might prevent unnecessary iterations of the IN operator. (check-in: 92f0fe155d user: drh tags: multikey-opt-idea)
2018-05-29
19:12
Increase the number of database handles opened by test script oserror.test to provoke an "out of file-descriptors" error to 20000 (from 2000). (check-in: 3b00f73456 user: dan tags: trunk)
17:17
Fix a problem in the geopoly json parser associated with spaces before a coordinate number. (check-in: 9d8d3af89a user: drh tags: rtree-geopoly)
16:37
Fix autoinc.test and resetdb.test so that they work with all permutations. (check-in: 89f56d6b0a user: dan tags: trunk)
15:18
Add a comment to justify a goto statement. No code changes. (check-in: f141d80647 user: drh tags: trunk)
14:29
More minor changes to test scripts. (check-in: ce9b756f09 user: dan tags: trunk)
14:06
Fix some test script issues caused by recent EXPLAIN QUERY PLAN enhancements. (check-in: f808e22831 user: dan tags: trunk)
13:25
Do not run test file "resetdb.test" as part of permutation "inmemory_journal". (check-in: 4921e5bae4 user: dan tags: trunk)
2018-05-28
23:59
The geopoly virtual table seems to be working. But only thinly tested so far. (check-in: 4288f1ad59 user: drh tags: rtree-geopoly)
18:30
Further window frame tests and fixes. (check-in: e74c6e9185 user: dan tags: exp-window-functions)
18:29
Do not require a statement journal in cases where REPLACE conflict handling is used to insert a single row, so long as the REPLACE operation cannot fire any triggers or foreign key actions. (check-in: 469a62ca33 user: dan tags: trunk)
18:25
When compiling with SQLITE_DEBUG, add run-time checks to ensure that no statement aborts unless either there have been no writes or else there is a statement journal. (check-in: ce99c77244 user: drh tags: trunk)
17:43
Fix the build so that it works with -DSQLITE_TEST_REALLOC_STRESS (Closed-Leaf check-in: 90ba2b2e5c user: drh tags: stmt-journal-testing)
17:31
When compiling with SQLITE_DEBUG, add run-time checks to ensure that no statement aborts unless either there have been no writes or else there is a statement journal. (check-in: 5a4542dbcf user: drh tags: stmt-journal-testing)
13:23
Untested incremental check-in. Add the geopoly_xform() function. Complete basic logic for the geopoly virtual table. (check-in: ed06cc3256 user: drh tags: rtree-geopoly)
2018-05-26
21:17
More fixes for different window frame types. (check-in: 2c85668a0f user: dan tags: exp-window-functions)
20:04
Merge the ability to plan virtual table queries using overloaded functions. (check-in: 2c2a202c14 user: drh tags: rtree-geopoly)
18:03
Experimental change that allows overloaded functions to be analyzed by the xBestIndex method and used by the xFilter method of a virtual table. (Leaf check-in: a353b1d7ee user: drh tags: vtab-func-constraint)
16:00
Store application-defined function names as lower-case to avoid the need for case conversions before calling xFindFunction on virtual tables. Avoid using lookaside to store the destructors for application defined functions, as lookaside should be reserved for transient allocations. (check-in: 777189ce88 user: drh tags: trunk)
13:55
Add a single sentence of documentation about the virtual table scan flags. No changes to code. (check-in: 27b4fa5dd0 user: drh tags: trunk)
12:21
Minor correction. (check-in: f20d9a99a4 user: drh tags: rtree-geopoly)
2018-05-25
22:39
Untested incremental check-in. Basic infrastructure for geopoly in place, except for the MATCH operator. (check-in: b27451910b user: drh tags: rtree-geopoly)
20:53
Incremental check-in: Progress toward implementing the geopoly vtab. (check-in: 9b7d6f986a user: drh tags: rtree-geopoly)
20:30
Fix "RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING" window frame processing. (check-in: b4e9c68669 user: dan tags: exp-window-functions)
19:22
Forward port the geopoly extension functions into the r-tree extension, with the idea of creating a new spatial index based on simply polygons. (check-in: 0593aac88a user: drh tags: rtree-geopoly)
14:39
This is an untested proof-of-concept for enhancements to RTree that attempt to use sqlite3_value_nochange() to reduce the amount of work associated with UPDATE operations in cases where either the coordinates or the auxiliary data is unchanged. (Leaf check-in: 6f7cfeff70 user: drh tags: rtree-update-optimization)
09:36
Merge latest trunk changes into this branch. (check-in: 6232519899 user: dan tags: exp-window-functions)
09:29
Fixes for "ROWS BETWEEN <expr> FOLLOWING AND <expr> FOLLOWING" and "ROWS BETWEEN <expr> FOLLOWING AND UNBOUNDED FOLLOWING" (check-in: 5ac44872fd user: dan tags: exp-window-functions)
03:46
Add SQLITE_LOCKED_VTAB and SQLITE_CORRUPT_SEQUENCE to sqlite3ErrName(). Also, use SQLITE_CORRUPT_BKPT in one more place. (Leaf check-in: eac8888db3 user: mistachkin tags: errCodes)
2018-05-24
23:51
When doing a one-pass UPDATE or DELETE on virtual tables, close the cursor prior to running VUpdate. This allows one-pass to work on virtual tables that do not allow concurrent reads and writes. Enhance rtree to take advantage of this new capability. (check-in: b816023ce0 user: drh tags: trunk)
22:42
New test case for reading and writing the same rtree concurrently. (check-in: 3ba08e53d5 user: drh tags: trunk)
22:31
Do not allow RTree writes when a read cursor is active on the same virtual table, as the writes might rebalance and disrupt the read cursors. Return the new SQLITE_LOCKED_VTAB error code if this happens. (check-in: d4ce666108 user: drh tags: trunk)
21:10
Allow "<expr> PRECEDING" to be used to specify the end of a window frame. (check-in: 7b709a989c user: dan tags: exp-window-functions)
17:49
Support other frame types that use "<expr> PRECEDING" or "<expr> FOLLOWING" as start or end conditions. (check-in: ec7b648c7f user: dan tags: exp-window-functions)
17:38
In the OOM testing logic, add the sqlite3FirstFault() routine as a place to set a breakpoint the first time any simulated OOM fault occurs for a single test case. (check-in: b4d80bd287 user: drh tags: trunk)
17:25
Fix a typo in a comment used to generate VDBE opcode documentation. No code changes. (check-in: 36cdfbf2ce user: drh tags: trunk)
16:18
Addition cases for rtree preformance testing in speedtest1.c. Add the --nodiff option to the speed-check.sh script. (check-in: 95f2d62cf3 user: drh tags: trunk)
13:59
Updates to the sqlite3_vtab_nochange() documentation. No changes to code. (check-in: 5bd99abc10 user: drh tags: trunk)
2018-05-23
20:55
Add support for "ROWS BETWEEN <expr> PRECEDING AND <expr> FOLLOWING" window frames. (check-in: 3a203660f1 user: dan tags: exp-window-functions)
17:53
Remove a branch that is no longer used due to the fix to the sqlite_sequence schema problem, ticket [d8dc2b3a58cd5dc2918a1d4acbba4676a23ada4c] (check-in: 066742692a user: drh tags: trunk)
16:50
Verify that the sqlite_sequence table exists and is in approximately the correct format prior to using it to process an autoincrement table. Fix for ticket [d8dc2b3a58cd5dc2918a1d4a]. (check-in: e199e859ac user: drh tags: trunk)
2018-05-22
20:36
Merge latest trunk changes into this branch. (check-in: cdb68d2c64 user: dan tags: exp-window-functions)
20:35
Add comments to window.c describing how other window frames will be implemented. (check-in: 16168146b2 user: dan tags: exp-window-functions)
2018-05-21
19:45
Begin adding support for more esoteric window frames. (check-in: bc4b81d60d user: dan tags: exp-window-functions)
2018-05-19
14:15
Fix minor problems on this branch. (check-in: 19c2e4b2f1 user: dan tags: exp-window-functions)
2018-05-18
17:58
Add support for auxiliary columns to the rtree extension. (check-in: c6071ac99c user: drh tags: trunk)
17:17
Merge enhancements from trunk, especially the CLI fixes. (Closed-Leaf check-in: a350040a3b user: drh tags: aux-data-in-rtree)
17:11
In the CLI, detect and report errors on sqlite3_close(). Clear global variables prior to exit to so that valgrind can better detect resource leaks. (check-in: e3b2e0a078 user: drh tags: trunk)
16:53
Avoid unnecessary sqlite3_finalize() operations. (check-in: 16f71032a3 user: drh tags: aux-data-in-rtree)
16:46
Fix a prepare-statement leak. (check-in: 95fd296ffc user: drh tags: aux-data-in-rtree)
15:21
Improved error messages. Limit the number of auxiliary columns to 100. (check-in: 059d20abd5 user: drh tags: aux-data-in-rtree)
14:24
Improvements to integer/float comparisons on architectures that lack a "long double" type. (check-in: 5139ea62a8 user: drh tags: trunk)
14:19
Remove incorrect NEVER() macro added by the previous check-in. (Closed-Leaf check-in: 3d66251113 user: drh tags: int-float-compare)
13:39
Improvements to the sqlite3IntFloatCompare() routine for systems that lack the long double type. (check-in: ea6a03a89d user: drh tags: int-float-compare)
2018-05-17
20:04
In the CLI with the -A command, if the file does not previously exist and its name looks like a ZIP archive name, then create it as a ZIP archive. (check-in: 33dc8fad7f user: drh tags: trunk)
19:24
Evaluate multiple window functions in a single pass if they use the same window definition. Add xValue callbacks for other built-in aggregate functions. (check-in: c9f0f14094 user: dan tags: exp-window-functions)
14:26
Handle multiple window-functions in a single query. (check-in: 35af0b750e user: dan tags: exp-window-functions)
14:09
Improved error and help messages for the ".archive" command and "-A" option to the CLI. If a memory leak in --list processing. (check-in: 02541ac6f9 user: drh tags: trunk)
13:29
Fix memory errors associated with argv in the CLI when it is compiled on Windows. (check-in: 4474d69b5c user: drh tags: trunk)
2018-05-16
20:58
Start of experimental implementation of SQL window functions. Does not yet work. (check-in: 3781e52085 user: dan tags: exp-window-functions)
19:56
Fix an issue with rtreecheck() and auxiliary data columns. (check-in: 4671513607 user: drh tags: aux-data-in-rtree)
19:07
Do not allow auxiliary columns in the rtree to interfere with query planning. Begin adding test cases. (check-in: 9abe023e1a user: drh tags: aux-data-in-rtree)
18:18
Fix the OOM issue mentioned in the previous check-in. (check-in: c489d8e44e user: drh tags: aux-data-in-rtree)
17:57
Initial implementation of the ability to have auxiliary columns in an rtree virtual table that store arbitrary content. It mostly works, but there are some minor issues in OOM corner cases. (check-in: 0c87fec970 user: drh tags: aux-data-in-rtree)
15:35
Enhance the sqlite3_str_new() interface so that it always returns a valid and non-NULL pointer even in an OOM condition. (check-in: ed5b09680f user: drh tags: trunk)
12:19
Correct output for the fullkey column of json_each() when the total JSON input is a simple value, not an array or object. (check-in: b45b18850c user: drh tags: trunk)
2018-05-15
11:55
Merge latest trunk changes into this branch. (check-in: 72f39efa9b user: dan tags: begin-concurrent-pnu)
11:45
Merge latest trunk changes with this branch. (check-in: ae86cf60b6 user: dan tags: begin-concurrent)
11:33
Instead of just the flags byte, include the first 8 bytes of the relevant page in an on-commit conflict log message. (check-in: 52e443eb55 user: dan tags: begin-concurrent-pnu)
11:28
Instead of just the flags byte, include the first 8 bytes of the relevant page in an on-commit conflict log message. (check-in: e7dc03e743 user: dan tags: begin-concurrent)
09:09
Fix a test case problem in wherelimit.test. (check-in: 3012df8b2c user: dan tags: trunk)
09:03
Include the value of the "flags" byte of the relevant page in the log message emitted when a BEGIN CONCURRENT commit conflict is detected. (check-in: de19abb950 user: dan tags: begin-concurrent-pnu)
08:51
Include the value of the "flags" byte of the relevant page in the log message emitted when a BEGIN CONCURRENT commit conflict is detected. (check-in: fbfa547177 user: dan tags: begin-concurrent)
2018-05-14
22:46
Make more aggressive use of automatic indexes when processing materalized views and subqueries. (check-in: 172f5bd27e user: drh tags: trunk)
18:09
The restriction on using automatic indexes for low cardinality loops only applies if the cardinality is restricted by a LIMIT clause. (Closed-Leaf check-in: 991a76bf42 user: drh tags: exp-indexed-clause)
17:12
Experimental syntax enhancement for an "INDEXED" keyword following a FROM-clause subquery that indicates that an automatic index on that subquery is suggested. (check-in: 32b3d11050 user: drh tags: exp-indexed-clause)
15:26
Convert the schema creation logic in the rtree extension to use the new sqlite3_str interface. (check-in: fd8b8c4196 user: drh tags: trunk)
12:23
Fix typo in the shell.c source file. (check-in: 389dc0a901 user: mistachkin tags: trunk)
00:41
Export the deduceDatabaseType() function the shell.c source file. (check-in: d0f35739af user: drh tags: trunk)
00:23
Add the --append option to the ".backup" command in the CLI. (check-in: 0dfdbdee52 user: drh tags: trunk)
2018-05-12
23:59
Add test cases for geopoly_overlap(). (Later:) This branch is closed and the development of the geopoly logic is moved to the rtree-geopoly branch. (Closed-Leaf check-in: 3920925128 user: drh tags: geojson)
23:56
Merge changes from trunk. (check-in: 715740e302 user: drh tags: geojson)
23:56
In the CLI, allow comment lines that begin with '#', but only in a context where a dot-command is allowed. In other words, '#' at the beginning of a line in the middle of an SQL statement is just part of the SQL. (check-in: 4ee136d6d2 user: drh tags: trunk)
23:31
Resolve issues with floating-point round-off error in the geopoly_overlap() routine. (check-in: a3c6696f2f user: drh tags: geojson)
21:09
Add the geopoly_svg() SQL function. (check-in: 318ba5f0c5 user: drh tags: geojson)
20:28
Preliminary tests show geopoly_overlap() is working. (check-in: 77bb7b7d72 user: drh tags: geojson)
16:05
An initial attempt at an overlap function in the geopoly extension. (check-in: c857976efb user: drh tags: geojson)
2018-05-11
19:11
In the CLI, return non-zero if there are errors on the command-line. (check-in: 13e7300a37 user: drh tags: trunk)
16:50
Add the geopoly_within() SQL function. (check-in: 927d52a93c user: drh tags: geojson)
15:38
Add the geopoly_read() SQL function to the geopoly.c extension. (check-in: b37625e8e4 user: drh tags: geojson)
15:10
Fix a typo in the help message from the ".sha3sum" command in the CLI. (check-in: dba87a2018 user: drh tags: trunk)
15:10
Make sure the open_db() routine in the CLI does not invoke access() with a NULL filename. (check-in: 20a8c61122 user: drh tags: trunk)
14:02
Fix a typo in the help message from the ".sha3sum" command in the CLI. (check-in: e76f676c12 user: drh tags: geojson)
14:00
Make sure the open_db() routine in the CLI does not invoke access() with a NULL filename. (check-in: 2b8fd3b497 user: drh tags: geojson)
2018-05-09
16:32
Add a test case to check that the fts5 unicode64 tokenizer is dealing with codepoints greater than 65535 correctly. (check-in: 9f7a6ae878 user: dan tags: trunk)
15:27
The translation in and out of GeoJSON automatically adds or removes the redundant last vertex, as necessary. (check-in: 2653bedd9f user: drh tags: geojson)
15:20
Fix the geopoly_json() SQL function so that it works. (check-in: 236588d573 user: drh tags: geojson)
15:19
Merge from trunk the ability to use sqlite3_sql interfaces in extensions. (check-in: 5bb9e6a9f1 user: drh tags: geojson)
15:17
Add 14 new interfaces to the loadable extension mechanism. (check-in: 0e809cdcbd user: drh tags: trunk)
15:00
Add the geopoly_json() interface. Untested. (check-in: 25695c80a0 user: drh tags: geojson)
14:33
Merge trunk changes, and especially the newly published sqlite3_str interface. (check-in: f3609aefe8 user: drh tags: geojson)
14:29
Fix minor problems with the sqlite3_str interface. (check-in: 43ea8a6836 user: drh tags: trunk)
13:46
Make the internal dynamic string interface available to extensions using the new sqlite3_str object and its associated methods. This is mostly just a renaming of internal objects and methods to use external names, through there are a few small wrapper functions. (check-in: 87f261f0cb user: drh tags: trunk)
10:11
Fix a typo in a comment used for documentation. No code changes. (check-in: b866693e6a user: drh tags: trunk)
02:23
Version 3.23.2 (Leaf check-in: f139f6f07d user: drh tags: release, branch-3.23, version-3.23.2)
2018-05-08
23:17
Correctly format the STAT1 and STAT4 content in the output from the ".fullschema" command in the CLI. Fix for ticket [e63a34a0045832dc850367552]. (check-in: 0c3f128fd7 user: drh tags: trunk)
22:47
Experiments with routines for processing GeoJSON. (check-in: d22fbff2a3 user: drh tags: geojson)
13:32
Merge changes from trunk, especially the activation of the cell-overwrite optimization for indexes and WITHOUT ROWID tables. (check-in: a016144b0e user: drh tags: apple-osx)
13:03
Fix a harmless compiler warning in fuzzcheck. Add new OSSFuzz test cases to the test case library. (check-in: d2619746cb user: drh tags: trunk)
12:49
Fuzz test cases for UPSERT. (check-in: fd11fbd218 user: drh tags: trunk)
2018-05-07
18:41
Activate the cell-overwrite optimization for index b-trees. (check-in: a68697d10e user: drh tags: trunk)
17:27
Improved comments on the cell-overwrite optimization code. (check-in: a4fe966da2 user: drh tags: trunk)
13:01
Merge enhancements from trunk, and especially the cell-overwrite optimization. (check-in: cb3aa77802 user: drh tags: apple-osx)
11:48
On an UPDATE, try to overwrite an existing btree cell with the modified content, if the old and new cell are the same size. Use memcmp() first to avoid dirtying pages that are unchanged. (check-in: 5887d8beb5 user: drh tags: trunk)
11:37
Fix harmless compiler warnings associated with the new EXPLAIN QUERY PLAN logic. (check-in: 374d8e2644 user: drh tags: trunk)
11:29
Fix harmless compiler warnings in the cell-overwrite logic. (Closed-Leaf check-in: 3e11dc3183 user: drh tags: cell-overwrite-prototype)
02:50
Backout change [05fee1a21ea398f1e4d6f1cf3] because it does not take into account the LD_LIBRARY_PATH environment variable used by dl_open(). (check-in: b348d1193a user: drh tags: trunk)
2018-05-05
16:50
In an ORDER BY LIMIT, make sure the ORDER BY expression evaluator does not try to reuse values from the result set if the result set has not yet be computed. This fixes a bug in the recent deferred-row loading optimization, check-in [c381f0ea57002a264fd958b28e]. OSSFuzz discovered the problem. (check-in: 5d61e75f32 user: drh tags: trunk)
01:23
Fix a slightly incorrect corruption detection branch in the btree logic. (check-in: 9191ff670c user: drh tags: trunk)
2018-05-04
20:00
Bring the code that changes the owner of WAL and rollback files when running as root into alignment with trunk. (check-in: 180516bf7b user: drh tags: apple-osx)
19:33
Merge recent enhancements from trunk. (check-in: e17bca2cdb user: drh tags: apple-osx)
19:18
Merge enhancements from trunk. (check-in: 9650f71b82 user: drh tags: cell-overwrite-prototype)
18:32
Fix requirements marks. No code changes. (check-in: 7fdad122a2 user: drh tags: trunk)
04:49
For the amalgamation-tarball, enable FTS5 and JSON1 by default and provide a new --enable-debug option that actives debugging facilities. (check-in: 03edecaf9d user: drh tags: trunk)
00:39
Make a separate limb in the EXPLAIN QUERY PLAN output for the various lines associated with the OR-optimization. (check-in: 75ac7b4e4f user: drh tags: trunk)
2018-05-03
23:20
In ORDER BY LIMIT queries, try to evaluate the ORDER BY terms first, and it it becomes clear that the row will not come in under the LIMIT, then skip evaluation of the other columns. (check-in: c381f0ea57 user: drh tags: trunk)
22:52
Fix a branch that has become unreachable due to recent enhancements. (check-in: 81ab5e0d10 user: drh tags: trunk)
21:51
Improved security for VACUUM. This check-in combines the fixes of [ab0d99d0b5ede] and [27754b74ddf646] in a way that is less likely to to be broken by future changes. (check-in: 260fc69653 user: drh tags: trunk)
19:56
Overhaul of EXPLAIN QUERY PLAN. The output is now in the form of a tree. More details of the query plan are shown, and what is shown is truer to what actually happens. (check-in: ff01bbdabc user: drh tags: trunk)
19:47
Optimizations to the new EQP framework. (Closed-Leaf check-in: 956fef361a user: drh tags: rework-EQP)
16:56
Fix various error handling conditions on the cell overwrite optimization. Fix a test case so that it works with the new optimization. (check-in: f89b54f414 user: drh tags: cell-overwrite-prototype)
14:07
The BtCursor.info fields are only valid if info.nSize!=0. (check-in: 54c537eead user: drh tags: cell-overwrite-prototype)
13:56
Add more corruption checking to the cell overwrite logic. (check-in: 58d14afe1e user: drh tags: cell-overwrite-prototype)
12:57
Bug fixes in the overwrite optimization. (check-in: 0cb6cd2a6a user: drh tags: cell-overwrite-prototype)
03:59
The sqlite3BtreeInsert() routine tries to overwrite an existing cell with modified content if the new content is the same size. Pages are only dirtied if they change. This prototype works some, but still has issues. (check-in: 489451b378 user: drh tags: cell-overwrite-prototype)
01:37
Enhance EXPLAIN QUERY PLAN to report the generation of constant rows using VALUES or just a SELECT without FROM. (check-in: c75eee69fa user: drh tags: rework-EQP)
2018-05-02
19:42
More test case updates. Tests are all running now. (check-in: dab5e52948 user: drh tags: rework-EQP)
18:00
Fix test cases so that they work with the new EXPLAIN QUERY PLAN output format. Only some of the cases have been fixed. This is an incremental check-in. (check-in: 5f0e803e33 user: drh tags: rework-EQP)
16:13
Improved EQP output for recursive CTEs and multi-value VALUES clauses. (check-in: f2f525548c user: drh tags: rework-EQP)
15:00
Prevent VACUUM from running any commands in sqlite_master.sql other than CREATE statements. That is all that should be there anyhow. This fixes a problem discovered by OSSFuzz. Test cases in TH3. (check-in: ab0d99d0b5 user: drh tags: trunk)
14:24
Fix a dangling-else problem that was causing recursive CTEs to malfunction. Begin fixing test cases to work with the new EQP output. (check-in: 82ca44b82f user: drh tags: rework-EQP)
08:12
Fix a problem in the xBestIndex method of the closure extension causing it to allocate non-contiguous argvIndex values in some cases (an "xBestIndex malfunction" error). (check-in: 0c67150749 user: dan tags: trunk)
03:03
Add sqlite3_win32_set_directory8() and sqlite3_win32_set_directory16() functions. (check-in: 6cf0f4e2b4 user: mistachkin tags: branch-3.23)
03:01
Add sqlite3_win32_set_directory8() and sqlite3_win32_set_directory16() functions. (check-in: 22089ea2bb user: mistachkin tags: trunk)
02:22
Improvements to the EQP display for compound select statements. (check-in: 699a77e479 user: drh tags: rework-EQP)
00:33
Begin reengineering the EXPLAIN QUERY PLAN function to provide more intuitive output. (check-in: 70b48a7972 user: drh tags: rework-EQP)
2018-05-01
18:39
The SQLITE_ALLOW_SQLITE_MASTER_INDEX compile-time option allows a CREATE INDEX statement against the sqlite_master table. Once created, the index works, and is usable by legacy instances of SQLite. (check-in: 853f316359 user: drh tags: trunk)
01:18
The ".selecttrace 0x4000" command causes the AST to be output to stdout as a table with four columns. (Leaf check-in: 2a75e631ee user: drh tags: ast-trace-demo)
2018-04-30
19:32
Defer loading result column values into registers on an ORDER BY LIMIT until we know that the LIMIT does not exclude the current row. (Closed-Leaf check-in: ce4ef46058 user: drh tags: faster-order-by-limit)
2018-04-28
19:08
Test cases added for SQLITE_DBCONFIG_RESET_DATABASE. (check-in: 08665a9e2e user: drh tags: trunk)
18:20
Fix an RBU problem causing spurious SQLITE_CONSTRAINT errors when restarting an RBU update in which more than one source table writes to a single target database table. (check-in: 564ae8297d user: dan tags: trunk)
13:21
Add the SQLITE_DBCONFIG_RESET_DATABASE control for resetting a corrupt database file without closing any database connections. Added the ".dbconfig" command to the CLI. (check-in: a200a49ede user: drh tags: trunk)
12:43
Add the SQLITE_DBCONFIG_RESET_DATABASE control as a replacement for the reset_database pragma. Resetting the database should be hard enough to do that it cannot be done by accident. (Leaf check-in: ff836cb8b0 user: drh tags: reset-database)
11:22
Merge updates from trunk. (check-in: 94877e495c user: drh tags: reset-database)
04:16
Prevent deep recursions on nested COLLATE operators. (check-in: 6e098ee415 user: drh tags: trunk)
04:10
Fix compiler warnings in FTS3. (check-in: de508e831a user: drh tags: trunk)
01:48
Document and expose sqlite3_win32_set_directory() function for use on Win32. (check-in: f677065aab user: mistachkin tags: branch-3.23)
01:46
Document and expose sqlite3_win32_set_directory() function for use on Win32. (check-in: 7626b59340 user: mistachkin tags: trunk)
01:44
Add comments about the intended use of the sqlite3_data_directory variable as it pertains to the sqlite3_win32_set_directory function. (Closed-Leaf check-in: d11c419756 user: mistachkin tags: win32dir)
01:37
Bump the version number to 3.23.2. (check-in: 242dc910b0 user: drh tags: branch-3.23)
01:27
Add the "PRAGMA reset_database=ON|OFF" command. When on, it causes the database to appear to be empty, causing the next transaction to reset it to an empty database. (check-in: 02e1a13c1f user: drh tags: reset-database)
2018-04-27
22:42
Document and expose sqlite3_win32_set_directory() function for use on Win32. (check-in: cbce7180ee user: mistachkin tags: win32dir)
20:49
Better comments on the bindvtab.c implementation. All the two-argument version of the .set command. All bindings from .set and -D are still string. (Leaf check-in: 7b2a65a654 user: drh tags: shell-bindings)
18:05
Update test script fts3expr4.test so that it always creates fts3 tokenizers in the "en_US" locality. (check-in: 576a8f69ae user: dan tags: trunk)
17:39
Add the ability to use bind parameters in the CLI. The new ".set KEY=VALUE" dot-command works to set bindings. Or use the "-Dkey=value" command-line option. Or use the built-in shell_bindings(k,v) virtual table to set, delete, or changing bindings. (check-in: 1f2944d1d6 user: drh tags: shell-bindings)
16:35
Fix a test script error causing tests to fail in soak.test. (check-in: 462b52b121 user: dan tags: trunk)
15:17
Enhance the comments in the templatevtab.c implementation. (check-in: 05f6278a02 user: drh tags: trunk)
2018-04-26
18:34
The previous fix for ticket [d85fffd6ffe856092ed8da] in check-in [0a514e62ad1ebe5c12da8dae] did not completely address the probably in that it only worked for cases where the OP_SCopy that loaded the register was the last instruction in the sequence for the expression, which is not necessarily the case for expressions like CASE...END. This revision prevents the registered that will be recomputed from being cached in the first place. (check-in: 9fd0faf517 user: drh tags: trunk)
18:01
Merge latest changes from trunk. Including the "ORDER BY ... LIMIT" optimization. (check-in: 83a4c9f088 user: dan tags: begin-concurrent-pnu)
17:54
Merge latest changes from trunk. Including the "ORDER BY ... LIMIT" optimization. (check-in: d8ae7ba083 user: dan tags: begin-concurrent)
17:43
When processing an "ORDER BY ... LIMIT" that does not use an index, check whether or not a record may appear in the final result set before adding it to the temp b-tree used for sorting. (check-in: 0fcfc36ceb user: dan tags: trunk)
16:13
When processing an "ORDER BY ... LIMIT" that does not use an index, check whether or not a record may appear in the final result set before adding it to the sorter. (Closed-Leaf check-in: 71bf91c218 user: dan tags: sorter-limit-opt)
15:50
Ensure that new.* values of an UPDATE do not get clobbered after the BEFORE triggers run when unmodified columns of the row being updated are reloaded. Fix for ticket [d85fffd6ffe856092ed8da] (check-in: 0a514e62ad user: drh tags: trunk)
15:04
Clarification of the behavior of a BEFORE UPDATE trigger when the trigger changes the values of some of the columns used to compute new columns in the UPDATE. (check-in: 7bb23c2a3d user: drh tags: trunk)
12:27
Improved VDBE comment on the OP_Param opcode. No substantial changes. (check-in: 368c14da86 user: drh tags: trunk)
08:56
Update the "fuzz_malloc.test" script to print SQL statements in which OOM handling problems are found to stdout. (check-in: a956363cf6 user: dan tags: trunk)
2018-04-25
19:02
Add new interfaces for accessing the list of SQL keywords: sqlite3_keyword_count(), sqlite3_keyword_name(), sqlite3_keyword_check(). (check-in: 7dd34e3776 user: drh tags: trunk)
17:10
Add the new DO and NOTHING keywords to the keyword lists maintained by various extensions and auxiliary programs. (check-in: 77a98a0781 user: drh tags: trunk)
13:27
Add the new SQLITE_SHELL_INIT_PROC compile-time entry point to the CLI. This is needed to work around the tighter sqlite3_config() constraints now in the CLI. (check-in: 3bcdbccf53 user: drh tags: trunk)
12:01
Avoid many unnecessary calls to sqlite3ReadSchema() and sqlite3Init() when the schema is known to be valid already. (check-in: 58cf812fd8 user: drh tags: trunk)
10:30
Add an assert() to ensure that schema mutexes are held prior to accessing the DB_SchemaLoaded flag inside of sqlite3Init(). (check-in: d8b46290bb user: drh tags: trunk)
2018-04-24
19:22
Update this branch with latest changes from trunk. (check-in: 2d8d13e4a1 user: dan tags: begin-concurrent-pnu)
19:21
Merge latest trunk changes into this branch. (check-in: b27bd799ea user: dan tags: begin-concurrent)
18:59
Remove a recently added NEVER() macro from a branch that can be taken in obscure circumstances. (check-in: 2aa210030a user: dan tags: trunk)
18:53
Fix a problem with processing "LEFT JOIN tbl ON tbl.a = ? AND (tbl.b=? OR tbl.c=?)" in cases where there are indexes on both tbl(a, b) and tbl(a, c). (check-in: ce35e39c5c user: dan tags: trunk)
17:34
Do not attempt to use terms from the WHERE clause to drive indexes on the right table of a LEFT JOIN. Fix for ticket [4ba5abf65c5b0f9a96a7a40cd18b] (check-in: aeb694e3f7 user: drh tags: trunk)
16:51
Update the expert extension test cases to account for the fact that EXPLAIN QUERY PLAN now shows the start of each trigger in its output. (check-in: 8acb42f489 user: drh tags: trunk)
16:41
All the OR optimization to proceed even if the OR is also converted into an IN operator. (check-in: e252c6540d user: drh tags: trunk)
14:18
Add a hyperlink to the ticket on the code comment for the fix to ticket [7fa8049685b50b5aeb0c2]. (check-in: 45247c7f29 user: drh tags: trunk)
14:05
Do not attempt to read values from indexes-on-expressions if the index is on the RHS of a LEFT JOIN. This won't work if the index cursor points at a null-row. Fix for [7fa80496]. (check-in: b8ef967ab1 user: dan tags: trunk)
13:07
Enhance the CLI to render EXPLAIN QUERY PLAN using an ASCII-art graph. This works with ".eqp" modes and when the query begins with exactly "EXPLAIN QUERY PLAN". To see the original output format, add extra space characters in between words of the initial "EXPLAIN QUERY PLAN". (check-in: f53716ee2a user: drh tags: trunk)
10:57
Fix a memory leak following failure to open an external CSV file in the csv.c extension. (check-in: 526ee07d19 user: drh tags: trunk)
01:10
In EXPLAIN QUERY PLAN output, do not show an EXECUTE LIST SUBQUERY line for IN operators where the RHS is a list and not a subquery, since in that case there is no SUBQUERY to execute. (check-in: 8bc0207abd user: drh tags: trunk)
00:08
Fix to check-in [ca34c2dd20ee071e] - avoid a NULL pointer dereference following an OOM. (check-in: c7e6e848fa user: drh tags: trunk)
2018-04-23
20:38
Fix a problem in sqlite3ExprCompare() associated with UPSERT. (check-in: 67d0b2c152 user: drh tags: trunk)
20:04
Fix a formatting issue in the TreeView output for bare expression lists. (check-in: a635681781 user: drh tags: trunk)
19:30
Disable the OR optimization based on expressions in the ON clause of a LEFT JOIN. This is a temporary measure until we can devise a better fix. (Closed-Leaf check-in: 4df5ea935e user: drh tags: begin-concurrent-pnu-tempfix)
18:38
Add the ".imposter off" variant of the ".imposter" dot-command in the CLI. (check-in: d3dad06ff1 user: drh tags: trunk)
17:43
The ".selecttrace 0x2000" command causes just the top-level parse tree to be displayed, after all transformations, and showing the EQP iSelectId at each level. (check-in: ca34c2dd20 user: drh tags: trunk)
17:18
The ".selecttrace 4" command now shows only a single parse tree after name resolution. (check-in: 5682146e8a user: drh tags: trunk)
17:09
Do not restore the iSelectId value until after the last SELECTTRACE when debugging Select processing. (check-in: 8088d8cac3 user: drh tags: trunk)
17:02
In the ".selecttrace" output, include the EXPLAIN QUERY PLAN iSelectId as part of each Select identifier. (check-in: 5c6339f955 user: drh tags: trunk)
13:28
Ensure that there are no bind-parameters or incorrect schema references in the UPSERT portions of an INSERT within a TRIGGER. (check-in: d47a6bdda0 user: drh tags: trunk)
00:25
Fix an unreachable branch associated with stack overflow in the LEMON-generated parser. (check-in: e3064ba3b6 user: drh tags: trunk)
2018-04-21
22:40
Performance improvements on the main loop of the LEMON-generated parser. (check-in: fec1ebadeb user: drh tags: trunk)
20:24
Enhance LEMON to track which symbols actually carry semantic content. Output the list of symbols that do not carry content at the end of the report, but do not (yet) do anything else with the information. (check-in: dcf2bafc15 user: drh tags: trunk)
14:11
A few more tests for upsert. (check-in: b78005b6d4 user: dan tags: trunk)
13:51
Add the %extra_context directive to lemon, as an alternative to %extra_argument. Use this to improve the performance of the parser. (check-in: be47a6f526 user: drh tags: trunk)
03:06
Fix UPSERT so that it plays nicely with AUTOINCREMENT. (check-in: 359725ab36 user: drh tags: trunk)
2018-04-20
20:47
Add the -dDIRECTORY command-line option to LEMON. (check-in: 9cd20475ff user: drh tags: trunk)
20:37
Enhance the "rbu" command line utility a bit. (check-in: 61eb516f83 user: dan tags: trunk)
20:09
Fix a harmless compiler warning. (check-in: d2ab24f59d user: drh tags: trunk)
19:46
Avoid the use of statement journals on DELETEs of a single row without triggers or foreign keys. (check-in: 20bf580080 user: drh tags: trunk)
19:32
Avoid opening a statement journal on single-row UPDATEs without triggers or FK constraints. (check-in: 2772404b8c user: drh tags: trunk)
18:01
Fix a VDBE comment on upsert. Provide an error message when upsert detects index corruption. (check-in: 279c48f606 user: drh tags: trunk)
17:50
Add tests for name resolution in ON CONFLICT clauses. (check-in: cf253584ec user: dan tags: trunk)
17:02
Avoid unnecessary cursor seeking when performing an UPSERT. (check-in: 693a3dcbdd user: drh tags: trunk)
16:49
Improved VDBE comment on UPSERT code. (Closed-Leaf check-in: 131ed95e14 user: drh tags: upsert-opt2)
16:27
Minor simplification of the previous checkin. (check-in: d1906689ab user: drh tags: upsert-opt2)
15:56
Avoid unnecessary cursor seeks during upsert processing. (check-in: 7c4b6d5475 user: drh tags: upsert-opt2)
15:34
Add test cases for UPSERT. And a fix for a "REPLACE INTO ... ON CONFLICT" statement where the new row conflicts with both the IPK and the ON CONFLICT indexes. (check-in: d8eb9f8d9b user: dan tags: trunk)
13:18
Enhance UPSERT so that the UPDATE uses the same set of cursors as the INSERT. (check-in: c37f39d18d user: drh tags: trunk)
00:40
Minor simplification of the cursor allocation logic for update. (check-in: fdf71be658 user: drh tags: trunk)
2018-04-19
23:52
Fix the handling of "PRAGMA count_changes=ON" with UPSERT. Also improved the implementation of count_changes in other places, without changing the behavior. (check-in: c6f71115eb user: drh tags: trunk)
21:29
Minor simplification to the upsert logic. (check-in: e657c1d60f user: drh tags: trunk)
20:18
Avoid unnecessary OP_Goto instructions on an upsert of a table that only has a single secondary index. (Leaf check-in: 97dd21ab90 user: drh tags: upsert-opt)
20:06
Modify a test case in zipfile2.test to take into account that with some platform/file-system combinations it is possible to fopen() and fread() (but not fwrite()) a directory. (check-in: 893e6089c8 user: dan tags: trunk)
16:52
Add the --upsert option to the wordcount test program. (check-in: ee1e750baa user: drh tags: trunk)
16:14
Add the ext/misc/templatevtab.c template for virtual tables. This is a work-in-progress as it still needs improvements to the comments in order to be useful as a template. (check-in: 22358fb549 user: drh tags: trunk)
13:52
Fix a problem in the new upsert implemention, discovered by OSSFuzz. (check-in: b6d5ea59fe user: drh tags: trunk)
11:45
Fix the table name aliasing on INSERT so that it occurs before the column list rather than afterwards, just as it does for PostgreSQL. Add table name aliasing to UPDATE and DELETE. (check-in: 861a2e2a48 user: drh tags: trunk)
2018-04-18
19:56
Add the "sorter-reference" optimization, allowing SQLite to be configured so that some required values may be loaded from the database after external sorting occurs for SELECT statements with ORDER BY clauses that are not satisfied by database indexes. (check-in: ef74090a40 user: dan tags: trunk)
19:45
Minor changes to test script upsert4.test. (check-in: 0cb83c84d1 user: dan tags: trunk)
19:08
Avoid a NULL-pointer deref following OOM. (Closed-Leaf check-in: 413015c029 user: drh tags: sorter-reference)
18:19
Fix a test case inside distinct.test. (check-in: 61cb8a391a user: drh tags: trunk)
18:18
Improved matching of COLLATE clauses within the ON CONFLICT conflict-target. (check-in: 8f4376e52b user: drh tags: trunk)
17:56
Add extra test cases for UPSERT. (check-in: 7ea08d0750 user: dan tags: trunk)
17:52
Fix a problem in the sqlite3ExprCompare() function that caused two dissimilar expressions to match if they have the same "COLLATE name" at the outer layer. (check-in: fb16348a5b user: drh tags: trunk)
16:03
Add support for PostgreSQL UPSERT syntax and functionality. (check-in: fba24aec23 user: drh tags: trunk)
15:33
Fix the build for SQLITE_OMIT_UPSERT (Closed-Leaf check-in: 3295651917 user: drh tags: upsert)
15:21
Add the --sorterref N option to the CLI. (check-in: 902a40897f user: drh tags: sorter-reference)
14:48
Omit some code not used without SQLITE_ENABLE_SORTER_REFERENCES. Improvements to comments used for documentation. (check-in: f3596ab9eb user: drh tags: sorter-reference)
14:04
Remove an unused local variable. (check-in: 9afeb0c88b user: drh tags: sorter-reference)
11:35
Enhance ALTER TABLE ADD COLUMN to support "DEFAULT true" and "DEFAULT false". (check-in: 594ebc6955 user: drh tags: trunk)
10:44
Add checks to the CLI that issue a warning if SQLite gets initialized prior to the last sqlite3_config() call. (check-in: 40b1173477 user: drh tags: trunk)
09:16
Fix a problem in the shell preventing it from working with SQLITE_OMIT_AUTOINIT builds. (check-in: 89209000a2 user: dan tags: trunk)
01:34
Add new testcase() macros and fix a bug that was revealed when trying to cover all the new test cases. (check-in: 266a99f7c0 user: drh tags: upsert)
2018-04-17
21:59
Remove unreachable branches. 100% MC/DC in TH3 now. (check-in: 558865d5c3 user: drh tags: upsert)
20:09
Added a comment on the assert() added to the previous check-in. (check-in: 542547c1ce user: drh tags: upsert)
20:06
Fixes to the logic for constraint check reordering during upsert. Improved comments on constraint check bytecode. Add an assert that prevents the same label from being resolved more than once. (check-in: 1ddbb0ff55 user: drh tags: upsert)
19:29
During PRAGMA vdbe_addoptrace=ON, show calls to sqlite3VdbeResolveLabel() in the debugging output. (check-in: 9ff07a06ce user: drh tags: upsert)
18:50
TK_REGISTER expressions nodes are probably not constant. Make sure sqlite3ExprIsConstant() knows this. (check-in: f3d91cad92 user: drh tags: upsert)
18:18
Simplification to the upsert logic. (check-in: f36d07a5b2 user: drh tags: upsert)
18:16
Add some more simple test cases for UPSERT. And a minor fix. (check-in: 27cd3b2fb2 user: dan tags: upsert)
16:16
New test cases for upsert. (check-in: 907b5a37c5 user: drh tags: upsert)
2018-04-16
21:12
Add SQLITE_CONFIG_SORTERREF_SIZE configuration option. (check-in: b25a7bb769 user: dan tags: sorter-reference)
14:36
Merge the Lemon enhancement from trunk, resulting in smaller parser tables. (check-in: 641f41722c user: drh tags: upsert)
14:31
Lemon enhancements: (1) Do not allocate space for the 'error' non-terminal if it is not used. (2) Fix an off-by-one problem so that 'unsigned char' can be used for symbol numbers if the number of symbols is 256. (check-in: 3b7801acff user: drh tags: trunk)
13:26
Remove the MySQL upsert syntax. As an optional alias to the insert table name in order to finish out PostgreSQL upsert syntax emulation. (check-in: 810d9f63be user: drh tags: upsert)
13:00
Add support for the "excluded.*" names in the UPDATE clause of an upsert. (check-in: 0203f34faa user: drh tags: upsert)
10:47
Merge changes from trunk. (check-in: 54d96772e7 user: drh tags: upsert)
10:41
Increase the version number to 3.24.0 (check-in: f94528e1c7 user: drh tags: trunk)
10:34
Reduce the size of the NameContext object by grouping seldom-used fields into a union. (check-in: dba3095fee user: drh tags: trunk)
2018-04-14
22:35
Get upsert working on WITHOUT ROWID tables. (check-in: d3c53fd317 user: drh tags: upsert)
20:24
Make sure constraint checks occur in the correct order, even in the presence of upserts. (check-in: 07fb30c3de user: drh tags: upsert)
18:46
Experimental change to "SELECT * FROM ... ORDER BY" processing to load some column values from the db after sorting. (check-in: 9719cb46bb user: dan tags: sorter-reference)
2018-04-13
21:55
First cut at logic to perform DO UPDATE for rowid tables. (check-in: a9080bc8b8 user: drh tags: upsert)
18:59
Add infrastructure for doing an UPDATE as part of an UPSERT. Still no actual UPDATE code, however. (check-in: 6d3017f92b user: drh tags: upsert)
16:29
Merge the preupdate hook change from trunk. (check-in: 7353caabb3 user: drh tags: upsert)
16:23
Remove an always-true branch from the preupdate hook logic. (check-in: 0ab4518811 user: drh tags: trunk)
15:14
Get the ON CONFLICT DO NOTHING form of upsert working by mapping it into INSERT OR IGNORE. (check-in: d07f05e98b user: drh tags: upsert)
14:27
Get the conflict-target clause parsing working correctly, with test cases. This change involves an enhancement to sqlite3ExprCompare() which needs to be reviewed on trunk prior to merging. (check-in: 5bf7042562 user: drh tags: upsert)
13:44
Improved conflict-target matching logic. (check-in: 98d32ba661 user: drh tags: upsert)
13:06
Back off of the extended upsert syntax that allows multiple ON CONFLICT clauses. The syntax now is exactly as in PostgreSQL and MySQL. Add support for WHERE clauses on the conflict-target phrase, for partial indexes. (check-in: 2c1b1987d8 user: drh tags: upsert)
01:15
Begin adding upsert logic. This is an incremental check-in. (check-in: 8096964340 user: drh tags: upsert)
2018-04-12
21:42
Break out the upsert code into a separate source file. (check-in: 389806b05f user: drh tags: upsert)
20:21
Fix another typo in a comment. (check-in: 046bb6d258 user: drh tags: upsert)
19:51
Simple comment clarification. No code or logic changes. (check-in: a26f9c9f89 user: drh tags: upsert)
17:28
Extend the upsert syntax to allow a WHERE clause on the UPDATE. (check-in: e4396c540a user: drh tags: upsert)
15:43
Update the upsert parsing so that it accepts conflict-target labels using the PostgreSQL syntax, and also accepts the MySQL "ON DUPLICATE KEY" syntax. (check-in: c48f64d8ae user: drh tags: upsert)
13:15
Add the Upsert object for holding upsert clause information. (check-in: d83eaed539 user: drh tags: upsert)
12:25
Merge changes from trunk. (check-in: 9f6f11805e user: drh tags: upsert)
2018-04-11
17:10
Help the parser run faster by avoiding the "explain ::= ." production. (check-in: d7ec7b5970 user: drh tags: trunk)
16:04
Prohibit bound parameters in the arguments to table-valued functions within a trigger. Problem discovered by OSSFuzz. (check-in: b717820915 user: drh tags: trunk)
14:11
Minor simplification to internal function generateSortTail(). (check-in: f32cdb41ca user: dan tags: trunk)
2018-04-10
18:56
Include the 'sqlite3rebaser_' APIs in the Windows '.def' file. (check-in: 56e4965f7a user: mistachkin tags: trunk)
18:05
Merge all version 3.23.1 changes and enhancements from trunk. (check-in: e20fcb5159 user: drh tags: apple-osx)
17:39
Version 3.23.1 (check-in: 4bb2294022 user: drh tags: trunk, release, version-3.23.1)
15:31
Fix a problem causing the LEFT JOIN strength reduction optimization to be incorrectly applied in some cases where the WHERE clause of the query contains a filter expression of the form "lhs.x IS NOT ?". (check-in: 1fdaf2c344 user: dan tags: trunk)
14:29
When testing, avoid injecting an OOM fault into a file-control call made by SQLite on an unopened file-descriptor. (check-in: 9c1a5eba3e user: dan tags: trunk)
12:33
Increase the version number to 3.23.1. (check-in: 9488c87b54 user: drh tags: trunk)
12:10
Fix a problem causing the LEFT JOIN strength reduction optimization to be incorrectly applied in some cases where the WHERE clause of the query contains a filter expression of the form NOT(x AND y). Ticket [1e39b966]. (check-in: 38d319c153 user: dan tags: trunk)
10:37
Remove an unnecessary SQLITE_UNTESTABLE compile-time conditional from the command-line shell. (check-in: 80b75a34a2 user: drh tags: trunk)
00:53
Update the top-level README.md file to point to the whynotgit.html document. Put it on the correct branch, this time. (check-in: a52e3cddea user: drh tags: trunk)
00:30
Update the top-level README.md file to point to the whynotget.html document. (check-in: 7dfd4543da user: drh tags: upsert)
2018-04-09
20:36
Minor changes to the input grammar resulting in a faster and slightly smaller parser. (check-in: a2c443c0ee user: drh tags: trunk)
15:57
Enhance the query planner so that it detects when the xBestIndex method of a virtual table gives out-of-sequence argvIndex values and reports an error. Secondary fix for ticket [2b8aed9f7c9e6]. (check-in: 9506ec14fb user: drh tags: trunk)
14:26
Fix the fts5 xBestIndex method so that it is not confused by "IS", "!=", "REGEXP", "GLOB" or "LIKE" operators. Fix for ticket [2b8aed9f]. (check-in: a0ca4ddbbf user: dan tags: trunk)
13:58
Improvements to ".wheretrace" output. (check-in: ea2e5b34bf user: drh tags: trunk)
11:43
Add a "flags" parameter to experimental API sqlite3changeset_apply_v2(). Also add the SQLITE_CHANGESETAPPLY_NOSAVEPOINT flag. (check-in: 3d29631fa7 user: dan tags: trunk)
00:46
Fix a (harmless) signed integer overflow warning. (check-in: 43c2c60caf user: drh tags: trunk)
2018-04-07
15:04
More complete parsing of UPSERT, including UPSERT within a trigger. The sqlite3Insert() logic to actually perform the UPSERT is not yet implemented, however. (check-in: 5cc2a5a315 user: drh tags: upsert)
2018-04-06
19:36
Demonstration of how the parser can be augmented to recognize a PostgreSQL-style UPSERT. This check-in implements parsing only. (check-in: 9b22905b15 user: drh tags: upsert)
19:12
Enhance LEMON to show precendence of symbols and all rules in the report that is generated in parallel to the parser. (check-in: 602fbd8149 user: drh tags: trunk)
16:22
Fix a problem in the sessions module causing sqlite3session_apply_strm() to allocate enough memory for the entire input buffer - which defeats the point of a streaming interface. (check-in: 7594e60935 user: dan tags: trunk)
2018-04-05
16:26
Fix an instance where an uninitialized VM register might be accessed. Fix for [093420fc0]. This problem was found by OSSFuzz. (check-in: a3b02db746 user: dan tags: trunk)
12:02
Fix the sqlite3WhereTrace mechanism so that it compiles with the --disable-amalgamation and the --enable-debug options to ./configure using clang. (check-in: 813224363d user: drh tags: trunk)
2018-04-04
12:21
Fix segfault in 'eval.c' extension when used with 'empty_result_callbacks'. (check-in: e8b87bd495 user: mistachkin tags: trunk)
2018-04-03
20:44
Fix an error message in speedtest1.c and make the "trigger" testset sensitive to the --size parameter. (check-in: 5a6fd9e015 user: drh tags: trunk)
20:00
Update speedtest1.c with new testset "trigger" based on the tests in speed4p.test. (check-in: 7b7fa5fa0d user: dan tags: trunk)
17:05
Fix a few small test script issues affecting SQLITE_TEMP_STORE=3 builds. (check-in: e171f3722f user: dan tags: trunk)
14:25
Fix the generate_series virtual table so that it correctly returns no rows if any of its constraints are NULL. Ticket [fac496b61722daf28]. (check-in: 3328e828e2 user: drh tags: trunk)
14:04
Change the LEFT JOIN strength reduction optimization so that assumes that virtual table constraints can be true even if terms within the constraint are NULL. This works around dodgy virtual table implementations. Fix for ticket [fac496b61722daf2]. (check-in: cbb977fe19 user: drh tags: trunk)
2018-04-02
11:04
Version 3.23.0 (check-in: 736b53f57f user: drh tags: trunk, release, version-3.23.0)
00:16
Better solution to the LIKE problem from the previous check-in that works even if the SQLITE_LIKE_DOESNT_MATCH_BLOBS compile-time option is used. (check-in: b850dd1599 user: drh tags: trunk)
2018-03-31
23:28
Fix a logic error discovered by OSSFuzz that can cause an assert() fault if a LIKE operator is used on an INTEGER PRIMARY KEY. (check-in: fc06ddd458 user: drh tags: trunk)
18:43
Fix an error in README-server-edition.html. (Leaf check-in: 754ad35cd2 user: dan tags: server-process-edition)
16:31
Fix an assertion failure triggered by a SELECT with a compound sub-query that contains an incorrectly placed ORDER BY clause. This problem is just an assert() failure - non-DEBUG builds are not affected. Problem found by OSSFuzz. (check-in: 823779d31e user: dan tags: trunk)
2018-03-30
20:42
Update and add further detail to README-server-edition.html. (check-in: 337a0b67e3 user: dan tags: server-process-edition)
16:34
Fix a bug in the spellfix extension causing it to compute suboptimal answers. The problem was introduced by check-in [afd6fbc01052ccfc9]. (check-in: 3bf28fd9a7 user: drh tags: trunk)
15:59
Fix an off-by-one error in the dist3 algorithm of the spellfix extension. (check-in: 5c34af7b97 user: drh tags: trunk)
2018-03-29
16:54
Another change to test file zipfile.test to help it run on systems without "unzip". (check-in: b6252feb12 user: dan tags: trunk)
16:39
Fix a test script bug causing zipfile.test to fail on systems that do not have the "unzip" program installed. (check-in: d99022a5a8 user: dan tags: trunk)
13:47
Modify the sqlite3OsFileControl() interface to detect unopened sqlite3_file objects and return SQLITE_NOTFOUND. (check-in: 1fc72b707d user: drh tags: trunk)
11:02
Update memdb1.test so that it works with SQLITE_DEFAULT_AUTOVACUUM builds. (check-in: d67f1c7d18 user: dan tags: trunk)
2018-03-28
22:08
Fix a harmless compiler warning in the kvtest.exe program. (check-in: d48972cf87 user: drh tags: trunk)
21:45
Fix a harmless compiler warning. (check-in: f0d12354bb user: drh tags: trunk)
20:29
Add -DSQLITE_ENABLE_DESERIALIZE to the "Device-Two" configuration in releasetest.tcl. (check-in: 765a014d8e user: dan tags: trunk)
15:56
Remove tab characters. No logical changes to code. (check-in: eb29b3369e user: drh tags: trunk)
15:41
Update this branch with latest trunk changes. (check-in: df52e89fff user: dan tags: server-process-edition)
15:06
Minor comment changes. (check-in: d282f06469 user: drh tags: trunk)
2018-03-27
22:58
Fix a typo in the README file for ICU. No code changes. (check-in: 79c4383b66 user: drh tags: trunk)
15:13
The push-down optimization was being too aggressive such that it sometimes generated incorrect results. Reinstate the restriction (4) (with qualifications) that was removed by check-ins [b5d3dd8cb0b1e4] and [dd568c27b1d765]. (check-in: f08c1731b0 user: drh tags: trunk)
13:57
Provide the ability for the VFS to do a blocking wait on locks if compiled with SQLITE_ENABLE_SETLK_TIMEOUT. (check-in: e7dff982be user: drh tags: trunk)
2018-03-26
21:05
Do not inject OOM errors on SQLITE_FCNTL_LOCK_TIMEOUT calls as an OOM is not possible in that context. (Closed-Leaf check-in: 5474e560ee user: drh tags: lowlevel-lock-timeout)
20:43
Avoid a race condition that might cause a busy_timeout to last longer than it should. (check-in: b81960561b user: drh tags: lowlevel-lock-timeout)
17:56
Fix a typo preventing test script avtrans.test from running in auto-vacuum mode. (check-in: c7473bdb10 user: dan tags: trunk)
17:40
Add infrastructure to support for using F_SETLKW with a timeout on system that support that functionality. Requires SQLITE_ENABLE_SETLK_TIMEOUT. (check-in: 2e54a7433e user: drh tags: lowlevel-lock-timeout)
16:37
Refactor some internal object element names used by the busy handler, to simplify analysis. (check-in: 6c40c5574f user: drh tags: trunk)
2018-03-24
23:16
Fix a couple issues in the 'session' module tests. (check-in: ccf734f7d2 user: mistachkin tags: trunk)
20:06
Fix harmless compiler warning seen with MSVC. (check-in: e9508ab1f8 user: mistachkin tags: trunk)
18:01
Add testcase() macros and improve comments in the LEFT JOIN strength reduction optimization. (check-in: 5613457714 user: drh tags: trunk)
15:47
Yet another fault in the sqlite3ExprImpliesNotNull() routine, causing errors in the LEFT JOIN strength reduction optimization of check-in [dd568c27b1d76563]. (check-in: e88cf3d4df user: drh tags: trunk)
15:08
Fix a test script problem causing shell1.test to fail with -DSQLITE_OMIT_VIRTUAL_TABLE builds. (check-in: 2e06906e09 user: dan tags: trunk)
13:24
Bug fix in the LEFT JOIN strength reduction optimization of check-in [dd568c27b1d76563]. The sqlite3ExprImpliesNotNull() routine was mistakenly assuming that a CASE expression must always be NULL if contained any reference to a variable that was NULL. (check-in: cf171abe95 user: drh tags: trunk)
00:19
Prepend linkage macros to the sqlite3rebaser interfaces. (check-in: c64e8f377f user: drh tags: trunk)
2018-03-23
17:36
Fix typos in sqlite3session.h preventing documentation webpages from being generated. Also mark all new sessions functions (those related to rebasing) as experimental. (check-in: de974235a8 user: dan tags: trunk)
16:31
Fix minor problems with passing NULL pointers to memcmp() and memcpy() found by -fsanitize=undefined. (check-in: 0b06ce6d8e user: dan tags: trunk)
16:08
Fix the -readonly option on the CLI so that it actually works. (check-in: 0477fb3fd6 user: drh tags: trunk)
14:56
Add some more tests for the IS TRUE / IS FALSE operators. (check-in: 9fe5bebefe user: mistachkin tags: trunk)
14:50
Fix typo in a comment used for documentation. No changes to code. (check-in: 49974d3b30 user: drh tags: trunk)
14:24
Enhance .schema in shell to enable matching patterns with literal underscores. (check-in: 98e3f5247a user: mistachkin tags: trunk)
13:18
Fix an error in the CLI in the previous ([0249d9aecf69948]) check-in. Only the pattern to sqlite3_strlike() need to be escaped. (check-in: 71d5f6e632 user: drh tags: trunk)
12:59
Fix the ANALYZE command so that it will process tables whose names begin with "sqlite" as long as they do not being with "sqlite_". (check-in: 0249d9aecf user: drh tags: trunk)
00:31
Fix harmless compiler warnings seen with MSVC. (check-in: 2f2be1b181 user: mistachkin tags: trunk)
2018-03-22
20:35
Add APIs to the sessions module for "rebasing" changesets. (check-in: 509506c76b user: dan tags: trunk)
20:11
Remove some unused code from sqlite3rebaser_rebase(). (Closed-Leaf check-in: 07cc955eab user: dan tags: sessions-rebase)
19:52
Fix another problem with rebasing updates against multiple remote changes. (check-in: c8e7b5a061 user: dan tags: sessions-rebase)
17:17
Fix an RBU problem causing errors when updating tables with default collation sequences that require quoting (e.g. COLLATE "ICU_root-u-kn-on"). Cherrypick of [eb4f452e]. (check-in: 5dd61e1cbd user: dan tags: branch-3.22)
17:13
Fix an RBU problem causing errors when updating tables with default collation sequences that require quoting (e.g. COLLATE "ICU_root-u-kn-on"). (check-in: eb4f452e35 user: dan tags: trunk)
17:02
Fix a test script problem causing rbuvacuum.test to fail when run along with other tests. (check-in: 901cb3b6a2 user: dan tags: trunk)
14:07
Add tests to ensure that patchsets are handled correctly by the session rebase APIs. (check-in: 0e45baaec0 user: dan tags: sessions-rebase)
12:00
Add the left join strength reduction optimization. Enhance the push-down optimization so that it works with many LEFT JOINs. (check-in: dd568c27b1 user: drh tags: trunk)
11:28
Add the --valid-sql option to the optfuzz test program. (check-in: a8dfeec73b user: drh tags: trunk)
11:15
Remove some unused code from the sessions module. (check-in: a09518ab63 user: dan tags: sessions-rebase)
2018-03-21
20:21
Get the optfuzz program working. (check-in: 21346bbce9 user: drh tags: trunk)
20:13
Merge latest trunk changes into this branch. (check-in: d00b71ecf8 user: dan tags: sessions-rebase)
19:46
Fix some documentation and other issues with the code on this branch. (check-in: a9ec68627a user: dan tags: sessions-rebase)
19:25
Add the optfuzz.c program for verifying the query planner using a fuzzer. This is an initial code check-in. (check-in: 3fb21251b0 user: drh tags: trunk)
17:29
Fix rebasing of UPDATE changes against a set of remote changesets that feature both OMIT and REPLACE conflict resolution on different fields of the same row. (check-in: d8bc3fdb6b user: dan tags: sessions-rebase)
01:59
Relax LEFT-JOIN restrictions on the push-down optimization. (Closed-Leaf check-in: b5d3dd8cb0 user: drh tags: join-strength-reduction)
2018-03-20
22:52
Do a more thorough job of cleaning traces of the strength-reduced LEFT JOIN. (check-in: 08833dda3a user: drh tags: join-strength-reduction)
21:16
If terms of the WHERE clause require that the right table in a LEFT JOIN not be a null row, then simplify the LEFT JOIN into an ordinary JOIN. (check-in: 5b7abecc7a user: drh tags: join-strength-reduction)
20:27
Add further tests and documentation for the sessions rebase feature. (check-in: 7475a363eb user: dan tags: sessions-rebase)
19:02
Fix incorrect testcase labels on two cases in join5.test. No changes to code. (check-in: 4661ac81c9 user: drh tags: trunk)
18:08
Improvements to the HAVING-to-WHERE optimization. The code uses less space and less CPU, and there is now ".selecttrace" output. (check-in: 5ad668d433 user: drh tags: trunk)
16:56
For 'zipfile', detect attempts to cause a duplicate entry via UPDATE. Also, fix handling of 'UPDATE OR REPLACE' statements run on zipfile virtual tables. Win32 portability fixes to the 'fileio' extension. Miscellaneous test fixes. (check-in: b36caeca91 user: mistachkin tags: trunk)
14:00
Merge all recent trunk enchancements, and especially the autoincrement write reduction fix. (check-in: 257900494f user: drh tags: begin-concurrent-pnu)
13:54
Remove debugging puts from concurrrent3.test. (check-in: 13b4975681 user: drh tags: begin-concurrent)
13:52
Merge all recent enhancements from trunk. (check-in: b0c2f760a6 user: drh tags: begin-concurrent)
13:44
Avoid unnecessary write to the sqlite_sequence table when an insert is done into an autoincrement table with an application-specified rowid that is less than the maximum. (check-in: ec7addc87f user: drh tags: trunk)
13:26
Add the ability to disable the push-down optimization using the 0x1000 bit of SQLITE_TESTCTRL_OPTIMIZATIONS. Also some documentation fixes and an enhancement to ".eqp full" in the CLI. (check-in: ae34edb7f4 user: drh tags: trunk)
13:26
Fix handling of "UPDATE OR REPLACE" statements run on zipfile virtual tables. (Closed-Leaf check-in: 9a5ef341de user: dan tags: testFixes)
13:00
Remove a debugging statement accidently left in check-in [eddc35f3057e59fd] (Closed-Leaf check-in: 85a31557ac user: drh tags: push-down-disable)
12:12
Add a test case for the fix on this branch. (check-in: 7834cf6c28 user: dan tags: testFixes)
12:04
In the CLI, avoid extra .selecttrace and .wheretrace output when in ".eqp full" mode. (check-in: 427bbf318a user: drh tags: push-down-disable)
11:58
Closer reading of the sqlite3_db_config() documentation show that it is subtly incorrect. This check-in fixes the problem. No code changes. (check-in: 44d90e7f4b user: drh tags: push-down-disable)
11:51
Fix a minor formatting issue on the sqlite3_db_config() documentation. No changes to code. (check-in: 8a439a6dda user: drh tags: push-down-disable)
11:24
Add the ability to disable the push-down optimization using the 0x1000 bit of SQLITE_TESTCTRL_OPTIMIZATIONS. (check-in: eddc35f305 user: drh tags: push-down-disable)
2018-03-19
22:28
Minor improvements to ".selecttrace". No changes to non-debug code. (check-in: 03e541f606 user: drh tags: trunk)
19:05
Enhance the command-line completion extension to return the names of triggers and views along with the names of tables. (check-in: 10e32204e1 user: drh tags: trunk)
16:59
Show symbolic SELECT names in EXPLAIN QUERY PLAN output when compiling with SQLITE_ENABLE_SELECTTRACE. (Leaf check-in: 16c22ff818 user: drh tags: EQP-improvements)
16:09
In the compile_options pragma, show the actual value of the SQLITE_ENABLE_CEROD compile-time option, if it exists. (check-in: 1ec339fd10 user: drh tags: trunk)
16:06
Improved ".selecttrace" output formatting. No changes in non-debug code. (check-in: 30704d2a52 user: drh tags: trunk)
2018-03-17
16:26
Do not use sqlite3_column_decltype() in the CLI if it is compiled with SQLITE_OMIT_DECLTYPE. (check-in: 442e816b5f user: drh tags: trunk)
02:13
For 'zipfile', detect attempts to cause a duplicate entry via UPDATE. (check-in: cf78a88279 user: mistachkin tags: testFixes)
00:44
Another Win32 portability fix for the 'zipfile' tests. (check-in: 9f604418ca user: mistachkin tags: testFixes)
2018-03-16
23:59
Detect corruption in the form of the sqlite_sequence table pointing to the wrong type of btree. (check-in: 525deb7a67 user: drh tags: trunk)
23:54
Win32 portability fixes to the 'fileio' extension. (check-in: 9d2b0f8b84 user: mistachkin tags: testFixes)
23:54
Enable more 'zipfile' tests on Win32. (check-in: 49d2566c8e user: mistachkin tags: testFixes)
23:54
Make a couple tests less sensitive to timing. (check-in: bc2af8e0aa user: mistachkin tags: testFixes)
23:53
Fix a duplicate test number and cleanup a bit of Makefile whitespace. (check-in: 56d11c2509 user: mistachkin tags: testFixes)
20:23
Detect databases whose schema is corrupted using a CREATE TABLE AS statement and issue an appropriate error message. (check-in: d75e67654a user: drh tags: trunk)
20:15
Better error message text when the schema is corrupted by a CREATE TABLE AS entry. (Closed-Leaf check-in: e13993cf83 user: drh tags: corrupt-schema)
19:10
Fix a parsing issue associated with a corrupt sqlite_master table. (check-in: 5f779ff6b4 user: mistachkin tags: corrupt-schema)
18:46
Avoid writing the sqlite_sequence table when it has not actually changed. (Closed-Leaf check-in: 3e3849a9d1 user: drh tags: autoinc-enhancement)
18:02
Fix a problem with handling rebasing UPDATE changes for REPLACE conflict resolution. (check-in: f7bf71f1d4 user: dan tags: sessions-rebase)
07:49
Fix a problem in test script thread001.test causing a spurious "-1 files were left open" error when run separately. Cherrypick of [1774f1c3b]. (check-in: 6cf8172d94 user: dan tags: branch-3.19)
07:48
Fix a problem in test script thread001.test causing a spurious "-1 files were left open" error when run separately. (check-in: 1774f1c3ba user: dan tags: trunk)
2018-03-15
19:25
Add simple tests for the sessions module rebase API. (check-in: cf0d1abb44 user: dan tags: sessions-rebase)
17:46
Fix a typo in a comment used to generate documentation. No code changes. (check-in: f1784aff4e user: drh tags: trunk)
15:09
Fix an issue with the fsdir() table-valued function not resetting correctly after each pass of a join. (check-in: 7ce4e71c1b user: drh tags: trunk)
05:25
Draft fix for an fsdir() issue reported via the mailing list. (Closed-Leaf check-in: 48641010c2 user: mistachkin tags: fsDirFix)
2018-03-14
21:06
Add largely untested APIs for rebasing changesets. (check-in: 39915b683b user: dan tags: sessions-rebase)
17:17
Merge the latest enhancements from trunk. (check-in: a658f80c8f user: drh tags: apple-osx)
15:25
Add the SQLITE_DBSTATUS_CACHE_SPILL option to sqlite3_db_status(). (check-in: 48a06eb02b user: drh tags: trunk)
15:06
Disable one of the test cases from check-in [21ecbce1378f3cc4] when API_ARMOR is not enabled. (check-in: 8fb23d4281 user: drh tags: trunk)
14:53
Add the SQLITE_DBSTATUS_CACHE_SPILL option to sqlite3_db_status() (Closed-Leaf check-in: 3faeb85137 user: drh tags: dbstatus-cache-spill)
08:27
Improve detection of out-of-range parameters in sqlite3_stmt_status() for SQLITE_ENABLE_API_ARMOR builds. (check-in: 21ecbce137 user: dan tags: trunk)
2018-03-13
20:31
Add sqlite3_changeset_apply_v2() and apply_v2_strm() to the sessions module. (check-in: 445bfe977d user: dan tags: sessions-rebase)
2018-03-12
21:09
Fix a typo causing SQLITE_LOG_CACHE_SPILL builds to fail. (check-in: 0171d4a71c user: dan tags: trunk)
2018-03-10
20:45
Add more tests for the profile output of the Tcl trace_v2 method. (check-in: 61eeb48f03 user: mistachkin tags: trunk)
20:25
Fix the second callback argument to the "profile" response of the "trace_v2" method in the TCL interface so that it shows the actual number of nanoseconds for the command, not the address of the variable containing the number of nanoseconds. (check-in: 8f9a125186 user: drh tags: trunk)
14:17
Add support for INSERT OR REPLACE and INSERT OR IGNORE on the zipfile extension. (check-in: 8ad35d483e user: drh tags: trunk)
13:21
Improved error messages from the zipfile extension. (check-in: f634a7e386 user: drh tags: trunk)
12:53
Avoid harmless left-shifts of negative numbers in the zipfile extension when building ZIP archives of files with pre-DOS dates. (check-in: 16bba8650c user: drh tags: trunk)
12:34
Fix the zipfile extension so that it is able to create symbolic link entries in the ZIP file even on systems like Win32 that do not support symbolic links on the native filesystem. (check-in: 2a4493f4ad user: drh tags: trunk)
2018-03-09
22:18
Fix the .archive command in the CLI so that it actually compresses content. (check-in: 3c2e3c2d3d user: drh tags: trunk)
21:54
Enhance the ".ar" command in the CLI so that it is able to update and create ZIP Archives. (check-in: 9404765ef7 user: drh tags: trunk)
16:37
Setting ".stats 2" in the CLI causes column metadata for each prepared statement to be displayed. (check-in: 7fea00fd96 user: drh tags: trunk)
15:24
Simplification to the shell_exec() mechanism in the CLI. (check-in: 72e8f529ac user: drh tags: trunk)
14:11
Fix a problem in test file nockpt.test causing errors with SQLITE_DEFAULT_AUTOVACUUM builds. (check-in: e547c83f3e user: dan tags: trunk)
14:06
Fix a test case in zipfilefault.test so that it only runs if JSON1 is available. (check-in: 072b244790 user: drh tags: trunk)
12:46
Attempt to fix a harmless compiler warning from Clang. (check-in: bba1bfbde6 user: drh tags: trunk)
2018-03-08
19:56
Enable API armor handling for the new deserialize APIs. (check-in: 0798c91aa9 user: mistachkin tags: trunk)
18:14
Add the --append and --zip options of the CLI to the --help message. (check-in: f010c86ece user: drh tags: trunk)
18:09
Include the 'sessionfuzz' tool in the clean target for MSVC. (check-in: 0f5a8666b8 user: mistachkin tags: trunk)
16:36
Updates to documentation on sqlite3_serialize() and sqlite3_deserialize(). No changes to code. (check-in: e71ceb6089 user: drh tags: trunk)
2018-03-07
21:39
Fix harmless compiler warnings in the 'dbdump' tool. (check-in: 2b9bb2664c user: mistachkin tags: trunk)
21:29
Fix harmless compiler warning in the 'sessionfuzz' tool. (check-in: 706800ba37 user: mistachkin tags: trunk)
21:13
Enable compilation of 'sessionfuzz' tool using MSVC. (check-in: c58de43b8f user: mistachkin tags: trunk)
20:48
Add the sessionfuzz test program and data obtained from a week of running AFL. Automatically run this test program on any "make test" on unix. (check-in: ecaedfe596 user: drh tags: trunk)
15:54
Update the autoconf Makefile for MSVC. (check-in: 36fec7a4a7 user: mistachkin tags: trunk)
15:19
Fix various compilation issues seen with MSVC. (check-in: d6fa938919 user: mistachkin tags: trunk)
14:53
Another tweak to the MSVC clean target. (Closed-Leaf check-in: 493abf10bf user: mistachkin tags: msvcFixes)
14:49
Fix harmless compiler warning in FTS5. (check-in: 2d544711c7 user: mistachkin tags: msvcFixes)
14:42
Fix utility compilation issues with MSVC. (check-in: 5bd5a79898 user: mistachkin tags: msvcFixes)
13:01
Add the sqlite3_serialize() and sqlite3_deserialize() interfaces, enabled when the -DSQLITE_ENABLE_DESERIALIZE compile-time option is used. (check-in: fc42d31d6f user: drh tags: trunk)
01:37
Mark an unreachable branch using NEVER(). (Closed-Leaf check-in: fadbc5e23f user: drh tags: memdb)
2018-03-06
21:43
Improved documentation for sqlite3_serialize() and sqlite3_deserialize(). Change the name of the compile-time option to enable these interfaces from SQLITE_ENABLE_MEMDB to SQLITE_ENABLE_DESERIALIZE. (check-in: f07e97aed4 user: drh tags: memdb)
20:54
Handle some boundary cases in memdb associated with OOM faults. (check-in: b58ca4cb0c user: drh tags: memdb)
19:14
Simplifications to the memdb VFS. (check-in: 6c3f723a68 user: drh tags: memdb)
11:49
Avoid running a couple of tests in crash8.test that depend on the presence of the journal file if running on an F2FS file-system that does not require a journal file. Cherrypick of [797e02e0]. (check-in: eeedfc74d2 user: dan tags: branch-3.19)
11:46
Avoid running a couple of tests in crash8.test that depend on the presence of the journal file if running on an F2FS file-system that does not require a journal file. (check-in: 797e02e0ee user: dan tags: trunk)
04:01
Improvements to the memdb VFS. (check-in: a14fed69d0 user: drh tags: memdb)
02:00
Merge the walIteratorInit() fix from trunk. (check-in: 6399e101d5 user: drh tags: memdb)
2018-03-05
23:23
Fix walIteratorInit() so that it always leaves the iterator as a NULL pointer if an OOM occurs. This fixes an assertion fault introduced by check-in [044b0b65e716bff]. (check-in: e5ce256aa1 user: drh tags: trunk)
21:19
Merge the session fix from trunk. (check-in: 6274cf1f39 user: drh tags: memdb)
21:17
Fix another crash in the sessions module triggered by malformed input. (check-in: 7e70c9b86a user: dan tags: trunk)
20:21
Improved command-line help for the -A option on the CLI. (check-in: d937ac181c user: drh tags: trunk)
20:20
A new way of doing archive commands on the command-line for the CLI. The -A option means that everything that follows is a ".archive" command, including any suffix on the -A option. (check-in: 9d8081fabc user: drh tags: trunk)
19:34
In the CLI, add a new command-line option "--archive" (also "--ar") that passes all subsequent arguments to the ".archive" command. (check-in: a5c4d30af1 user: drh tags: trunk)
18:20
Merge session fixes from trunk. (check-in: 99c02aeecf user: drh tags: memdb)
2018-03-02
20:00
In sqlite3_checker, wrap the call to "SELECT checkfreelist()" in a transaction. (check-in: 02906e55d7 user: dan tags: trunk)
18:26
Merge latest changes from begin-concurrent into this branch. (check-in: 8ade94ba67 user: dan tags: begin-concurrent-pnu)
17:59
Update this branch with recent checkpoint related changes from trunk. (check-in: fb6b793860 user: dan tags: begin-concurrent)
17:40
Merge latest trunk changes into this branch. (check-in: 36801effa9 user: dan tags: begin-concurrent)
16:52
In a checkpoint, figure out if it is possible to checkpoint any frames at all before creating the wal-iterator. (check-in: 044b0b65e7 user: dan tags: trunk)
15:42
Optimize the obscure case of running a checkpoint against a very large wal file for which a large percentage of the frames have already been checkpointed. (check-in: 0f5057dffa user: dan tags: trunk)
2018-03-01
22:18
Allow the zSchema argument to sqlite3_serialize() to be NULL to mean the main database. (check-in: 5b01b9914f user: drh tags: memdb)
18:09
Typo fixes in comments. No changes to code. (check-in: 1293d4f64f user: mistachkin tags: trunk)
15:20
Fix further crashes in sqlite3changeset_apply() caused by corrupt changeset blobs. (check-in: 2c01c72e35 user: dan tags: trunk)
13:44
Merge the latest enhancements from trunk. (check-in: c8083de14b user: drh tags: memdb)
12:05
Fix some crashes in the sqlite3changeset_apply() function that could be caused by corrupt changeset blobs. (check-in: 745a9a7fef user: dan tags: trunk)
2018-02-28
22:21
Enhance the sessions documentation to show the methods of the various objects. (check-in: e01177754a user: drh tags: trunk)
21:50
Use <pre> around code snippets in the documentation for sessions interfaces. This is a documentation change only with no changes to code. (check-in: c949b915e8 user: drh tags: trunk)
04:30
Fix a potential NULL pointer deref following OOM in the new IS TRUE logic. (check-in: 48775ec693 user: drh tags: trunk)
2018-02-27
20:09
Update zonefile README.md file to mention the frame cache. (Leaf check-in: 84e9351bbd user: dan tags: zonefile)
19:50
Rationalize some code in zonefile.c. Fix other minor issues in the same. (check-in: f11beb16a8 user: dan tags: zonefile)
15:47
Enhance test 'zonefile1-6.5' to account for platform differences. (check-in: 8b6178403f user: mistachkin tags: zonefile)
15:42
Adjustments to test numbers for the 'zonefile' extension. (check-in: 55de6f14d4 user: mistachkin tags: zonefile)
15:40
Add support for TRUE and FALSE keywords and for operators IS TRUE, IS FALSE, IS NOT TRUE, and IS NOT FALSE. If there is are columns named TRUE or FALSE, then the keywords resolve to the column names, for compatibility. The behavior of the "DEFAULT true" phrase is changed to mean what it says, rather than being an alias for "DEFAULT 'true'". (check-in: 9a7f02c50e user: drh tags: trunk)
14:49
Clean up comments and variable names prior to merge. (Closed-Leaf check-in: 6445519e91 user: drh tags: is-true-operator)
14:26
Have the zonefile extension use binary instead of text keys. (check-in: 39a4267fc9 user: dan tags: zonefile)
00:58
Remove an unnecessary decision. (check-in: adcb466549 user: drh tags: is-true-operator)
2018-02-26
21:26
Code simplifications. New test cases. (check-in: 57508518ef user: drh tags: is-true-operator)
20:15
Get the "DEFAULT true" and "DEFAULT false" phrases working correctly in CREATE TABLE. (check-in: 8002f87d96 user: drh tags: is-true-operator)
19:03
Enhance TreeView so that it can display the new IS TRUE expression trees. (check-in: 7e38305e6f user: drh tags: is-true-operator)
18:49
Refactor for correct NULL handling in the IS TRUE, IS FALSE, IS NOT TRUE, and IS NOT FALSE operators. (check-in: cf2abd59be user: drh tags: is-true-operator)
17:03
More tests pursuant to ticket [36fae083b450e3af857a459e20]. (check-in: c26f236da6 user: mistachkin tags: trunk)
16:49
Fix heap issue in the shell on Win32 caused by allocator mismatch. (check-in: 7b3a75519a user: mistachkin tags: trunk)
15:31
Merge the fix for determining truth of floating point values from trunk. (check-in: 003dc14053 user: drh tags: is-true-operator)
15:27
Always interpret non-zero floating-point values as true even if their integer part is zero. Fix for ticket [36fae083b450e3af857a459e20]. (check-in: a983fa8570 user: drh tags: trunk)
07:58
Add extra parameter to zonefileCodecCreate() to indicate whether the new object will be used for mock-encryption or mock-decryption. (check-in: 231832c4cb user: dan tags: zonefile)
03:20
Experimental implementation of IS TRUE and IS FALSE operators. All TRUE and FALSE to act like constants if the names do not resolve to a column name. (check-in: 40314bc999 user: drh tags: is-true-operator)
2018-02-24
08:26
Test edge cases in the zonefile module. Fix a broken error message in the same. (check-in: 1764ade22b user: dan tags: zonefile)
2018-02-23
21:01
Fix a problem with handling "k >= ?" constraints in the zonefile module. (check-in: 9a99afafa3 user: dan tags: zonefile)
19:21
Add test cases and minor fixes for the zonefile module. (check-in: dbbcbf0066 user: dan tags: zonefile)
14:09
Fix a problem causing SQLITE_HAVE_LZ4 builds of zonefile to fail unless SQLITE_HAVE_ZLIB is also defined. (check-in: 994aa77d78 user: dan tags: zonefile)
14:02
Fix a problem with DROP TABLE statements on zonefile virtual tables. (check-in: d2ed6910b8 user: dan tags: zonefile)
14:00
Fix harmless compiler warnings in the zonefile extension seen with MSVC. (check-in: d28003941c user: mistachkin tags: zonefile)
13:58
Avoid running a test case that requires zstd in non-SQLITE_HAVE_ZSTD builds. (check-in: d716dff444 user: dan tags: zonefile)
13:45
Merge updates from trunk. (check-in: 53f2100a29 user: mistachkin tags: zonefile)
13:38
Fix harmless compiler warnings in the zipfile extension seen with MSVC. (check-in: 15c587cf6f user: mistachkin tags: trunk)
13:38
Enable the JSON1 extension when compiling the test fixture with MSVC. (check-in: e9e9f27b3d user: mistachkin tags: trunk)
2018-02-22
21:06
Add tests cases and fix some minor zonefile problems. (check-in: f4d42162fa user: dan tags: zonefile)
18:30
For the "SQLite archive" link in the README.md file, point to the CLI .archive command documentation, not the original "sqlar" website. (check-in: 4290faf5f7 user: drh tags: trunk)
18:28
Updates to the README.md file. Mention the ability to use SQLite-archives for download. (check-in: ab9a7ae4ee user: drh tags: trunk)
16:46
Add an LRU cache of uncompressed frame content to the zonefile virtual table implementation. (check-in: 883e7e75d6 user: dan tags: zonefile)
2018-02-21
21:15
Modifications to the zonefile module to make it easier to add a cache of uncompressed frame content. (check-in: d9d5cc62f1 user: dan tags: zonefile)
16:36
Have zonefile store encryption keys in a hash-table instead of a linked list. Add extra tests for key management. (check-in: 3a63ea6525 user: dan tags: zonefile)
10:43
In zonefile, change the "file TEXT" column back to "fileid INTEGER". The fileid can be used as a key with the associated zonefile_files table, which contains more information than just the filename. (check-in: 38d23888cf user: dan tags: zonefile)
01:48
Remove an unreachable branch in the walIndexPage() logic. (check-in: 4e61a9731f user: drh tags: trunk)
01:05
Small performance improvement in sqltie3WalFindFrame(). (check-in: 52013cad0e user: drh tags: trunk)
00:48
Remove an unnecessary memset(). (check-in: e7b7f5884a user: drh tags: trunk)
2018-02-20
22:20
Make the walIndexPage() routine about 3x faster by factoring out the seldom used reallocation logic into a separate subroutine. (check-in: e2b107141c user: drh tags: trunk)
21:00
Add extra code to log details when corruption is detected in the pointer-map structure maintained by the b-tree layer in begin-concurrent transactions. (check-in: 5702337160 user: dan tags: begin-concurrent-pnu)
20:57
Update README.md in ext/zonefile. (check-in: a13b2b3813 user: dan tags: zonefile)
19:25
Fix a problem with reading the "file" column of a zonefile virtual table. (check-in: d8d0bdcb40 user: dan tags: zonefile)
18:47
Instead of just the frame number, store frame sizes and offsets in zonefile shadow table %_shadow_idx. (check-in: 56801c461c user: dan tags: zonefile)
17:02
In the speed-check.sh script, make WAL mode the default. Add the --legacy option to do DELETE mode. Continue to use DELETE mode for long-term performance graphs since WAL mode was not always available, but use WAL mode for day-to-day performance measurements. (check-in: cd81613850 user: drh tags: trunk)
16:39
Remove a superfluous "#if 1". No logic changes. (check-in: caaffd3200 user: drh tags: trunk)
15:23
Optimize calls to sqlite3_mprintf("%z...") so that they attempt to append text onto the end of the existing memory allocation rather than reallocating and copying. (check-in: 4bc8a48e64 user: drh tags: trunk)
13:46
Remove a lot of the text describing extended format options from the documentation on sqlite3_mprintf() and friends, since that information is now covered by the separate printf.html document. Provide links to that other document. No changes to code. (check-in: 99eec556f0 user: drh tags: trunk)
2018-02-19
22:46
Enhance the string formatter (used by printf()) so that the width and precision of string substitution operators refer to characters instead of bytes when the alternate-form-2 flag ("!") is used. Also fix the %c substition to always work within unicode, regardless of the alternate-form-2 flag. (check-in: c883c4d33f user: drh tags: trunk)
21:58
Printing a value of 0 using %c terminates the string. (Closed-Leaf check-in: 255612f0a1 user: drh tags: printf-enhancement)
21:07
Add support for invoking encryption hooks to zonefile. And mock encryption method "xor" for testing. (check-in: 55cf920c5a user: dan tags: zonefile)
20:41
More test cases for unicode handling in printf. (check-in: ac18821111 user: drh tags: printf-enhancement)
20:23
Test cases and a bug fix on the new unicode handling in %c. (check-in: e41d64e95b user: drh tags: printf-enhancement)
18:56
Fix the %c substitution in printf() so that it works with unicode characters. (check-in: c35be1d9e9 user: drh tags: printf-enhancement)
18:03
Make the alternate-form-2 flag ("!") change the meaning of width and precision from bytes to characters for the %q, %Q, and %w extensions of printf(). (check-in: 391540acbe user: drh tags: printf-enhancement)
17:03
In the printf() library, measure width and precision in characters rather than bytes if the "!" (alternate-form-2) flag is present on a %s or %z substitution. (check-in: ca31c66304 user: drh tags: printf-enhancement)
16:34
Only try to use the geteuid() interface on unix if HAVE_FCHOWN is defined. This fixes the build for vxWorks, we are told. (check-in: 38f654dc11 user: drh tags: trunk)
16:28
Add support for the ExtendedHeaderSize header field to zonefile. (check-in: 78267a0913 user: dan tags: zonefile)
14:27
Modify the zonefile format in order to avoid depending on the filesize to determine the extent of the final frame. See README.md for details. (check-in: 4dbe0cba3f user: dan tags: zonefile)
13:53
Fix an assert so that it compares two CellInfo objects field by field instead of using memcmp(). Memcmp() does not work on x86 because of uninitialized padding bytes. (check-in: 88258770ad user: drh tags: trunk)
2018-02-18
17:50
Fix a memory leak in the processing of nested row values. This problem has existed every since row values support was added (version 3.15.0, 2016-10-14) but was only just now detected by OSSFuzz. (check-in: 2df6bbf1b8 user: drh tags: trunk)
00:54
Port mutex enhancments from check-in [f53b8a573b] to the Win32 implementation. (check-in: 74bb7225d1 user: mistachkin tags: trunk)
2018-02-17
20:22
Add support for "brotli" compression to the zonefile module. (check-in: 3eb25b3fa5 user: dan tags: zonefile)
19:38
Add support for compression types "lz4" and "lz4hc" to the zonefile module. (check-in: bbe5b21ffa user: dan tags: zonefile)
18:33
Add support for compression methods "zstd" and "zstd_global_dict". (check-in: a993a50bb8 user: dan tags: zonefile)
07:38
Fix a data race causing a tsan complaint with SQLITE_ENABLE_API_ARMOR builds on unix. The race condition is not dangerous in practice, it just upsets tsan. (check-in: f53b8a573b user: dan tags: trunk)
2018-02-15
21:00
Do not allow parameters or schema references inside of WITH clause of triggers and views. This fixes a bug discovered by OSSFuzz and present since common-table-expressions were first added in 2014-02-03. (check-in: b918d4b4e5 user: drh tags: trunk)
20:37
Add support for zlib compression to the zonefile module. (check-in: 72b8a7ef98 user: dan tags: zonefile)
20:00
On unix, the "PRAGMA fsync_interval=N" command causes an extra fdatasync() after writing N bytes of content, to force a write-queue flush in the underlying OS. This is an experimental hack that is not expected to land on trunk. (Leaf check-in: b18cc5fee4 user: drh tags: write-queue-flush-hack)
15:24
Fix another point in zonefile.c so that all files are opened in either "rb" or "wb" mode. (check-in: fb1c227791 user: dan tags: zonefile)
15:17
When calling fopen() in the zonefile extension, use modes "rb" and "wb" instead of "r" and "w". This makes no difference on unix, but is required when accessing binary files on other systems. (check-in: 4bb854ddd9 user: dan tags: zonefile)
03:56
Improve performance of editdist3() by keeping the costs in sorted order. Also add a new regression test to editdist3(). (check-in: dc734c5b61 user: drh tags: trunk)
03:05
Reduce the number of calls to strncmp() required to run editDist3Core(). (check-in: afd6fbc010 user: drh tags: trunk)
01:03
Fix the --heap, --pagecache, --lookaside and other options to the command-line shell that invoke sqlite3_config() so that they work again. (check-in: 00707f2f2f user: drh tags: trunk)
2018-02-14
23:27
Add the --readonly option to the ".open" command in the CLI. (check-in: 06870bb156 user: drh tags: trunk)
20:58
Performance optimizations to the editdist3() function in the spellfix extension. (check-in: 70d304dcba user: drh tags: trunk)
20:25
Disable assert() in the spellfix extension if not compiled with SQLITE_DEBUG. (check-in: 3c53ee0fde user: drh tags: trunk)
15:30
New test cases for the editdist3() function in the spellfix extension. (check-in: 2d3f1f22d5 user: drh tags: trunk)
14:13
Try to optimize spellfix1 by storing a NULL in the k1 column of %_vocab if it would otherwise have the same value as the word column. (check-in: b76ec7cb58 user: drh tags: trunk)
2018-02-13
21:16
Fix formatting errors in ext/zonefile/README.md. (check-in: a2221e35d6 user: dan tags: zonefile)
20:53
Note the fact that zonefile depends on json1 in ext/zonefile/README.md. (check-in: fb27d8f6a8 user: dan tags: zonefile)
20:08
Fix handling of maxAutoFrameSize parameter. (check-in: d65e585574 user: dan tags: zonefile)
19:13
Improved test cases for the [f484b65f3d6230593c34f] bug. (check-in: 1f300514e6 user: drh tags: trunk)
19:01
Enhance ext/zonefile/README.md to describe the currently available functionality. (check-in: 100137c7f6 user: dan tags: zonefile)
18:48
Fix an incorrect table lookup used to find the appropriate search operator for a WHERE clause on a row-value inequality. The incorrect table lookup was causing an incorrect answer for the less-than operator. Fix for ticket [f484b65f3d6230593c34f11] (check-in: f3112e67cd user: drh tags: trunk)
18:02
Remove, for now, the "priority" column from the zonefile_files virtual table. (check-in: 8bf5154bc6 user: dan tags: zonefile)
17:33
Pad the 26 byte Zonefile header to 32 bytes so that the ZonefileIndex object is 8-byte aligned. (check-in: fdb6c0c5dc user: dan tags: zonefile)
16:30
Remove an unused variable from FTS4. (check-in: 27ea783b28 user: drh tags: trunk)
16:21
Ensure that multiple updates of the same FTS4 row (i.e. the row with the same rowid) within a single transaction are written to separate segments. Fix for [d6ec09ec]. (check-in: d2a81a3752 user: dan tags: trunk)
2018-02-12
20:50
Updates to the speed-check.sh script for improvements to the --vdbeprofile option. (check-in: f89c8f8ecd user: drh tags: trunk)
20:27
When compiling with VDBE_PROFILE, add the sqlite3NProfileCnt global variable which can be used to measure per-opcode values other than elapse time, if non-zero. (check-in: d44d593642 user: drh tags: trunk)
20:04
Add support for reading simple (no compression, no encryption) zonefile files. (check-in: dba42f0e1e user: dan tags: zonefile)
15:27
Update test file func6.test so that it works with SQLITE_ENABLE_NULL_TRIM builds. (check-in: e128d72f1a user: dan tags: trunk)
13:30
Fix a possible infinite loop in VACUUM that can come up when the schema has been carefully corrupted. Problem discovered by OSSFuzz. Test cases in TH3. (check-in: 27754b74dd user: drh tags: trunk)
2018-02-10
21:04
Add start of "zonefile" virtual table. (check-in: 0b7bd1694b user: dan tags: zonefile)
17:41
Add the start of the "zonefile" extension. (check-in: c125b4c380 user: dan tags: zonefile)
02:31
Fix misplaced testcase() macros from the previous check-in. (check-in: 3aed949a18 user: drh tags: trunk)
2018-02-09
23:25
Improve the performance of the built-in REPLACE() function in cases where it does many substitutions that make the string larger. OSSFuzz is reporting intermittant timeouts when running a test where it does a REPLACE() on a 930KB random blob. Perhaps this enhancement will fix that. (check-in: fab2c2b07b user: drh tags: trunk)
20:49
Add the zorder.c extension implementing zorder() and unzorder() SQL functions. (check-in: a57a77dc0c user: drh tags: trunk)
15:42
Make the tests in func6.test more robust against implementation changes. (check-in: b685d32310 user: dan tags: trunk)
15:04
Fix a harmless compiler warning. (check-in: a6c3115483 user: drh tags: trunk)
2018-02-08
01:00
Enhance sqlite3ErrStr() to include several more error codes. (check-in: ad5d3bdc73 user: mistachkin tags: trunk)
2018-02-07
18:45
Fix typo in comment. Skip tests added by check-in [4761db83b6] when running on Windows. (check-in: 468a389cdc user: mistachkin tags: trunk)
18:02
In extensions rtree, fts3 and fts5, ensure that when dynamic buffers are bound to persistent SQL statements using SQLITE_STATIC, the binding is replaced with an SQL NULL before the buffer is freed. Otherwise, a user may obtain a pointer to the persistent statement using sqlite3_next_stmt() and attempt to access the freed buffer using sqlite3_expanded_sql() or similar. (check-in: 2a5f813bc6 user: dan tags: trunk)
16:14
When the final connection disconnects from a wal mode database, check that the database file has not been moved or unlinked before deleting the wal and shm files. (check-in: 4761db83b6 user: dan tags: trunk)
2018-02-05
21:02
Adjust the previous check-in, which modified the Win32 VFS, so that it works with SQLITE_OMIT_WAL. (check-in: 36c2e67e82 user: mistachkin tags: trunk)
20:42
Allocation the mutex used by the Win32 VFS only once at initialization, instead of every time it is needed. (check-in: 535ed0ac5e user: mistachkin tags: trunk)
16:39
Allocation the mutex used by the unix VFS only once at initialization, instead of every time it is needed. (check-in: 5764dc1607 user: drh tags: trunk)
13:42
Fix another minor problem in walro2.test. (check-in: ba0631de60 user: dan tags: trunk)
13:28
Update test file walro2.test to account for systems with a page-size (getpagesize()) larger than 32KB. (check-in: d9e59cfb84 user: dan tags: trunk)
2018-02-04
20:33
In the CLI, make sure sqlite3_initialize() is called correctly even for non-UTF8 hosts. (check-in: a3591fb541 user: drh tags: trunk)
01:30
Fix harmless compiler warning seen with MSVC. (check-in: 63a914410b user: mistachkin tags: trunk)
01:29
Move variable declaration in zipfile extension to fix MSVC compiler error. (check-in: ac6a32482e user: mistachkin tags: trunk)
2018-02-02
16:46
Enable the ".wheretrace" and ".selecttrace" options in the shell when configure is run using --enable-debug. This mirrors a similar change that has already occurred on trunk. (Leaf check-in: c4f798b212 user: drh tags: branch-3.9.2)
16:28
Remove the "include <io.h>" win32 dependency from the zipfile extension. (check-in: cb3feb3bc3 user: dan tags: trunk)
16:20
Remove the time() dependency from the zipfile extension. Use SQLite VFS methods instead. (check-in: 0702fb5611 user: dan tags: trunk)
08:14
In SQLITE_ENABLE_BATCH_ATOMIC_WRITE builds on F2FS file-systems, invoke SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE if an SQLITE_FCNTL_COMMIT_ATOMIC_WRITE call fails. Also, do not use an atomic transaction to create the initial database. This is because if an error occurs while writing to the db file, any changes to the file-size do not seem to be rolled back automatically. The only time this matters is when the file was 0 bytes in size to start with. Cherrypick of [b3122db154]. (check-in: 22a228edad user: dan tags: branch-3.19)
08:08
Update a couple of test scripts so that they work on F2FS file-systems that support atomic transactions. Cherrypick of [49e58e645e]. (check-in: 1b39467927 user: dan tags: branch-3.19)
2018-02-01
20:42
Add a few more zipfile tests. No changes to code. (check-in: 3f62154587 user: dan tags: trunk)
19:41
Fix a problem triggered when a zipfile virtual table is created and written to within the same transaction. And add other zipfile tests. (check-in: 48f1c55699 user: dan tags: trunk)
15:57
New assert() statements to help ensure that no other errors similar to [343634942dd54ab57b7] ever appear in the code. (check-in: 5a70af1e9c user: drh tags: trunk)
15:19
Fix a memory leak that could follow an IO error in the zipfile extension. And add other tests. (check-in: e6bb750697 user: dan tags: trunk)
01:13
When an index is based on a text representation of a numeric column in the original table, make sure the indexed value uses the canonical text representation of the numeric value in the table. Proposed fix for ticket [343634942dd54ab57b70]. (check-in: 88e2ce9167 user: drh tags: trunk)
2018-01-31
20:18
When creating a new archive entry, have zipfile store UTC instead of local time in the legacy MS-DOS format timestamp field. (check-in: b730d187f2 user: dan tags: trunk)
19:45
Fix a test case in zipfile.test. (Closed-Leaf check-in: 4eb5b24c64 user: dan tags: zipfile-timestamp-fix)
19:13
When creating a new archive entry, have zipfile store UTC instead of local time in the legacy MS-DOS format timestamp field. (check-in: e2114df183 user: dan tags: zipfile-timestamp-fix)
16:50
Improve the omit-left-join optimization so that it works in some cases when the RHS is subject to a UNIQUE but not NOT NULL constraint. (check-in: 02ba8a7ba7 user: drh tags: trunk)
14:07
Fix a failing assert() in the new code on this branch. (Closed-Leaf check-in: 74d857d178 user: dan tags: omit-left-join-fix)
01:38
Changes to the autoconf tarball so that it does not try to use system() when building on iOS. (check-in: 32ed9c1067 user: drh tags: trunk)
2018-01-30
18:33
If a virtual table xColumn method sets an error message using sqlite3_result_error(), use that message in preference to any error message left in the sqlite3_vtab object. (check-in: 71e3b715ad user: dan tags: trunk)
17:43
Add tests cases for the zipfile extension. (check-in: 13b786dafd user: dan tags: trunk)
14:07
Prevent users from creating zipfile() virtual tables without an argument. (check-in: 81fdbe0cc5 user: dan tags: trunk)
2018-01-29
19:47
Add unix-only tests to check that the "unzip" program can unpack archives generated by the zipfile extension. (check-in: 438c5c5237 user: dan tags: trunk)
18:41
Add aggregate function zipfile() to the zipfile extension. For composing new zip archives in memory. (check-in: e364eeac76 user: dan tags: trunk)
17:08
Update the omit-left-join optimization so that it works in some cases when the RHS is subject to a UNIQUE but not NOT NULL constraint. (check-in: 88411a402b user: dan tags: omit-left-join-fix)
16:22
Ensure the "unique-not-null" flag is set for automatic indexes on columns declared with "col UNIQUE NOT NULL" (where the NOT NULL comes after the UNIQUE). (check-in: 8767f7b880 user: dan tags: trunk)
2018-01-27
18:55
Fix missing header comments and other code issues in zipfile.c. (check-in: 6ea8ba312c user: dan tags: trunk)
16:29
If a zipfile virtual table is created with no argument - "CREATE VIRTUAL TABLE zzz USING zipfile()" - accumulate data in memory. Support "SELECT zipfile_blob(z) FROM zzz LIMIT 1" to retrieve a zip archive image. (check-in: e63185edfe user: dan tags: trunk)
14:25
Changes to avoid a harmless UB warning from clang. (check-in: 19f5c14000 user: drh tags: trunk)
13:55
New test case for ticket [ec32177c99ccac2b1] that works without the STAT4. (check-in: 5259d4847f user: drh tags: trunk)
05:40
Proposed fix for the query planner problem of ticket [ec32177c99ccac2b1]. (check-in: eef8cbef3c user: drh tags: trunk)
03:26
Fix compiler warnings in zipfile.c. (check-in: bed610d99b user: drh tags: trunk)
2018-01-26
22:41
Fix the query planner so that it takes into account dependencies in the arguments to table-valued functions in subexpressions in the WHERE clause. Fix for ticket [80177f0c226ff54f6dd]. (check-in: 7daa687340 user: drh tags: trunk)
18:59
If the argument to table function zipfile() is a blob (not text), assume that it contains a zip file image to interpret, not the name of a file on disk. (check-in: 029ebcd30c user: dan tags: trunk)
18:37
Improve text-to-integer conversion in boundary cases. The sqlite3Atoi64() function always returns the minimum or maximum integer if the magnitude of the text value is too large. Trailing whitespace is now ignored. (check-in: ace0644a1a user: drh tags: trunk)
2018-01-25
20:50
Reorganize zipfile.c code to make it easier to add support for in-memory zip archive processing. (check-in: 30b9258294 user: dan tags: trunk)
01:20
Slightly smaller and faster implementation of OP_If and OP_IfNot. (check-in: 6ab42934e2 user: drh tags: trunk)
2018-01-24
20:42
When unpacking a sorter record, do so from right to left instead of left to right, since by starting with the right-most column, the work done by OP_Column opcodes is reduced. (check-in: 8055e4f424 user: drh tags: trunk)
18:28
Reorganize spellfix.c to make it easier to edit automatically (e.g. using a script). No changes to functionality. (check-in: 090a64faaa user: dan tags: trunk)
16:04
Rearrange fields of the BtCursor object so that it is smaller and requires less initialization, for a small performance improvement. (check-in: 0ddf5292cc user: drh tags: trunk)
15:07
Add the normalize.c extension. (check-in: 16ebe558d2 user: drh tags: trunk)
15:02
Merge changes from trunk. (check-in: 6ef3de810d user: drh tags: memdb)
14:40
Interchange the numeric codes for CURSOR_VALID and CURSOR_INVALID to obtain a small size decrease and performance increase. (check-in: e0f192ea6d user: drh tags: trunk)
14:39
Adjust the fts3rank.test module so that it works on big-endian systems (hopefully - I don't have a big-endian machine to test the change on.) (check-in: e4766cabdf user: drh tags: trunk)
13:15
Improved error message output when the btreeinfo.c extension is run in a connection that lacks sqlite_dbpage support. (check-in: 461b0b81b2 user: drh tags: trunk)
12:14
Prevent a harmless unused variable warning when compiling with SQLITE_OMIT_TRACE. (check-in: 61a44961b5 user: drh tags: trunk)
11:29
Fix a formatting issue in sqlite3_prepare_v3() documentation. No changes to code. (check-in: 9e6066de84 user: drh tags: trunk)
11:25
Fix the sqlite3ext.h header file so that it correctly accesses the new sqlite3_value_nochange() and sqlite3_vtab_collation() interfaces. (check-in: 6185d190e2 user: drh tags: trunk)
06:30
Update a couple of test scripts so that they work on F2FS file-systems that support atomic transactions. (check-in: 49e58e645e user: dan tags: trunk)
01:58
Make the shell functional even if compiled with SQLITE_OMIT_COMPLETE. Omit the sqlite3_complete() call from the fuzzing interface if it is compiled with SQLITE_OMIT_COMPLETE. (check-in: c3e816cca4 user: drh tags: trunk)
01:02
Invoke the sqlite3_complete() interface from the fuzzer. (check-in: 332bf84625 user: drh tags: trunk)
2018-01-23
20:22
Increase the version number to 3.23.0 for the next development cycle. (check-in: b58b60b2c0 user: drh tags: trunk)
19:24
Remove an unreachable branch from sqlite3SkipAccumulatorLoad(). (check-in: 8b9c8eab60 user: drh tags: trunk)
17:33
Work around a problem with GCC on 32-bit machines that cause the CAST operator to generate a floating-point result for strings that could be represented as very large integers. (check-in: 1b02731962 user: drh tags: trunk)
16:38
Fix a bug causing spurious "sub-select returns N columns expected 1" errors in join queries with a term like "(a, b) IN (SELECT ...)" in the WHERE clause. Ticket [7310e2fb3d046a5f5]. (check-in: 14dfd96f9b user: dan tags: trunk)
15:26
Fix the modification-time setting logic in the fileio.c extension on Windows so that it works with utf8 filenames. (check-in: f785b90415 user: drh tags: trunk)
14:01
In SQLITE_ENABLE_BATCH_ATOMIC_WRITE builds on F2FS file-systems, invoke SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE if an SQLITE_FCNTL_COMMIT_ATOMIC_WRITE call fails. Also, do not use an atomic transaction to create the initial database. This is because if an error occurs while writing to the db file, any changes to the file-size do not seem to be rolled back automatically. The only time this matters is when the file was 0 bytes in size to start with. (check-in: b3122db154 user: dan tags: trunk)
13:30
Fix comment typos. No changes to code. (check-in: 8e5e74c66b user: drh tags: trunk)
07:11
Skip defining WIN32_LEAN_AND_MEAN when it is already defined. (check-in: 195f5323df user: mistachkin tags: trunk)
04:22
Slightly faster implementation of the length() SQL function. (check-in: 9a4199aedb user: drh tags: trunk)
03:44
Slightly faster function dispatch in the virtual machine by avoiding unnecessary reinitialization of variables that are already correctly initialized. (check-in: edd4e6876c user: drh tags: trunk)
01:56
Enhance the PRAGMA noop_update statement so that the behavior persists across reprepare operations. (Leaf check-in: c25da6de1d user: drh tags: noop-update-reprepare)
00:17
Simplify one of the compiler warning fixes from the previous check-in. (check-in: 012d7d49c5 user: mistachkin tags: trunk)
00:05
Fix harmless compiler warnings seen with MSVC. (check-in: 76a11a80e9 user: mistachkin tags: trunk)
2018-01-22
19:04
Merge all version-3.22.0 changes. (check-in: 27e20d6998 user: drh tags: apple-osx)
18:45
Version 3.22.0 (check-in: 0c55d17973 user: drh tags: trunk, release, version-3.22.0)
15:45
Avoid unnecessary OOM detection warnings in a debugging routine. (check-in: 395f8ea790 user: drh tags: trunk)
15:20
Fix a test case in walro2.test so that it works with encryption extensions (when each page has a little less usable space available than usual). (check-in: b79521d255 user: dan tags: trunk)
14:49
On the walro2-X.4.2.2 test case, show the size as part of the test output. (check-in: ac5091d7f8 user: drh tags: trunk)
2018-01-20
15:48
Allow the shell to be built from the configure script with SQLITE_OMIT_VIRTUALTABLE defined. (check-in: 136bf323e4 user: dan tags: trunk)
2018-01-18
19:00
Use a loop to avoid recursion in the heightOfSelect() function. (check-in: 86de43595c user: dan tags: trunk)
17:46
Check for both zlib.h and -lz before enabling zlib support in the amalgamation configure script. (check-in: 8ecd13a1b3 user: dan tags: trunk)
17:09
Update the autoconf configure.ac script and Makefile.am templates so that ZLIB is automatically detected and used. (check-in: 41bfb6b8d6 user: drh tags: trunk)
16:59
Fix sessions module handling of sqlite_stat1 rows with (idx IS NULL). (check-in: 0e91641633 user: dan tags: trunk)
16:56
Clarify the handling of the sqlite_stat1 table by legacy versions of the sessions module. (Closed-Leaf check-in: dc7c48cb41 user: dan tags: sessions-stat1)
16:53
Add comments describing the special sqlite_stat1 handling to sqlite3session.h. (check-in: 4431a3256f user: dan tags: sessions-stat1)
16:52
Fix to the documentation for sqlite3_trace_v2(). No changes to code. (check-in: 6fbd0a11a6 user: drh tags: trunk)
16:42
Fix sessions module conflict handling for the sqlite_stat1 table. (check-in: f05ee74e05 user: dan tags: sessions-stat1)
15:06
Simplify the sessions preupdate-hook logic for transforming NULL to X'' for column sqlite_stat1.idx. (check-in: 089d7cecaa user: dan tags: sessions-stat1)
2018-01-17
21:14
Alternative implementation for the internal sqlite3Pow10() utility for MSVC, which is more accurate on that platform. (check-in: 469b96be53 user: drh tags: trunk)
20:57
Fix a problem in the sessions module with logging sqlite_stat1 rows for which (idx IS NULL) is true. (check-in: 25bf734be1 user: dan tags: sessions-stat1)
17:38
Fix a problem causing the sessions module to occasionally lose track of rows with composite primary keys when there are two rows with the same text value in the leftmost column of the PK. (check-in: 09aed13678 user: dan tags: trunk)
16:11
Fix main.mk so that testfixture can be built either from the amalgamation or from individual source files. No changes to code. (check-in: a8aea925f8 user: dan tags: trunk)
13:15
Fix harmless compiler warnings, mostly unused parameters for UDFs in the CLI. (check-in: bfbeffab77 user: drh tags: trunk)
12:58
Omit the single test from zipfile.test that uses json functionality in non-SQLITE_ENABLE_JSON1 builds. (check-in: 6bb2a10fad user: dan tags: trunk)
12:57
Update test file fts5fault6.test to account for test tokenizers implemented in Tcl returning SQLITE_ERROR instead of SQLITE_NOMEM following an OOM error. (check-in: c232f6424a user: dan tags: trunk)
01:40
Simplifications to winOpenSharedMemory in the Win32 VFS. (check-in: 3e04999dab user: mistachkin tags: trunk)
01:26
Corrections to error code handling in os_win.c, pursuant to walfault.test. (check-in: 568192228c user: mistachkin tags: trunk)
01:15
Fix duplicate test names in 'walfault.test'. (check-in: 7274d05ff4 user: mistachkin tags: trunk)
2018-01-16
21:09
Fix a problem causing zipfile to store 0 in place of the CRC32 value for uncompressed files. (check-in: ba44724bcc user: dan tags: trunk)
21:05
Remove an unused field from the internal definition of the sqlite3_context object. (check-in: 948a26b5a6 user: drh tags: trunk)
21:00
Fix compiler warning in the FTS5 test interface. (check-in: 2ab4e8d5d8 user: drh tags: trunk)
20:50
Make the new sqlite3_vtab_collation() interface accessible to loadable extensions. (check-in: f301db3c23 user: drh tags: trunk)
20:44
Fix a test problem causing an error in fts5fault9.test. (check-in: 8e2048113f user: dan tags: trunk)
20:37
Remove the unused SQLITE_CANTOPEN_DIRTYWAL result code. (check-in: 3c786305fc user: drh tags: trunk)
20:20
Fix a makefile problem causing -DSQLITE_ENABLE_STMTVTAB builds to fail. (check-in: 7f6e5bdf90 user: dan tags: trunk)
20:05
Move the ZLIB version announcement in the CLI out of the default banner and put it in the ".version" command. (check-in: 231679d6f8 user: drh tags: trunk)
19:03
Show version of zlib in use when running the shell tool in interactive mode. (check-in: a8906b527a user: mistachkin tags: trunk)
17:33
Change a cat in zipfile.c from (z_const Bytef*) to just (Bytef*). This allows the module to build with older versions of zlib. (check-in: ac9af91d5a user: dan tags: trunk)
13:37
Fix a problem causing an infinite loop or other malfunction in some UPDATE statements with an OR term in the WHERE clause. Ticket [47b2581aa9bfecec] (check-in: feb2c2b6f6 user: dan tags: trunk)
02:38
Disable the ".archive" command tests in shell8.test if the CLI is compiled without ZLIB support. (check-in: ce8bfe6c2b user: drh tags: trunk)
2018-01-15
21:59
Merge the enhancements associated with the first 3.22.0 beta. (check-in: c9d2ec51c8 user: drh tags: apple-osx)
19:00
Fix a problem in the zipfile module causing it to generate incorrect checksums. Remove the ability to insert compressed data into a zip archive. (check-in: b0b7d0363a user: dan tags: trunk)
15:49
Fix a zipfile problem with extracting zero length files compressed using deflate. (check-in: cf64087224 user: dan tags: trunk)
14:32
Fix an error in the setDeviceCharacteristics() procedure for the (unsupported) QNX code in os_unix.c. (check-in: 8151913a39 user: drh tags: trunk)
2018-01-14
20:12
Avoid excess stack usage when a VALUES clause with lots of rows occurs within a scalar expression. This fixes a problem discovered by OSSFuzz. (check-in: a4fa0581ba user: drh tags: trunk)
2018-01-13
23:28
Fix harmless compiler warnings in zipfile.c. (check-in: 8f7a592f8c user: drh tags: trunk)
19:08
Support UPDATE statements against zipfile virtual tables. (check-in: f2d2a5df4f user: dan tags: trunk)
14:28
Fully initialize the Mem object for serial-type 10, in case such a serial-type is found in a corrupt database file. (check-in: bd70a07d81 user: drh tags: trunk)
14:07
Fix a typo in test file crash8.test. (check-in: 4951d91d40 user: dan tags: branch-3.19)
14:02
Fix various problems in test scripts preventing "make test" from passing on F2FS file-systems with the "atomic-write" feature. (check-in: 6bedc7435d user: dan tags: trunk)
14:01
Fix a typo in crash8.test. (Closed-Leaf check-in: c3dc7b8d9d user: dan tags: f2fs-test-fixes)
13:21
Fix various problems in test scripts preventing "make test" from passing on F2FS file-systems with the "atomic-write" feature. Cherrypick of [56d93d07]. (check-in: 6a296d4d4d user: dan tags: branch-3.19)
13:07
Fix various problems in test scripts preventing "make test" from passing on F2FS file-systems with the "atomic-write" feature. (check-in: 56d93d070d user: dan tags: f2fs-test-fixes)
02:07
Updates and minor typo fix for the README. (check-in: bb196fcb67 user: mistachkin tags: trunk)
01:53
Add the new "nochange" APIs to the extension loading mechanism. (check-in: cd7c42699e user: drh tags: trunk)
2018-01-12
23:38
Add the sqlite3_value_nochange() API, usable from within the xUpdate method of a virtual table to discover whether or not a column was unchanged at the SQL level. (check-in: dec3ea4e4e user: drh tags: trunk)
23:18
Improved comments. Slightly tighter implementation, but no big changes. (Closed-Leaf check-in: a1b3f28569 user: drh tags: sqlite3_value_nochange)
21:00
Add the experimental sqlite3_value_nochange() interface usable by xUpdate methods of virtual tables to see if a column has actually changed values. (check-in: 8b7be15ece user: drh tags: sqlite3_value_nochange)
19:33
Simplification to the implementation of OP_Insert. (check-in: 6acbdba59e user: drh tags: trunk)
19:20
Fix error handling in sqlite3session_diff() when it is invoked for table "sqlite_stat1". (check-in: 874285e477 user: dan tags: trunk)
18:46
Avoid an unnecessary branch when not using pre-update hooks. (check-in: ec96707eb3 user: drh tags: trunk)
18:03
Fix obsolete comments. No changes to code. (check-in: ec39c99bea user: drh tags: trunk)
17:25
Include changes made to the sqlite_stat1 table in changesets generated by the sessions module. sqlite_stat1 entries in such changesets are ignored by legacy clients. (check-in: 2064233533 user: dan tags: trunk)
16:44
Experimental change to include changes made to the sqlite_stat1 table in changesets generated by the sessions module. sqlite_stat1 entries in such changesets are ignored by legacy clients. (Closed-Leaf check-in: bd46c44296 user: dan tags: sessions-stat1)
14:34
Always use utimes() instead of utimensat() since the latter is not available even on some recent unix systems. (check-in: 30ed7a4b64 user: drh tags: trunk)
12:02
Add a test to ensure that the sqlite3changeset_apply() function ignores tables that do not have the expected primary keys. (check-in: bf2daf0627 user: dan tags: trunk)
00:30
Enable the one-pass optimization for DELETE and UPDATE on RTree. This is parked in a branch because is seems to make no measureable performance difference. (Leaf check-in: 8b8314cb9b user: drh tags: rtree-one-pass)
2018-01-11
18:15
Add the sqlite3_vtab_nochange() interface. Test cases are in TH3. (check-in: a5d09dfaa3 user: drh tags: trunk)
17:33
Change zipfile to be a WITHOUT ROWID virtual table and table-valued function. (check-in: 931201f64e user: dan tags: trunk)
17:04
Add the sqlite3_vtab_nochange() method which virtual table implementations can use to optimize UPDATEs. (Closed-Leaf check-in: d444b1ff39 user: drh tags: sqlite3_vtab_nochange)
16:16
Add test cases for running multiple RBU operations within the same process concurrently. (check-in: 407b5ed35c user: dan tags: trunk)
14:50
Minor formatting changes in zipfile.c. No logical code differences. (check-in: 4f68bed3b9 user: drh tags: trunk)
13:43
Fix typo in comment. No code changes. (check-in: 2c55571baa user: drh tags: trunk)
00:38
Update the .help screen in the CLI. Make sure the temporary files for ".open" are not deleted too soon. (check-in: b8d92d8dc2 user: drh tags: trunk)
00:04
Add the built-in edit(VALUE) and edit(VALUE,EDITOR) function to the CLI. (check-in: ef823c47a0 user: drh tags: trunk)
2018-01-10
23:29
Add the ".once -e" and ".once -x" commands to the CLI, and the ".excel" command that is an alias for ".once -x". (check-in: a6ed5ab9bc user: drh tags: trunk)
23:27
Update test cases for the new "usage" for .output. (Closed-Leaf check-in: fbf5e43c07 user: drh tags: excel-shell-cmd)
22:27
Save and restore the output mode when doing ".once -x" or ".excel". (check-in: f697c16451 user: drh tags: excel-shell-cmd)
22:15
An attempt to get ".once -e" working reliably on Windows. (check-in: 9b97f9d2c8 user: drh tags: excel-shell-cmd)
21:50
Fix a potential SQLITE_MISUSE in the .excel command when no database is open. (check-in: 9b95ff1abf user: drh tags: excel-shell-cmd)
21:41
Add support for the ".excel" command (and ".once -e" and ".once -x") in the CLI. (check-in: 23fa7c57c2 user: drh tags: excel-shell-cmd)
19:50
Fix a harmless compiler warning in zipfile.c (check-in: 60c694c1ab user: drh tags: trunk)
19:15
Include RTREE in the default CLI build. (check-in: 6a6a3d4956 user: drh tags: trunk)
18:09
Modify the new "--append" option to the .archive so that it takes a filename argument, the same as "--file". (check-in: 58e3b07cc8 user: drh tags: trunk)
17:44
Add the lsmode(MODE) function in the fileio.c extension and use that function in the .archive implementation. Add the --append and --dryrun options to the .archive command and remove the --zip option, making it automatic. (check-in: 38f28029d1 user: drh tags: trunk)
17:39
Fix minor problems with the new ".archive" command changes. (Closed-Leaf check-in: 612b30c95f user: drh tags: archive-improvements)
17:37
Return an SQLITE_CONSTRAINT error if an attempt is made to insert duplicate entries into a zip archive. (check-in: 1f099b2b45 user: dan tags: trunk)
17:19
In the fileio.c extension, change the filetype(MODE) function into lsmode(MODE). Use the new lsmode(MODE) function in shell.c. (check-in: 52d12ba9f3 user: drh tags: archive-improvements)
16:50
Implement the ".ar --create" command using a single "REPLACE INTO sqlar SELECT ... FROM fsdir();" statement. Add the shell_putsnl() SQL function for providing --verbose output. (check-in: 28ab930436 user: drh tags: archive-improvements)
16:30
Have the zipfile module automatically append "/" to directory names that do not already end with such a character. This is required for info-zip compatibility. (check-in: 94bc3c60e7 user: dan tags: trunk)
15:53
Add the "filetype()" SQL function for interpreting file modes to the fileio.c extension. (check-in: 58c0c74c40 user: drh tags: archive-improvements)
15:17
The ".ar" command deduces whether or not the target file is a ZIP or SQLAR and does the appropropriate thing. The "-z" option is omitted. The "--append" option is added to open auxiliary databases using apndvfs. (check-in: 430d1a7daa user: drh tags: archive-improvements)
14:00
Allow the use of ".ar -t" without specifying an archive file or the "-z" option when the command-line shell is opened on a ZIP archive. (check-in: 9340a2c145 user: drh tags: archive-improvements)
13:58
Tag an unreachable branch using ALWAYS(). (check-in: c42c734f11 user: drh tags: trunk)
13:44
Checked into the wrong branch. (Closed-Leaf check-in: 55116dc30f user: drh tags: mistake)
13:11
Work on the ".archive" command. (1) Add the --dryrun option. (2) Do not require --file when open on a ZIP archive. (3) Miscellaneous code simplifications. This is an incremental check-in of work in progress. (check-in: a2baada429 user: drh tags: archive-improvements)
11:56
Fix a problem in os_unix.c causing it to return SQLITE_CANTOPEN instead of SQLITE_READONLY_RECOVERY. (check-in: 6a16f554f0 user: dan tags: trunk)
00:53
Rearrange some routines in shell.c to avoid the need to forward reference a static function. (check-in: fd7f51a107 user: drh tags: trunk)
00:40
Compute the correct column name even if the column identifier is the very last token in the SQL statement. This fixes a problem introduced by check-in [0fdf97efe5df745510c6b] and reported by the community during beta-testing. (check-in: 36b89d728f user: drh tags: trunk)
2018-01-09
22:23
When disconnecting from the 'swarmvtab' extension, close each database prior to invoking the 'openclose' function on it. (check-in: 3e5647cb6c user: mistachkin tags: trunk)
20:49
Fix harmless compiler warnings. (check-in: 0fb42090cb user: mistachkin tags: trunk)
20:44
Return SQLITE_CONSTRAINT if a user attempts to update a zipfile table. (check-in: 64c9ccf6c5 user: dan tags: trunk)
20:34
In the os_unix.c implementation of xOpen(), do not return SQLITE_READONLY_DIRECTORY in cases where the file cannot be opened for reasons other than a readonly directory, such as the process running out of file descriptors. (check-in: fa8b80bb96 user: dan tags: trunk)
18:31
Fix a potential crash in sqlite3expert.c caused by a missing sqlite3_reset() call. (check-in: f6355970f0 user: dan tags: trunk)
15:57
Fix another -fsanitize issue in new shell code. (check-in: 6ee7b54c58 user: dan tags: trunk)
15:28
Updates to the README.md file for the ext/misc directory. No code changes. (check-in: 6b3f4349d7 user: drh tags: trunk)
15:25
Fix the shell so that it can be built with SQLITE_OMIT_VIRTUALTABLE. (check-in: 931421a225 user: dan tags: trunk)
14:30
Do not attempt to build the code in ext/expert/sqlite3expert.c if SQLITE_OMIT_VIRTUALTABLE is defined. (check-in: ba967ad2e3 user: dan tags: trunk)
14:27
Attempt to fix the fileio.c extension so that it builds on MinGW-64. (check-in: a7446d3217 user: drh tags: trunk)
10:29
Fix a zipfile problem with adding new directories to an archive. (check-in: 5fed67033c user: dan tags: trunk)
07:16
Fix a problem in zipfile.c found by -fsanitize. (check-in: 4fe697fa6c user: dan tags: trunk)
02:27
Avoid a compiler warning when building with newer versions of MinGW (check-in: cba0206a15 user: drh tags: trunk)
00:28
Improve portability of compile-time MinGW detection for the command line shell. (check-in: 4a7236140c user: mistachkin tags: trunk)
00:26
Fix harmless compiler warnings. (check-in: 1adf4e6039 user: mistachkin tags: trunk)
2018-01-08
20:04
Test cases for sqlite3_normalize(). (Closed-Leaf check-in: 658f42257d user: drh tags: normalize)
19:59
Update the zipfile module so that it matches the documentation. (check-in: 7e7e472fa9 user: dan tags: trunk)
19:29
Special handling of the NULL keyword. Sometimes it is a literal, and sometimes it is a keyword. (check-in: db5d138e97 user: drh tags: normalize)
19:18
Add IN-operator normalizating and the SQLITE_NORMALIZE_CLI compile-time option for generating a stand-alone program. (check-in: d77dbb398a user: drh tags: normalize)
17:34
Fix problems in the sqlite3expert.c code revealed by -fsanitize. (check-in: 7a93dd784b user: dan tags: trunk)
17:12
Add an "ifcapable trace {}" block to a test in fkey1.test that uses SQL tracing. (check-in: 7182591d35 user: dan tags: trunk)
17:09
Remove a superfluous define from the 'fileio' extension when compiled for Win32. (check-in: 6dcba6693f user: mistachkin tags: trunk)
17:05
Fix a malloc/sqlite3_free mismatch in the shell tool code. (check-in: fe053b2ecd user: dan tags: trunk)
16:54
First code for an auxiliary function that will normalize an SQL statement. (check-in: 84814aac81 user: drh tags: normalize)
14:24
Fix compilation of 'sqltclsh.exe' for MSVC. (check-in: abb112d9e1 user: mistachkin tags: trunk)
2018-01-07
23:28
Avoid the use of utimensat() on older unix platforms. (check-in: 90cb01d8d6 user: drh tags: trunk)
21:58
Remove the dependency on test_windirent.h from the generated shell.c file. (check-in: 0a50c9e3bb user: drh tags: trunk)
20:38
Modify the sqltclsh startup script to look for a properly formatted SQLAR at the end of the executable. Fix the CLI so that it automatically links against appendvfs and so that the --append command-line option works. (check-in: 67c4a8c688 user: drh tags: trunk)
19:52
Improved comments on the sqlar.c and compress.c extensions that describe the differences between the "zlib format" used by SQLAR, the raw deflate format used by ZIP, and the custom format used by compress.c. No changes to code. (check-in: c13415c5ca user: drh tags: trunk)
2018-01-06
21:46
The shell detects and opens ZIP archives using the zipfile extension. (check-in: 05c99eb8ce user: drh tags: trunk)
19:19
In the shell, include the ".archive" command only if compiling with SQLITE_HAVE_ZLIB. Add ".archive" to the ".help" output. (check-in: 366469f560 user: drh tags: trunk)
15:49
Better whitespace in the "CREATE TABLE sqlar()" statement for the ".ar" command. (check-in: 252ee55a7f user: drh tags: trunk)
15:46
Improved output from ".schema --indent" when a column definition is followed by a comment. (check-in: 87da7efff0 user: drh tags: trunk)
14:44
Remove a trailing tab from the Makefile for MSVC. (check-in: 00cc26e34d user: mistachkin tags: trunk)
14:43
Minor tweaks to the Makefile for MSVC. (check-in: 2f6cc5d8a0 user: mistachkin tags: trunk)
13:42
Add the appendvfs extension and code for the sqltclsh.exe executable. (check-in: b0a43e325c user: drh tags: trunk)
13:33
Fix the appendvfs so that it leaves sqlite3_file->pMethods as NULL if it fails to open. (Closed-Leaf check-in: 46b341e3ad user: drh tags: appendvfs)
04:34
Add sqltclsh.exe to the windows makefile. (check-in: a6d5c7c2aa user: drh tags: appendvfs)
2018-01-05
21:01
Make sure i64 and u64 typedefs are available throughout shell.c. (check-in: 656fb5aab3 user: drh tags: trunk)
20:30
Fix the shell.c.in amalgamator script so that it avoids generating redundant typedef statements. (check-in: 6c53c740cb user: drh tags: trunk)
20:26
MinGW does not define the S_ISLNK macro; therefore, define it in the shell when needed. (check-in: 73023febbe user: mistachkin tags: trunk)
20:13
Skip running the 'zipfile' test if the necessary static package cannot be loaded. (check-in: 5bc816ec40 user: mistachkin tags: trunk)
20:08
Fix shell compilation with MinGW by including the 'dirent.h' header. (check-in: dfe510b510 user: mistachkin tags: trunk)
19:49
Fix the autoconf makefile so that it builds testfixture correctly. (check-in: fbfe04c0b4 user: drh tags: trunk)
19:28
Sync up the autoconf Makefile for MSVC. (check-in: da8712bdb8 user: mistachkin tags: trunk)
19:27
The 'releasetest' tool should pass the TCLDIR macro for MSVC to nmake. (check-in: eaa9c0dda7 user: mistachkin tags: trunk)
19:25
For the MSVC Makefile, the 'sqlite3_checker.exe' target requires the Tcl library. (check-in: 38109a47ff user: mistachkin tags: trunk)
19:01
Add the ".ar" command to the command-line shell. (check-in: 148b8aee78 user: drh tags: trunk)
18:51
Fix a bug introduced by efforts to reduce compiler warnings in check-in [364ac333b030f0] (Closed-Leaf check-in: 1d6cee9ad4 user: drh tags: sqlar-shell-support)
17:40
In the Makefile for MSVC, the default target should not include binaries that link against the Tcl library. (check-in: 5c6d0a1d58 user: mistachkin tags: sqlar-shell-support)
17:12
More adjustments to MSVC Makefile dependencies for zlib. (check-in: bb650e5d14 user: mistachkin tags: sqlar-shell-support)
17:10
Fix compiler warnings. (check-in: 19aabccfe3 user: mistachkin tags: sqlar-shell-support)
16:23
Fix missing dependencies for shell.c in all makefiles. (check-in: 45495d3e25 user: drh tags: sqlar-shell-support)
16:05
In the Makefile for MSVC, only attempt to link against Tcl when it is needed. Also, only compile 'zipfile.c' when use of zlib is enabled. (check-in: a33ad33cf0 user: mistachkin tags: sqlar-shell-support)
16:03
Add some missing #ifdefs for building without zlib. (check-in: c63fb1700c user: mistachkin tags: sqlar-shell-support)
14:55
Fix compiler warnings. (check-in: 364ac333b0 user: drh tags: sqlar-shell-support)
11:34
Fix an LSM problem causing the wrong amount of "auto-work" to be performed under fairly obscure circumstances. (check-in: a4876672ed user: dan tags: trunk)
07:57
Fix an LSM crash that could occur if LSM_CONFIG_AUTOFLUSH was set to 0. (check-in: 05346f83d5 user: dan tags: trunk)
01:22
Revise detection of 'tclsh.exe' in the Makefile for MSVC. (check-in: 45fabd868d user: mistachkin tags: sqlar-shell-support)
01:00
Enhance the 'zlib' build target for MSVC. (check-in: 0bc3b76ec9 user: mistachkin tags: sqlar-shell-support)
00:53
Add missing #ifdef. (check-in: a0e18aea09 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: 4f34440600 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: 57dac995dd user: mistachkin tags: sqlar-shell-support)
22:46
Get the shell enhancements compiling with MSVC. (check-in: 335387f9e0 user: mistachkin tags: sqlar-shell-support)
19:54
Merge in all recent trunk enhancements. (check-in: 406f791837 user: drh tags: sqlar-shell-support)
19:20
Remove the snarky "_supported_" qualifier from the name of the sqlite_offset() SQL function. (check-in: a6eee0fcd8 user: drh tags: trunk)
18:36
Fix problem causing free-list corruption when merging free-lists for two concurrent transactions that have both used page X as an in-memory free-list trunk page, where X lies past the end of the initial database images. (check-in: dc0fc2aa7c user: dan tags: begin-concurrent-pnu)
16:40
Fix a broken documentation hyperlink. No code changes. (check-in: d91e3f3d34 user: drh tags: trunk)
2018-01-03
23:54
Fix compiler warnings on Windows. (check-in: 512b8e40c4 user: drh tags: memdb)
23:40
New test cases and fixes for minor problems. (check-in: e0da2cc382 user: drh tags: memdb)
22:48
Miscellaneous code and comment cleanup. (check-in: fa6069fb3b 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: 2f6e9df9f0 user: drh tags: memdb)
16:49
Replace the sqlite3_memdb_ptr() interface with the more general sqlite3_serialize() interface. (check-in: 8cf2ed4eff 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: 47398ae772 user: drh tags: memdb)
12:39
Fix typo in the Makefile for MSVC. (check-in: e5c6ade8ee 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: 4165fae920 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: fb2ac2d2fa user: drh tags: memdb)
2018-01-02
21:29
Fix code indentation. No logic changes. (check-in: e115f25834 user: drh tags: trunk)
19:57
Fix a spurious SQLITE_CORRUPT error that could occur within a COMMIT of a concurrent transaction. (check-in: 50c8952c92 user: dan tags: begin-concurrent-pnu)
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: 2846458af5 user: drh tags: trunk)
16:02
Enhance the memvfs extension so that it can be read/write. (check-in: 04c9197d58 user: drh tags: trunk)
13:48
Updates to the sqlite3_file_control() documentation. No changes to code. (check-in: 240e32ab1f 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: 39ca5fcd31 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: f80f6651df 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: d64b14e37d 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: 2234a87fa9 user: drh tags: trunk)
20:11
Minor simplification to the ".schema" logic in the command-line shell. (check-in: add45c4728 user: drh tags: trunk)
19:33
Enable the introspection pragmas for command-line shell builds. (check-in: 0b04223f25 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: 3d6fba623a user: drh tags: regexp-span)
2017-12-30
18:32
Have zipfile support DELETE commands. (check-in: 01d4e866fb 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: f69e8194bf 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: 2dec2dec59 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: 4f1f1f521a user: drh tags: trunk)
16:37
Stricter test cases. (Closed-Leaf check-in: 9406c0a685 user: drh tags: location-function)
15:19
Fix a typo in the MSVC makefile. (check-in: 89e5720a8d 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: 7a7f826e32 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: dd94d6a880 user: drh tags: location-function)
13:35
Merge recent enhancements from trunk. (check-in: 6251e438f2 user: drh tags: location-function)
12:50
Add test cases for the undocumented behavior of duplicate columns on an INSERT or UPDATE. (check-in: f4349c0c26 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: 0fdf97efe5 user: drh tags: trunk)
21:30
Omit all sqlite3_trace() output from the triggers associated with foreign key constraints. (Closed-Leaf check-in: fda08e3d10 user: drh tags: span-refactor)
21:13
Improve the shell tool ".ar --list --verbose" command. (check-in: b64681a644 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: fe3d2b97d8 user: drh tags: span-refactor)
19:43
Add and use the internal sqlite3DbSpanDup() interface. (check-in: a8e1545cb7 user: drh tags: span-refactor)
19:27
Merge recent enhancements from trunk. (check-in: 7637309135 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: a532a0f6fd 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: 1b22b42e59 user: drh tags: trunk)
17:36
The previous check-in had an error in the coverage reporting logic. (Closed-Leaf check-in: ec9b19eb65 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: 9dce465087 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: 3fe964873d 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: 93792bc58a 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: 8e366b99b1 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: 86e30fc284 user: drh tags: lemon-improvements)
18:14
Merge bug fixes from trunk. (check-in: d76e12066f 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: 1253a872db user: drh tags: lemon-improvements)
14:46
Faster and smaller implementation of sqlite3AtoF() based on a suggestion from Cezary H. Noweta. (check-in: fd2e0e7a77 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: 6a790b67a0 user: dan tags: trunk)
14:30
Add options to speedtest1.c and speed-check.sh for testing performance of floating-point computatations. (check-in: ebfea8728f 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: b3c6105181 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: 553a3ad324 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: 90d6e4f10d 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: 7eb0198d01 user: drh tags: lemon-improvements)
00:10
In the LEMON-generated parser, avoid unnecessary tests for the acceptance state. (check-in: fdbb35c54f 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: 7bfe7a3602 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: d49afb8f98 user: drh tags: trunk)
17:06
Improved parser tracing output. (check-in: 25be575054 user: drh tags: lemon-improvements)
17:01
Grammar changes: the sclp non-terminal should always be followed by a scanpt. (check-in: 74a0181fc0 user: drh tags: span-refactor)
14:14
Improved parser tracing output. (check-in: c4951833c2 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: 3eab7bdc44 user: drh tags: span-refactor)
2017-12-23
18:40
Merge recent enhancements from trunk. (check-in: edceaccd66 user: drh tags: appendvfs)
18:34
Merge enhancements from trunk. (check-in: 150f07fec1 user: drh tags: sqlar-shell-support)
14:39
Simplification to the error handling logic in the extension loader. (check-in: 07c773148d 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: 05fee1a21e 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: 6b2ff26c25 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: 8f194008c3 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: 5efd854fe2 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: 5c1fe66660 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: afbbfff720 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: 2c51644a12 user: drh tags: trunk)
18:55
Add the ".expert" command to the shell tool's ".help" output. (check-in: fc6193af5d 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: fffc7685d1 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: 95d4103348 user: drh tags: trunk)
02:17
Add the experimental ".expert" command to the sqlite3.exe shell. (check-in: 0821bae7af 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: 3ec7371161 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: ad38d2c4f0 user: dan tags: trunk)
17:42
Experimentally add the SQLite expert functionality to the shell tool. (Closed-Leaf check-in: 51068dbaea 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: 51be955816 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: 4c782c9502 user: dan tags: trunk)
19:16
Merge latest trunk changes into this branch. (Closed-Leaf check-in: d5b597b52a user: dan tags: schemalint)
19:11
Do not use the compress() and uncompress() functions in ext/misc/compress.c - they are not quite compatible with the spec. Instead use new functions in ext/misc/sqlar.c. (check-in: 7652b3c237 user: dan tags: sqlar-shell-support)
04:37
Add unnecessary initializations to some local variables in the rtree module to suppress false-positive compiler warnings coming out of MSVC. (check-in: 64487d658c user: drh tags: trunk)
2017-12-15
20:21
Enhance the "swarmvtab" extension. See header comments in ext/misc/unionvtab.c for details. (check-in: 01c173651a user: dan tags: trunk)
12:22
In the LEMON parser generator, provide reduce actions with access to the lookahead token. (check-in: 42af190f4f user: drh tags: trunk)
2017-12-14
19:24
Fixes to the appendvfs.c extension. Add the "sqltclsh" application that uses appendvfs.c to find its scripts. (check-in: ee248b529c user: drh tags: appendvfs)
19:15
Have the writefile() function optionally set the modification-time of the files it writes or creates. And many small fixes to the new code on this branch. (check-in: 7b51269cae user: dan tags: sqlar-shell-support)
16:57
The "apndvfs" VFS shim now appears to be working for both reads and writes. (check-in: 7f7b72d836 user: drh tags: appendvfs)
16:28
Add the ability to write to an appended database. This check-in compiles but is otherwise untested. (check-in: e343c63cbd user: drh tags: appendvfs)
15:40
Improve error and usage messages output by the shell ".ar" command. (check-in: b9d2d5d972 user: dan tags: sqlar-shell-support)
14:50
Bring in the latest trunk changes. (check-in: 75d8517703 user: drh tags: appendvfs)
13:55
Merge latest trunk changes into this branch. (check-in: 803156cba8 user: dan tags: sqlar-shell-support)
2017-12-13
23:47
In valueFromExpr() only generate a OOM fault if there have been no prior faults. (check-in: 3765aaf712 user: drh tags: trunk)
22:42
Add support for the 'lsm1.c' target in the MSVC makefile. (check-in: 6de21deac4 user: mistachkin tags: trunk)
20:35
An improved way of generating the SQLITE_READONLY_DIRECTORY error. The error message submitted to sqlite3_log() is still correct this way. (check-in: 1c0aa919ee user: drh tags: trunk)
20:17
Add the shell tool ".ar --update" command. (check-in: 825e3c037b user: dan tags: sqlar-shell-support)
20:04
Add support for the "--list" command. And for arguments to the "--extract" command. (check-in: 32c4fa2552 user: dan tags: sqlar-shell-support)
20:02
New result code SQLITE_READONLY_DIRECTORY is returned when an attempt is made to write on a database file that is in a read-only directory and hence the journal file could not be created. This situation formerly returned SQLITE_CANTOPEN, which less helpful. (check-in: 3ec73c38f8 user: drh tags: trunk)
18:01
Correctly invalidate a column cache line when it is overwritten with NULL. Fix for ticket [123c9ba32130a6c9d432]. (check-in: 65754dc3b8 user: drh tags: trunk)
15:32
Change some LSM code internal typenames from "Blob" and "Pgno" to "LsmBlob" and "LsmPgno". This allows the LSM code to be compiled as a single unit with sqlite3.c. (check-in: 30bf38d589 user: dan tags: trunk)
14:22
Add script to amalgamate all LSM files into "lsm1.c". (check-in: e32b69d730 user: dan tags: trunk)
10:11
Minor enhancement to two assert() statements in the default VFSes. (check-in: 9cede8a83c user: drh tags: trunk)
2017-12-12
20:28
Add tests and fixes for the shell ".ar" command -f option. (check-in: 1a9867973c user: dan tags: sqlar-shell-support)
20:04
Add support for parsing options in non-traditional tar form to the ".ar" command. Have writefile() attempt to create any missing path components. And not to throw an exception if it is called to create a directory that already exists. (check-in: 38dbeb1e77 user: dan tags: sqlar-shell-support)
18:17
Merge latest begin-concurrent changes into this branch. (check-in: 3fde0b4d05 user: dan tags: begin-concurrent-pnu)
2017-12-11
20:22
Enhance virtual table "fsdir" in ext/misc/fileio.c. Add support for "-C" to the shell command's ".ar c" command. (check-in: 0394889afe user: dan tags: sqlar-shell-support)
17:20
Fix a buffer overwrite in fts5 that could occur when processing a prefix query. (check-in: 92fc146bc2 user: dan tags: trunk)
14:02
Abort on an invalid paramater to sqlite3BitvecSet(). (check-in: 163c870950 user: drh tags: begin-concurrent)
2017-12-09
18:28
Add support for -C to ".ar x". (check-in: 8cd70960c5 user: dan tags: sqlar-shell-support)
17:58
Improve parsing of ".ar" commands. Add new test file for the same. (check-in: 840401cc8c user: dan tags: sqlar-shell-support)
01:02
Fix a harmless API signature mismatch in the unix VFS. (check-in: bab9de7fdd user: drh tags: trunk)
2017-12-08
19:37
The query planner tries to avoids using indexes that use unknown collating functions. (check-in: 02013fc120 user: drh tags: trunk)
16:23
Add compile time switch SQLITE_ENABLE_ICU_COLLATIONS. For enabling ICU collations without also enabling the tokenizer, the LIKE operator, the REGEXP operator, or the unicode aware upper()/lower() scalar functions. (check-in: a079f91452 user: dan tags: trunk)
14:07
Make sure the bComplex variable in sqlite3DeleteFrom() is initialized when compiling with -DSQLITE_OMIT_TRIGGER. (check-in: e526d0c40b user: drh tags: trunk)
2017-12-07
22:10
When doing a table scan using an index, do not error out if collating functions used by that index are unavailable, since they will not be used. (check-in: bbd69fa6fa user: drh tags: trunk)
22:04
Fix typo in comment. No changes to code. (check-in: 95958b60f9 user: mistachkin tags: trunk)
21:03
Add the ".ar x" command to the shell. For extracting the contents of sqlar archives. (check-in: 0cc699d14a user: dan tags: sqlar-shell-support)
16:51
Fix harmless compiler warnings in the rot13 extension. (check-in: 113470772b user: drh tags: trunk)
15:44
Begin adding support for the sqlar archive format to shell.c. There is no "extract" command so far, only "create". (check-in: c9827a01a6 user: dan tags: sqlar-shell-support)
13:15
Updates to the main README.md file. (check-in: 6bfafc35d1 user: drh tags: trunk)
2017-12-06
20:50
Fix an unreachable branch in cases when SQLITE_ENABLE_STAT4 is not defined. (check-in: 6a55bd6772 user: drh tags: trunk)
2017-12-05
19:07
For MSVC, simplify default locations for Tcl and ICU by using directories inside 'compat'. (check-in: 8155b5ac85 user: mistachkin tags: sqlar-shell-support)
18:54
Add support for including zlib in the shell when compiling with MSVC. (check-in: e1838cee38 user: mistachkin tags: sqlar-shell-support)
18:32
If SQLITE_HAVE_ZLIB is defined at build-time, include the functions in ext/misc/compress.c in the shell. (check-in: 0296286a99 user: dan tags: sqlar-shell-support)
15:00
Merge latest trunk changes, including the compilation fix for builds that define both SQLITE_ENABLE_MULTITHREADED_CHECKS and SQLITE_ENABLE_API_ARMOUR. (check-in: 2cb5d2a92f user: dan tags: apple-osx)
14:58
Fix a compilation problem when both SQLITE_ENABLE_MULTITHREADED_CHECKS and SQLITE_ENABLE_API_ARMOUR are defined. (check-in: 0342ce510d user: dan tags: trunk)
2017-12-01
18:40
Fix the ".lint fkey-indexes" shell command so that it works with WITHOUT ROWID tables. (check-in: 5771b1d611 user: dan tags: trunk)
2017-11-30
11:21
Fix some minor problems in test scripts. (check-in: 4c551fdebc user: dan tags: trunk)
07:56
Merge latest trunk changes, including the fixes for test file walprotocol.test. (check-in: b425b99811 user: dan tags: apple-osx)
07:55
Update test file walprotocol.test to account for the changes in the wal locking protocol. (check-in: 64e567009d user: dan tags: trunk)
2017-11-29
16:16
Merge latest trunk changes into this branch. (check-in: 373fa21bff user: dan tags: schemalint)
2017-11-28
20:43
Fix an assertion fault found by OSSFuzz. (check-in: 75d699877f user: dan tags: trunk)
13:48
Merge the snapshots-always-lock-the-wal-file change into this branch. (check-in: 3ec976e015 user: dan tags: apple-osx)
13:39
Lock the wal file for all snapshot transactions, even if they would not otherwise require this, preventing checkpointers and writers from wrapping the wal file. This means that if one connection has an open snapshot transaction it is guaranteed that a second connection can open a transaction on the same snapshot. (check-in: b81a31495b user: dan tags: trunk)
08:08
Merge latest trunk changes, including the SQLITE_ENABLE_MULTITHREADED_CHECKS feature, into this branch. (check-in: 1fd1034935 user: dan tags: apple-osx)
07:52
Add experimental feature to detect threading bugs in apps that use SQLITE_CONFIG_MULTITHREADED. Enabled at compile time using SQLITE_ENABLE_MULTITHREADED_CHECKS. (check-in: 40b598c839 user: dan tags: trunk)
07:47
Use a symbolic constant instead of a literal (-1) to identify a warn-on-contention mutex. (Closed-Leaf check-in: 12a23c0a66 user: dan tags: multithreaded-checks)
02:47
Add the "PRAGMA table_ipk(TABLE)" command for evaluation purposes. (Leaf check-in: 2494132a2b user: drh tags: pragma-table-ipk)
00:52
Update tests to deal with SQLITE_FAST_SECURE_DELETE. (check-in: e6b8930469 user: drh tags: trunk)
2017-11-27
17:56
Fix a faulty NEVER assert() that could fail for SQLITE_ENABLE_STAT4 builds that use foreign keys. (check-in: 465350e55d user: dan tags: trunk)
2017-11-26
02:14
Fix an CSV output quoting problem in the command-line shell on Windows. (check-in: 6500cdbd36 user: drh tags: trunk)
2017-11-25
21:09
Fix builds with both SQLITE_ENABLE_MULTITHREADED_CHECKS and SQLITE_THREADSAFE=0 defined. (check-in: 7d0b12fcb5 user: dan tags: multithreaded-checks)
17:51
Add experimental feature to detect threading bugs in apps that use SQLITE_CONFIG_MULTITHREADED. Enabled at compile time using SQLITE_ENABLE_MULTITHREADED_CHECKS. (check-in: a66886ac13 user: dan tags: multithreaded-checks)
2017-11-24
19:24
Add the "^" syntax from fts3/4 to fts5. (check-in: 24d7058e27 user: dan tags: trunk)
16:55
Enhance the configure script to detect zLib. (check-in: e3b6e22049 user: drh tags: trunk)
2017-11-23
04:45
Fix a problem in the omit-table-from-left-join optimization from check-in [0cd82ee9a8413cf] that was discovered by OSSFuzz. (check-in: b016c28fa5 user: drh tags: trunk)
00:45
Completely disable the skip-ahead-distinct optimization for all but the inner-most loop of a DISTINCT join. Fix for ticket [ef9318757b152e3a26e9592] (check-in: b7595cf2ca user: drh tags: trunk)
2017-11-21
23:47
An experimental optimization to DISTINCT that causes an immediate exit of the inner loop of a join following each output row if the inner loop does not contribute any columns to the result set. (Leaf check-in: a33f88acd7 user: drh tags: distinct-early-out)
23:38
Fix the skip-ahead-distinct optimization on joins for cases there the table in the inner loop of the join does not contribute any columns to the result set. Proposed fix for ticket [ef9318757b152e3a2] (check-in: 2dcef5a9ae user: drh tags: trunk)
21:15
Fix typo in the Makefiles for MSVC. (check-in: 17dd2f7314 user: mistachkin tags: trunk)
21:14
Fix compilation issue (C99-ism) in the shell seen with MSVC. (check-in: 9cb4743055 user: mistachkin tags: trunk)
20:53
Update the omit-table-from-left-join optimization so that it can omit tables from the middle of the join as well as the end. (check-in: 0cd82ee9a8 user: dan tags: trunk)
19:22
Update the omit-table-from-left-join optimization so that it can omit tables from the middle of the join as well as the end. (Closed-Leaf check-in: 618ca9fe53 user: dan tags: left-join-optimization)
2017-11-20
15:46
Fix a problem preventing the planner from identifying scans that visit at most one row in cases where that property is guaranteed by a unique, not-null, non-IPK column that is the leftmost in its table. (check-in: 7fdb1e2ac2 user: dan tags: trunk)
15:45
Fix a typo in a test script on this branch. (Closed-Leaf check-in: bff5dcfd2b user: dan tags: left-join-omit-fix)
14:40
Fix a problem preventing the planner from identifying scans that visit at most one row in cases where that property is guaranteed by a unique, not-null, non-IPK column that is the leftmost in its table. (check-in: 299d7ca52f user: dan tags: left-join-omit-fix)
2017-11-18
18:07
Enhance the log messages produced in some cases if database corruption is encountered by an SQLITE_DEBUG build. (check-in: ee840a7669 user: dan tags: trunk)
17:30
Enhance the log messages produced in some cases if database corruption is encountered by an SQLITE_DEBUG build. (Closed-Leaf check-in: 23a3128083 user: dan tags: sqlite-corrupt-page)
2017-11-17
21:01
Improved fix for ticket [da78413751863] that does not require disabling the query flattener as was done in [005d5b870625]. This also makes the code generator for vector IN operators a little easier to understand. (check-in: 723f1be3d4 user: drh tags: trunk)
20:22
Add missing entry for SQLITE_IOERR_VNODE to the switch statement in sqlite3ErrName(). (check-in: e2b3e33537 user: dan tags: apple-osx)
20:16
Add an 'extern "C"' wrapper to sqlite3_private.h. (check-in: 97ab1efe4e user: dan tags: apple-osx)
20:10
Merge test script fixes from trunk into this branch. (check-in: 32f5f46139 user: dan tags: apple-osx)
20:07
Add some missing "finish_test" lines to the end of test scripts. (check-in: c21406ab32 user: dan tags: trunk)
17:32
New assert() statements in the rowvalue IN expression processing. (check-in: 00c3283174 user: drh tags: trunk)
15:02
Clarification of comments on sqlite3FindInIndex(). No changes to code. (check-in: 071cabd23c user: drh tags: trunk)
13:23
Merge latest changes from trunk, including the temporary db/ATTACH/master-journal fix. (check-in: 162c754365 user: dan tags: apple-osx)
13:21
Do not count temporary databases that have been attached using ATTACH when figuring out if a master-journal file is required by a transaction. (check-in: 93e012a317 user: dan tags: trunk)
08:20
Avoid creating a master journal if all or all but one of the databases in the transaction is a temp file. (Closed-Leaf check-in: 355d1232fd user: dan tags: master-journal-temp-files)
2017-11-16
20:48
In the LSM extension, ensure that empty space on pages is zeroed before they are written to disk. This helps with compressed databases, and stops valgrind complaining about uninitialized bytes and write(). (check-in: 5ffec5db33 user: dan tags: trunk)
19:17
Merge the latest changes, and the stmtvtab1.test fix, from trunk. (check-in: 85247880a6 user: drh tags: apple-osx)
19:04
Add a missing "finish_test" to the end of the stmtvtab1.test script. (check-in: e0b5c0585e user: drh tags: trunk)
2017-11-15
19:14
Futher improvements to the .testctrl interface in the shell. (check-in: 1ca3b8cce9 user: drh tags: trunk)
17:07
UI improvements on the .testctrl dot-command in the shell. (check-in: 5d66219c47 user: drh tags: trunk)
16:29
Merge all the latest changes from trunk. (check-in: 1a1a73b821 user: drh tags: appendvfs)
2017-11-14
23:48
In the parse tree, combine LIMIT and OFFSET into a single expression rooted on a TK_LIMIT node, for a small code size reduction and performance increase, and a reduction in code complexity. (check-in: 3925facd94 user: drh tags: trunk)
21:06
Fix a typo that prevented successful builds on macs. (check-in: adf83060a6 user: drh tags: apple-osx)
20:36
Merge the patch that enables reading a read-only WAL-mode database, without any special query parameters, as long as the -shm and -wal files are on disk. (check-in: 8c2a769c4a user: drh tags: apple-osx)
20:06
Merge changes from trunk. This fixes the SQLITE_ENABLE_UPDATE_DELETE_LIMIT functionality so that it works with views and WITHOUT ROWID tables. (check-in: d90e5f346b user: dan tags: begin-concurrent)
20:00
Merge all changes from trunk prior to the read-only WAL enhancement. (check-in: 1754faefcc user: drh tags: apple-osx)
19:34
Add the ability to read from read-only WAL-mode database files as long as the -wal and -shm files are present on disk. (check-in: 00ec95fcd0 user: drh tags: trunk)
18:26
Fix the SQLITE_ENABLE_UPDATE_DELETE_LIMIT functionality so that it works with views and WITHOUT ROWID tables. This is a modified cherrypick of [dae4a97a]. (check-in: b2679d3b7a user: dan tags: branch-3.8.9)
17:06
Fix the SQLITE_ENABLE_UPDATE_DELETE_LIMIT functionality so that it works with views and WITHOUT ROWID tables. (check-in: dae4a97a48 user: dan tags: trunk)
03:42
Improvement to a comment. No changes to code. (Closed-Leaf check-in: 486949fc03 user: drh tags: readonly-wal-recovery)
2017-11-13
05:51
Remove some branches in walTryBeginRead() that were added by check-in [ce5d13c2de] but became unreachable with the addition of logic in check-in [18b26843] that enabled read-only clients to parse the WAL file into a heap-memory WAL-index, thus guaranteeing that the WAL-index header is always available. (check-in: 9c6b38b9a9 user: drh tags: readonly-wal-recovery)
2017-11-11
20:11
In wal.c: improved comments, new assert() and testcase() macros, and replace some magic numbers with appropriate symbolic constants. (check-in: 13ec8a77a4 user: drh tags: readonly-wal-recovery)
13:30
Further comment improvements in wal.c. No code changes. (check-in: 346388007d user: drh tags: readonly-wal-recovery)
2017-11-10
20:13
Omit some extra code from non-SQLITE_ENABLE_UPDATE_DELETE_LIMIT builds. (Closed-Leaf check-in: 72be33f9c8 user: dan tags: update-delete-limit-fix)
20:00
Improved comments and variable names in the read-only WAL logic. (check-in: d3c25740ee user: drh tags: readonly-wal-recovery)
17:47
Add further tests for the code on this branch. (check-in: f8c4e33f48 user: dan tags: update-delete-limit-fix)
16:14
Fix a problem involving "DELETE/UPDATE...LIMIT" statements that use an INDEXED BY clause. (check-in: 09f94c2c81 user: dan tags: update-delete-limit-fix)
15:42
Fix a problem with (DELETE...LIMIT) statements against WITHOUT ROWID tables with a single column PK. (check-in: 35477a3dcc user: dan tags: update-delete-limit-fix)
12:41
Fix harmless compiler warning seen with MSVC. (check-in: 3711ef2366 user: mistachkin tags: trunk)
2017-11-09
23:24
Avoid superfluous SHM unlock call in the Win32 VFS. (check-in: 5a384be697 user: mistachkin tags: readonly-wal-recovery)
22:25
Cleanup superfluous whitespace changes. (check-in: a2908e2c88 user: mistachkin tags: readonly-wal-recovery)
22:23
Revise and vastly simplify the Win32 SHM file locking semantics, allowing all new tests to pass. (check-in: d0997b0f5b user: mistachkin tags: readonly-wal-recovery)
20:37
Add an assert() in the Win32 VFS. (check-in: 22e5833046 user: mistachkin tags: readonly-wal-recovery)
20:34
Enhance walro2.test to better ensure that readonly_shm clients are not using invalid *-shm files. (check-in: ff630b6671 user: dan tags: readonly-wal-recovery)
20:02
Get read-only SHM file tests passing on Win32. (check-in: abef053535 user: mistachkin tags: readonly-wal-recovery)
19:53
Add SQLITE_ENABLE_UPDATE_DELETE_LIMIT for views and WITHOUT ROWID tables. (check-in: 584b88aaf8 user: dan tags: update-delete-limit-fix)
18:53
Further corrections to read-only SHM file handling on Win32. (check-in: 43c311701b user: mistachkin tags: readonly-wal-recovery)
18:21
Corrections to Win32 lock detection for SHM files. (check-in: 3a91be975d user: mistachkin tags: readonly-wal-recovery)
17:29
Corrections to the Win32 porting changes on this branch. (check-in: 0b26a5a26d user: mistachkin tags: readonly-wal-recovery)
17:29
Make it possible to use OSTRACE for multi-process testing. (check-in: 0a7d416c4c user: mistachkin tags: readonly-wal-recovery)
16:30
Initial work on porting the changes on this branch to Win32. (check-in: 3738bfd0c0 user: mistachkin tags: readonly-wal-recovery)
04:13
Disallow ORDER BY and LIMIT on UPDATE and DELETE of views and WITHOUT ROWID tables. This is a temporary fix for ticket [d4beea1633f1b88f] until a better solution can be found. (check-in: 30aa941fc1 user: drh tags: branch-3.8.9)
03:55
Disallow ORDER BY and LIMIT on UPDATE and DELETE of views and WITHOUT ROWID tables. This is a temporary fix for ticket [d4beea1633f1b88f] until a better solution can be found. (check-in: 62fe56b592 user: drh tags: trunk)
2017-11-08
19:26
Extra comments on the sqlite3OsShmMap() call in walBeginUnlocked(). No changes to code. (check-in: 033ee92bf4 user: drh tags: readonly-wal-recovery)
17:51
Turns out that SQLITE_READONLY_CANTLOCK is an historical name that must be preserved. So make a new SQLITE_READLOCK_CANTINIT name instead. (check-in: 04974a8b5c user: drh tags: readonly-wal-recovery)
17:32
Change the name of SQLITE_READONLY_CANTLOCK to SQLITE_READONLY_CANTINIT. (check-in: 6d7f94faa7 user: drh tags: readonly-wal-recovery)
11:14
Fix a problem causing LSM to add unnecessary padding to empty segments in compressed databases. (check-in: 1bc2d04645 user: dan tags: trunk)
02:50
Improved comments used for documentation of sqlite3_vfs. No changes to code. (check-in: db8f22d069 user: drh tags: trunk)
2017-11-07
21:25
Update an assert in wal.c. (check-in: 94527b897b user: dan tags: readonly-wal-recovery)
21:15
Handle the race condition that may occur if another process connects and then checkpoints and truncates the wal file while a readonly-shm client is building its heap-memory wal-index. (check-in: 5a6703fc3f user: dan tags: readonly-wal-recovery)
19:02
Fix handling of partial indexes in checkindex.c (sqlite3_checker). (check-in: 31932a9eb8 user: dan tags: trunk)
18:20
Fix a problem causing an INDEXED BY specifying an unusable partial index to be mishandled. (check-in: 292a04086a user: dan tags: trunk)
16:54
Add the --trace option to the sqlite3_checker utility program. (check-in: dc217b7cfe user: drh tags: trunk)
16:23
Enhance the checkindex.c virtual table so that it will output the index_name and after_key parameters. Also add a new diagnostic output column named scanner_sql which shows the SQL statement used to implement the current index scan. (check-in: 32e2520ce9 user: drh tags: trunk)
15:43
On unix, if the *-shm file cannot be opened for read/write access, open it read-only and proceed as if the readonly_shm=1 URI option were specified. (check-in: ba718754fa user: dan tags: readonly-wal-recovery)
09:08
Add fault-injection tests for the code on this branch. (check-in: a7d949fb73 user: dan tags: readonly-wal-recovery)
2017-11-06
20:02
Merge latest trunk changes into this branch. (check-in: 7f217edab4 user: dan tags: begin-concurrent)
19:49
Add further test cases for the new code on this branch. And a couple of fixes. (check-in: 71af9acb22 user: dan tags: readonly-wal-recovery)
10:04
Allow "BEGIN CONCURRENT" transactions to modify the temp schema. (check-in: 0fb6d91cea user: dan tags: begin-concurrent)
09:34
Fix a harmless compiler warning from Xcode 9.1. (check-in: 66d98310b9 user: drh tags: trunk)
2017-11-04
21:06
Add further tests for the code added on this branch. (check-in: a6716fcde3 user: dan tags: readonly-wal-recovery)
18:10
In cases where a readonly_shm client cannot take the DMS lock on the *-shm file, have it parse the wal file and create a wal-index to access it in heap memory. (check-in: 18b268433d user: dan tags: readonly-wal-recovery)
08:53
Fix an LSM problem with read-only connections and compression (not compression-factory) callbacks. (check-in: 51ee5188b0 user: dan tags: trunk)
2017-11-03
19:34
Fix some comments in new code on this branch. No changes to code. (Closed-Leaf check-in: cbec1bfe4b user: dan tags: fcntl_shm_read)
17:51
Merge latest trunk changes with this branch. (check-in: 585e0a09c5 user: dan tags: fcntl_shm_read)
17:17
Allow readonly_shm connections to access the *-shm file using read() even if it is unable to take a DMS lock. (check-in: 9b0d5c4ff7 user: dan tags: fcntl_shm_read)
08:46
The extensions functions in spellfix are all deterministic. (check-in: 29ec855e13 user: drh tags: trunk)
06:45
Fix harmless compiler warnings. (check-in: d088c5a3f1 user: mistachkin tags: trunk)
2017-11-02
18:57
Fix test cases in wal2.test broken by the locking change in the previous commit. (check-in: f569c35172 user: dan tags: readonly-wal-recovery)
11:12
Avoid locking shm-lock WAL_READ_LOCK(0) during recovery. Doing this allows recovery to proceed while a readonly_shm connection in unlocked mode has an ongoing read transaction. (check-in: 5190d84a29 user: dan tags: readonly-wal-recovery)
2017-11-01
20:59
If a readonly_shm connection cannot map the *-shm file because no other process is holding the DMS lock, have it read from the database file only, ignoring any content in the wal file. (check-in: ce5d13c2de user: dan tags: readonly-wal-recovery)
19:58
Fix harmless compiler warnings in sqlite3_checker.exe (check-in: 491f867b37 user: drh tags: trunk)
19:50
Make sure the JSON1 extension is available to sqlite3_checker.exe (check-in: a946a8ed46 user: drh tags: trunk)
19:44
Add the checkindex.c extension and the sqlite3_checker utility program used for doing live validation of large databases. (check-in: 0c5d18a01e user: drh tags: trunk)
19:30
Fix the SQLITE_NoopUpdate #define so that it occurs under the correct conditions. (check-in: bdf791f9f7 user: drh tags: begin-concurrent-pnu)
19:22
Adjust page numbers in the ext/repair/test/checkfreelist01.test module due to the fact that the pending-byte page is no longer shifted down to a low-numbered page but is in its rightful place. (Closed-Leaf check-in: c1641affae user: drh tags: checkindex)
18:48
The "PRAGMA noop_update" command now requires SQLITE_ENABLE_NOOP_UPDATE and no longer requires SQLITE_DEBUG. (check-in: 81baf67c44 user: drh tags: begin-concurrent-pnu)
18:31
Add the "sqlite3_imposter DB SCHEMA ROOT SQL" command to sqlite3_checker. Use it to fix the checkindex01.test module. There are still errors reported by the checkfreelist01.test module. (check-in: 0593a2ba74 user: drh tags: checkindex)
18:05
Move the test scripts for checkfreelist and checkindex over into the ext/repair/test directory. Run them now using the sqlite3_checker utility with the --test option. Some tests are currently failing due to an incomplete port. This is an incremental check-in. (check-in: 17f8d5e111 user: drh tags: checkindex)
13:09
Minor cleanup in checkindex.c. Add progress displays when checking a single index in the top-level TCL script for sqlite3_checker. (check-in: 3ca31cc3ff user: drh tags: checkindex)
07:06
Merge latest trunk changes into this branch. (check-in: 985bfc9929 user: dan tags: readonly-wal-recovery)
06:59
Fix a race condition in os_unix.c that might allow a client to use a *-shm file corrupted by a power failure if another client fails between locking the *-shm file and truncating it to zero bytes. (check-in: d655bfabd1 user: dan tags: readonly-wal-recovery)
01:05
When sqlite3_checker finds a problem, show the row key as part of the error message, not the row index number. (check-in: 6ffe917d10 user: drh tags: checkindex)
01:01
Actually perform index checks when running sqlite3_checker (check-in: 5453002026 user: drh tags: checkindex)
00:10
Begin putting functionality into the sqlite3_checker binary. (check-in: e82e883b93 user: drh tags: checkindex)
2017-10-31
18:15
Merge all recent enhancements from trunk. (check-in: 24adf90ffb user: drh tags: checkindex)
18:09
Add the checkfreelist extension to the sqlite3_checker binary. (check-in: 0c22f0d6d1 user: drh tags: checkindex)
15:55
Fix an error in the Makefile.msc for the sqlite3_checker.exe target. (check-in: 49d0c6f1f6 user: drh tags: checkindex)
15:49
Add build infrastructure for the sqlite3_checker command-line utility. (check-in: 429e3c3c85 user: drh tags: checkindex)
14:56
Update the built procedures for the sqlite3_analyzer utility to allow it to be linked with an external sqlite3.o library. Automatically detect a missing dbstat extension and report the compile-time error. (check-in: bb39744f4b user: drh tags: trunk)
12:20
Fix redundancies in the makefiles that resulted from moving shell.c over to shell.c.in. (check-in: bf09fa683e user: drh tags: trunk)
12:06
Fix a minor comment typo. No changes to code. (check-in: 5f79e6d9c3 user: drh tags: trunk)
12:01
Fix a couple of issues in incremental_index_check to do with CREATE INDEX statements that contain embedded SQL comments. (check-in: 2aef41815a user: dan tags: checkindex)
03:40
Remove unnecessary NEVER() and ALWAYS() conditionals. (check-in: 1c80c75d4b user: drh tags: trunk)
2017-10-30
23:25
Add the showshm utility program for printing out the shm header in a human-readable format. (check-in: f6304fd142 user: drh tags: trunk)
20:44
Clarify some comments describing the WAL index file. No changes to code. (check-in: 3be3aad9ec user: drh tags: trunk)
19:38
Add support for indexes on expressions to incremental_index_check. (check-in: 8c1c701fdb user: dan tags: checkindex)
18:49
Improve the performance of the LIKE operator by using strcspn() to aid wildcard matching. (check-in: 37284d4e8f user: drh tags: trunk)
18:26
Speed up wildcard searches in LIKE using strchr() (Closed-Leaf check-in: 4d336d7420 user: drh tags: like-compare-opt)
17:05
In checkindex.c, use C code instead of SQL/group_concat() to compose various SQL clauses. This is to make it easier to support indexes on expressions. (check-in: 940606b3af user: dan tags: checkindex)
08:04
Fix an issue in incremental_index_check with indexes that use non-default collation sequences. (check-in: 3ebb2351e2 user: dan tags: checkindex)
2017-10-28
20:54
Increase the version number for the next release - which is still months away but there have been significant query planner enhancements since the previous release. (check-in: 457eedfac0 user: drh tags: trunk)
20:51
Reactivate query flattening when the result set of the outer query has no function calls or subqueries. This is a partial reversal of check-in [c9104b59]. Co-routines are still preferred if the outer query has a complex result set, but for simple results sets, query flattening is used. Check-in [4464f40ccd7] is completely backed out due to this change. (check-in: d17ef7d153 user: drh tags: trunk)
20:31
Fix "after" parameter handling in the incremental_index_check code. (check-in: c40c3c62e9 user: dan tags: checkindex)
12:20
Add test cases from OSSFuzz to prevent a regression in co-routine processing. (check-in: 689743d8e3 user: drh tags: trunk)
2017-10-27
23:28
I was a little concerned about this check-in. Though I could not generate a failure myself, I thought it was risky. I checked it in for further testing. Then, overnight, OSSFuzz found a failure case for me. So the change is now moved out into a deadend branch. Was: Use OP_SCopy rather than OP_Copy to transfer results from a co-routine to its consumer. This undoes an earlier fix for ticket [98825a79ce] by check-in [ec6a06246e] because that problem no longer occurs due to WHERE clause push-down. (Closed-Leaf check-in: 0926df095f user: drh tags: mistake)
20:53
Add the start of the "incremental_index_check" virtual table in ext/repair/checkindex.c. For incremental verification of index contents. (check-in: d5b9dada47 user: dan tags: checkindex)
18:24
Fix a Pager ref-count leak in the sqlite_dbpage virtual table. (check-in: c063bb04da user: drh tags: trunk)
17:09
Handle the Ctrl-C event for the shell on Win32. (check-in: c8aaf37117 user: mistachkin tags: trunk)
12:27
Additional test case demonstrating the ability to access structure elements using quoted names in the JSON1 extension. (check-in: 8d3cc928a8 user: drh tags: trunk)
2017-10-26
20:04
Enhance the min/max optimization so that it works with indexes on expressions. (check-in: 6caec9082b user: drh tags: trunk)
18:43
Extra ".selecttrace" output following aggregate analysis. No changes to production builds. (check-in: 6fbf74ab31 user: drh tags: trunk)
17:34
Fix an error in the previous commit on this branch. (check-in: f71dfee06c user: dan tags: readonly-wal-recovery)
17:05
Instead of extra locks, use F_GETLK to ensure that readonly_shm clients cannot connect to a wal-mode database if there are no writers. (check-in: 5492f457dc user: dan tags: readonly-wal-recovery)
15:21
Fix a bug causing "make amalgmation-autoconf" to create an invalid package if either the current or parent directory contains a file named install.sh or install-sh. (check-in: e1faa78594 user: dan tags: trunk)
2017-10-25
23:28
Use extra locks to prevent a readonly_shm=1 process from connecting to a WAL-mode database if there are no writers. (check-in: 35d979082b user: drh tags: readonly-wal-recovery)
19:18
Fix the sqlite3_dbpage virtual table so that it can read and write from any attached database. (check-in: d4f893e1ae user: drh tags: trunk)
18:17
Add tests cases and fix minor issues in the rtreecheck() function. (check-in: d6130cd226 user: dan tags: trunk)
18:01
Add SQL scalar function rtreecheck() to the rtree module. For running checks to ensure the shadow tables used by an rtree virtual table are internally consistent. (check-in: 7d26498063 user: mistachkin tags: trunk)
18:00
Fix compilation issue (C99-ism) seen with MSVC. (Closed-Leaf check-in: 61870b42b0 user: mistachkin tags: rtree-integrity-check)
16:38
Add SQL scalar function rtreecheck() to the rtree module. For running checks to ensure the shadow tables used by an rtree virtual table are internally consistent. (check-in: dde0bb3eab user: dan tags: rtree-integrity-check)
16:14
Do not reference the ioctl() system call in the unix backend unless it is actually needed by the Batch Atomic Write extension. This should allow the build to work on VxWorks. (check-in: adfa7ed2de user: drh tags: trunk)
01:34
Add the sqlite_btreeinfo eponymous-only table for introspecting the schema and estimating the sizes of various btrees. (check-in: 1e30f4772d user: drh tags: trunk)
2017-10-24
21:17
Force the autoconf makefile for MSVC to always use the 'find.exe' included with Windows. (check-in: b76bffd332 user: mistachkin tags: trunk)
19:12
Merge all enhancements and fixes from the 3.21.0 release. (check-in: 13be3a441d user: drh tags: apple-osx)
19:05
Merge all of the fixes from the 3.21.0 release. (check-in: 5ab662b443 user: drh tags: trunk)
18:55
Version 3.21.0 (Leaf check-in: 1a584e4999 user: drh tags: release, branch-3.21, version-3.21.0)
17:28
Fix a problem in the incr-blob code causing a new cursor to be opened for every sqlite3_blob_reopen() call. (check-in: 41ef34a1f0 user: dan tags: branch-3.21)
2017-10-23
21:24
On the amalgamation package, enable the sqlite_dbpage virtual table so that the .dbinfo command works in the CLI. (check-in: 54b90b4f27 user: drh tags: branch-3.21)
20:20
Merge trunk fixes to swarmvtabfault.test and the lsm extension into this branch. No changes to core SQLite code. (check-in: f632b87002 user: dan tags: branch-3.21)
20:17
In the 'swarmvtabfault' test module, make sure to close the database handle prior to raising an error from the 'not found' callback script. (check-in: f317037b31 user: mistachkin tags: trunk)
17:36
Cleanup a test database file prior to using it. (check-in: e1bf5e1d06 user: mistachkin tags: trunk)
16:34
Updates to test procedures so that they all work with encryption. No changes to the core SQLite code. (check-in: 0481330756 user: drh tags: branch-3.21)
16:03
Avoid passing a NULL value as the second argument to memcpy(). (check-in: 58e5bb491b user: dan tags: branch-3.21)
11:48
In lsm (not SQLite), avoid opening the *-shm file before the database file is locked. Otherwise, there is a race condition whereby a connection in another process process may unlink() it while it is still in use. (check-in: c8b8b9b573 user: dan tags: trunk)
07:53
Fix minor test script problems revealed by releasetest.tcl. (check-in: c333ee7e96 user: dan tags: branch-3.21)
07:52
Fix minor test script problems revealed by releasetest.tcl. (check-in: 15e87d9bc8 user: dan tags: trunk)
2017-10-22
08:03
Fix test cases in dbpage.test so that they work with SQLITE_DEFAULT_AUTOVACUUM=1 builds. (check-in: 9474f061d6 user: dan tags: branch-3.21)
08:02
Fix test cases in dbpage.test so that they work with SQLITE_DEFAULT_AUTOVACUUM=1 builds. (check-in: 0fcf1e61ef user: dan tags: trunk)
07:58
Avoid running tests that use sqlite_dbpage with SQLITE_OMIT_VIRTUAL_TABLE builds. (check-in: 6dde8d6154 user: dan tags: branch-3.21)
07:57
Avoid running tests that use sqlite_dbpage with SQLITE_OMIT_VIRTUAL_TABLE builds. (check-in: 7bd20a20a0 user: dan tags: trunk)
2017-10-21
17:17
Merge all the enhancements and bug fixes from trunk, since none are destablizing. Call this the second beta. (check-in: fb3ee1b7ca user: drh tags: branch-3.21)
14:17
Catch and avoid a 16-bit integer overflow on the number of columns in a common table expression. This fixes a problem found by OSS-Fuzz. The test case is in TH3. (check-in: 6ee8cb6ae5 user: drh tags: trunk)
13:29
Remove unnecessary "#if SQLITE_MAX_COLUMN". SQLITE_MAX_COLUMN is always defined. (check-in: 6ec82acde8 user: drh tags: trunk)
12:59
Initial implementation of the appendvfs extension. Untested. (check-in: 063a03a377 user: drh tags: appendvfs)
2017-10-19
15:17
Take extra care to avoid an OOB read caused by a corrupt b-tree page. This fixes a problem detected by Natalie Silvanovich of Google Project Zero. (check-in: 04925dee41 user: dan tags: trunk)
2017-10-18
15:02
Avoid using snprintf as a member variable of a struct in sqlite3ext.h. This causes problems on OSX. Similar to fix [a1fd3aa8]. (check-in: cd0471ca9f user: dan tags: trunk)
14:29
Avoid using snprintf as a member variable of a struct in sqlite3ext.h. This causes problems on OSX. (Closed-Leaf check-in: b066d5a69f user: dan tags: sqlite3ext-fix)
2017-10-17
18:33
The source code files generated for the 'sqlite3-all.c' target should not have Windows line-endings. (check-in: 6a08c43431 user: mistachkin tags: trunk)
13:44
Fix the ".check" command of the command-line shell to return 1 (error) rather than 2 (exit) on a test failure. (check-in: e2af0cc6ef user: drh tags: trunk)
2017-10-16
11:50
Improved comments, including a typo fix, on the whereLoopCheaperProperSubset() function. (check-in: 700a3c6944 user: drh tags: trunk)
2017-10-15
22:16
In the query planner, do not consider index X to be a proper subset of index Y if X is a covering index but Y is not. (check-in: ee31c04353 user: drh tags: trunk)
2017-10-14
19:58
Updates to the Makefiles for MSVC. Cherrypick of [ac8786f3f9f35cb6]. (check-in: 92eb721fae user: mistachkin tags: branch-3.21)
19:54
Updates to the Makefiles for MSVC. (check-in: ac8786f3f9 user: mistachkin tags: trunk)
2017-10-13
20:14
Improved ability to generate stand-alone program using TCL and SQLite by compiling with -DTCLSH_INIT_PROC=name to cause the TCL interpreter to be initialized using procedure name(). Both sqlite3_analyzer and testfixture are now built this way. (check-in: d65d1f297d user: drh tags: trunk)
18:58
Add the tcl/mkccode.tcl script used to construct a single C-language source fiel for programs that combine C-code, SQLite, and TCL. Use this script to construct the sqlite3_analyzer program. (check-in: 298a3fddec user: drh tags: trunk)
16:24
Fix main.mk to name the win32 executable "sqlite3_expert.exe", not "sqlite3_expert". (check-in: e38571d518 user: dan tags: schemalint)
16:19
Move a bunch of unrelated test code out of tclsqlite.c and into test_*.c files. There is still some test code in tclsqlite.c, but the amount is greatly reduced. (check-in: a9c4bc88fc user: drh tags: trunk)
16:01
The db_use_legacy_prepare command no longer exists. Use the undocumented -use-legacy-prepare option to DB version instead. (Closed-Leaf check-in: ea2fa9ab9b user: drh tags: tclsqlite-cleanup)
15:56
When compiling with SQLITE_TEST, extra options are available on the "DB version" command for controlling the internal state of the SqliteDb object, for testing purposes. (check-in: bf86478d9c user: drh tags: tclsqlite-cleanup)
15:06
Move some test logic out of tclsqlite.c and into auxiliary test_*.c files. This is a work in progress. (check-in: 95b7687fed user: drh tags: tclsqlite-cleanup)
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: 4c68ad7da4 user: dan tags: schemalint)
2017-10-12
20:37
Add the sqlite_dbpage virtual table (enabled using SQLITE_ENABLE_DBPAGE_VTAB). Make that virtual table and dbstat available to the command-line shell. (check-in: eaeeb09d4a user: drh tags: trunk)
20:24
Fix the EXPLAIN processing so that it returns SQLITE_ERROR on an OOM, as it should. (check-in: 4ec63ef233 user: drh tags: schemalint)
19:50
Create the new ext/repair folder and move checkfreelist.c there. Remove checkfreelist.c from the command-line shell (undoing check-in [48418f2e]). (Closed-Leaf check-in: dfdebd12bf user: drh tags: dbpage)
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: d1ef9eaba0 user: dan tags: withdrawn)
14:18
Fix a harmless compiler warning about an unused parameter. (check-in: de20133d44 user: drh tags: branch-3.21)
14:13
Update this branch to match latest trunk. (check-in: d325da6c50 user: dan tags: schemalint)
14:13
Fix the "snapshot-tarball" makefile target, which was broken by the shell.c change of check-in [36acc0a9]. (check-in: c643ace24c user: drh tags: branch-3.21)
14:03
Merge fixes from trunk. All changes are on makefiles and test scripts. There are no core code changes. (check-in: 1fb87a0c6e user: drh tags: branch-3.21)
13:47
The src/shell.c file is now generated from src/shell.c.in, so remove shell.c from version control and update the makefiles to build it automatically. (check-in: 36acc0a97f user: drh tags: trunk)
13:21
Merge fixes from the 3.21 branch. (check-in: 292921692c user: drh tags: trunk)
11:33
Fix a potential crash that may follow an OOM or other system error in the shell tool. (check-in: c36761e1a0 user: dan tags: trunk)
11:13
Update some test cases to work with SQLITE_OMIT_VIRTUALTABLE and DEFAULT_AUTOVACUUM builds. (check-in: 4b68f424ca user: dan tags: trunk)
10:28
Make sure the tableColumnList() routine of the command-line shell does not cause a null-pointer dereference in an error condition. (check-in: 5d0ceb8dcd user: drh tags: branch-3.21)
01:24
Merge fixes from the 3.21 branch. (check-in: 18d4654fd1 user: drh tags: dbpage)
01:19
Fix a typo in a numeric constant in an assert() - a bug that has been present in the code since check-in [79e22b95038] on 2010-03-30. (check-in: f0a2724f0a user: drh tags: branch-3.21)
2017-10-11
20:27
Add test file mmapwarm.test. With tests for the sqlite3_mmap_warm() extension. (check-in: 5c4980ef17 user: dan tags: trunk)
20:26
Merge latest trunk changes with this branch. (check-in: 2719cf5c5b user: dan tags: schemalint)
20:10
Change some internal details to bring this branch closer to the code on trunk. (check-in: 58e42cfd7d user: dan tags: schemalint)
18:26
Add the checkfreelist extension to the command-line shell. (check-in: 48418f2ed5 user: drh tags: dbpage)
18:21
Check that the leaf count on each freelist trunk page is in range as part of checkfreelist processing. (check-in: 4e89406248 user: dan tags: dbpage)
18:00
Add new extension "checkfreelist", which uses sqlite_dbpage to check that there are no invalid entries on the database free-list. (check-in: 21930ef537 user: dan tags: dbpage)
17:51
Convert the implementation of the ".dbstat" dot-command of the command-line shell to use the sqlite_dbpage table. (check-in: 497409e167 user: drh tags: dbpage)
17:50
Make JSON1 defines consistent in the makefiles for MSVC. (check-in: 31eee0e4bf user: mistachkin tags: branch-3.21)
17:25
Enable JSON by default in the Windows command-line shell sqlite3.exe. (check-in: 79c96121ba user: drh tags: branch-3.21)
17:13
Enable sqlite_dbpage and dbstat virtual tables in the shell, by default. (check-in: 01bf856c42 user: drh tags: dbpage)
15:02
Get writes working on the sqlite_dbpage virtual table. Add a few test cases. (check-in: a8b264d811 user: drh tags: dbpage)
13:48
Initial implementation of the "sqlite_dbpage" virtual table. Currently it is read-only and has a place-holder xBestIndex. (check-in: c2c1d656e3 user: drh tags: dbpage)
12:20
In the speed-check.sh test script, allow an additional test-name argument which becomes the comparison baseline, in place of "trunk". (check-in: 0245adffc6 user: drh tags: trunk)
11:12
Create a branch for the 3.21.0 release. Development continues on trunk. (check-in: 0f160a8abb user: drh tags: branch-3.21)
2017-10-10
20:11
Add new extension "bgckpt" in ext/misc/bgckpt.c. For experimenting with running wal2 mode checkpoints in a background thread. (check-in: 6395544230 user: dan tags: wal2)
13:37
DROP TABLE now works for WITHOUT ROWID tables and the SQLITE_OMIT_AUTOVACUUM compile-time option. Fix for ticket [e651b1341861d6] (check-in: b8c1b5a584 user: drh tags: trunk)
2017-10-09
19:50
Merge latest trunk changes with this branch. (check-in: d218d815f8 user: dan tags: wal2)
19:49
Add a header comment to wal.c describing the differences between wal and wal2 mode. (check-in: 9c80cd202f user: dan tags: wal2)
2017-10-08
02:22
Fix harmless compiler warnings in FTS5 seen with MSVC. (check-in: 5594a121bf user: mistachkin tags: trunk)
2017-10-07
23:58
Fix harmless compiler warning seen with MSVC. (check-in: 39d920d1ef user: mistachkin tags: trunk)
23:35
Revise variable declaration moved in the previous check-in so sqlite3VdbeReset() is consistent with sqlite3VdbeRewind(). (check-in: 63d1b425ee user: mistachkin tags: trunk)
23:31
Fix C99-style variable declaration issue seen with older versions of MSVC. (check-in: 14b181e862 user: mistachkin tags: trunk)
19:55
Ignore the *-wal2 file if the *-wal file is zero bytes in size. (check-in: f7360fad51 user: dan tags: wal2)
13:37
Check in test file wal2simple.test. (check-in: 8932b2f1d7 user: dan tags: wal2)
2017-10-06
18:00
Add tests for the example fts3 "rank" function that appears in the documentation. (check-in: 702b137aa4 user: dan tags: trunk)
14:25
Merge latest trunk changes into this branch. (check-in: 7e43517861 user: dan tags: wal2)
14:08
Fix a bug in recovering wal2 mode databases introduced by the previous commit. (check-in: 9e1502e1b6 user: dan tags: wal2)
13:43
Fix frame overwriting in wal2 mode. (check-in: a4b02bc938 user: dan tags: wal2)
2017-10-05
20:57
Fix compiler warnings that come up with SQLITE_OMIT_WAL. (check-in: 8ca0fa8dfe user: drh tags: trunk)
20:02
Fix a problem building with SQLITE_OMIT_WAL defined. (check-in: 373b0ace48 user: dan tags: trunk)
19:12
Fix the command-line shell so that the ".schema --indent" command does a better job of dealing with \r\n in the middle of a CREATE statement in the schema. (check-in: 4258fb578a user: drh tags: trunk)
18:14
Fix test case failures on this branch. (check-in: 16decc13af user: dan tags: wal2)
11:29
Disable the delta checksum verification in RBU by default. Reenable it using -DRBU_ENABLE_DELTA_CKSUM, if desired. (check-in: d22c99b6ba user: drh tags: trunk)
2017-10-04
20:57
Add experimental mode that uses two wal files. Activated using "PRAGMA journal_mode = wal2". (check-in: e2fc5c814c user: dan tags: wal2)
18:26
Updates to requirements marks. (check-in: 40964a4ef7 user: drh tags: trunk)
17:05
Update the speedtest1 program so that it prints the output of "PRAGMA compile_options" if the -stats option is specified. (check-in: 7c69f8f108 user: dan tags: trunk)
16:35
Fix typos in session extension header comments. No changes to code. (check-in: 182ec9d6f6 user: mistachkin tags: trunk)
14:13
New test cases for ticket [b899b6042f97f5] derived from a bug report on the mailing list from Wout Mertens. (check-in: ef94ea061d user: drh tags: trunk)
12:08
Amend recent changes to busy.test to avoid failing with SQLITE_ENABLE_STAT4 builds. (check-in: 9ff4944194 user: dan tags: trunk)
12:06
Turn restriction 20 on the query flattener into an assert since the situation restricted can no longer occur because of the more aggressive use of co-routines. (check-in: 4464f40ccd user: drh tags: trunk)
10:39
Add tests to verify that the busy-handler is invoked correctly when processing "PRAGMA optimize" and ANALYZE commands. (check-in: fb83c3d8df user: dan tags: trunk)
05:59
Remove a redundant restriction from the query flattener. (check-in: 66629b2a09 user: drh tags: trunk)
02:30
Fix a minor typo in the query flattener header comment. No code changes. (check-in: d050dc605c user: drh tags: trunk)
2017-10-03
19:53
Simplify the computation of types on columns of a view. (check-in: 772b0db146 user: drh tags: trunk)
18:35
Do not enable SELECT tracing with -DSQLITE_DEBUG. Require the -DSQLITE_ENABLE_SELECTTRACE compile-time option to enable SELECT tracing. (check-in: f5c395834c user: drh tags: trunk)
17:29
Add some OK_IF_ALWAYS_TRUE() marks on optimization branches in select.c. (check-in: 1dd828088d user: drh tags: trunk)
17:17
Remove an unused variable from sqlite3Insert() and fix harmless compiler warnings associated with -DSQLITE_MUTATION_TEST. (check-in: 7be760e907 user: drh tags: trunk)
16:57
Fix the sqlite3_column_decltype() interface to return the correct datatype when the value comes through a CTE. (check-in: 966438bd25 user: drh tags: trunk)
14:24
The simplification to sqlite3SelectExpand() in last night's [3a4ffb21] check-in was not completely correct. This adjustment is needed for correct OOM handling in some configurations. (check-in: c5ad5e1675 user: drh tags: trunk)
03:24
Simplification to the logic that computes column type names. Update: Does not work in all configurations. (Closed-Leaf check-in: f10ece964f user: drh tags: does-not-work)
03:01
Do not compute column and row size estimates for the transient Table objects associated with the result set of a SELECT statement, since those estimates are never used for anything constructive. (check-in: e4342fd401 user: drh tags: trunk)
2017-10-02
23:50
Mark a single branch within sqlite3SelectExpand() as an optimization. (check-in: 3a4ffb21d0 user: drh tags: trunk)
23:30
Simplification to sqlite3SelectPrep() for improved testability. (check-in: 5bf2ccb908 user: drh tags: trunk)
21:29
Add the OK_IF_ALWAYS_TRUE() and OK_IF_ALWAYS_FALSE() macros for marking conditionals that improve performance but do not change the outcome. (check-in: 6035c9b272 user: drh tags: trunk)
13:20
Avoid using lookaside memory for persistent virtual table structures. (check-in: d815f255df user: drh tags: trunk)
02:52
The query planner now always prefers to implement a FROM-clause subquery using a co-routine rather than flattening the subquery into the outer query. (check-in: c9104b59c7 user: drh tags: trunk)
02:32
Improvements to a comment in lempar.c. No code changes. (check-in: 8000d23017 user: drh tags: trunk)
2017-09-30
11:47
More details in the header comment of pushDownWhereTerms(). No changes to code. (Closed-Leaf check-in: 928486231f user: drh tags: prefer-coroutine-sort-subquery)
10:50
Make sure the SQLITE_Stat34 optimization switch is always 0x800, a value which is hard-coded in the TH3 test suite. (check-in: 6aed4ea34c user: drh tags: prefer-coroutine-sort-subquery)
01:25
Fix unreachable conditionals and revise a testcase that was made obsolete by the changes on this branch. (check-in: 71f0adf7ca user: drh tags: prefer-coroutine-sort-subquery)
2017-09-29
22:13
Always render a subquery that is not part of a join as a co-routine. (check-in: 6b1651d711 user: drh tags: prefer-coroutine-sort-subquery)
16:08
Merge the query flattener comment improvements from trunk. (check-in: f62cd4d940 user: drh tags: prefer-coroutine-sort-subquery)
16:07
Clean up the comments on the query flattener to more clearly and accurately express the conditions under which the flattener is able to run. (check-in: 0840f9f824 user: drh tags: trunk)
14:31
Merge changes from trunk. (check-in: 06f432fb7c user: drh tags: prefer-coroutine-sort-subquery)
12:44
Make sure the 6th parameter to the authorizer callback for view subqueries has the correct view name. (check-in: 2a45bbc9fd user: drh tags: trunk)
12:12
Better names for subqueries in EXPLAIN comments. (check-in: 04ef40a8fe user: drh tags: trunk)
2017-09-28
20:06
Do not flatten subqueries that contain an ORDER BY or GROUP BY clause and can be implemented using a co-routine. (check-in: 042d655dd9 user: drh tags: prefer-coroutine-sort-subquery)
17:29
Remove the (undocumented) query-planner control that prevents a "SELECT ALL" subquery in FROM clause from being implemented as a co-routine. This control was added by [a29e117d7ec], where it was called a "stop-gap". (check-in: ff2f5a31a2 user: drh tags: trunk)
16:56
Fix over-length source code lines in select.c. No logic changes. (check-in: fd3267ef92 user: drh tags: trunk)
13:47
Fix an issue introduced by check-in [4cd2a9672c59] (2017-03-03) that could allow a negative value in the 3rd parameter to memmove() when defragmentPage() is called on a btree page with a corrupted freeblock list. The corruption is now detected early and results in an SQLITE_CORRUPT return before the memmove() is reached. (check-in: 5b9ae69312 user: drh tags: trunk)
01:58
Add new routines to simplify dealing with collating sequences in expressions: sqlite3ExprNNCollSeq() and sqlite3ExprCollSeqMatch(). (check-in: 490e488ea9 user: drh tags: trunk)
01:09
Indexes on expressions with a COLLATE clause are able to satisfy an ORDER BY with the same COLLATE clause. (check-in: 0413001843 user: drh tags: trunk)
00:01
In two places, change the magic number -1 to its proper symbol XN_ROWID. (check-in: 80277d2fc9 user: drh tags: trunk)
2017-09-27
16:51
Disable tests for the LIKE optimization when ICU is enabled, since the LIKE optimization only works for the built-in LIKE operator and ICU overrides the built-in. (check-in: f5ef2e1bcd user: drh tags: trunk)
2017-09-25
09:37
Add an extra snapshot related test case. (check-in: 24a95e1437 user: dan tags: trunk)
2017-09-23
07:46
Experimental change so that snapshot transactions always lock the wal file - preventing writers or truncate-checkpointers from wrapping it. (Closed-Leaf check-in: d71eeaab9e user: dan tags: snapshots-lock-wal)
2017-09-22
20:18
Merge in all the trunk enhancements of the previous 7 months. The LIKE optimization has stopped working when there is an ESCAPE - that problem will be addressed in a subsequent check-in. (Leaf check-in: 8d2a1cca61 user: drh tags: est_count_pragma)
16:23
Use the updated Win32 VFS semantics for winOpen from check-in [5d03c738e9] for WinRT, et al, as well. (check-in: 2c03d8b8f0 user: mistachkin tags: trunk)
12:52
Partial backout of check-in [e0af9a904076]. It turns out we do need some extra space at the end of the record blob as an overrun area to use when decoding a maliciously malformed record. (check-in: 403b88a894 user: drh tags: trunk)
11:09
Cherrypick [ec37ad6d08] into this branch. With this patch, if SQLITE_SHARED_MAPPING is defined at build-time SQLite will use a single memory mapping for multiple connections to the same database file within a single process. (check-in: c7a5880d6d user: dan tags: begin-concurrent)
10:49
Merge latest trunk changes into this branch. (check-in: 307b802e86 user: dan tags: begin-concurrent)
00:24
Update the configure script so that it looks for tclsh8.7 ahead of tclsh8.6. (check-in: 0a12915b37 user: drh tags: trunk)
2017-09-21
20:43
In the Windows VFS, when trying to open a database file read/write, if it fails check to see if the file exists and is read-only and immediately fall back to a read-only open attempt, rather than running the AV retry loop. (check-in: 5d03c738e9 user: drh tags: trunk)
20:03
In the Windows VFS, do not emit an SQLITE_CANTOPEN error log message when falling back from SQLITE_OPEN_READWRITE to SQLITE_OPEN_READONLY. Wait until the open fails completely. (check-in: fa3f5bcc23 user: drh tags: trunk)
19:08
Fix harmless UB in the ICU extension. (check-in: 68e9a840d9 user: drh tags: trunk)
14:03
The sqlite3_snapshot_describe() interface useful for debugging snapshot logic. (Leaf check-in: 3fbfa9a8e8 user: drh tags: sqlite3_snapshot_describe)
13:11
Fix a potential use of an uninitialized pointer in RTree following an OOM error. (check-in: fd4ec0cdbd user: drh tags: trunk)
10:24
Fix a bug in tool/mksourceid.c: The mksourceid.c program was incorrectly including the "# Remove this line" line of the Fossil-generated "manifest" file in the SHA3 hash. That means that all SQLITE_SOURCE_IDs for trunk versions going back to check-in [30966d56] (2017-08-22) are incorrect. (check-in: 65765222ef user: drh tags: trunk)
01:04
Revert one performance improvement changes from check-in [3b3e32d4cd07] as it was causing a reference to an uninitialized value. (check-in: f8b1c64d3e user: drh tags: trunk)
00:49
Fix the rendering of the P4_INTARRAY argument to the OP_IntegrityCk opcode in the output of EXPLAIN. (check-in: adc12c83dd user: drh tags: trunk)
2017-09-20
18:47
Size and performance optimization on sqlite3VdbeMemGrow(). (check-in: 4b3f7eacb8 user: drh tags: trunk)
18:07
The BLOB returned by sqlite3VdbeMemFromBtree() does not need to be zero-terminated. (check-in: e0af9a9040 user: drh tags: trunk)
17:49
Small size and performance optimization in the bytecode engine. (check-in: 3b3e32d4cd user: drh tags: trunk)
10:47
Improved resolution of large integer values in "CAST(x AS NUMERIC)". (check-in: 7f2bd4ff45 user: drh tags: trunk)
09:09
Updates to the "lemon.html" document received from Andy Goth. (check-in: 5b2002f3df user: drh tags: trunk)
2017-09-18
18:17
Add the sqlite3_mmap_warm() function as an extension in the ext/misc/mmapwarm.c source file. (check-in: 1b2de41453 user: drh tags: trunk)
18:08
Fix a typo in the MSVC makefile. (Closed-Leaf check-in: 3235835bab user: drh tags: mmap-warm)
16:28
Add extension "mmapwarm.c". Provides function sqlite3_mmap_warm(), used to "warm up" the memory mapping used by SQLite in mmap mode to access db file content. (check-in: d4a30b91f9 user: dan tags: mmap-warm)
13:16
Minor simplification of error message generation during compound query code generation. (check-in: a944719314 user: drh tags: trunk)
09:40
The out-of-bounds read on recovery fix of check-in [378afa16381a222a] caused problems for some corner-case error conditions. This alternative fix appears to work better. (check-in: 74f399d81f user: drh tags: trunk)
08:51
Merge latest trunk changes with this branch. (Leaf check-in: 2e57335081 user: dan tags: shared-mapping-hack)
00:18
Fix the CSV virtual table extension so that it works when the default character is unsigned. (check-in: 42f0777555 user: drh tags: trunk)
2017-09-17
19:45
Do not make the assumption (as check-in [4da49a95c0f07] incorrectly did) that the ExprList returned by sqlite3ExprListDup() would never be passed into sqlite3ExprListAppend(). Include a new test case that shows this sometimes does happen. (check-in: 29227d00a9 user: drh tags: trunk)
2017-09-16
20:58
Simplify the sqlite3VdbeGet() routine. Smaller, faster, and easier to maintain. (check-in: 5dbb255a93 user: drh tags: trunk)
2017-09-15
17:40
Remove an unnecessary parameter from selectInnerLoop(). (check-in: dd95887f82 user: drh tags: trunk)
15:38
Improved the header-comment documentation on sqlite3ExprCodeExprList(). No changes to code. (check-in: 5dc3ecb5f6 user: drh tags: trunk)
15:17
Optimization to the ExprList object to make it slightly smaller and faster. (check-in: 4da49a95c0 user: drh tags: trunk)
14:36
Fix a harmless comment typo. No changes to code. (check-in: f7f0bf1da0 user: drh tags: trunk)
2017-09-14
21:12
Add another test case for the problem fixed by the previous commit. (check-in: 1a7e0b61c8 user: dan tags: trunk)
20:41
Avoid an out-of-bounds read that can be caused by a specially constructed journal file. (check-in: cf5bf42cad user: dan tags: trunk)
02:36
Avoid an out-of-bounds read on a recovery attempt using a carefully crafted database and rollback journal with mismatched page sizes. The test case for this is in TH3. (check-in: 378afa1638 user: drh tags: trunk)
2017-09-13
20:20
Test case update due to PRAGMA integrity_check enhancements in [8525c30c]. No changes to code. (check-in: 43c6023bbf user: drh tags: trunk)
18:38
Experimental sqlite3_stmt_retryable() interface. (Leaf check-in: ebada0723a user: drh tags: sqlite3_stmt_retryable)
12:55
Disable FTS3 matchinfo() tests that assume a littleEndian platform when running on bigEndian. (check-in: 87ccdf9cbb user: drh tags: trunk)
00:33
Improvements to PRAGMA integrity_check for better detection of malformed records. Integrity_check now avoids returning SQLITE_CORRUPT on a corrupt record. Also includes microoptimizations that I stumbled over while working on integrity_check. (check-in: 8525c30c1d user: drh tags: trunk)
00:13
PRAGMA integrity_check returns SQLITE_OK even if it encounters corruption while scanning indexes. (Closed-Leaf check-in: 81f62e99f2 user: drh tags: improved-integrity-check)
00:01
Fix test script comment. No changes to code. (check-in: a5a1949259 user: mistachkin tags: trunk)
2017-09-12
23:58
Remove use of the rand_s() function (added by [139081bef9f63c3e]) as it appears to cause issues with some third-party DLLs. (check-in: 3a2793aa65 user: mistachkin tags: trunk)
20:09
Add the highly-experimental "PRAGMA noop_update=TRUE" command. (check-in: afe45271b9 user: drh tags: begin-concurrent-pnu)
18:49
Add the highly-experimental "PRAGMA noop_update=TRUE" command. (Leaf check-in: de2e371757 user: drh tags: pragma-noop-update)
18:11
Merge the mutex-free PRNG change into this branch. (check-in: 8b1fc4b9f3 user: dan tags: shared-mapping-hack)
18:03
Hack to have multiple connections to a single file share a single memory mapping of the databse file. (check-in: ec37ad6d08 user: dan tags: shared-mapping-hack)
15:05
Fix an error in [b22cdd67] that can cause a negative infinity to be (rarely) reported as a positive infinity. (check-in: 9780b23ca3 user: drh tags: trunk)
13:27
Changes to (hopefully) get the build working with recent Intel compilers. (check-in: b22cdd6734 user: drh tags: trunk)
00:24
Make sure all connections are closed in the pragma.test script. Test change only - no changes to code. (check-in: d7b7f038a2 user: drh tags: trunk)
2017-09-11
23:46
New test case for ticket [b899b6042f97f52d]. (check-in: 9d91ee5ee3 user: drh tags: trunk)
20:54
Add support for new operators in virtual tables: !=, IS, IS NOT, IS NULL, and NOTNULL. (check-in: 3b7dbe9da9 user: drh tags: trunk)
19:47
Refactor names of constants and functions associated with the auxiliary operators for xBestIndex. (Closed-Leaf check-in: 0fb992af66 user: drh tags: vtab-extra-ops)
18:37
Minor adjustments to indentation and spacing for clarity. No changes to code. (check-in: d3153abda6 user: drh tags: vtab-extra-ops)
08:53
Add tests to check that affinities work with != operators on virtual table column values. No changes to code. (check-in: 8d24e0803d user: dan tags: vtab-extra-ops)
2017-09-10
01:06
Simplifications to the PRAGMA integrity_check code generator. (check-in: 99b9140c79 user: drh tags: improved-integrity-check)
2017-09-09
22:46
Simplification and performance improvement to sqlite3_reset(). (check-in: b6425d0170 user: drh tags: improved-integrity-check)
20:38
Improved detection of malformed records by PRAGMA integrity_check. (check-in: 8fa923caa1 user: drh tags: improved-integrity-check)
19:41
Enhance the vtab interface to handle IS, !=, IS NOT, IS NULL and IS NOT NULL constraints. (check-in: 34c8e95261 user: dan tags: vtab-extra-ops)
08:03
Use a mutex-free PRNG for the random() and randomblob() SQL functions and for the randomness used during checkpoint operations. (Leaf check-in: e63d1a7cd3 user: drh tags: mutex-free-randomness)
06:10
Merge trunk enhancements (check-in: 6a0b9d9d4e user: drh tags: apple-osx)
00:51
Fix harmless compiler warnings seen with MSVC. (check-in: faa22e29a5 user: mistachkin tags: trunk)
2017-09-08
17:48
Have the header comment for sqlite3Checkpoint() mention TRUNCATE along with the other three checkpoint types. No changes to code. (check-in: e1e3ca7ea4 user: dan tags: trunk)
2017-09-07
09:56
Prevent a possible crash when trying to recover using a carefully corrupted \ and truncated rollback journal. (Test case in TH3) (check-in: 02828d717e user: drh tags: trunk)
2017-09-05
20:16
Update "PRAGMA integrity_check" to detect inconsistencies between a single record's header and body. (check-in: 9e393a0edf user: dan tags: trunk)
17:23
Fix a comment describing the xRowid method of the "series" virtual table. No code changes. (check-in: 868cd19600 user: dan tags: trunk)
16:24
Add experimental API sqlite3rbu_temp_size_limit(). For limiting the amount of temporary disk space RBU uses. (check-in: 7fdd629830 user: dan tags: trunk)
2017-09-04
19:31
Use the SQLITE_CORRUPT_BKPT return code in a couple more places. (check-in: 72d22c226b user: mistachkin tags: trunk)
18:44
Add the 'mksourceid' executable to the clean target for MSVC. (check-in: 77854694b2 user: mistachkin tags: trunk)
00:33
Proposed fix for ticket [b899b6042f97f5] (check-in: c7f9f47b23 user: drh tags: trunk)
00:19
Fix recent test cases in test/indexepxr2.test so that they work even without SQLITE_ENABLE_STAT4 and SQLITE_ENABLE_JSON1. (check-in: 03f3cc03aa user: drh tags: trunk)
2017-09-01
14:50
Add the new sqlite3PagerUnrefPageOne() pager method to deal with the special case of unreferencing page1. (check-in: b2e2100cf7 user: drh tags: trunk)
12:57
Remove an obsolete optimization in pcache that due to more recent changes was recently making the code a little slower. (check-in: c4e7e175ee user: drh tags: trunk)
12:18
Small size and performance improvement in pcacheManageDirtyList() by not zeroing the PgHdr.pDirtyNext and PgHdr.pDirtyPrev pointers for PgHdr objects that are not on the dirty list. (check-in: 919863b148 user: drh tags: trunk)
2017-08-31
21:11
Clarify the documentation about "protected" versus "unprotected" sqlite3_value objects. No changes to code. (check-in: 4094a3410e user: drh tags: trunk)
2017-08-30
13:21
Remove unnecessary "__declspec(dllexport)" qualifiers from generated file shell.c. (check-in: bcc20be5b2 user: dan tags: trunk)
04:44
Small performance optimization in pcache1. (check-in: ffd437da95 user: drh tags: trunk)
2017-08-29
20:21
Faster memory allocation from lookaside by not trying to keep track of the number of outstanding allocations, and rather computing that value only when requested. (check-in: a06263f1ef user: drh tags: trunk)
17:52
Add a Tcl script to run the performance tests described in README-server-edition.html. (check-in: 1b3df8ffc5 user: dan tags: server-process-edition)
2017-08-28
17:32
Add the --enable-update-limit option to the ./configure script. (Leaf check-in: f545db6c27 user: drh tags: begin-concurrent-branch-3.19)
17:30
Avoid unnecessary mutexes in the pcache1 implementation in the common case where no auxiliary page cache memory is configured. (check-in: 5cd9ff87d8 user: drh tags: begin-concurrent-branch-3.19)
17:26
Remove the rarely-used scratch memory allocator. This makes the code smaller, faster, and easier to maintain. In place of the scratch allocator, add the SQLITE_CONFIG_SMALL_MALLOC configuration option that provides a hint to SQLite that large memory allocations should be avoided. (check-in: cc440400a1 user: drh tags: begin-concurrent-branch-3.19)
17:19
Merge recent enhancements from trunk. (check-in: d53108e763 user: drh tags: begin-concurrent)
17:00
Add the --enable-update-limit option to the ./configure script. (check-in: 64a8ae6838 user: drh tags: trunk)
16:11
Avoid unnecessary mutexes in the pcache1 implementation in the common case where no auxiliary page cache memory is configured. (check-in: 1ba051e34d user: drh tags: trunk)
15:51
Remove the rarely-used scratch memory allocator. This makes the code smaller, faster, and easier to maintain. In place of the scratch allocator, add the SQLITE_CONFIG_SMALL_MALLOC configuration option that provides a hint to SQLite that large memory allocations should be avoided. (check-in: 54b000246c user: drh tags: trunk)
14:33
Backport changes to shell.c into shell.c.in. (check-in: 2348045fbc user: drh tags: trunk)
11:12
Fix the ".dump", ".schema", and ".fullschema" commands of the command-line shell so that they work even if PRAGMA empty_result_callbacks is enabled. Fix for ticket [02f0f4c54f281]. (check-in: cf0d3715ca user: drh tags: trunk)
2017-08-27
10:55
Instrumentation and changes in an effort to reduce thread contention. (Leaf check-in: c93298d5ae user: drh tags: reduced-thread-contention)
2017-08-25
19:51
Fix a few over-length source code lines. No functional changes. (check-in: 1783c54ce9 user: drh tags: trunk)
15:43
Size and performance optimization for sqlite3Init(). (check-in: 776d91284a user: drh tags: trunk)
13:34
Small performance optimization in sqlite3WhereBegin(). (check-in: 39f708d1e2 user: drh tags: trunk)
13:02
Convert a branch made unreachable by [59560d07] into an assert(). (check-in: 2738b8db3c user: drh tags: trunk)
11:44
Improve the internal mechanism used to keep track of what kind of syncing to do for WAL transaction commits and checkpoint operations. Use the checkpoint-style of syncing to sync the header of a new or restarted WAL file. (check-in: e8d23afe84 user: drh tags: trunk)
09:17
Avoid returning duplicate rows in experimental pragmas "pragma_list", "module_list" and "function_list". (check-in: b79cc8dc88 user: dan tags: trunk)
01:14
Update the mechanism used to keep track of what kind of syncing to do for WAL transaction commits and checkpoint operations. Use the checkpoint-style of syncing to sync the header of a new or restarted WAL file. (Closed-Leaf check-in: bf65dae8d4 user: drh tags: wal-sync-refactor)
2017-08-24
20:54
Fix an incorrect hyperlink in a comment. (check-in: 25292b9a4e user: drh tags: trunk)
16:21
Version 3.20.1 (Leaf check-in: 8d3a7ea6c5 user: drh tags: release, branch-3.20, version-3.20.1)
15:43
Fixes to documentation about SQLITE_OPEN_URI. (check-in: 7ec72314d6 user: drh tags: trunk)
14:08
Increase the version number to 3.20.1. (check-in: 70338c7cb1 user: drh tags: branch-3.20)
14:04
Make sure the sqlite3_result_pointer() interface does not leave a VM register in an inconsistent state. Fix for ticket [7486aa54b968e9b5]. Test cases are in TH3. (check-in: abc7adfda2 user: drh tags: branch-3.20)
13:55
Make sure the sqlite3_result_pointer() interface does not leave a VM register in an inconsistent state. Fix for ticket [7486aa54b968e9b5]. Test cases are in TH3. (check-in: d2f9230c5c user: drh tags: trunk)
10:10
Test BEGIN CONCURRENT transactions that consist entirely of read-only statements. (check-in: c3fe1f4b7e user: dan tags: begin-concurrent)
2017-08-23
23:09
Performance optimization to pageFindSlot() in the b-tree layer. (check-in: 59560d079f user: drh tags: trunk)
20:36
Size and performance optimization to dropCell() and freeSpace(). (check-in: bc1ec123ce user: drh tags: trunk)
14:45
Smaller and faster implementation of the fillInCell() routine. (check-in: 77074990ed user: drh tags: trunk)
2017-08-22
21:23
Update documentation to make it clear that SQLITE_SOURCE_ID and sqlite3_sourceid() might changes if the source code is edited. (check-in: e69c0c8770 user: drh tags: trunk)
21:07
Less dramatic changes to the source-id following an edit. Modify the way that the amalgamation is constructed to give it the opportunity to detect changes and modify the source-id. (check-in: 564c7340a3 user: drh tags: trunk)
19:54
Modify the SQLITE_SOURCE_ID if the source code has changed in any way since the previous check-in. (check-in: 515d6a8377 user: drh tags: trunk)
19:49
Trying again to get out-of-tree builds to work correctly. (Closed-Leaf check-in: a1b3337e94 user: drh tags: mksourceid)
19:44
mksourceid still does not work right. (Leaf check-in: ca5dcb4a36 user: drh tags: mistake)
19:43
Attempting to fix the source-id generator so that it works for out-of-tree builds. (check-in: 5a037ac2da user: drh tags: mksourceid)
19:19
Add the "mksourceid" program to the build process. That program changes the SQLITE_SOURCE_ID if the source tree has been modified in any way. (check-in: d4c05e04f7 user: drh tags: mksourceid)
15:21
Fix error tests in seldom-used compile-time branches of the unix backend. (check-in: 885c2b44a4 user: drh tags: trunk)
2017-08-21
02:20
Remove an unnecessary conditional. (check-in: 56d19f9fd7 user: drh tags: trunk)
02:05
Minor optimization to sqlite3VdbeMemSetStr(). (check-in: 6538ef7b6b user: drh tags: trunk)
2017-08-19
20:38
Space and size optimization to the printf implementation. (check-in: d01d2cffef user: drh tags: trunk)
15:50
Ensure that write-locks on pages are dropped at the end of each write transaction, even if there is still a read transaction open. (check-in: 2dd36ade9e user: dan tags: server-process-edition)
2017-08-18
22:30
Another size and performance optimization to readDbPage(). This time we eliminate some unnecessary local variables. (check-in: 745bc8decd user: drh tags: trunk)
21:14
Size and performance optimization the readDbPage() routine in the pager. (check-in: ca9e1875c3 user: drh tags: trunk)
19:28
Version 3.19.4 (check-in: 605907e73a user: drh tags: release, version-3.19.4, branch-3.19)
18:55
Add tests to this branch. (check-in: abb6e076c8 user: dan tags: server-process-edition)
16:09
For the unix VFS, avoid an unnecessary stat() system call prior to opening any file in the common case where there are no unused file descriptors. (check-in: 3075cfa074 user: drh tags: trunk)
16:04
Do not search for locks to clear when connecting to a db in multi-process mode unless it looks like the previous user of the client-id crashed. (check-in: 66fb9e1cb4 user: dan tags: server-process-edition)
14:34
Combine the OP_CreateTable and OP_CreateIndex opcodes of the bytecode engine into a single OP_CreateBtree opcode. This simplifies the implementation and makes the bytecode programs clearer. (check-in: eb1202b5e4 user: drh tags: trunk)
08:29
Only use indexes on expressions to optimize ORDER BY and GROUP BY if the collation sequence matches. Possible fix for [e20dd54a]. (check-in: 37e1900880 user: dan tags: trunk)
2017-08-17
20:53
Use the __builtin_clzll() function of gcc to improve the performance and reduce the size of the sqlite3LogEst() routine. (check-in: a42a438cbb user: drh tags: trunk)
19:32
Add support for crash recovery in multi-process mode. And add test cases for the same. (check-in: a8115f95e8 user: dan tags: server-process-edition)
19:23
Small optimization in the Expr tree walker. (check-in: 264a5e1b75 user: drh tags: trunk)
18:54
Size optimization in the authorizer error message generation logic. (check-in: 0367a4d586 user: drh tags: trunk)
18:23
In sqlite3ViewGetColumnNames(), return the number of errors, not an error code. (check-in: f13682ea23 user: drh tags: trunk)
18:17
The RTREE extension should return SQLITE_CORRUPT_VTAB, not just SQLITE_CORRUPT when it encounters incorrectly formatted shadow tables. (check-in: 0712f057ef user: drh tags: trunk)
14:47
Remove an unnecessary branch from the [be436a7f4587ce517ddc] fix. (check-in: fb6ca99b88 user: drh tags: trunk)
14:12
Add test cases for ticket [be436a7f4587ce517] using virtual table modules fts5 and rtree. (check-in: 2101b42087 user: dan tags: trunk)
02:26
Defer schema resets when the query planner is running. Proposed fix for ticket [be436a7f4587ce517]. (check-in: a7bc7752ba user: drh tags: trunk)
2017-08-16
19:20
Avoid a test for CURTYPE_BTREE in sqlite3VdbeCursorMoveto() in order to reduce the size and improve the performance of OP_Column. (check-in: f078deb251 user: drh tags: trunk)
17:06
Update this branch with the latest changes from trunk. (check-in: 380a7b7a45 user: dan tags: server-process-edition)
16:52
Enhance this branch to support page-level-locking (without MVCC) for multi-process deployments. (check-in: 04e0cb571d user: dan tags: server-process-edition)
14:16
Remove an unnecessary local variable from OP_Column, for a small size reduction and performance increase. (check-in: 3954390328 user: drh tags: trunk)
11:04
Performance improvement in the OP_Column opcode. (check-in: dc98a92f32 user: drh tags: trunk)
2017-08-15
14:14
Small size and performance improvement in the OP_Column opcode. (check-in: 2cf3f3de8a user: drh tags: trunk)
03:46
Btree optimization: New field BtCursor.pPage that points to the current page, saving a single pointer dereference on each access. (check-in: 373b71d19c user: drh tags: trunk)
01:07
Fix a problem allowing a conflicting transaction to be committed in the case where more than one 32KB shared-memory page has been written to since the transaction was started. (check-in: 346a710da4 user: drh tags: begin-concurrent-branch-3.19)
2017-08-14
23:53
Minor size and performance optimization to sqlite3BtreeCloseCursor(). (check-in: 1696933884 user: drh tags: trunk)
18:13
Change the internal btree routine moveToRoot() to return SQLITE_EMPTY if the table is empty or if it has pgnoRoot==0. This simplifies the callers, making them smaller and faster. The SQLITE_EMPTY result code is intercepted and changed into SQLITE_OK before surfacing in an API. (check-in: 240d57143d user: drh tags: trunk)
17:03
Fix harmless indentation error. (check-in: 25e92baaae user: drh tags: trunk)
14:53
Sometimes a TK_COLUMN Expr node can have Expr.pTab==0 if it is a reference to an expression column in an index on an expression. Fix for ticket [aa98619ad08ddcab]. (check-in: d0da791ba0 user: drh tags: trunk)
07:16
Remove code for PLL support in wal mode from this branch. (check-in: 8e1b28ed3e user: dan tags: server-process-edition)
06:55
Update this branch with latest trunk changes. (check-in: bc2498d60f user: dan tags: server-process-edition)
01:33
Properly dequote column names in tables constructed by an aggregate SELECT. (check-in: 7e0d3e9cb0 user: drh tags: trunk)
2017-08-12
18:31
Add new test file fts5vocab2.test. (check-in: 02174842c3 user: dan tags: trunk)
14:06
Add a more rigorous test case for the bug fixed by the previous commit on this branch. (check-in: 4256072399 user: dan tags: begin-concurrent)
02:16
Update the speed-check.sh test script to append log output to the end of the cout-NAME.txt file. (check-in: 14d262d6aa user: drh tags: trunk)
02:01
Remove the zBase field from the StrAccum object. Resulting code is slightly smaller and faster. (check-in: 6e52fa5fd7 user: drh tags: trunk)
01:09
Size and performance micro-optimization on sqlite3SrcListIndexedBy(). (check-in: 28a5aec118 user: drh tags: trunk)
2017-08-11
21:16
Fix a problem allowing a conflicting transaction to be committed in the case where more than one 32KB shared-memory page has been written to since the transaction was started. (check-in: 38dd9b50fe user: dan tags: begin-concurrent)
20:22
Add another PAGERTRACE() macro to show when pages are added to Pager.pAllRead. No impact on production builds. (check-in: 11054cf5e8 user: drh tags: begin-concurrent)
19:31
Add a PAGERTRACE() macro to log when frames are written into the WAL file. This is for analysis only and is a no-op for production builds. (check-in: 39f39e3d9a user: drh tags: begin-concurrent)
19:16
Merge the latest enhancements from trunk. (check-in: 47e716952d user: drh tags: begin-concurrent)
18:59
Fix compiler warnings that arise if the PAGERTRACE macro is turned on. This changes does not affect production builds. (check-in: 831156a4bd user: drh tags: trunk)
18:55
Improved comments in the header of the LSM1 vtab module. No code changes. (check-in: aa49926dbf user: drh tags: trunk)
13:51
New test cases for LSM1. (check-in: cb0c49cbd1 user: drh tags: trunk)
12:49
Convert the LSM1 virtual table to be WITHOUT ROWID and get UPDATE and DELETE operations working on it. (check-in: 2164031b50 user: drh tags: trunk)
03:47
Simplification to the like optimization logic. Remove unnecessary branches. (check-in: 9466d952e1 user: drh tags: trunk)
2017-08-10
20:43
Allow WITHOUT ROWID virtual tables to be writable as long as they have exactly one column as their PRIMARY KEY. (check-in: c601d128ff user: drh tags: trunk)
20:36
Add the "instance" type to the fts5vocab virtual table module. For direct access to the contents of the fts5 term index. (check-in: 34a7bd7121 user: dan tags: trunk)
19:12
Fix a typo in csv01.test introduced by the previous commit. (Closed-Leaf check-in: f38ff71827 user: dan tags: writable-vtab-without-rowid)
19:10
Add extra tests to this branch. (check-in: b0e3b88a79 user: dan tags: writable-vtab-without-rowid)
17:53
Test case for writing to a WITHOUT ROWID virtual table. The TCLVAR virtual table is modified to add a "fullname" column which is the primary key, and to accept update operations against the primary key. (check-in: 6997e00c32 user: drh tags: writable-vtab-without-rowid)
15:19
Experimental changes that allow a WITHOUT ROWID virtual table to be writable as long as it has only a single-column PRIMARY KEY. (check-in: ab9ee4c1e6 user: drh tags: writable-vtab-without-rowid)
03:27
Add a first draft of the "vtablog" extensions that implements a generic virtual table useful for experimentation using the command-line shell. (check-in: e49279e651 user: drh tags: trunk)
2017-08-09
22:55
Preserve the error code from xConnect or xCreate methods in virtual table implementations when they are encountered during parsing. (check-in: dcdf091388 user: drh tags: trunk)
20:35
Add experimental sqlite3_open_v2() flag SQLITE_OPEN_REUSE_SCHEMA. For sharing identical in-memory schema objects between connections. (check-in: a625698048 user: dan tags: reuse-schema)
19:27
Various bug fixes for the new LSM1 virtual table design. (check-in: 94434a252f user: drh tags: trunk)
18:40
Work toward redesigning the interface to the LSM1 virtual table. (check-in: 313df94666 user: drh tags: trunk)
2017-08-08
21:40
The identifier "vsnprintf" appears to be a reserved word in recent versions of XCode, so avoid using it as a structure field. (check-in: 795eede331 user: drh tags: trunk)
21:30
Fix a faulty signed/unsigned character comparison in the LIKE optimization logic. (check-in: f4a4b14973 user: drh tags: trunk)
20:03
Enhance the CSV virtual table extension so that it accepts the last row of the CSV file even if the last row omits the closing \n, as long as the last row has a full set of columns. (check-in: 537e3be2e9 user: drh tags: trunk)
2017-08-07
19:12
Avoid casting a value larger than 2^31 to a (size_t) or (SIZE_T) on systems where it is a 32-bit type. (check-in: b26d7a1c7b user: dan tags: trunk)
19:06
On Windows, avoid casting a value larger than 2^31 to a (SIZE_T) on systems where it is a 32-bit type. (Leaf check-in: f08d63b413 user: mistachkin tags: mmap-size-limit)
18:54
Fix a problem with handling SQLITE_FCNTL_MMAP_SIZE requests with a negative parameter in os_unix.c. (check-in: 4249fcf7b0 user: dan tags: mmap-size-limit)
18:27
Update bigmmap.test to account for builds that use "-DSQLITE_MAX_MMAP_SIZE=<integer-constant>LL". (check-in: 7c8b6f1cac user: dan tags: mmap-size-limit)
18:13
Avoid casting a value larger than 2^31 to a (size_t) on systems where it is a 32-bit type. (check-in: 46c3085dca user: dan tags: mmap-size-limit)
17:28
Fix an out-of-order test number. (check-in: 38f30091f9 user: mistachkin tags: trunk)
17:14
Add new test file "bigmmap.test". For testing builds with -DSQLITE_MAX_MMAP_SIZE > 2GB. (check-in: 1744706279 user: dan tags: trunk)
14:15
Update this branch with latest trunk changes. (check-in: 17bc7ded07 user: dan tags: server-process-edition)
14:06
Fix a bug on this branch involving mmap mode and readonly transactions. (check-in: 355c594e82 user: dan tags: server-process-edition)
2017-08-05
16:15
Fix a segfault in swarmvtab that could occur if there was an error in the SQL statement passed to the constructor. Add other test cases. (check-in: 6ce8b7ca62 user: dan tags: trunk)
15:49
Microoptimization in pcache1.c makes the code slightly smaller and faster. (check-in: 422cd9f394 user: drh tags: trunk)
15:30
Fix memory leak in swarmvtab. (check-in: 002a9c7bac user: dan tags: trunk)
2017-08-04
20:27
Add the swarm virtual table to the existing union virtual table module. (check-in: 0f6f6f03de user: drh tags: trunk)
20:15
Add the optional non-found-callback to the swarm-vtab. (Closed-Leaf check-in: a94e2f600b user: drh tags: union-vtab)
17:39
Add further test cases for swarmvtab. And minor code changes. (check-in: 0f82d3b9dd user: dan tags: union-vtab)
16:16
Add test cases and associated fixes for swarmvtab. (check-in: 7ae20eac83 user: dan tags: union-vtab)
08:24
Add SQLITE_API qualifiers to public API functions in header file sqlite3rbu.h. (check-in: e11e6eb1d9 user: dan tags: trunk)
08:23
Update script tool/mksqlite3c.tcl to avoid duplicating the SQLITE_API qualifier when copying sqlite3rbu.h into the amalgamation. (Closed-Leaf check-in: 61ab112f32 user: dan tags: sqlite3rbu.h-fix)
2017-08-03
20:13
Modify swarmvtab to use a separate database connection for each database file. (check-in: 1f05ad29c3 user: dan tags: union-vtab)
15:50
Add SQLITE_API qualifiers to public API functions in header file sqlite3rbu.h. (check-in: d8637badf6 user: dan tags: sqlite3rbu.h-fix)
15:43
Fix some problems in RBU test cases. Also update RBU source code to better handle the trivial case where an RBU update is applied to a database zero pages in size. (check-in: 7676b39bc1 user: dan tags: trunk)
00:29
Optimization to the comparison opcodes in the byte-code engine. (check-in: 654935c773 user: drh tags: trunk)
2017-08-02
22:43
In the KeyInfo object, refactor the nField and nXField elements into nKeyField and nAllField, which are more useful and run a little faster. (check-in: aea5990eab user: drh tags: trunk)
19:59
Enhance the code in unionvtab.c to also provide the "swarmvtab" virtual table module. There are still several problems on this branch. (check-in: 03d94388d6 user: dan tags: union-vtab)
19:04
Avoid redundant calls to sqlite3ApiExit() in sqlite3_step(). (check-in: 527974d4ca user: drh tags: trunk)
18:28
Only attempt to invoke WAL callbacks when a transaction has committed. (check-in: bcc6dacb91 user: drh tags: trunk)
18:27
Minor optimization on clearCell() (check-in: f3c39c2986 user: drh tags: trunk)
15:50
Optimizations associated with error handling in btree cursors. (check-in: 49ba54e267 user: drh tags: trunk)
12:38
Remove unused token codes. (check-in: c45078c062 user: drh tags: trunk)
11:36
Rearrange some of the added token codes for a very slight size decrease and performance increase. (check-in: cb3742f51f user: drh tags: trunk)
11:04
Rearrange integer token values in the parser and logic in the resolveP2Values() routine for a small size reduction and performance increase. (check-in: 1cad2926ad user: drh tags: trunk)
03:21
Show which opcodes are jumps in the comments when generating the opcodes.h header file. (check-in: eef643a369 user: drh tags: trunk)
03:21
Add the "%token" control to the lemon parser. Not currently used by SQLite. (check-in: a6e4c5ae8f user: drh tags: trunk)
02:46
Faster implementation of resolveP2Values(). (check-in: 82e46fe0d4 user: drh tags: trunk)
2017-08-01
20:59
Slightly smaller and faster by allocating Parser objects on the stack. (check-in: 436a89b919 user: drh tags: trunk)
19:53
Split the OP_Last opcode into OP_Last and OP_SeekEnd. Use OP_SeekEnd to position a cursor prior to appending. Ticket [cb91bf4290c211d]. (check-in: 3e02474c7b user: drh tags: trunk)
14:16
Take advantage of atomic-write capabilities in the F2FS filesystem when the database is stored on such a filesystem. This is a compile-time option activated using SQLITE_ENABLE_BATCH_ATOMIC_WRITE. (check-in: 24190b221f user: drh tags: trunk)
13:54
Merge recent enhancements from trunk. (check-in: aafe1fec80 user: drh tags: begin-concurrent)
13:24
Version 3.20.0 (check-in: 9501e22dfe user: drh tags: release, branch-3.20, version-3.20.0)
00:20
Allow ATTACH and DETACH inside of a transaction. (check-in: 95e8f31658 user: drh tags: trunk)
2017-07-31
20:06
TclKit batch tool updates for MSVC. Cherrypick of [bcec155e0d6c6b17] and [0c77935cf9949099]. (check-in: 96ff167572 user: mistachkin tags: branch-3.20)
19:55
Add documentation file ./README-server-edition.html. (check-in: fbc4f4ad25 user: dan tags: server-process-edition)
19:39
Recognize 'AMD64' as 'x64' in the TclKit batch tool for MSVC. (check-in: 0c77935cf9 user: mistachkin tags: trunk)
19:34
Sync up the MSVC autoconf makefile. (check-in: 44cebc6e68 user: drh tags: branch-3.20)
19:26
Sync up the MSVC autoconf makefile. (check-in: b3b89f4ff9 user: mistachkin tags: trunk)
17:51
Fix a windows-compatibility issue in the recently added schema6.test script. (check-in: 14e6c302ec user: drh tags: trunk)
17:40
More consistent column names. Cherry-pick of [09834279] and [0c38dde45] as a fix for ticket [de3403bf5ae]. (check-in: be0e24a029 user: drh tags: branch-3.20)
17:06
Prevent OSSFuzz from using debugging pragmas that are disabled in default builds and which generate lots of excess output. (check-in: cdc6494c05 user: drh tags: trunk)
16:42
Move the generation of output column names earlier, to right after name resolution and before query transformations such as flattening. This prevents the names from getting mangled by query transformations, and obviates hacks in the query flattener that attempt to work around the name mangling. The resulting code is smaller and faster and gives more consistent output. Fix to ticket [de3403bf5ae5f72ed]. (check-in: ade7ddf199 user: drh tags: trunk)
13:22
Use batch atomic writes when running on a recent F2FS filesystem, if compiled with SQLITE_ENABLE_BATCH_ATOMIC_WRITE. (check-in: 2dd0c77d54 user: drh tags: branch-3.19)
13:11
Move the generation of output column names earlier, to right after name resolution and before query transformations such as flattening. This prevents the names from getting mangled by query transformations, and obviates hacks in the query flattener that attempt to work around the name mangling. The resulting code is smaller and faster and gives more consistent output. This is a fix for ticket [de3403bf5ae5f72ed] and a cherry-pick of check-in [09834279aeca3bda] (check-in: 499942b3ee user: drh tags: branch-3.19)
12:19
Correctly handle an "INTEGER PRIMARY KEY UNIQUE" column in a WITHOUT ROWID table. This is a fix for ticket [bc115541132dad136], cherry-picked from check-in [5216bfb73f1a49bdd8] (check-in: 322a2ede6d user: drh tags: branch-3.19)
12:07
Increase the version number to 3.19.4 (check-in: b77f297d38 user: drh tags: branch-3.19)
12:04
Merge further enhancements to the batch-atomic-write subsystem. (Leaf check-in: 4be4265d74 user: drh tags: batch-atomic-write-3.19)
2017-07-30
20:30
Correctly handle an "INTEGER PRIMARY KEY UNIQUE" column in a WITHOUT ROWID table. This is a fix for ticket [bc115541132dad136] cherry-picked from [5216bfb73f1a49bdd]. (check-in: 5c8cb1ff5d user: drh tags: branch-3.20)
19:50
Add the schema6.test module for demonstrating schemas that generate identical and different content. (check-in: ac1da06a82 user: drh tags: trunk)
18:40
Correctly handle an "INTEGER PRIMARY KEY UNIQUE" column in a WITHOUT ROWID table. This is a fix for ticket [bc115541132dad136], a problem discovered by OSSFuzz. (check-in: 5216bfb73f user: drh tags: trunk)
2017-07-29
17:10
Merge latest trunk changes with this branch. (check-in: b42c87790e user: dan tags: server-process-edition)
17:02
New test cases for column name generation interacting with the query flattener. (Closed-Leaf check-in: 0c38dde454 user: drh tags: early-column-names)
17:01
Update test program "tserver" to use a native pthreads mutex/condition variable to efficiently manage wal file checkpoints without the wal file growing indefinitely. (check-in: 8299bdb7cb user: dan tags: server-process-edition)
16:01
Move the generation of output column names earlier, to right after name resolution and before query transformations such as flattening. This prevents the names from getting mangled by query transformations, and obviates hacks in the query flattener that attempt to work around the name mangling. The resulting code is smaller and faster and gives more consistent output. This is an alternative fix to ticket [de3403bf5ae5f72ed]. (check-in: 09834279ae user: drh tags: early-column-names)
14:56
Use the subquery column name, not the original SQL statement text, as the added AS clause in the query flattener. (Closed-Leaf check-in: 5df7f0e6a1 user: drh tags: flattener-column-names)
03:33
In the query flattener, only add AS clauses to output columns of the outer query that are copied directly from the inner query. Formerly, all columns of the outer query received an AS clause if they did not have one already. This is a proposed fix for ticket [de3403bf5ae5f72]. (check-in: 439cc5c52c user: drh tags: flattener-column-names)
2017-07-28
22:22
Update Tcl version used by the TclKit batch tool for MSVC. (check-in: bcec155e0d user: mistachkin tags: trunk)
22:13
Fix harmless compiler warning. (check-in: 3286e1a07b user: mistachkin tags: trunk)
21:02
Reduce the number of mallocs required of writers in server mode. (check-in: 60953997f6 user: dan tags: server-process-edition)
20:49
Disable the writecrash.test module on Windows. (Leaf check-in: 4c0520d4df user: drh tags: batch-atomic-write)
18:16
More precise determination of when an in-memory journal needs to be spilled to disk. (check-in: 6a505bdd93 user: drh tags: batch-atomic-write)
13:18
Add new extended error codes for the atomic write file-controls. (check-in: 94a2004756 user: drh tags: batch-atomic-write)
12:20
Fix a punctuation typo in the documentation for sqlite3_step(). No changes to code. (check-in: c965b757bb user: drh tags: branch-3.20)
11:05
Add new test file test/atomic.test. (check-in: f9213e4864 user: dan tags: batch-atomic-write)
02:02
Backport of all batch-atomic-write changes through check-in [67bad7fb9b] (check-in: def55027b1 user: drh tags: batch-atomic-write-3.19)
01:53
Add the SQLITE_ENABLE_BATCH_ATOMIC_WRITE macro to ctime.c (check-in: 67bad7fb9b user: drh tags: batch-atomic-write)
00:45
Release candidate 3 for 3.20.0 (check-in: d891a2a00a user: drh tags: branch-3.20)
2017-07-27
22:16
Enhance the like optimization so that it works with an ESCAPE clause. (check-in: 2495acf710 user: drh tags: branch-3.8.9)
20:24
Enhance the like optimization so that it works with an ESCAPE clause. (check-in: f5d330f495 user: drh tags: trunk)
19:59
Increase the version number to 3.21.0 in anticipation for changes to go into the next release. (check-in: 0645f25c79 user: drh tags: trunk)
18:49
Merge the pointer-passing interface changes from the 3.20 branch. (check-in: c63903a4c5 user: drh tags: trunk)
18:43
Simplified documentation for the pointer passing interface. (check-in: 2dfcd9a8ec user: drh tags: branch-3.20)
18:34
Do not set device-capabilities flags SEQUENTIAL or SAFE_APPEND for f2fs file-systems. (check-in: 4477e60cd8 user: dan tags: batch-atomic-write)
17:45
Add destructor functions for the pointer argument (NB: not the type string) to the sqlite3_bind_pointer() and sqlite3_result_pointer() interfaces. Use this new capability to resolve a pointer leak in the custom geometry function mechanism of the RTREE extension. (check-in: 5a2340b81f user: drh tags: branch-3.20)
16:42
In sqlite3_bind_pointer(), invoke the destructor if the bind index is out of range, like sqlite3_bind_blob() does. (Closed-Leaf check-in: d6684d2a74 user: drh tags: pointer-with-destructor)
15:53
Improved implementation of the destructor on pointer-passing interfaces. (check-in: 601ad67959 user: drh tags: pointer-with-destructor)
14:04
A demonstration of how FTS3 cursor pointers can be passed from the MATCH operator to the snippet() function securely and opaquely without having to use the sqlite3_result_pointer() and sqlite3_value_pointer() interfaces. (Closed-Leaf check-in: 49cf31da82 user: drh tags: pass-pointer-as-blob)
03:48
Add a destructor argument to sqlite3_bind_pointer() and sqlite3_result_pointer(). (check-in: 3d9e841f60 user: drh tags: pointer-with-destructor)
00:27
Do now allow the geometry object in the right operand of a MATCH operator in the RTREE extension to be inpersonated by a BLOB literal. (check-in: 24c9cd4600 user: drh tags: branch-3.19)
2017-07-26
19:59
Add the new sqlite3.mDbFlags field. Factor out bits of sqlite3.flags that do not interact with PRAGMA statements into sqlite3.mDbFlags. (check-in: 3808a00f06 user: drh tags: trunk)
18:26
Allow ATTACH and DETACH to occur inside of a transaction. (Closed-Leaf check-in: ac1fd6beb6 user: drh tags: attach-in-trans)
10:04
Fix a comment on the UnpackedRecord.r1 and UnpackedRecord.r2 fields. No changes to code. (check-in: 622b108915 user: drh tags: trunk)
2017-07-25
15:12
Release candidate 2 for 3.20.0. (check-in: f39cb76b33 user: drh tags: branch-3.20)
01:34
Fix a bug in the deterministic date/time function logic that can only appear with STAT3 or STAT4. (check-in: 1ca707a4fb user: drh tags: trunk)
2017-07-24
20:01
Do not attempt to run test file unionvtabfault.test with SQLITE_OMIT_VIRTUAL_TABLE builds. (check-in: 1a632a9a6c user: dan tags: trunk)
19:43
Update this branch with latest changes from trunk. (check-in: d0719ad757 user: dan tags: server-process-edition)
19:25
Do not attempt to run test file unionvtab.test with SQLITE_OMIT_VIRTUAL_TABLE builds. (check-in: 9a5a3d60a5 user: dan tags: trunk)
19:23
Only open a db in server-mode if there is a directory named "db-journal" in the file-system and the VFS is an exclusive locking VFS. (check-in: e77d29f644 user: dan tags: server-process-edition)
17:37
Handle a real OOM condition when incrblob2.test is run on a low-memory machine. (check-in: f483d06a9a user: drh tags: trunk)
15:29
Additional documentation on sqlite3_bind_pointer() and sqlite3_result_pointer(). No changes to code. (check-in: b1572d4e05 user: drh tags: trunk)
14:44
Compiler warning fix associated with date/time functions. (check-in: a98f07d942 user: drh tags: trunk)
2017-07-22
20:12
Add a test for the outcome of a process crash within an xWrite VFS method call. (check-in: eb8718006c user: dan tags: batch-atomic-write)
16:58
Add the "atomic-batch-write" permutation to permutations.test. This permutation fails if not run on a file-system that supports atomic-batch-writes. (check-in: 9f1b83fae9 user: dan tags: batch-atomic-write)
16:32
Keep batch-atomic-writes turned on for journal_mode=MEMORY, but turn them off for synchronous=OFF. Refuse to compile with both SQLITE_MMAP_READWRITE and SQLITE_ENABLE_BATCH_ATOMIC_WRITE. Fix up some comments in the commit logic. (check-in: 2e80e19e4f user: drh tags: batch-atomic-write)
16:00
Omit unused batch-atomic-write code if SQLITE_ENABLE_BATCH_ATOMIC_WRITE is not defined. (check-in: a89b62c496 user: drh tags: batch-atomic-write)
2017-07-21
21:06
Use ioctl(F2FS_IOC_GET_FEATURES) to determine whether or not atomic batch writes are available. (check-in: 532bbf1f2b user: dan tags: batch-atomic-write)
20:31
Remove stray (and incomplete) comment from a test file. No changes to code. (check-in: 8de20fc72a user: mistachkin tags: trunk)
20:29
Fix typo in comment. No changes to code. (check-in: 65ec077ba6 user: mistachkin tags: batch-atomic-write)
14:49
Additional documentation on the new VFS interface. No changes to code. (check-in: 83077ec8b5 user: drh tags: batch-atomic-write)
07:56
Add new interfaces sqlite3_result_pointer(), and sqlite3_value_pointer() and use them to transfer the eponymous FTS3 column pointer to the snippet() and offsets() routines. This changes is a cherry-pick of [f0f49224] via [69906880cee] and is ultimately inspired by check-in [72de49f2]. (check-in: 8201f4e1c5 user: drh tags: branch-3.18)
07:45
Add new interfaces sqlite3_result_pointer(), and sqlite3_value_pointer() and use them to transfer the eponymous FTS3 column pointer to the snippet() and offsets() routines. This changes is a cherry-pick of [f0f49224] with version-specific edits. That check-in was inspired by check-in [72de49f2]. (check-in: 69906880ce user: drh tags: branch-3.9.2)
04:08
Add new interfaces sqlite3_result_pointer(), and sqlite3_value_pointer() and use them to transfer the eponymous FTS3 column pointer to the snippet() and offsets() routines. This is a cherry-pick of [f0f49224] which was in turn inspired by [72de49f2]. (Leaf check-in: 5a3022e081 user: drh tags: branch-3.8.10)
03:23
Add new interfaces sqlite3_result_pointer(), and sqlite3_value_pointer() and use them to transfer the eponymous FTS3 column pointer to the snippet() and offsets() routines. This is a cherry-pick of [f0f492245e95], which is in turn inspired by check-in [72de49f2]. (Leaf check-in: a66a5b397b user: drh tags: branch-3.8.6)
03:09
Add new interfaces sqlite3_result_pointer(), and sqlite3_value_pointer() and use them to transfer the eponymous FTS3 column pointer to the snippet() and offsets() routines. This changes is inspired by check-in [72de49f2] but is new implementation, not a cherry-pick. (Leaf check-in: f0f492245e user: drh tags: branch-3.7.11)
2017-07-20
21:18
Add the documentation text for the new VFS interfaces used by batch-atomic writes. (check-in: 5e944eea5a user: drh tags: batch-atomic-write)
21:01
Transform two #ifdef statements into #if statements. (check-in: f2c6b58450 user: drh tags: batch-atomic-write)
21:00
Split SQLITE_ENABLE_ATOMIC_WRITE into two options - the original and SQLITE_ENABLE_BATCH_ATOMIC_WRITE. (check-in: 7eb9bf2c5b user: dan tags: batch-atomic-write)
20:49
Fix a harmless typo, but one that would show up in the documentation if not fixed. (check-in: e4b1dd3683 user: drh tags: trunk)
19:49
Add support for F2FS atomic writes. Untested at this point. (check-in: 416973ede3 user: dan tags: batch-atomic-write)
19:28
Minor fix to the concurrent.test module so that it works on windows. (check-in: 58553d61d1 user: drh tags: begin-concurrent)
19:08
Fix compiler warnings. (check-in: 44c760d150 user: drh tags: begin-concurrent)
18:56
Fix a faulty #ifdef on the previous check-in (check-in: 7355e74239 user: drh tags: begin-concurrent)
18:28
Get the build working with SQLITE_OMIT_CONCURRENT. (check-in: a29401e924 user: drh tags: begin-concurrent)
17:47
Merge all the latest trunk enhancements. (check-in: 213c61cb82 user: drh tags: begin-concurrent)
16:55
Experimental API sqlite3_stmt_refresh() to force a prepared statement to recompile if it needs to due to a schema change or other factor. (Leaf check-in: 10556ee454 user: drh tags: sqlite3_stmt_refresh)
15:08
Enhance the built-in date/time functions so that they can be used in CHECK constraints, in the WHERE clause or partial indexes, and index expressions, provided that none of the non-deterministic keywords ("now", "localtime", "utc") are used as arguments. (check-in: a90c062d46 user: drh tags: trunk)
14:36
New test cases for date/time functions in indexes on expressions, in the WHERE clause of partial indexes, and in CHECK constraints. (Closed-Leaf check-in: b7f70c7fca user: drh tags: index-on-date-func)
13:17
Combine the Parse.ckBase and Parse.iSelfTab fields into just Parse.iSelfTab. This fixes a problem with date/time functions in check-constraints. Add some test cases for date/time functions in index expressions and check constraints. (check-in: 22eda0985e user: drh tags: index-on-date-func)
2017-07-19
19:48
Allow indexes to be created on date/time functions as long as the 'now' date and the 'localtime' and 'utc' modifiers are not used. (check-in: 0a5e1c04d9 user: drh tags: index-on-date-func)
18:54
Merge latest trunk changes with this branch. (check-in: be0df0a65f user: dan tags: server-process-edition)
18:01
Remove some 'breakpoint' commands in test files. (check-in: d14fc621e9 user: mistachkin tags: trunk)
17:12
Create "pure" versions of the date/time functions that omit the 'now' feature and are therefore deterministic and usable in an index. (Closed-Leaf check-in: 55791928f3 user: drh tags: pure-date-functions)
11:52
Add further tests to unionvtab.test. (check-in: c93284cd65 user: dan tags: trunk)
11:20
Add VFS interfaces needed to make use of batch atomic write capabilities in the underlying filesystem. (check-in: 929bc46b8b user: drh tags: batch-atomic-write)
2017-07-18
21:19
Fix a crash in unionvtab caused by a misconfiguration. Add other test cases for the same. (check-in: 255d6b99de user: dan tags: trunk)
20:59
Fix shell.c.in so that it aligns with shell.c. (check-in: 505fdc8ff5 user: drh tags: trunk)
20:49
Add test cases and fix minor error-handling issues in unionvtab.c. (check-in: deadaad2a0 user: dan tags: trunk)
20:30
Fix duplicate test name. No changes to code. (check-in: 47b80ecc67 user: mistachkin tags: trunk)
20:28
Fix another harmless compiler warning. Get the MSVC makefile working with unionvtab. (check-in: d49639c208 user: drh tags: trunk)
20:22
Suppress harmless compiler warnings in union-vtab. (check-in: 4d147a1e28 user: drh tags: trunk)
20:17
Remove an unused variable from unionvtab.c. (check-in: a447fdf182 user: dan tags: trunk)
20:03
Improve the readability of the unionvtab code. (check-in: 5bcf0f86ea user: dan tags: trunk)
19:51
Have unionvtab support constraints on the column that corresponds to the INTEGER PRIMARY KEY field of the underlying source tables in the same way as rowid. (check-in: 4a6c416fa0 user: dan tags: trunk)
18:50
Add test cases to unionvtab.test. (check-in: 6c9128e1a5 user: dan tags: trunk)
18:19
Add the union-vtab extension - still experimental and under active development. (check-in: 948f95046b user: drh tags: trunk)
17:34
Do not use the flattening optimization for a sub-query on the RHS of a LEFT JOIN if that subquery reads data from a virtual table. Because it prevents the planner from creating an automatic index on the results of the sub-query, the flattening optimization sometimes slows things down in this case. (check-in: 9dbae1df75 user: dan tags: trunk)
17:13
Avoid creating an automatic index on the RHS of a LEFT JOIN to optimize an IS term. Fix for [ce68383b]. (check-in: d2f0b2e859 user: dan tags: trunk)
14:41
Change the default command-line shell history depth to 2000 lines. (check-in: 0b69aa7e37 user: drh tags: trunk)
2017-07-17
21:03
Add test cases to test/unionvtab.test. (Closed-Leaf check-in: f2c4a584e8 user: dan tags: union-vtab)
20:25
Enhance error detection and fix other issues in unionvtab code. (check-in: 9c3f1b9a82 user: dan tags: union-vtab)
20:21
Merge all the latest fixes and enhancements from trunk. (check-in: e181225dc7 user: drh tags: apple-osx)
19:37
Try to push relevant WHERE clause terms of the outer query down into the subquery in order to help the subquery run faster and/or use less memory. This is a cherry-pick of [6df18e949d36] with bug fixes. (check-in: cd6ac07848 user: drh tags: branch-3.8.9)
19:25
When checking for the WHERE-clause push-down optimization, verify that all terms of the compound inner SELECT are non-aggregate, not just the last term. Fix for ticket [f7f8c97e97597]. (Closed-Leaf check-in: adc082c146 user: drh tags: push-down-backport)
19:14
Do not apply the WHERE-clause pushdown optimization to terms that originate in the ON or USING clause of a LEFT JOIN. Fix for ticket [c2a19d81652f40568c]. (check-in: 52674f948c user: drh tags: push-down-backport)
19:07
For FROM-clause subqueries that cannot be flattened, try to push relevant WHERE clause terms of the outer query down into the subquery in order to help the subquery run faster and/or use less memory. Cherry-pick from [6df18e949d36]. Still need to backport bug fixes associated with that check-in. (check-in: 043d6ce8ad user: drh tags: push-down-backport)
18:45
Merge all changes from branch-3.20. Improvements to the fts5() extension interface. Work around a gcc/valgrind bug in the sqlite3_value_pointer() interface. (check-in: e0aca7d2c6 user: drh tags: trunk)
17:46
Interchange to branches within an "if" statement in sqlite3_value_pointer() in order to work around a bug in gcc. (Closed-Leaf check-in: 8a606e4aba user: drh tags: branch-3.20)
15:38
Improved the interface to the fts5() extension mechanism for enhanced security. (check-in: bc78235f54 user: drh tags: branch-3.20)
13:37
Merge the pointer-type enhancement from the 3.20 branch. (check-in: 9e8e1c4aa1 user: drh tags: trunk)
12:41
Comment changes clarifying details of the pointer-type parameter. No changes to code. (check-in: e4579e50a1 user: drh tags: branch-3.20)
12:27
Add the pointer-type parameter to sqlite3_bind_pointer(), sqlite3_result_pointer(), and sqlite3_value_pointer(). The pointer type is a static string that must match (according to strcmp()) or else the pointer is passed as a NULL. This is a security measure to prevent crossing pointers between different extensions. (check-in: e1196567fc user: drh tags: branch-3.20)
11:39
Improve the sqlite3_result_pointer() interface so that it cannot be faked using sqlite3_result_null() and sqlite3_result_subtype(). (Closed-Leaf check-in: c13264d5ef user: drh tags: pointer-types)
09:30
Use integer handles for fts3 cursors for a small performance improvement. (Closed-Leaf check-in: f4f7196b87 user: dan tags: union-vtab, fts3-int-cursor)
00:40
Add an experimental "pointer type" parameter to sqlite3_bind_pointer(), sqlite3_result_pointer(), and sqlite3_value_pointer(). The pointer type is a string that must compare equal using strcmp() or else the pointer comes through as a NULL. (check-in: 211cce04e9 user: drh tags: pointer-types)
2017-07-15
20:48
Add the "unionvtab" virtual table extension in ext/misc/unionvtab.c. (check-in: 62a86aa6c0 user: dan tags: union-vtab)
20:44
Merge the fix for ticket [a4e06e75a9ab61a12] from trunk. (check-in: b64d64c844 user: drh tags: branch-3.20)
20:33
Fix a register allocation problem in PRAGMA integrity_check that caused the same register to be used for two different purposes on the first ATTACHed database if the schema for the ATTACHed database was noticable more complex than the schema for the first database. Fix for ticket [a4e06e75a9ab61a1]. (check-in: 253945d480 user: drh tags: trunk)
20:25
Fix a missing \n at the end of a comment causing a line to be too long. No code changes. (check-in: 687bd47871 user: drh tags: trunk)
17:57
Enhance the showstat4 utility program to show the full precision of floating point values in sqlite_stat4 tables. (check-in: 5ec37c62f6 user: drh tags: trunk)
13:49
Minor change to one of the command-line shell test scripts to make that script compatible with Tcl 8.5. (check-in: 47cf83a068 user: drh tags: branch-3.20)
13:35
First release candidate for version 3.20.0. (check-in: 035a86ec3e user: drh tags: branch-3.20)
10:44
Add new interfaces sqlite3_bind_pointer(), sqlite3_result_pointer(), and sqlite3_value_pointer() used to safely move pointer values through SQL without exposing underlying memory address information. (Leaf check-in: d6a44b352d user: drh tags: branch-3.17)
08:02
Fix another minor problem in test file like.test. (check-in: 0953e74612 user: dan tags: trunk)
06:35
Fix test problems causing the "prepare" permutation test to fail. (check-in: b61cc5a0f9 user: dan tags: trunk)
2017-07-14
20:53
Fix test problems with stmtvtab1.test under some permutations. (check-in: ad6699d476 user: dan tags: trunk)
19:52
Fix a typo in a comment used to generate documentation. No code changes. (check-in: 65f9f29c58 user: drh tags: trunk)
19:47
Identify requirements text in the SQLITE_DBCONFIG_ENABLE_QPSG documentation. Add some implementation marks for SQLITE_DBCONFIG_MAINDBNAME requirements. No code changes. (check-in: ab165dcf35 user: drh tags: trunk)
19:22
Add requirements marks for some of the new features in the 3.20 release. (check-in: 2642386713 user: drh tags: trunk)
19:12
Tweak Makefile.in so that testfixture can be built with the --disable-amalgamation configure switch. (check-in: 394c6f4f43 user: dan tags: trunk)
17:50
Modify mkopcodeh.tcl so that it can handle "same as" opcodes with values larger than the total number of opcodes. (check-in: 1eb56fe030 user: dan tags: trunk)
15:57
In the LSM1 virtual table, dequote the filename before opening the file. (check-in: 6ed4ef03ff user: drh tags: trunk)
15:45
Changes to the LSM1 Tcl tests to make things work on Win32. (check-in: 7dc5e70ef1 user: mistachkin tags: trunk)
15:42
Include a hint in the header comment of the LSM1 makefile about how to set the LSMOPTS variable. (check-in: b5e3b26481 user: drh tags: trunk)
15:32
Update the Makefile for LSM1 so that the LSMOPTS can be set prior to including the Makefile, in order to add platform arguments such as -fPIC. (check-in: fe319bcd7f user: drh tags: trunk)
15:18
Fix a typo in the header comment to the remember extension. No code changes. (check-in: 604b9664f4 user: drh tags: trunk)
15:14
Change the name of the STMT virtual table to SQLITE_STMT. Also remove the first column of that virtual table, which was a pointer leak. (check-in: 1bc4e93407 user: drh tags: trunk)
13:24
Minor updates to requirements marks and documention. No changes to code. (check-in: 8f6dd5e290 user: drh tags: trunk)
11:40
Add very simple tcl tests for the lsm1 extension. (check-in: 5e0a97930b user: dan tags: trunk)
08:15
Add simple tests for "PRAGMA freelist_format". (check-in: 98a36f4cf1 user: dan tags: server-process-edition)
04:16
Minor tweaks to documentation. No code changes. (check-in: d8cd0434f3 user: drh tags: trunk)
00:28
Fix harmless compiler warnings in the readline tab-completion logic of the command-line shell. (check-in: 271ca4acfc user: drh tags: trunk)
2017-07-13
22:39
Improved documentation for the new sqlite3_bind_pointer() interface and its cousins. (check-in: 889968bdbf user: drh tags: trunk)
22:03
Improvements to the documentation for SQLITE_PREPARE_PERSISTENT. No code changes. (check-in: 2657781424 user: drh tags: trunk)
21:06
Make the freelist format a separate feature from the page-level locking. Freelist format is now configure using "PRAGMA freelist_format". (check-in: dcc407972a user: dan tags: server-process-edition)
20:11
Fix documentation typo. No changes to code. (check-in: 9319f7b71f user: drh tags: trunk)
19:11
Update header comments on the carray() and remember() extensions to bring out the fact that the pointer arguments must be bound using sqlite3_bind_pointer(). (check-in: 55f5396576 user: drh tags: trunk)
18:09
Add new interfaces sqlite3_bind_pointer(), sqlite3_result_pointer(), and sqlite3_value_pointer() used to safely move pointer values through SQL without exposing underlying memory address information. (check-in: 72de49f204 user: drh tags: trunk)
17:56
Fix an incorrect type signature for the loadable extension pointer for sqlite3_result_pointer(). (Closed-Leaf check-in: 0bd7875bd9 user: drh tags: bind-pointer)
17:54
Add the three new pointer interfaces to the loadable extension mechanism. Update sqlite3_value_subtype() documentation to remove the statement about it not being used internally. (check-in: e5a518038f user: drh tags: bind-pointer)
17:48
Update the FTS3 extension to use sqlite3_result_pointer() and sqlite3_value_pointer() for passing FTS3 cursor objects from the table into functions such as snippet(). (check-in: 0fa2e170e5 user: drh tags: bind-pointer)
17:34
Merge the latest changes from trunk. (check-in: a54be6e041 user: drh tags: bind-pointer)
2017-07-12
20:43
Smaller and faster implementation for vdbeFreeOpArray() and freeP4(). (check-in: 0c80593520 user: drh tags: trunk)
18:05
Fix harmless compiler warnings about incomplete structure initializers. (check-in: 604c11d1a3 user: drh tags: trunk)
17:26
Remove unnecessary EP_Leaf settings on the Expr object. (check-in: f951c8b71b user: drh tags: trunk)
17:08
The EP_Resolved flag on the Expr object is not required for correctness nor performance, so remove it. (check-in: 54f55d3b79 user: drh tags: trunk)
14:10
Clarification and simplification and result column naming logic. (check-in: 68824a439b user: drh tags: trunk)
14:03
Fix a problem in an lsmtest test case caused by writing data in "text" mode instead of "binary". (check-in: 3e56a79ad8 user: dan tags: trunk)
12:19
Compile cleanly with SQLITE_OMIT_UTF16. (check-in: 783100b801 user: drh tags: trunk)
2017-07-11
20:36
In lsm, attempt to unmap the database file before truncating it when disconnecting. A mapped file may not be truncated on win32. (check-in: 39069941e9 user: dan tags: trunk)
19:55
Simplify the way in which the database file is truncated when the last connection disconnects. Also ignore the error code from the xTruncate call - as truncating a database file is always optional. (check-in: b0a49d90fc user: dan tags: trunk)
18:38
Add SQL function usleep() to test program tserver.c. (check-in: 8cbe8f2b2f user: dan tags: server-process-edition)
18:11
Fix harmless compiler warnings in the core. (check-in: 55e93f2560 user: drh tags: trunk)
17:54
Make win32GetTimeOfDay() in the lsm1 test code more portable. (check-in: 2fe3a84330 user: mistachkin tags: trunk)
17:28
Enabled the new sqlite3_prepare_v3() and sqlite3_prepare16_v3() interfaces for loadable extensions. (check-in: b9debd626a user: drh tags: trunk)
17:06
Fix a whitespace alignment issue in lsm1. (check-in: a8e651e0e5 user: mistachkin tags: trunk)
16:47
Fix a bug causing readonly mvcc connections to read the wrong cache entry in some cases. (check-in: b6157267f9 user: dan tags: server-process-edition)
16:46
Fix more harmless compiler warnings in lsm1, seen with MSVC 2015. (check-in: 0f1307f1f5 user: mistachkin tags: trunk)
16:36
Fix harmless compiler warnings seen with MSVC for lsm1. (check-in: cf6da4a52f user: mistachkin tags: trunk)
13:59
Add support for tab-completion (using the ext/misc/completion.c virtual table) to the command-line shell. (check-in: 95cd1d9f8b user: drh tags: trunk)
13:34
Change the src/shell.c file so that it is generated from a new script at tool/mkshellc.tcl and the template file src/shell.c.in, and automatically includes the extensions it needs out of ext/misc. (check-in: 17e0bb12d8 user: drh tags: trunk)
02:53
Fix a backup2 test case so that it works on FreeBSD. (check-in: 724819b456 user: drh tags: trunk)
02:05
Add the "phase" output column on the COMPLETION table-valued function, for debugging. Improved comments on the implementation. (check-in: 0e21355527 user: drh tags: trunk)
01:38
The COMPLETION virtual table now looks at the names of databases, tables, and columns in addition to SQL keywords. (check-in: 1cc97711fa user: drh tags: trunk)
00:09
Incomplete implementation of the COMPLETION table-valued function. So far it only works for SQL keywords. (check-in: caefbc723b user: drh tags: trunk)
2017-07-10
21:32
Fix harmless compiler warnings in lsmtest. (check-in: bd8a1fb9b3 user: mistachkin tags: trunk)
20:39
Fix errors in comments in the STMT virtual table. No code changes. (check-in: 9a8f045d62 user: drh tags: trunk)
20:33
Minor cleanup and refactoring of the Win32 VFS for lsm1. (check-in: bf7eda67c8 user: mistachkin tags: trunk)
19:54
Another spelling error in the README.md file. (check-in: 0512937425 user: drh tags: trunk)
19:08
Spelling error in README.md (check-in: 12bc47c502 user: drh tags: trunk)
19:07
Yet another typo in README.md (check-in: 75c9327b55 user: drh tags: trunk)
19:05
Fix another README.md typo. (check-in: 20b1f0eff1 user: drh tags: trunk)
19:03
Fix an obsolete statement about Lemon in the README.md file. (check-in: 4f6ce7a38b user: drh tags: trunk)
18:57
Cleanup header usage in lsmtest for files that require _O_BINARY. (check-in: f3a6a64ec9 user: mistachkin tags: trunk)
18:52
Updates to the repository README.md file. (check-in: 7bfd3ab799 user: drh tags: trunk)
18:33
In LSM, avoid calling the VFS xTestLock method to test for a lock that conflicts with one held by the same process. The results of such a call are considered undefined (since they are different under win32 and posix). (check-in: a82a9bea62 user: dan tags: trunk)
18:04
Add the "--newlines" option to the ".dump" command in the shell to disable the newline escaping mechanism. (check-in: bde431b1e3 user: drh tags: trunk)
17:00
When multiple constraints need to be evaluated for a row, do any constraints that involve correlated subqueries last. Hence, the priority is index-covered constraints first, correlated subquery constraints last, and all others in the middle. This is a follow-on and improvement to the push-down optimization of check-in [d7bb79ed]. (check-in: c4cb90487f user: drh tags: trunk)
16:38
Additional debugging Noop-comment in the constraint generator when wheretrace is enabled. (Closed-Leaf check-in: 0ca7474f05 user: drh tags: defer-where-subqueries)
15:26
Small performance optimization in sqlite3WhereExprUsage(). (check-in: 38edc6770e user: drh tags: defer-where-subqueries)
15:17
Fix another problem on this branch. (check-in: a4fc98113a user: dan tags: defer-where-subqueries)
14:39
Fix a problem causing non-covered WHERE terms to be evaluated before covered WHERE terms. (check-in: 7d3cb39f60 user: dan tags: defer-where-subqueries)
14:33
When testing non-indexed WHERE constraints, test those that involve correlated sub-queries last of all. This increases the chances of not having to run the sub-query at all. (check-in: 1f9c1f359e user: dan tags: defer-where-subqueries)
13:24
For sqlite3TreeView() debugging output, show the Expr.flags field on scalar subqueries. (check-in: dc857a96b0 user: drh tags: trunk)
12:07
Update error message text for standard error codes to better describe the latest usage of those error codes. Modify sqlite3_open_v2() so that it does return a valid sqlite3 object in the event of SQLITE_MISUSE due to bad open flags, so that sqlite3_errmsg() does not report "out of memory" in that case. (check-in: f27b637040 user: drh tags: trunk)
11:17
Remove the error message text from disused error codes such as SQLITE_EMPTY and SQLITE_FORMAT. (check-in: 871752f292 user: drh tags: trunk)
2017-07-09
18:55
Always make "column%d" column-names 1-based, never 0-based. (check-in: 70096c505d user: drh tags: trunk)
00:30
Make sure the columns of a VALUES() clause are named "column%d" even if the VALUES() clause is a subquery in the FROM clause of an outer query. (check-in: acf3b9cc9c user: drh tags: trunk)
2017-07-08
22:30
Add the --icc, --gcc7, and --orm options to the speed-check.sh test script. (check-in: 70dae08a9a user: drh tags: trunk)
20:46
Support read-only MVCC transactions in server-mode. Started using "BEGIN READONLY". (check-in: 5a043aa8dd user: dan tags: server-process-edition)
18:27
Disable compiler intrinsics when using the Intel C Compiler. (Leaf check-in: dbb59f6156 user: drh tags: icc-fix)
01:01
Fix the covering index OR optimization (check-in [fcbd6abd]) so that it works with SQLITE_MAX_ATTACHED>30. Broken by a bad cherry-pick merge. (check-in: d227de8ad9 user: drh tags: branch-3.8.9)
2017-07-07
22:58
Merge in all the latest trunk enhancements. (check-in: 7f48f6ab2a user: drh tags: apple-osx)
22:47
Basic test cases for PRAGMA secure_delete=FAST. (check-in: 0c246017b4 user: drh tags: trunk)
22:39
Fix test cases in wal2.test due to the fact that Darwin checks to see if the SHM file is writable before attempting to open in read/write. (check-in: 6b618b18f7 user: drh tags: apple-osx)
21:20
Fix comment in the Win32 VFS for lsm1. (check-in: 12a421bcac user: mistachkin tags: trunk)
21:15
For lsmtest, use a more portable means of setting open() files to binary. (check-in: aea6e0ffd3 user: mistachkin tags: trunk)
20:35
Adjust copy_file() lsmtest function so it works properly for locked database files on Win32. (check-in: 54a3855583 user: mistachkin tags: trunk)
20:33
Avoid even trying to open a SHM file read/write in WAL mode if we know that the file is read-only. This avoids scare security log messages. (check-in: d9d9278140 user: drh tags: apple-osx)
20:06
Add the "PRAGMA secure_delete=FAST" option, which overwrites most deleted content without increasing the amount of I/O. Deleted content might persist on the free page list, however. And extra CPU cycles are used for zeroing, of course. (check-in: 38978ce65b user: drh tags: trunk)
19:43
Change the error message text for SQLITE_ERROR to omit the part about "missing database" as that meaning is now obsolete (since approx SQLite 2.0). (check-in: 732f90d632 user: drh tags: trunk)
19:22
Fix typos in Win32 VFS for lsm1. (check-in: 0961ec873b user: mistachkin tags: trunk)
19:12
Fix the memcpy calls in the lsmWin32OsShmMap function for lsm1. (check-in: aa4890b9f9 user: mistachkin tags: trunk)
19:02
Enhance the MSVC makefile 'clean' target to handle lsm1. (check-in: 2d6faebc31 user: mistachkin tags: trunk)
18:31
Add support for LSM_DEBUG to the MSVC makefile for lsm1. (check-in: 277a7fedaf user: mistachkin tags: trunk)
18:06
In the command-line shell, when running ".schema" give a sensible error when the database file is locked. (check-in: cc329eb8d6 user: drh tags: trunk)
17:57
Fix the usleep() macro in the Win32 test code for lsm1. (check-in: 63599fa524 user: mistachkin tags: trunk)
17:43
Add new PRAGMAs: "function_list", "module_list", and "pragma_list". All are enclosed within #ifdef SQLITE_INTROSPECTION_PRAGMAS. The compile-time option is not on ctime.c yet, since these are still experimental and one can always test "PRAGMA pragma_list" and see whether or not it returns an empty set. (check-in: e0b6ae92ad user: drh tags: trunk)
17:33
Add the "Pragma_list" pragma. Put all three pragmas created on this branch inside of #ifdef SQLITE_INTROSPECTION_PRAGMAS. (Closed-Leaf check-in: 2f3c3781ef user: drh tags: list-pragmas)
16:46
Improve clarity in the Win32 VFS for lsm1. (check-in: 9c7a9e805d user: mistachkin tags: trunk)
16:40
Merge latest trunk changes with this branch. (check-in: 216c757f92 user: dan tags: server-process-edition)
16:29
Add support for LSM_DEBUG_MEM to the MSVC makefile for lsm1. (check-in: 3340de83df user: mistachkin tags: trunk)
16:27
Remove a block from the Win32 VFS for lsm1 that is now superfluous. (check-in: 5f726f2830 user: dan tags: trunk)
16:12
Have this branch maintain an in-memory hash-table of old pages for read-only MVCC clients. There is no way to access it yet. (check-in: a3a9a2e189 user: dan tags: server-process-edition)
16:09
In lsmtest, use an empty string instead of ":memory:" when requesting a temporary database from SQLite. This prevents other test code from trying to unlink() ":memory:", which fails on win32. (check-in: 281ad505d7 user: dan tags: trunk)
16:07
Remove a block from the Win32 VFS for lsm1 that is now superfluous. (check-in: db4a41408e user: mistachkin tags: trunk)
16:06
Memory reallocation fix for the Win32 VFS for lsm1. (check-in: 5a3140e4de user: mistachkin tags: trunk)
16:00
Enhance the sqlite3VdbeMultiLoad() interface to automatically generate the OP_ResultRow opcode on PRAGMA implementations, for a small reduction in the library footprint. (check-in: c46f0f076c user: drh tags: trunk)
15:43
Add new pragmas: "function_list" and "module_list" (check-in: e5f01d7fde user: drh tags: list-pragmas)
14:54
Fix an obsolete comment on the sqlite3_namelist() function implementation. (Closed-Leaf check-in: f4229857a1 user: drh tags: experimental-namelist)
14:26
Merge recent enhancements from trunk. (check-in: 73d0fc027d user: drh tags: bind-pointer)
13:59
Exploit the fact that Expr.pRight and Expr.x are never used at the same time for a small performance gain. (check-in: aacbb9a461 user: drh tags: trunk)
12:58
More efficient and compact implementation of walkExpr(). (check-in: 115d4b8339 user: drh tags: trunk)
12:43
More aggressive use of EP_Leaf on expression nodes, to help prune searches. (check-in: c1a1d68c82 user: drh tags: trunk)
11:49
Very slightly smaller and faster sqlite3WalkSelect(). (check-in: 9bc65635b2 user: drh tags: trunk)
2017-07-06
22:43
Small adjustment to main.mk that facilitates giving non-standard compile-time options to the shell. (check-in: 7c7d53a9bb user: drh tags: trunk)
22:40
Always load the schema before starting tab-completion. (check-in: 907fd3aab6 user: drh tags: experimental-namelist)
20:08
Tab-completion now also works using readline/editline. (check-in: c906739f0c user: drh tags: experimental-namelist)
19:26
Use the sqlite3_namelist() interface to implement simple tab-completion using linenoise. (check-in: 5cc7b0e2ca user: drh tags: experimental-namelist)
18:52
Change the sqlite3_namelist() interface to return a pointer to an array of pointers to strings, and to avoid duplicates. (check-in: 7029111044 user: drh tags: experimental-namelist)
18:25
The sqlite3_namelist() routine now works for all name types. (check-in: e41d62175b user: drh tags: experimental-namelist)
17:36
Initial implementation of a highly experimental interface for listing all keywords and symbolic names for an SQLite database connection. (check-in: 04ef6783a5 user: drh tags: experimental-namelist)
16:33
Change the (machine-generated) keywordhash.h file to increase the scope of the tables used for keyword matching, so that the tables are accessible to functions other then keywordCode(). (check-in: c5ed5ebdf6 user: drh tags: trunk)
13:51
More compact implementation of the typeof() SQL function. (check-in: efb4aab0ca user: drh tags: trunk)
13:23
Avoid unnecessary upper-to-lower case conversion for function names when registering the built-in functions. (check-in: 0626925764 user: drh tags: trunk)
03:06
Small size reduction in findCollSeqEntry(). (check-in: 55ecd30304 user: drh tags: trunk)
02:49
Avoid unnecessary calls to sqlite3GetCollSeq() for a small performance gain. (check-in: 503ba172e4 user: drh tags: trunk)
01:28
Slightly more compact implementation of the byte-code generator for the COMMIT and ROLLBACK commands. (check-in: 4da663d986 user: drh tags: trunk)
01:02
Small performance increase in sqlite3SrcListAppend(). (check-in: 7b2623f199 user: drh tags: trunk)
2017-07-05
23:33
Make the hash table implementation a little smaller and faster. (check-in: f762f1effe user: drh tags: trunk)
18:48
Have fts3 virtual table cursors free internal resources when they reach EOF, instead of waiting until the xClose method is called. (check-in: b6b14ab6c8 user: dan tags: trunk)
16:20
Make use of covering indexes in the OR optimization. (check-in: fcbd6abdb1 user: drh tags: branch-3.8.9)
14:54
Add the count-of-view optimization when compiled using SQLITE_COUNTOFVIEW_OPTIMIZATION. (check-in: b7ae4b879f user: drh tags: branch-3.8.9)
14:29
Fix a problem in lsmtest causing one test to fail for multi-threaded LSM connections. (check-in: 2bce64c886 user: dan tags: trunk)
2017-07-04
19:34
Add the count-of-view optimization when compiled using SQLITE_COUNTOFVIEW_OPTIMIZATION. (check-in: d1ba200234 user: drh tags: trunk)
19:23
Fix further OOM handling cases in LSM. (check-in: ca757c8665 user: dan tags: trunk)
17:25
Fix a couple of problems in handling OOM conditions within LSM. (check-in: 989a5c1745 user: dan tags: trunk)
12:50
Fix a problem in the lempar.c Lemon template for YYSTACKDEPTH<=0 introduced by check-in [36e54cd8b1fb37] (check-in: 268a40f44c user: drh tags: trunk)
2017-07-03
21:09
Fix compiler warnings in LSM1, especially in the test logic. (check-in: 9bd3be92b8 user: drh tags: trunk)
20:19
Fix a bug in lsm queries on levels undergoing incremental an merge that contain range-delete markers. (check-in: b2c2487928 user: dan tags: trunk)
17:37
Attempt to improve documentation on sqlite3_column_ and sqlite3_value_ interfaces. (check-in: 9111ac69bf user: drh tags: trunk)
09:00
Add more tests for LSM log file recovery. Fix a problem in recovering log files that contain range deletes. (check-in: e34eafd4c5 user: dan tags: trunk)
2017-07-01
20:59
Fix a memory management problem in lsm log recovery code. (check-in: dd55af30b4 user: dan tags: trunk)
15:21
Enhance the RTree module to detect node truncation early and report an error. (check-in: 66de6f4a95 user: drh tags: trunk)
2017-06-30
23:46
Update the carray() and remember() extension functions so that they user the new sqlite3_value_pointer() interface. (check-in: a99fa94db7 user: drh tags: bind-pointer)
23:09
Add APIs for binding pointers that can be used by app-defined functions. (check-in: d9f4a831ba user: drh tags: bind-pointer)
20:11
Improved documentation for sqlite3_value_type(). (check-in: 0db20efe20 user: drh tags: trunk)
19:22
Add some assert() statements in the Win32 interface for lsm1. (check-in: d076d58ff1 user: mistachkin tags: trunk)
18:12
Fix some minor typos in lsm1. (check-in: 0ef777d747 user: mistachkin tags: trunk)
11:44
Avoid constantly freeing and reallocing small internal buffers associated with LSM cursors. Instead, allow them to persist for the lifetime of the cursor if they are LSM_SEGMENTPTR_FREE_THRESHOLD (default 1024) bytes or smaller. This change is based on research by Martijn Blaauw. (check-in: bacfe8cb3e user: dan tags: trunk)
2017-06-29
21:33
In the command-line shell, add the -quote option to start up in quote mode. Enhance the ".mode" command so that it reports the current output mode if given no arguments. (check-in: 5e3f9ea5c4 user: drh tags: trunk)
21:11
Remove the ".explain" command from the ".help" output of the command-line shell, though keep the implementation around for backwards compatibility. (check-in: 7782c04e9b user: drh tags: trunk)
20:31
Some simple tests for the STMT virtual table. (check-in: a26e17ee56 user: drh tags: trunk)
20:23
Avoid reading or writing the 32 locking bytes at the end of the first meta-page of an LSM database. (check-in: 3ed6877f89 user: dan tags: trunk)
20:13
Avoid reading or writing the 32 locking bytes at the end of the first meta-page of an LSM database. (Closed-Leaf check-in: 2b5df3e8a8 user: dan tags: lsm-metapage-fix)
19:08
Fix issues in the POSIX and Win32 interfaces for lsm1. (check-in: 38ec414166 user: mistachkin tags: trunk)
17:27
Edit comments in sqlite.h.in used for generating documentation, to improve the description of the new sqlite3_prepare_v3() interfaces, and other miscellaneous cleanup. No changes to executable code. (check-in: 284707a7b3 user: drh tags: trunk)
16:51
More updates to the Win32 interface for lsm1. (check-in: cae6476967 user: mistachkin tags: trunk)
15:57
Correct typo in the Win32 interface for lsm1. (check-in: 1b4facb1ad user: mistachkin tags: trunk)
15:24
Add interfaces sqlite3_prepare_v3() and sqlite3_prepare16_v3() with the extra prepFlags argument. Add the SQLITE_PREPARE_PERSISTENT option as one bit in that argument. Use the new option in FTS3, FTS5, and RTREE. (check-in: 03977248e6 user: drh tags: trunk)
15:13
Further corrections to the Win32 interface for lsm1. (check-in: 4df6e2476c user: mistachkin tags: trunk)
14:33
Rename the "stmts" virtual table to just "stmt" without the final "s". (check-in: adfdb80105 user: drh tags: trunk)
14:17
A couple fixes for the Win32 interface for lsm1. (check-in: ebbd98e941 user: mistachkin tags: trunk)
13:41
Add the stmts virtual table to testfixture builds. Add new compile-time options SQLITE_ENABLE_QPSG and SQLITE_ENABLE_STMTSVTAB to ctime.c (check-in: 60c628293a user: drh tags: trunk)
13:35
Compilation fix for lsm1 using MSVC. (check-in: b7794cc5d5 user: mistachkin tags: trunk)
13:19
Add the LSM1 extension. (check-in: 824e83274c user: drh tags: trunk)
13:13
Add the "stmts" virtual table to the amalgamation, activated when compiled using -DSQLITE_ENABLE_STMTSVTAB. Add the SQLITE_STMTSTATUS_REPREPARE and SQLITE_STMTSTATUS_RUN statistics outputs from sqlite3_stmt_status() and add corresponding columns to the stmts virtual table. Change the numeric value of SQLITE_STMTSTATUS_MEMUSED to get it out of the way of counter values. (check-in: 88976ae31c user: drh tags: trunk)
12:59
The query planner examines the values of bound parameters to help determine if a partial index is usable. Reprepares may happen if the bindings change. This behavior is disabled by the QPSG setting. (check-in: c322bfa27e user: drh tags: trunk)
12:54
Implement xUnlink, xShmMap, and xShmUnmap for lsm1 on Win32. (Closed-Leaf check-in: 680cc064c9 user: mistachkin tags: lsm-vtab)
12:49
Add the SQLITE_STMTSTATUS_REPREPARE and SQLITE_STMTSTATUS_RUN options to sqlite3_stmt_status(). Use this for two new columns in the stmts virtual table. (Closed-Leaf check-in: b0b0c8f8d5 user: drh tags: stmts-vtab)
01:23
Fix the exprCompareVariable() routine so that it works for non-UTF8 text. (Closed-Leaf check-in: 25acd9658b user: drh tags: partial-index-variables)
00:20
Implement xRemap for lsm1 on Win32. Also, zero file handle when closing it. (check-in: 93c9aa7d9a user: mistachkin tags: lsm-vtab)
2017-06-28
21:47
Alternative implementation of exprCompareVariable(). (check-in: b959c6297c user: drh tags: partial-index-variables)
21:36
Implement xLock and xTestLock for lsm1 on Win32. (check-in: 9112117dad user: mistachkin tags: lsm-vtab)
20:21
Merge tserver fixes with this branch. (check-in: 58a0aab8fd user: dan tags: server-process-edition)
20:12
Fix bugs in test program tserver.c. (Leaf check-in: 093b9108ea user: dan tags: server-edition)
18:25
Make the query planners use of partial indexes based on bound variables responsive to the SQLITE_DBCONFIG_ENABLE_QPSG setting. (check-in: a934dd14ac user: drh tags: partial-index-variables)
18:07
Merge the in the latest enhancements from trunk. (check-in: 8f63c58632 user: drh tags: partial-index-variables)
17:29
Instead of the new sqlite3_prepare_v3() interface, provide the SQLITE_DBCONFIG_PREPARE_FLAGS interface which sets the flags on the single next call to sqlite3_prepare_v2() or its cousins. (Closed-Leaf check-in: 942c3ef8cd user: drh tags: dbconfig-prepare-flags)
15:56
Incorporate recent trunk changes. (Closed-Leaf check-in: 62b8269ba2 user: drh tags: prepare_v3)
15:47
Build the "stmts" virtual table into the amalgamation. It is active only when compiled using SQLITE_ENABLE_STMTSVTAB. That option is supplied to the command-line shell. (check-in: 0ff057d86e user: drh tags: stmts-vtab)
15:17
Fix harmless compiler warnings in the CSV extension. (check-in: f02a54599d user: drh tags: trunk)
15:01
Faster parser stack overflow detection. (check-in: 36e54cd8b1 user: drh tags: trunk)
14:26
Minor tweak to the SQL grammar to make the parser tables a few bytes smaller. (check-in: cc4810b23e user: drh tags: trunk)
13:47
In the lemon-generated parser, store the number of symbols on the RHS of each rule as a negative number and add it to the stack pointer, rather than storing the value as a positive and subtracting it. This makes the parser faster. (check-in: b362f0d8ed user: drh tags: trunk)
11:56
In the lemon-generated parser, automatically promote SHIFTREDUCE actions on nonterminal systems to pure REDUCE actions, for a performance enhancement. (check-in: c46d94a8cd user: drh tags: trunk)
01:21
Simplify error handling logic in sqlite3_exec() to save about 40 bytes. (check-in: 6480916c72 user: drh tags: trunk)
01:12
Minor code simplification in the ALTER TABLE logic. (check-in: bfc4e7f30e user: drh tags: trunk)
00:55
Avoid an unnecessary call to sqlite3XPrintf() in the code generator, for a performance improvement. (check-in: 29d6ceb383 user: drh tags: trunk)
2017-06-27
23:36
Add SQLITE_DBCONFIG_ENABLE_QPSG that forces the query planner stability guarantee. This is the fix for ticket [b9f010107724c] (check-in: b82efd2a24 user: drh tags: trunk)
22:33
Improve a local variable name. (check-in: d0f6973d93 user: mistachkin tags: lsm-vtab)
22:27
Initial work on porting lsmtest to Win32. (check-in: 7e669d9bfa user: mistachkin tags: lsm-vtab)
20:23
Support clients within a single process only. (check-in: dfa9a4d53e user: dan tags: server-process-edition)
18:15
Implement xFullpath for lsm1 on Win32. (check-in: dbe9c8aa8d user: mistachkin tags: lsm-vtab)
16:48
Merge latest trunk changes with this branch. (check-in: 2b0954060f user: dan tags: apple-osx)
16:39
Fix a virtual table problem that can occur when the vtab is on the RHS of a LEFT JOIN and there is a MATCH constraint in the ON clause, or when the vtab is in a sub-query that is the RHS of a LEFT JOIN and there is a MATCH constraint in the WHERE clause of the sub-query. (check-in: 87b3816633 user: dan tags: trunk)
06:28
Minor corrections to the previous check-in. (check-in: e1cf8a78a0 user: mistachkin tags: lsm-vtab)
05:59
Work in progress porting lsm1 to Win32. (check-in: 2017636e93 user: mistachkin tags: lsm-vtab)
2017-06-26
21:08
Add the -withoutnulls option to the "db eval" method in the TCL interface. (check-in: 18f0616e15 user: drh tags: trunk)
18:42
The ".import" command of the shell, and the csv virtual table extension both ignore a single UTF-8 BOM at the beginning of their input. (check-in: 7c15d762d9 user: drh tags: trunk)
16:13
Add the "-unsetnull 1" option to the "sqlite3" command in the TCL interface. (Closed-Leaf check-in: cbe441b231 user: drh tags: unsetnull-option)
14:46
Make sure sqlite3VdbeSetVarmask() is never invoked when QPSG is enabled. (Closed-Leaf check-in: ebcfa73e1c user: drh tags: enable-QPSG)
13:57
Add the SQLITE_DBCONFIG_ENABLE_QPSG option to activate the query planner stability guarantee. This involves refactoring the sqlite3.flags bitvector to carve out a free bit to use. (check-in: 7076e8283e user: drh tags: enable-QPSG)
11:46
Remove an invalid assert() from lsm test code. (check-in: ca8a7e995c user: dan tags: lsm-vtab)
08:24
Fix another problem with multi-threaded mode in the LSM test code. (check-in: 461ced77d9 user: dan tags: lsm-vtab)
07:31
Update a test case to reflect the fact that the lsm blocksize is configured in KiB. And defaults to 1024, not 2048. (check-in: d7015475f1 user: dan tags: lsm-vtab)
06:53
Fix some compiler warnings in lsm_file.c. (check-in: 23f16382ed user: dan tags: lsm-vtab)
2017-06-24
19:21
Disable shell tests for the .schema command if virtual tables are not available. (check-in: c8186874b3 user: drh tags: trunk)
18:10
Consider the values bound to SQL variables when determining whether or not a partial index may be used. (check-in: 7b59c353b8 user: dan tags: partial-index-variables)
16:35
Make sure the config.h header is included by ctime.c, if that header exists. (check-in: c2ea62937e user: drh tags: trunk)
16:03
Query planner tuning: When deciding between two plans with the same cost, bias the selection toward the one that does not use the sorter. (check-in: f0ec36d479 user: drh tags: trunk)
13:31
Make sure enough memory is allocated for pathological quoting cases when computing a quoted table name in the command-line shell. (check-in: 0583b84ab4 user: drh tags: trunk)
2017-06-23
21:05
Merge all recent trunk enhancements into the apple-osx branch. (check-in: 53b14a3888 user: drh tags: apple-osx)
15:47
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. (check-in: 712267c9c0 user: dan tags: trunk)
2017-06-22
16:51
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. (Closed-Leaf check-in: e4a022be4b user: dan tags: or-optimization)
2017-06-21
01:36
Enable pragma virtual tables for the integrity_check, quick_check, and foreign_key_check pragmas. (check-in: 118f7bb33a user: drh tags: trunk)
2017-06-20
19:20
Ensure that test tool "tserver" finalizes all statements before attempting to close a database handle. (check-in: d8568aacf0 user: dan tags: server-edition)
18:19
Rename the azCompileOpt global constant to avoid a harmless compiler warning about a name conflict with a local variable. (check-in: 94e420ecfb user: drh tags: trunk)
17:43
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]. (check-in: 483462682d user: dan tags: trunk)
2017-06-19
11:44
Experimental "PRAGMA secure_delete=FAST" pragma. The intent is to overwrite deleted content with zeros without increasing the amount of disk I/O. (Closed-Leaf check-in: f1682f0faf user: drh tags: fast-secure-delete)
2017-06-17
19:06
Avoid adding an artifical "LIMIT 1" on scalar subqueries that do not need it. This seems like a pointless optimization as it makes minimal run-time difference but does increase code complexity. Parked on a branch for historical reference. (Leaf check-in: c21628e9c1 user: drh tags: subquery-limit-opt)
18:49
Fix a missing comma in the previous check-in. (check-in: f3db02f490 user: drh tags: trunk)
17:55
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. (check-in: 9a443397a6 user: dan tags: trunk)
17:29
Ensure that the value of the THREADSAFE symbol is always included when reporting compile time options, even if it was not explicitly configured. (Closed-Leaf check-in: 95141c6426 user: dan tags: ctime-refactor)
16:39
Add extra test cases for sqlite3changeset_apply() and ALTER TABLE ADD COLUMN. (check-in: 603838fc9a user: dan tags: trunk)
09:59
Version 3.18.2 (check-in: 036ebf729e user: drh tags: release, branch-3.18, version-3.18.2)
00:39
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. (check-in: e1b7102908 user: drh tags: branch-3.18)
2017-06-16
19:51
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. (check-in: bc1951d699 user: dan tags: ctime-refactor)
18:31
Minor refactoring change to clarify how ATTACH works. No functional changes. (check-in: 3944a32e1d user: drh tags: trunk)
13:43
Prevent pagesize changes on VACUUM in encrypted databases even when running the VACUUM on an attached database. (check-in: 1169384934 user: drh tags: trunk)
13:41
Version 3.18.1 (check-in: 77bb46233d user: drh tags: release, branch-3.18, version-3.18.1)
12:15
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. (check-in: 20e5ffb1ce user: drh tags: branch-3.18)
2017-06-15
16:56
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. (check-in: 254617a1cc user: drh tags: trunk)
16:45
Fix typo and improve the wording of the description of "Metadata" in the output of the sqlite3_analyzer tool. (check-in: ca1ff70780 user: drh tags: trunk)
15:06
Merge the latest changes from trunk. (check-in: 60105c2253 user: drh tags: lsm-vtab)
13:07
Fix harmless compiler warnings in the shell.c file (check-in: 9afd7a2ffd user: drh tags: trunk)
12:50
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". (check-in: c7f778b7ce user: drh tags: trunk)
12:21
In the command-line shell, enhance the ".schema" command show that it shows the schema for ATTACH-ed databases in addition to "main". (check-in: 48e086284a user: drh tags: trunk)
07:47
Increase the version number to 3.18.1. (check-in: 4be2eba8c1 user: drh tags: branch-3.18)
00:52
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. (check-in: 43ad41efa9 user: drh tags: trunk)
2017-06-13
16:52
Fix sqlite3rbu_close() so that the pzErrmsg parameter may be passed NULL. (check-in: c433672dd8 user: dan tags: trunk)
04:31
Fix the processing of double-negatives in WHERE clause constraints with STAT4. Ticket [cfa2c908f2182] (check-in: 35b34bdf08 user: drh tags: trunk)
2017-06-12
23:44
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]. (check-in: 30c50f0e06 user: drh tags: branch-3.18)
2017-06-11
20:17
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. (check-in: 0bbdaf2801 user: drh tags: trunk)
19:51
When reusing a materialized view, make sure the estimated number of output rows is correctly initialized to avoid confusing the query planner. (check-in: 87aceb417a user: drh tags: trunk)
19:40
Fix the sessiondiff test module so that it does not run if the session extension is not enabled. (check-in: 8f92b7a622 user: drh tags: trunk)
18:26
Fix a potential null-pointer deference following OOM introduced by check-in [e39795d7] (unreleased). (check-in: a2f77285fa user: drh tags: trunk)
2017-06-10
17:23
Remove sqlite3_log() and abort() calls added to this branch to debug the pointer-map problem ([fda22108]). (check-in: 79544fc285 user: dan tags: begin-concurrent)
2017-06-09
15:14
Merge enhancements and fixes from trunk. (check-in: 3fd050c343 user: drh tags: prepare_v3)
11:43
Update the documentation to make it clear that the table name parameter to sqlite3_table_column_metadata() may not be NULL. (check-in: 2881ab1ed2 user: drh tags: trunk)
02:27
Adjust the implementation of the ".selftest" feature of the shell to avoid using the deprecated sqlite3_get_table() interface. (check-in: 3168e2c92a user: drh tags: trunk)
2017-06-08
16:23
Update the recent auto-vacuum fix so that it works for the in-memory pointer-map structure used by this branch. (check-in: 8e311a6dba user: dan tags: begin-concurrent)
16:10
Merge 3.19.3 changes with this branch. (check-in: e2d38d51a9 user: dan tags: begin-concurrent)
15:54
Merge changes for version 3.19.0 with this branch. (check-in: 0f59bb94d5 user: dan tags: begin-concurrent)
14:41
Merge the auto_vacuum bug fix and all other changes from the 3.19.3 release. (check-in: 93f32dd2dd user: drh tags: apple-osx)
14:35
Add a testcase() to confirm that an OOM on sqlite3DbStrNDup() is handled correctly in trigger.c. (check-in: 343e55992f user: drh tags: trunk)
14:26
Version 3.19.3 (check-in: 0ee482a1e0 user: drh tags: release, version-3.19.3, branch-3.19)
11:32
Fix an issue with OPT_FEATURE_FLAGS in configure.ac. (check-in: 97b5c4a53d user: drh tags: branch-3.19)
11:27
Increase the version number to 3.19.3. (check-in: 903fff53b3 user: drh tags: branch-3.19)
11:26
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]. (check-in: 9478106ca9 user: drh tags: branch-3.19)
11:14
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]. (check-in: b30dfba811 user: dan tags: trunk)
2017-06-07
22:32
In SQLITE_DEBUG mode, attempt to log the page number of the database that contained the problem when SQLITE_CORRUPT errors are seen. (check-in: e39795d7d7 user: drh tags: trunk)
19:46
Fix another lsmtest build problem. Add the "-trans BOOLEAN" option to "lsmtest speed2". (check-in: 61853bc171 user: dan tags: lsm-vtab)
16:25
Merge in trunk enhancements. (check-in: f8bbb608cb user: drh tags: prepare_v3)
15:55
Add too/tserver.c - the implementation of a simple multi-threaded server designed for interactive testing of concurrency between connections used by different threads of the same process. (check-in: 05b4fc4340 user: dan tags: server-edition)
10:55
Cause the ANALYZE command to build sqlite_stat1 table entries for empty tables with the assumption that such tables really contain 10 elements. This gives better query plans for tables that are truely empty, but is likely to cause problems in legacy systems, so the change is kept off trunk. Some TCL tests fail on this check-in due to the new stat1 entries. (Leaf check-in: c81f260c2d user: drh tags: analyze-empty-tables)
2017-06-06
18:22
Add the SQLITE_DEFAULT_ROWEST compile-time option for changing the estimated number of rows in tables that lack sqlite_stat1 entries. (check-in: 802b82f342 user: drh tags: branch-3.8.9)
18:20
Add the SQLITE_DEFAULT_ROWEST compile-time option for changing the estimated number of rows in tables that lack sqlite_stat1 entries. (check-in: 234ede26e3 user: drh tags: trunk)
16:14
Fix a threading problem in lsm test code. (check-in: 501238b9fb user: dan tags: lsm-vtab)
2017-06-05
19:20
Fix a subtle bug in the remember UDF of the kvtest.exe utility program. (check-in: 9eea3670e7 user: drh tags: trunk)
16:33
Fix a bug in test_fs.c that occurs when the first component of a path contains a GLOB or LIKE escape character. (check-in: 73c70590d7 user: dan tags: trunk)
13:28
For the kvtest utility, add the --vacuum option to "kvtest stat" and also run PRAGMA integrity_check with "kvtest stat". (check-in: f3c25df456 user: drh tags: trunk)
12:29
Fix the column width deduction logic in the command-line shell to account for multi-byte utf8 characters. (check-in: ed0842c156 user: drh tags: trunk)
10:31
Omit some of the fstree tests in vtabH if the PWD contains LIKE wildcards. (check-in: ead29f9cb7 user: drh tags: trunk)
2017-06-03
20:09
Initialize a variable to zero to prevent an (incorrect) compiler warning of it potentially being uninitialized. (check-in: 65182ce041 user: drh tags: trunk)
19:16
Fix the SQLITE_PTR_TO_INT macro so that works on recent versions of LLVM on Macs. (check-in: c4089ffbdb user: drh tags: trunk)
18:27
Remove unused header file from kvtest. (check-in: dd7e043f7c user: drh tags: trunk)
17:24
In kvtest, add the ability to work with a hierarchy of files on disk, in addition to having all files in the same directory. (check-in: f568f666c8 user: drh tags: trunk)
15:17
Add the --nocheckpoint and --multitrans options to kvtest. (check-in: 5828633c23 user: drh tags: trunk)
2017-06-02
23:44
Merge all recent trunk enhancements. (check-in: 1d23294d88 user: drh tags: lsm-vtab)
23:32
Add the --fsync flag to kvtest, and document the --nosync flag. (check-in: 7fdc78a672 user: drh tags: trunk)
19:31
Work toward enhancing kvtest to measure write performance. (check-in: fc73e7d2f1 user: drh tags: trunk)
15:44
Change the name of the OP_Seek opcode into OP_DeferredSeek for better clarity of function. No functional code changes. (check-in: ab33d299c7 user: drh tags: trunk)
13:16
Fix a typo in the header comment of the "series.c" virtual table extension. (check-in: d637feb4e3 user: drh tags: trunk)
09:31
Extend even further the logging designed to find problems in the pointer-map structure. Call abort() to dump a core as soon as such a problem is seen. (check-in: f131677dcb user: dan tags: begin-concurrent)
2017-06-01
16:13
Add test code for LSM to the ext/lsm1/lsm-test directory. (check-in: bb7436e84a user: dan tags: lsm-vtab)
01:53
Add a comment to the Lemon documentation regarding the security of the lemon.exe command-line tool. (check-in: 4c2458c190 user: drh tags: trunk)
00:54
Add interfaces sqlite3_prepare_v3() and sqlite3_prepare16_v3() with the extra prepFlags argument. Add the SQLITE_PREPARE_PERSISTENT option as one bit in that argument. (check-in: 4a25c58833 user: drh tags: prepare_v3)
2017-05-31
17:30
Add the SQLITE_STMTSTATUS_MEMUSED opcode to sqlite3_stmt_status() for finding the heap memory usage by a single prepared statement. (check-in: c26cf978ee user: drh tags: trunk)
17:06
Generate extra log messages in response to irregularites in the pointer-map used by "BEGIN CONCURRENT" transactions. (check-in: f7e3e2bc88 user: dan tags: begin-concurrent)
16:21
Add the SQLITE_STMTSTATUS_MEMUSED option for sqlite3_stmt_status() that reports the amount of heap memory used for a single prepared statement. (Closed-Leaf check-in: b57d510465 user: drh tags: stmtstatus-memused)
16:09
Add the experimental "stmts" virtual table for introspection of prepared statements. (check-in: cb4c5c66ab user: drh tags: trunk)
13:45
Avoid allocating excess memory to the KeyInfo objects. (check-in: df78594351 user: drh tags: trunk)
13:27
Remove a completely unnecessary memset() from the INSERT code generator. (check-in: 7d58836b9d user: drh tags: trunk)
11:24
Very small performance increase in sqlite3VdbeSetNumCols(). (check-in: 8885b44610 user: drh tags: trunk)
03:20
Reorder fields in the PgHdr object for a performance increase. (check-in: 326e63d71e user: drh tags: trunk)
02:58
Avoid unnecessary memory zeroing during expression list allocation. (check-in: de28e6514a user: drh tags: trunk)
00:49
Size and performance optimizations to sqlite3ResolveExprNames(). (check-in: af8c0fed93 user: drh tags: trunk)
2017-05-30
18:34
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. (check-in: e972a38608 user: drh tags: trunk)
18:14
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. (check-in: 69ae688982 user: dan tags: trunk)
2017-05-29
22:44
More efficient error handling and reset in the binding mechanism. (check-in: 9a3e3b34ba user: drh tags: trunk)
19:23
Instead of a root page number, log the object (table or index) name if a page level locking conflict is detected. (check-in: 9ad846e57b user: dan tags: begin-concurrent)
17:59
Omit unnecessary fstat() calls for determining the database file size, resulting in smaller and faster code. (check-in: dd61c73677 user: drh tags: trunk)
17:43
Fix an issue with OPT_FEATURE_FLAGS in configure.ac. (check-in: 43ce3bd3a4 user: drh tags: trunk)
16:45
Avoid unnecessary fstat() calls to determine the database size when transitioning into a read transaction on a rollback-mode database. (Closed-Leaf check-in: 6c3476b513 user: drh tags: io-opt)
14:57
Avoid unnecessary calls to fstat() to determine the database file size. (check-in: c733a1dea3 user: drh tags: io-opt)
14:30
Fix a typo in a comment. No code changes. (check-in: cb29b83888 user: drh tags: trunk)
14:27
Enhance the log messages emitted when a page conflict is detected. (check-in: 92618492b0 user: dan tags: begin-concurrent)
14:26
Optimizations to the Walker object and its methods to make the code a little smaller and to help it run a little faster. (check-in: 6854a34ed7 user: drh tags: trunk)
13:09
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. (check-in: 43c9ae371f user: drh tags: trunk)
03:48
Improve shell help text for the '.open' command. (check-in: 7cc940a97e user: mistachkin tags: trunk)
2017-05-27
22:42
Smaller and faster vdbeSorterCompareText(). (check-in: 542dc4c5eb user: drh tags: trunk)
18:05
Add debugging functions btreePageOriginFile() and btreePageOriginOffset(). (Leaf check-in: 214d238a47 user: dan tags: btree-debug)
2017-05-26
18:18
Adjust the bitvec related sqlite3_log messages added by [9527089b]. (check-in: a7e0e7a483 user: dan tags: begin-concurrent)
16:51
Add extra test cases for deferred page allocation. (check-in: 9df0195780 user: dan tags: begin-concurrent)
16:15
Fix a problem with deferred page allocation in transactions that revert page allocations by savepoint rollbacks. (check-in: a4a3bbe646 user: dan tags: begin-concurrent)
2017-05-25
21:35
Small performance increase and size decrease in the btreeInitPage() routine. (check-in: 6f415833e0 user: drh tags: trunk)
21:02
Fix a problem with the deferred page allocation on this branch that could occur when the database file is just slightly smaller than the PENDING_BYTE page offset. (check-in: 47a7dd9235 user: dan tags: begin-concurrent)
17:36
Merge all fixes from the 3.19.2 release. (check-in: 12964240f1 user: drh tags: apple-osx)
17:27
Merge the LEFT JOIN query flattener fixes from 3.19.2. (check-in: 6513e4a121 user: drh tags: trunk)
16:50
Version 3.19.2 (check-in: edb4e819b0 user: drh tags: release, branch-3.19, version-3.19.2)
11:39
The SQLITE_EXTRA_IFNULLROW compile-time option causes OP_IfNullRow opcodes to be issued for references to the right-hand side table of *any* flattened join, not just LEFT JOINs. This puts extra stress on the OP_IfNUllRow opcodes for testing purposes. (check-in: 1a074c8a2b user: drh tags: branch-3.19)
00:28
The TK_IF_NULL_ROW expression node must be treated as a variable that references the table Expr.iTable. Proposed fix for ticket [7fde638e94287d2c]. (check-in: b30a364a12 user: drh tags: branch-3.19)
00:12
Increase the version number to 3.19.2 since ticket [7fde638e94287d2] is going to necessitate another patch release. (check-in: c315727acd user: drh tags: branch-3.19)
00:08
The TK_IF_NULL_ROW expression node must be treated as a variable that references the table Expr.iTable. Proposed fix for ticket [7fde638e94287d2c]. (check-in: 77fc23013c user: drh tags: trunk)
2017-05-24
15:32
Fix harmless compiler warnings in FTS5. (check-in: 57a60e959c user: mistachkin tags: trunk)
13:08
Version 3.19.1 (check-in: f6d7b988f4 user: drh tags: release, branch-3.19, version-3.19.1)
04:32
Fix a problem in STAT4 equality estimation for multi-column indexes introduced by check-in [3e0590dee0e68cc1599]. (check-in: 19dad0a720 user: drh tags: branch-3.8.9)
04:18
Fix a problem in STAT4 equality estimation for multi-column indexes introduced by check-in [3e0590dee0e68cc1599]. (check-in: cfb0d9e020 user: drh tags: trunk)
2017-05-23
20:00
Remove the msvc.h header file from the autoconf tarball. (check-in: 84996aef68 user: drh tags: trunk)
19:35
Do not use strcpy() in the (obsolete) amatch extension. In releasetest.tcl, run Apple tests using -Os instead of -O1 (check-in: 4440e42031 user: drh tags: trunk)
19:23
Add experimental new API sqlite3_wal_info(). (check-in: 5b9d498f6e user: dan tags: begin-concurrent)
15:33
Disable the LEFT JOIN flattening optimization for aggregate queries, as it does not currently work. Further fix for ticket [cad1ab4cb7b0fc344]. (check-in: 05ada74155 user: drh tags: branch-3.19)
15:21
Disable the LEFT JOIN flattening optimization for aggregate queries, as it does not currently work. Further fix for ticket [cad1ab4cb7b0fc344]. (check-in: 44b21e35c9 user: drh tags: trunk)
12:44
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]. (check-in: 28d2902d8f user: drh tags: branch-3.19)
12:36
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]. (check-in: 941d8142b7 user: drh tags: trunk)
01:35
Change the version number to 3.19.1. (check-in: 16656b8ff5 user: drh tags: branch-3.19)
01:30
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. (check-in: 4510d55d1e user: drh tags: branch-3.19)
01:29
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]. (check-in: 919d36e6ea user: drh tags: branch-3.19)
01:21
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]. (check-in: 92c178507d user: drh tags: trunk)
00:32
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. (check-in: 987a2b5537 user: drh tags: trunk)
2017-05-22
19:24
Pull in all changes from the 3.19.0 release. (check-in: bbd2d0e140 user: drh tags: apple-osx)
18:09
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. (check-in: 0bb23c4806 user: dan tags: trunk)
18:00
Add the ".cd" command to the command-line shell. (check-in: 5fe28e15b1 user: drh tags: trunk)
17:39
Increase the version number to 3.20 for the next release cycle. (check-in: ab471f61ef user: drh tags: trunk)
14:04
Merge the last-minute 3.19.0 changes into trunk. (check-in: e6ba2a93a8 user: drh tags: trunk)
13:58
Version 3.19.0 (check-in: 28a94eb282 user: drh tags: release, branch-3.19, version-3.19.0)
13:06
Include the "msvc.h" header file in the amalgamation tarball. (check-in: 3dd6fe53c7 user: drh tags: branch-3.19)
08:04
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. (check-in: 3ea2bad27e user: dan tags: trunk)
08:01
Add code to this branch to emit a log message after each cumulative second that the WRITER lock has been held. (check-in: a726d98122 user: dan tags: server-edition)
00:45
When planning a query using sorting, resolve ties in the solver by selecting loop plans with the smaller unsorted cost. (check-in: f261678c90 user: drh tags: trunk)
00:27
When planning a query using sorting, resolve ties in the solver by selecting loop plans with the smaller unsorted cost. (check-in: 962531e7c1 user: drh tags: branch-3.8.9)
2017-05-19
23:04
Prevent a possible NULL pointer dereference in the OP_Found opcode that can follow an OOM error. Problem found by OSS-Fuzz. (check-in: 50ad60ded5 user: drh tags: branch-3.19)
22:51
Prevent a possible NULL pointer dereference in the OP_Found opcode that can follow an OOM error. Problem found by OSS-Fuzz. (check-in: c2de178fe7 user: drh tags: trunk)
20:55
Improved comments on one routine in the query planner. Improved diagnostic output for ".wheretrace". No production code changes. (check-in: 946b87a528 user: drh tags: trunk)
20:47
Fix a documentation typo. No changes to code. (check-in: 68942a4fee user: drh tags: trunk)
20:46
Branch for the 3.19 release. (check-in: f2b829ec52 user: drh tags: branch-3.19)
19:57
Invoke sqlite3_log() in response to irregularities surrounding the Pager.pAllRead bit-vector. (check-in: 9527089b7a user: dan tags: begin-concurrent)
12:32
Fix some problems in fts5 code detected by -fsanitize=undefined. (check-in: 35f721045d user: dan tags: trunk)
2017-05-18
20:47
Fix a problem on this branch causing some page-level read-locks to be omitted. (check-in: 0eed152162 user: dan tags: begin-concurrent)
18:17
Fix a documentation typo. No changes to code. (Closed-Leaf check-in: cfa4aa2036 user: drh tags: doc-type)
2017-05-16
09:49
Update the tool/warnings.sh script to automatically use the right options on OpenBSD. (check-in: 7940bff32a user: dan tags: trunk)
2017-05-15
19:32
Avoid writer starvation by adding a RESERVED state to page locks. (check-in: 9b7f80246f user: dan tags: server-edition)
17:56
Merge changes from trunk. (check-in: 6e0f64ab5e user: drh tags: schemalint)
17:34
Merge the latest changes from trunk. (check-in: 14ea840036 user: drh tags: begin-concurrent)
15:12
Fix the build so that it works again with SQLITE_OMIT_SUBQUERY. (check-in: bb0d928158 user: drh tags: trunk)
15:05
Improvements to the omittest.tcl script. (check-in: 0f05d7e93a user: drh tags: trunk)
2017-05-13
19:07
Avoid running recovery while there is another read/write client. (check-in: a38858a24c user: dan tags: server-edition)
2017-05-12
18:52
Require exclusive access to the db to wrap the wal file. Have "PRAGMA wal_checkpoint = restart" block for this. (check-in: cbf44ed975 user: dan tags: server-edition)
14:05
Make sure the 'sqlite3changegroup_*' functions are included in the SQLITE_APICALL handling. (check-in: a123cb9330 user: mistachkin tags: trunk)
2017-05-11
19:09
Add another test case for the new authorizer functionality. (check-in: 339df63f40 user: dan tags: trunk)
18:49
Merge recent enhancements from trunk. (check-in: b55c0f14c3 user: drh tags: apple-osx)
18:42
Enhance the json_extract() function to reuse parses of the same JSON when the function appears multiple times in the same query. (check-in: 3ba9e7ab79 user: drh tags: trunk)
18:14
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. (check-in: 9a2de4f05f user: dan tags: trunk)
16:49
Cache the JSON parse used by json_extract(). (Closed-Leaf check-in: 44ca6c2c46 user: drh tags: auxdata-cache)
15:20
Negative N values in sqlite3_get_auxdata() and sqlite3_set_auxdata() can be used to access an auxiliary data cache over all functions in a single prepared statement. (check-in: ff5306752e user: drh tags: auxdata-cache)
13:43
New requirements marks and documentation for the authorizer. (check-in: 3980ea0911 user: drh tags: trunk)
12:27
Improvements to the sqlite3_set_authorizer() documentation. (check-in: 47629b1911 user: drh tags: trunk)
12:05
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. (check-in: 4139953ab5 user: drh tags: trunk)
2017-05-10
19:42
Rename fields of the internal AuxData object to make them unique and easier to search for. (check-in: 2be9850cef user: drh tags: trunk)
16:33
Improved documentation for the SQLITE_READ authorizer callback. No code changes. (check-in: 92c5ea7047 user: drh tags: trunk)
16:18
Fix a problem causing a lock to be held past the end of a transaction. Use a blocking lock to take the read-lock on page 1 taken by all transactions. (check-in: 2584df3d42 user: dan tags: server-edition)
16:12
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. (check-in: 92ab1f7257 user: drh tags: trunk)
13:46
Use a blocking call to obtain the wal-mode WRITER lock in some cases. (check-in: 4464ca1d68 user: dan tags: server-edition)
13:36
Fix a couple of test scripts so that they work with -DSQLITE_DISABLE_FTS4_DEFERRED builds. (check-in: 30018d3106 user: dan tags: trunk)
12:58
Avoid unnecessary codec operations on in-memory subjournals. (check-in: 199b2a8499 user: drh tags: trunk)
12:49
Do not invoke codec macros for in-memory subjournals. (Closed-Leaf check-in: d2bb0066f7 user: drh tags: codecless-inmemory-subjournal)
2017-05-09
16:32
Fix a problem with wrapping the log file in server mode. (check-in: 270b7d1eac user: dan tags: server-edition)
2017-05-08
20:15
Add some support for wal mode to the hack on this branch. (check-in: b733afc1d0 user: dan tags: server-edition)
18:29
Do not invoke codec macros when reading or writing an in-memory sub-journal. (check-in: 2c145ee6c9 user: dan tags: codecless-inmemory-subjournal)
2017-05-06
18:09
Fix an obscure assertion fault that can follow an OOM. The problem was introduced by check-in [a1cf44763277b6c7]. (check-in: 04e7e5650e user: drh tags: trunk)
17:12
Fix requirements marks and harmless compiler warnings. (check-in: 198ff4c01d user: drh tags: trunk)
16:04
Update this branch with latest trunk changes. (check-in: ed6bad67f5 user: dan tags: server-edition)
2017-05-04
14:02
Remove the tool/schemalint.tcl script. And related Makefile entries. It is superseded by sqlite3_expert. (check-in: 269bf52e27 user: dan tags: schemalint)
11:13
Fix a collision of the "B0" identifier name between the termios.h header file and the SHA3 implementation in the shell. (check-in: b9a58daca8 user: drh tags: trunk)
2017-05-03
19:36
Remove the unused "sqlite3_stack_used" TCL command from the test harness. (check-in: e24b73820c user: drh tags: trunk)
17:44
Fix the sqlite3GetInt32() function so that it correctly returns 0 on a zero-length input string. (check-in: 05eba9e3a5 user: drh tags: trunk)
15:54
Always enable URI filenames when compiling with SQLITE_HAS_CODEC. Also allow plaintext keys using the key= query parameter. (check-in: 31a51b4d16 user: drh tags: trunk)
13:05
Fix a harmless compiler warning on Windows. (check-in: 593e5dd00c user: drh tags: schemalint)
12:50
Get sqlite3_expert building on Windows. (check-in: d8254047b3 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: da15752dcc 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: af7d159604 user: drh tags: schemalint)
19:45
Merge the latest enhancements from trunk. (check-in: a7dcf6a79f 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: 430f539cbb 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: 9e35c89dbe 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: 47cbb471d0 user: drh tags: trunk)
16:46
Additional comments on the sqlite3ExprIsConstantOrGroupBy() routine. No code changes. (Closed-Leaf check-in: 8424492eac user: drh tags: having-where-optimization)
01:30
Fix typo in comment. No changes to code. (check-in: 6674814afb user: mistachkin tags: trunk)
2017-05-01
20:07
Update this branch with latest trunk changes. (check-in: 83b1e163ef user: dan tags: server-edition)
19:53
Remove an unnecessary branch. (check-in: a33179596f user: drh tags: having-where-optimization)
18:24
Enhance "PRAGMA integrity_check" to detect duplicate rowids within a leaf page. (check-in: adcad37b00 user: dan tags: trunk)
18:12
Clear the BTCF_ValidNKey flag set if a cursor is moved by sqlite3BtreeInsert(). Fix for [f68dc596c4]. (check-in: a6727eef6d 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: c64fe3a169 user: drh tags: materialized-view-reuse)
16:37
Minor bug fixes and performance enhancement. (check-in: b2aae55958 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: 478c34b9a8 user: drh tags: materialized-view-reuse)
14:25
Update this branch with latest trunk changes. (check-in: 11f4761c3a user: dan tags: schemalint)
14:09
Add extra tests for the optimization on this branch. (check-in: 4921cd9520 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: 5375a3ce56 user: dan tags: having-where-optimization)
19:29
Add a single testcase() macro to the subquery processing logic. (check-in: 4e1df76e3d user: drh tags: trunk)
18:02
Improvements to opcode documentation in the bytecode engine. No changes to code. (check-in: e54c9f8db5 user: drh tags: trunk)
15:48
Avoid reading the file-size before page 1 is read-locked. (check-in: f6b025bf63 user: dan tags: server-edition)
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. Do not confuse with WHERE-clause push-down. (check-in: d7bb79ed3a user: drh tags: trunk)
14:56
Minor size and performance improvements to the push-down optimization. (Closed-Leaf check-in: 91dfb61a1a 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: afe68f0a80 user: dan tags: pushdown-optimization)
17:32
Fix various bugs revealed by running performance tests. (check-in: a40b42c422 user: dan tags: server-edition)
14:09
Add a missing releasePage() call to the server-mode free-list management code. (check-in: a5a085483c user: dan tags: server-edition)
10:20
Use a different free-list format for server-mode databases in order to reduce contention. (check-in: 778e8a102d user: dan tags: server-edition)
2017-04-27
14:12
Do not write master journal filenames into server-mode journal files. Use SQLITE_MUTEX_STATIC_APP1 to protect critical sections in server.c. (check-in: 3144ae40d2 user: dan tags: server-edition)
13:05
If possible, delete the journal file when a database connection is closed. (check-in: d5b5326df2 user: dan tags: server-edition)
2017-04-26
20:45
Experimental implementation of pessimistic page-level locking based on rollback mode. (check-in: 64ecf7c7e5 user: dan tags: server-edition)
17:21
Add new test file cachespill.test. (check-in: 2d0b64316d user: dan tags: trunk)
14:34
Replace <fts5.h> with "fts5.h" in test file fts5_test_tok.c. (check-in: 63d9ca5c73 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: 304689f8ac user: drh tags: trunk)
2017-04-24
16:14
Bring in all the latest enhancements from trunk. (check-in: 031feebc94 user: drh tags: apple-osx)
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: 1c1b086223 user: dan tags: trunk)
2017-04-22
00:20
Fix an assertion fault found by OSSFuzz. (check-in: e39769f442 user: drh tags: trunk)
2017-04-21
19:58
Another minor formatting fix. (check-in: 9fa2ce3c2b user: dan tags: schemalint)
19:56
Fix formatting errors in the previous commit. (check-in: da9a2e5aa9 user: dan tags: schemalint)
19:53
Update the README.md file in the ext/expert/ directory. (check-in: 3b2ff4e069 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: bdc50d8d12 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: 840042cb2b user: dan tags: trunk)
2017-04-20
17:35
Merge latest trunk changes into this branch. (check-in: b1533bc455 user: dan tags: schemalint)
17:03
Avoid creating a temp table in the user database in the sqlite3_expert code. (check-in: 4e36699643 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: 8e57c31340 user: dan tags: schemalint-failure)
16:18
Avoid adding INTEGER PRIMARY KEY columns to candidate indexes. (check-in: 4577fea5cd 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: c62e358243 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: c69c3e21db user: dan tags: schemalint)
2017-04-19
13:25
Further improvements to coverage of fts3 module. (check-in: 6b21d0fdeb user: dan tags: trunk)
07:33
Further modifications and test cases to improve test coverage of fts3. (check-in: ea8a0d2ce0 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: a157fcfde5 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: dc2a48020a user: dan tags: trunk)
11:20
Improved optimizations of views as the right operand of a LEFT JOIN. (check-in: 41c27bc0ff user: drh tags: trunk)
09:04
Fix sqlite3_expert handling of triggers on views. (check-in: ff4976da66 user: dan tags: schemalint)
05:49
Refactor the fts3ColumnMethod() function so that all branches can be covered. (check-in: e47fdb493b 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: 5684525613 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: e698db1956 user: drh tags: trunk)
18:42
Consolidate two branches of code in the "PRAGMA foreign_key_check" implementation. (check-in: 69f51f838a 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: 690870bd7b user: dan tags: trunk)
17:03
Add support for analyzing trigger programs to the sqlite3_expert code. (check-in: 159e8022a9 user: dan tags: schemalint)
16:07
Further improvements to test coverage in fts3. (check-in: 352413eed4 user: dan tags: trunk)
13:38
Improve coverage of code in fts3. (check-in: 1a08a836fa 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: f508aff8d1 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: 90015df306 user: drh tags: trunk)
22:08
Add the anycollseq.c loadable extension in etc/misc (check-in: d7b9813cb1 user: drh tags: trunk)
2017-04-15
16:52
Fix problems with handling constraints on the rowid column in sqlite3expert.c. (check-in: 2e6308798a user: dan tags: schemalint)
15:47
Merge latest trunk changes into this branch. (check-in: 2d0c458e01 user: dan tags: schemalint)
14:30
Add header comment for sqlite3_vtab_collation(). (check-in: d238694ca4 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: 0cd75a872c 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: 89f9e4363a 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: e50fd48969 user: drh tags: skip-ahead-distinct)
19:46
Remove end-of-line whitespace from lemon.c. (check-in: d78355c85f user: drh tags: trunk)
19:44
Fix some left-over K&R-C constructs in lemon.c. No changes to the core. (check-in: a53799059d 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: 3bb6585004 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: 3a5860d86f 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: f489b5bb6b 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: 1838a59c8a user: drh tags: left-join-view)
14:50
Make USE_FULLWARN=1 the default for MSVC and fix harmless compiler warnings. (check-in: 6bf673767b 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: 5159cb8f2b 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: e651074be2 user: drh tags: trunk)
12:27
Remove an incorrect ALWAYS(). (check-in: f956f6ae6b user: drh tags: trunk)
00:45
Fix a couple of unreachable branches. (check-in: 1aa0ea8db7 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: ce1e2b8877 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: 57c5173b63 user: drh tags: skip-ahead-distinct)
18:33
New test cases and minor fixes for the optimization on this branch. (check-in: 70ac9ea1a6 user: dan tags: skip-ahead-distinct)
16:19
Update this branch with latest changes from trunk. (check-in: 5fcd840cf9 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: 59c70108fd 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: fa9bb7b768 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: 0cf16decd5 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: 6f54ffd151 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: 132339a1fb 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: 8e7b611863 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: c847543f8b 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: f2643315bb 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: 7aae5c0f99 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: 477bea9ed0 user: dan tags: fkey-optimization)
19:00
Update this branch with latest trunk changes. (check-in: 0f66a09393 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: 1f68c18459 user: drh tags: trunk)
18:29
Fix a formatting issue in the output of the sqlite3_expert program. (check-in: cc8c358106 user: dan tags: schemalint)
18:06
Smaller and faster implementation of exprMightBeIndexed(). (check-in: 76cd611d41 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: 0c45c5eb9f user: dan tags: schemalint)
16:44
Very slight smaller and faster sqlite3SelectNew() (check-in: 4143650c4c user: drh tags: trunk)
12:20
Add an ALWAYS() around an unreachable condition in sqlite3VdbeMemGrow(). (check-in: 0f3eb61f44 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: d6bb7c42ff 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: a47efb7c85 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: c59eaf2b7c user: drh tags: covering-index-on-expr)
2017-04-10
23:42
Merge changes from trunk. (check-in: 8978465f33 user: drh tags: covering-index-on-expr)
20:51
Smaller and faster vdbeFreeOpArray() (check-in: e052436d9f user: drh tags: trunk)
20:27
Slightly smaller and faster sqlite3VdbeMemGrow(). (check-in: efd1702ae8 user: drh tags: trunk)
20:00
Add ext/expert/README.md. (check-in: 9318f1b9ed 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: 5dd9831721 user: dan tags: schemalint)
12:31
Add a new JSON test case to verify that all control characters are escaped in the json_quote() function. (check-in: 6ee12221fa user: drh tags: trunk)
12:25
Change the JSON extension so that it disallows control characters inside of strings. Fix for ticket [6c9b5514077fed34551f98e64c09a10dc2fc8e16]. (check-in: 475d8f82ec user: drh tags: trunk)
2017-04-09
19:23
Do not expose the name of the internal Mem object in the public interface defined by sqlite3.h. (check-in: 19dd753f9e user: drh tags: trunk)
08:38
Fix the -file option on the sqlite3_expert program. (check-in: 0857c48e02 user: dan tags: schemalint)
2017-04-08
19:00
Merge latest trunk with this branch. (check-in: e051e8f21b 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: be0deff940 user: dan tags: schemalint)
18:24
Merge all recent changes from trunk. (check-in: c23ef5e231 user: drh tags: apple-osx)
18:18
Disallow leading zeros on numeric constants in JSON. Fix for ticket [b93be8729a895a528e2] (check-in: 204e72f008 user: drh tags: trunk)
17:41
Use hash tables instead of in-memory database tables for a few purposes in sqlite3expert.c. (check-in: bf10e68d9e user: dan tags: schemalint)
14:11
Expand on the comment above OP_Destroy to explain why it throws an error if there are any active reader VMs. (check-in: b9a8c2b9be user: dan tags: trunk)
13:52
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. (check-in: fa4416adc2 user: dan tags: trunk)
13:42
Fix the quoting mechanism for ".dump" so that it is not applied for the ".mode quote" output. (check-in: 78c1e90305 user: drh tags: trunk)
09:12
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. (check-in: a921ada890 user: dan tags: trunk)
01:09
Make sure the RTree sqlite3_blob handle is reset prior to renaming the table. (check-in: 1cdae2db3c user: drh tags: trunk)
00:55
Fix the ".dump" command so that it works with ".headers on". Also fix the display of ".mode insert" with ".headers on". (check-in: a6ce57ee3c user: drh tags: trunk)
00:25
Merge the latest trunk changes. (check-in: dd16439ea1 user: drh tags: apple-osx)
2017-04-07
20:20
Use replace() instead of char() to quote newline and return characters in strings in the output of .dump, to avoid excess expression complexity. (check-in: 7307352988 user: drh tags: trunk)
20:14
Refactor code to suggest indexes from the shell tool into an extension in ext/expert. Unfinished. (check-in: 305e19f976 user: dan tags: schemalint)
19:52
Remove an unused token type. (check-in: 13a422230d user: drh tags: covering-index-on-expr)
19:41
Proof of concept for the ability to use the expression columns in an index on expressions in place of equivalent expressions in the result set or in the WHERE clause. This check-in compiles but is mostly untested. (check-in: a52ef2ad7c user: drh tags: covering-index-on-expr)
11:45
Use replace() instead of char() to quote newline and return characters in strings in the output of .dump, to avoid excess expression complexity. (Closed-Leaf check-in: 4c2b572969 user: drh tags: shell-fix)
2017-04-06
18:44
Changes to allow indexes to be recommended for queries on SQL views. (check-in: 0884ff1da2 user: dan tags: schemalint)
14:56
Fix the ".lint fkey" shell command for cases where the child key is also an INTEGER PRIMARY KEY. (check-in: 48826b222c user: dan tags: trunk)
12:06
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. (check-in: 327eff25ba user: dan tags: trunk)
2017-04-05
13:44
Remove a confusing and pointless sentence from the documentation for the sqlite3_interrupt() interface. (check-in: c5f1a2b6eb user: drh tags: trunk)
12:39
Split off sqlite3DbFreeNN() from sqlite3DbFree() and use it in cases where we know that the argument to be freed is never NULL. (check-in: ad90e8bb5e user: drh tags: trunk)
11:57
Save a few bytes and a few CPU cycles in sqlite3ExprListDelete() routine. (check-in: 9e6c939144 user: drh tags: trunk)
11:49
Remove a conditional made unreachable by the previous ExprList enhancement. (check-in: a1cf447632 user: drh tags: trunk)
11:32
Combine the ExprList_item objects and the ExprList wrapper into a single memory allocation, for improved performance and reduced footprint. (check-in: 2b6560ad88 user: drh tags: trunk)
10:54
Attempt to remove bash-isms from configure.ac. Use -O0 with --enable-debug. (check-in: 71ed35ccf7 user: drh tags: trunk)
2017-04-04
19:58
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. (check-in: e5bb7db51c user: dan tags: trunk)
17:50
Add some support for OR terms to sqlite3_whereinfo_hook(). (check-in: 5cd070000d 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: a54aef35da user: dan tags: schemalint)
2017-04-03
14:07
Avoid an unnecessary call to sqlite3WhereGetMask() inside of whereShortCut(). (check-in: 5c11f4303f user: drh tags: trunk)
13:59
Do not attempt to run sync2.test with SQLITE_DISABLE_DIRSYNC builds. (check-in: 658f08ce84 user: dan tags: trunk)
13:33
Force a schema load prior to "PRAGMA optimize". (check-in: 86897c24c0 user: drh tags: trunk)
13:17
Fix typos in the documentation for OP_Column. (check-in: 777b43e64f user: drh tags: trunk)
12:04
Slightly smaller and faster implementation for vdbeSorterCompareInt(). (check-in: 84fa069c5b user: drh tags: trunk)
2017-04-01
20:44
Remove an unnecessary setting of the Mem.enc field for the output of the OP_Record opcode, for a performance improvement and size reduction. (check-in: e6e36b288f user: drh tags: trunk)
20:14
Minor performance enhancements to the OP_Affinity opcode. (check-in: c45cd3b947 user: drh tags: trunk)
19:45
Remove an unnecessary clearing of the Vdbe.iCurrentTime value. (check-in: fcd2acdd60 user: drh tags: trunk)
11:59
Faster implementation for sqlite3VdbeIntValue() and sqlite3VdbeRealValue(). (check-in: 8698df60c2 user: drh tags: trunk)
11:40
Remove unused fields from the BtCursor object. (check-in: 1c0d82e078 user: drh tags: trunk)
00:20
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. (check-in: 2452f0617d user: drh tags: trunk)
2017-03-31
11:20
Merge latest trunk into this branch. (check-in: cb721d0b36 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: 1e3622de8b user: dan tags: schemalint)
2017-03-30
20:35
Merge changes from the 3.18.0 release. (check-in: 785c37d9db user: drh tags: begin-concurrent)
20:26
Merge all changes from the 3.18.0 release. (check-in: ed28f15e05 user: drh tags: apple-osx)
17:13
Declare the Lemon-generated parser object as itself. (Duh) (check-in: c8000e94cc user: drh tags: trunk)
16:51
Increase the version number for the next development cycle. (check-in: 9e550ccc29 user: drh tags: trunk)
16:37
Ensure that the stack space used to hold the Lemon-generated parser object is always 8-byte aligned. (check-in: 1279de0b70 user: drh tags: trunk)
2017-03-29
23:22
When compiling with MSVC, disable extra SELECT/WHERE tracing for dynamically built shells. (check-in: a68919425c user: mistachkin tags: trunk)
18:03
Avoid unnecessary blob handle invalidation when changes are made to an unrelated table. (check-in: 4a01880b62 user: drh tags: trunk)
17:06
Slightly smaller and faster implementation of pcache1InitBulk(). (check-in: 06c2b685e1 user: drh tags: trunk)
16:55
Fix some tests in malloc5.test to account for the sqlite3_release_memory() change in the previous commit. (check-in: d336858dfc user: dan tags: trunk)
15:18
Fix the sqlite3_release_memory() interface so that it works even if SQLITE_DEFAULT_PCACHE_INITSZ is non-zero. (check-in: 5d902b7fea user: drh tags: trunk)
2017-03-28
18:48
Version 3.18.0 (check-in: 424a0d3803 user: drh tags: release, branch-3.18, version-3.18.0)
2017-03-25
19:16
Add the new sqlite3_set_last_insert_rowid() interface to the extension loader thunk. (check-in: 8469fc0d48 user: drh tags: trunk)
18:31
Do not run tests for ".dump --preserve-rowids" when testing SQLITE_OMIT_VIRTUALTABLE builds. (check-in: 55df410b2c user: dan tags: trunk)
18:15
Disable the new --preserve-rowids option on the CLI ".dump" command if compiled with SQLITE_OMIT_VIRTUALTABLE. (check-in: bd5bbe4eec user: drh tags: trunk)
18:03
Make the default value for SQLITE_DEFAULT_SYNCHRONOUS a simple integer literal, so that it does not show up goofy in the output of "PRAGMA compile_options;". (check-in: 833ab3212a user: drh tags: trunk)
12:08
Fix two harmless compiler warnings. (check-in: 32be9c3faa user: drh tags: trunk)
2017-03-24
19:45
Fix a harmless compiler warning in the JSON1 extension. (check-in: c2c3dd8453 user: drh tags: trunk)
18:38
Previous check-in was not correct. This is a better fix for the OP_Once problem of ticket [06796225f59c057cd120f1]. (check-in: 8194dd2814 user: drh tags: trunk)
17:59
Fix the OP_Once opcode so that it works correctly for recursive triggers. Ticket [06796225f59c057cd120f1]. (check-in: 2556014514 user: drh tags: trunk)
15:09
Merge all recent enhancements from trunk. (check-in: fd5676fe7f user: drh tags: begin-concurrent)
13:31
Add the RFC-7396 Appendix A test cases for json_patch(). (check-in: c5441d2df2 user: drh tags: trunk)
12:35
Fix an error in the new json_patch() routine discovered by Ralf Junker. (check-in: 9d5350418b user: drh tags: trunk)
2017-03-23
23:44
Add the json_patch() SQL function to the JSON1 extension. (check-in: 4760884820 user: drh tags: trunk)
20:33
Change the name of the json_merge_patch() function to just json_patch(). (Closed-Leaf check-in: 04d4100445 user: drh tags: json_mergepatch)
19:51
Improvement to the amalgamation configure.ac file contributed by Bob Friesenhahn. (check-in: bf28a55d81 user: drh tags: trunk)
17:22
Do not run test file autoanalyze1.test if OMIT_VIRTUALTABLE is defined. (check-in: e1d06a573e user: dan tags: trunk)
17:03
Remove an invalid assert() statement failing when VACUUMing a database that contains an index on a column explicitly declared "COLLATE BINARY". (check-in: 9f2e04d3c3 user: dan tags: trunk)
12:56
Avoid redundant edits in the json_merge_patch() function. (check-in: 4a8e6437dd user: drh tags: json_mergepatch)
00:46
Fix harmless compiler warnings in the new json_merge_patch() logic. (check-in: 5d2cf5a2f8 user: drh tags: json_mergepatch)
00:13
Various fixes to the json_merge_patch() function. (check-in: f49fd2554b user: drh tags: json_mergepatch)
2017-03-22
21:45
Change the name of the new function to "json_merge_patch()". (check-in: 53bf70f37b user: drh tags: json_mergepatch)
21:24
Initial implementation of the json_mergepatch(A,B) SQL function. (check-in: a267444039 user: drh tags: json_mergepatch)
12:51
Fix harmless compiler warnings in the shell. (check-in: a786829783 user: drh tags: trunk)
2017-03-21
20:17
New simplified memory initialization for MacOS. (check-in: 055b36f1c1 user: drh tags: trunk)
18:56
Fix an incorrect assert in the ANALYZE logic for STAT4 on WITHOUT ROWID tables. (check-in: ad741976c8 user: drh tags: trunk)
17:19
Add short script ext/fts3/tool/fts3cov.sh. To help measure test-coverage of fts3 source code. (check-in: ee9588e873 user: dan tags: trunk)
10:45
Do not run sync2.test as part of the "inmemory_journal" permutation. (check-in: 9f680bc7c4 user: dan tags: trunk)
2017-03-20
22:58
Add the --native-malloc option to fuzzcheck. Fix ossfuzz.c and fuzzcheck.c so that they both deallocate the temp_store_directory before closing. (check-in: 0dd18ec882 user: drh tags: trunk)
20:42
Fix the fuzzcheck program so that it can create new databases again. (check-in: 021e8874a7 user: drh tags: trunk)
19:35
Avoid passing NULL as the second argument to memcpy() in fts3. (check-in: 49b93d972d user: dan tags: trunk)
19:26
Avoid a technically undefined right-shift of a signed value in rtree.c. (check-in: a144875fe4 user: dan tags: trunk)
18:53
Fix some problems in fts3 found by address-sanitizer. (check-in: 16a8e84fa7 user: dan tags: trunk)
16:34
Avoid the possibility of signed integer overflow with oversized precisions in %d conversions in the printf() implementation. (check-in: ef3a7c877a user: drh tags: trunk)
16:06
Do not run sync2.test as part of the "journaltest" permutation, as it uses "PRAGMA synchronous = off". (check-in: 285005a9bc user: dan tags: trunk)
15:29
Ensure that a "--" prefix is added to sqlite3_trace_v2() output for nested SQL statements. (check-in: 673a7b67c4 user: drh tags: trunk)
15:11
Only run sync2.test on unix, as it depends on instrumentation in os_unix.c. (check-in: ecb9321e18 user: dan tags: trunk)
14:44
Fix the check.test script so that it works on Windows. (check-in: 8822eb5d79 user: drh tags: trunk)
13:03
Documentation fix: SQLITE_SOURCE_ID is a now a SHA3-256 hash. (check-in: 2aa22509e7 user: drh tags: trunk)
2017-03-18
13:59
Only do the specialized MacOS single-core zone_malloc initialization if compiled with the SQLITE_MIGHT_BE_SINGLE_CORE flag. This avoids a (harmless) warning about OSAtomicCompareAndSwapPtrBarrier() being deprecated. (check-in: 4e6a03d9e1 user: drh tags: trunk)
2017-03-17
23:08
Fix an error in the newly revised documentation for SQLITE_LIMIT_VDBE_OP. No changes to code. (check-in: f4cf8635e6 user: drh tags: trunk)
22:51
Set a reasonable limit on the number of opcodes in a prepared statement for ossfuzz.c. This should prevent timeouts in OSS-Fuzz when it generates totally unreasonable queries. (check-in: f74899ed2c user: drh tags: trunk)
22:50
Begin enforcing the SQLITE_LIMIT_VDBE_OP. The documentation warned that this day might come. (check-in: ef59146170 user: drh tags: trunk)
14:59
Add the --show-errors and --show-max-delay command-line options to the ossshell test program. (check-in: 626bdca98e user: drh tags: trunk)
14:15
Fix the Makefile.in so that it builds the ossshell test program correctly. (check-in: 36f5602ec9 user: drh tags: trunk)
13:59
Fix a buffer overread in debugging routine sqlite3VdbeMemPrettyPrint(). Problem discovered by OSS-Fuzz. (check-in: f336fba7d7 user: dan tags: trunk)
03:21
Fix a problem in the enhanced PRAGMA integrity_check where it verifies CHECK constraints: Do not be confused by the reuse of the Table.pCheck field by VIEWs with named columns. Problem discovered by OSS-Fuzz. (check-in: 019dd3d5ba user: drh tags: trunk)
2017-03-16
18:55
If the user has not set it explicitly, set the "PRAGMA synchronous" setting to SQLITE_DEFAULT_SYNCHRONOUS when a database connection changes from wal to rollback journal mode. (check-in: 5c604479fd user: dan tags: trunk)
18:54
Fix a typo causing the build to fail if SQLITE_DEFAULT_SYNCHRONOUS==SQLITE_DEFAULT_WAL_SYNCHRONOUS. (Closed-Leaf check-in: df39adeaa4 user: dan tags: default-synchronous-fix)
18:14
If the user has not set it explicitly, set the "PRAGMA synchronous" setting to SQLITE_DEFAULT_SYNCHRONOUS when a database connection changes from wal to rollback journal mode. (check-in: 78030c0f52 user: dan tags: default-synchronous-fix)
14:28
Simplified OOM detection in the instr() SQL function. (check-in: 6d85eb5736 user: drh tags: trunk)
13:30
Fix an uninitialized variable reference in the text generator for "PRAGMA vdbe_trace=ON" output. Problem discovered by OSS-Fuzz. (check-in: e3d487162d user: drh tags: trunk)
13:14
Fix a problem in the "showdb" utility that prevents it from correctly decoding cells with no content beyond the record header. (check-in: eb7680a1c0 user: drh tags: trunk)
12:11
Fix a crash that could follow an OOM condition in the instr() SQL function. Problem discovered by OSS-Fuzz. (check-in: 6e59e903e4 user: dan tags: trunk)
2017-03-15
20:27
Updates to README files under the ext/ hierarchy. No changes to code. (check-in: 029bc5d224 user: drh tags: trunk)
19:11
Add the "Obtaining The Code" subsection in the top-level README.md file. No changes to code. (check-in: b1b1aa8b69 user: drh tags: trunk)
14:20
Mention the ".selftest" command in the ".help" output of the CLI. (check-in: 37f766dbad user: drh tags: trunk)
14:04
Make "PRAGMA temp.synchronous=N" a no-op to ensure that the TEMP schema always has synchronous=OFF. This fixes an issue discovered by OSS-Fuzz. (check-in: bcf6bb08d8 user: drh tags: trunk)
13:47
Improved header comment on the shathree.c extension. No changes to code. (check-in: 84f2e3d5f6 user: drh tags: trunk)
2017-03-14
15:27
Updates to the MSVC makefiles. (check-in: 1e4b9e7c9e user: mistachkin tags: trunk)
2017-03-13
22:10
Add the dbdump.c extension that implements functionality similar to the ".dump" command of the CLI, though in a separate library. (check-in: 2b9980a292 user: drh tags: trunk)
22:02
Add dbdump.exe to the MSVC makefile. (Closed-Leaf check-in: 59241a50ad user: drh tags: dbdump)
21:49
Fixes to the dump logic. All appears to be working in preliminary tests. (check-in: 007b11e301 user: drh tags: dbdump)
21:26
First draft of the complete dbdump.c library. (check-in: 84ea4fcc52 user: drh tags: dbdump)
19:26
Infrastructure for an extension C-library to implement sqlite3_db_dump() and a corresponding "dbdump" command-line utility - both of which do the same work as the ".dump" command of the CLI. (check-in: 74c5ace498 user: drh tags: dbdump)
18:31
Merge all recent changes from trunk. (check-in: 3d04b2cd7a user: drh tags: apple-osx)
18:24
In the output of the ".dump" command in the CLI, quote newline and carriage-return characters using the char() function, so that they do not get eaten by end-of-line processing logic in the OS or in other command-line utilities and/or libraries. (check-in: 68f6dc7af1 user: drh tags: trunk)
17:37
Fix the sqlite3TreeViewSelect() routine so that it works with a null pointer to the Select object. (check-in: 9034cf7efc user: drh tags: trunk)
14:30
Fix a segfault that could occur following an OOM error in the flattenSubquery() routine. (check-in: c6dda3f752 user: dan tags: trunk)
13:45
In the OSSFuzz test module, invoke the progress handler much more frequently so that timeouts are detected punctually even if the test script is running opcodes that individually take a long time (for example, an OP_Function opcode that invokes "randomblob(1.5e6)"). (check-in: f3b6959c04 user: drh tags: trunk)
2017-03-12
20:28
Fix a possible NULL pointer dereference in following an OOM error in sqlite3ExprIsInteger(). Problem found by OSS-Fuzz. (check-in: 5ec655e8e8 user: drh tags: trunk)
19:39
Remove an obsolete assert() in the IN operator code generation. (check-in: 18bf6aca2a user: drh tags: trunk)
2017-03-11
13:02
Make sure the translateColumnToCopy() routine in the query planner does not try to access an array that failed to be fully allocated due to a prior OOM. This fixes an issue discovered by OSSFuzz. (check-in: 3299a26160 user: drh tags: trunk)
01:56
The output of the ".dump" command in the CLI quotes newline and carriage-return characters using "char(10)" and "char(13)". (Closed-Leaf check-in: 8b2954dd83 user: drh tags: string-quoting-dump)
00:46
Increase the number of significant digits in floating point literals on ".dump" output from the shell. (check-in: 7359fcacaa user: drh tags: trunk)
2017-03-10
18:36
Remove the rbu_round_trip.tcl script. It is now part of project "test-dbs". (check-in: b5bf295767 user: dan tags: trunk)
17:03
Fix an error in the SQLITE_MAX_MEMORY implementation resulting from a bad merge. Update the OSSFuzz interface so that it times out after running the byte-code engine for 10 seconds. (check-in: f8560c60d1 user: drh tags: trunk)
16:22
Add the -DSQLITE_MAX_MEMORY=N compile-time option. The default is no limit. (check-in: eabd4ef498 user: drh tags: trunk)
15:55
Add the SQLITE_MAX_MEMORY compile-time option that provides a hard upper bound on the amount of memory that SQLite will use, per process. (Closed-Leaf check-in: 77dfe2abda user: drh tags: max-memory-option)
14:36
Enhance the ".stats" dot-command in the CLI to use sqlite3_status64() instead of sqlite3_status(). (check-in: 118f5c0564 user: drh tags: trunk)
01:05
Improvements to ".selftest --init". Tests are number in increments of 10 starting with 100. The tests are generated inside a SAVEPOINT. Errors are reported during test generation. Tests can be appended to existing tests. Add a test case to verify the schema. (check-in: b044b152aa user: drh tags: trunk)
2017-03-09
22:00
Remove the test/dbselftest.c program. In its place, add the ".selftest" command to the CLI. The new CLI version is .selftest is slightly different in that it uses SHA3 hashing instead of SHA1, so the new is subtly incompatible with the old. (check-in: f4fcd46f08 user: drh tags: trunk)
18:13
Fix the ".dump" command to correctly extract tail data from corrupt WITHOUT ROWID tables. (check-in: 6c627e5062 user: drh tags: trunk)
16:32
Add the --recovery-mode option to the CLI ".dump" command. This involves enhancing the "PRAGMA reverse_unordered_selects" command to accept a "TOGGLE" option. Recovery mode used to be always on. Now it is opt-in. Not sure this is the correct approach. Also not sure if TOGGLE is a good feature to have on boolean PRAGMA statements. (Closed-Leaf check-in: 5dc82a155d user: drh tags: dump-recovery)
13:50
Begin moving separate boolean variables in the ShellState object of the CLI into the shellFlgs bitmask. (check-in: 50eec5d9aa user: drh tags: trunk)
2017-03-08
23:29
Refactor the output logic in the CLI. Not sure we want to go this way. Just saving the work for historical reference, or in case I decide to come back to it. (Leaf check-in: aacac90663 user: drh tags: shell-print-refactor)
18:37
Merge recent enhancements from trunk, including the --preserve-rowids option to .dump and the .sha3sum commands of the CLI. (check-in: 9b43917380 user: drh tags: apple-osx)
18:06
Make sure the database connection is open prior to running the ".sha3sum" command. (check-in: 2ea300fb8f user: drh tags: trunk)
17:56
In the ".sha3sum" command, if there is a LIKE pattern, show the hashes for each table separately. Without a LIKE pattern, show a single hash over the entire database. (check-in: 30f8788328 user: drh tags: trunk)
16:10
Add the ".sha3sum" command to the CLI - used to compute a cryptographic hash of the content of a database file or of individual tables with in that file. (check-in: fc66379907 user: drh tags: trunk)
15:03
Improved comments explaining the sha3_query() format. Fix a performance #ifdef error in the sha3 implementation. (check-in: 54ef7abd7f user: drh tags: trunk)
13:50
Add the shathree.c extension for implementing SHA3() and SHA3_QUERY() SQL functions. (check-in: f7ca9193dd user: drh tags: trunk)
12:25
In the CLI, avoid unnecessary identifier quoting in the ".dump" output. Also add new ".dump" test cases. (check-in: de65f90761 user: drh tags: trunk)
11:44
Add the --preserve-rowids option to the ".dump" command in the CLI. (check-in: c60aee2471 user: drh tags: trunk)
2017-03-07
20:03
Add test script ext/rbu/rbu_round_trip.tcl. Uses "dbselftest" to test that "rbu" and "sqldiff" work together. (check-in: 961e79da73 user: dan tags: trunk)
14:47
Before beginning an incremental checkpoint in RBU, sync the directory containing the target database file. This ensures that the new directory entry created by renaming the *-oal file to *-wal is synced to disk. Cherrypick of [915a9a28]. (Leaf check-in: 694fe0b22b user: dan tags: version-3.17.0-rbu-fixes)
14:46
Fix another RBU case similar to the previous. This one for systems where the sector-size is larger than the page-size. Cherrypick of [4012bb3a]. (check-in: 59a11b7f1f user: dan tags: version-3.17.0-rbu-fixes)
14:45
When saving the state of an RBU update in the incremental-checkpoint phase, sync the database file. Otherwise, if a power failure occurs and the RBU update resumed following system recovery, the database may become corrupt. Cherrypick of [edee6a80]. (check-in: 811a559967 user: dan tags: version-3.17.0-rbu-fixes)
14:38
Performance optimization in the tokenizer/parser loop. (check-in: 2cb71583d6 user: drh tags: trunk)
12:18
Minor comment typo fixes. No changes to code. (check-in: 01cd9fb176 user: drh tags: trunk)
03:40
More size and speed improvements in the expression name resolver. (check-in: e0a3d39f51 user: drh tags: trunk)
03:25
Small size reduction and performance increase in the name resolver routine for expressions. (check-in: 1a3554e1d7 user: drh tags: trunk)
2017-03-06
23:51
Make the default MASK argument for "PRAGMA optimize" be 0xfffe, to allow for future expansion of up to 14 new default-on optimizations. (check-in: 73019a8bba user: drh tags: trunk)
20:44
Fix a typo in a comment. No changes to code. (check-in: ec529bf11b user: drh tags: trunk)
20:00
Merge all pending 3.18 enhancements from trunk. (check-in: 1650c3f468 user: drh tags: apple-osx)
17:33
Add an initial implementation of the "PRAGMA optimize" command. (check-in: 137aeb2b16 user: drh tags: trunk)
11:39
Merge updates from trunk. (Closed-Leaf check-in: 5f7fc79aa0 user: drh tags: auto-analyze)
2017-03-03
21:51
If a reprepare is needed after binding to a variable with a number larger than 32, set only the high-order bit of the Vdbe.expmask rather than setting all bits. This could potentially result in fewer false-positive reprepares. (check-in: 45797feefe user: drh tags: trunk)
21:36
Remove an redundant function call from the date/time function implementation. (check-in: 4a04c48a31 user: drh tags: trunk)
20:43
Fix another corner-case for the 'start of ...' modifier in the date/time functions. Related to ticket [6097cb92745327a1]. (check-in: 8831f4393d user: drh tags: trunk)
20:02
Fix a case introduced by [4cd2a967] where a corrupt database could cause a buffer overwrite. (check-in: 5d0455fece user: dan tags: trunk)
16:51
Before beginning an incremental checkpoint in RBU, sync the directory containing the target database file. This ensures that the new directory entry created by renaming the *-oal file to *-wal is synced to disk. (check-in: 915a9a2878 user: dan tags: trunk)
2017-03-02
23:40
Fix a bug in the 'start of ...' date/time modifiers when they follow a julian day number. Fix for ticket [6097cb92745327a1]. (check-in: 081dbcfb6d user: drh tags: trunk)
16:56
Fix another RBU case similar to the previous. This one for systems where the sector-size is larger than the page-size. (check-in: 4012bb3aa9 user: dan tags: trunk)
14:51
When saving the state of an RBU update in the incremental-checkpoint phase, sync the database file. Otherwise, if a power failure occurs and the RBU update resumed following system recovery, the database may become corrupt. (check-in: edee6a80e1 user: dan tags: trunk)
14:17
Add an optional bitmask of allowed optimizations on the "PRAGMA optimize" command. The 0x01 bit is Debug Mode. (check-in: a35388eef4 user: drh tags: auto-analyze)
13:22
Merge recent trunk enhancements. (check-in: c60cdb4761 user: drh tags: auto-analyze)
13:13
Make sure the Vdbe.expmask value is set correctly in sqlite3VdbeSwap(). This fixes a problem introduced by [a8fd7052]. (check-in: 29f54b899e user: drh tags: trunk)
2017-03-01
11:30
Fix a use-after-free problem in the shell tool code that could occur if an SQL statement were executed after an ".open" command with invalid options. (check-in: ac760db072 user: dan tags: trunk)
2017-02-27
17:16
Make PATH handling more robust in the batch tools for MSVC. (check-in: 23a8917e84 user: mistachkin tags: trunk)
17:06
Improve performance of fts5 writes by writing the "averages" record once at the end of each transaction instead of every time the table is updated. (check-in: 2b210d6914 user: dan tags: trunk)
16:15
Add an sqlite3_set_last_insert_rowid() method. Use it to work around fts4 and fts5 modifying the last-insert-rowid unintuitively from within commit processing. (check-in: 952a3906b3 user: dan tags: trunk)
14:52
Add an sqlite3_set_last_insert_rowid() method. Use it to work around fts4 and fts5 modifying the last-insert-rowid unintuitively from within commit processing. (Closed-Leaf check-in: fe41bb5632 user: dan tags: set-last-insert-rowid)
12:23
Remove references to special handling in virtual table methods from the documentation for sqlite3_last_insert_rowid(). (check-in: 660f9569d7 user: dan tags: trunk)
2017-02-25
20:57
Add an 'extern "C"' block to header file sqlite3userauth.h. (check-in: ffd61fb449 user: dan tags: trunk)
17:47
Optimize defragmentPage() in the case where the page contains either one or two free-blocks and a small number of fragmented bytes. (check-in: 4cd2a9672c user: dan tags: trunk)
16:24
Tweak the code on this branch to detect b-tree page corruption in the same cases as the trunk. (Closed-Leaf check-in: f9863b39d9 user: dan tags: defragmentpage-opt)
2017-02-24
19:58
Optimize defragmentPage() in the case where the page contains either one or two free-blocks and a small number of fragmented bytes. (check-in: 202b1c0276 user: dan tags: defragmentpage-opt)
2017-02-23
16:30
Save a few bytes and a few cycles by setting Vdbe.expmask to zero for statements prepared using legacy interface sqlite3_prepare(). (check-in: a8fd705258 user: dan tags: trunk)
02:15
Add two NEVER() operators in the sqlite3BtreeRowCountEst() routine. (check-in: 7a959f6d1e user: drh tags: auto-analyze)
00:58
Do a single OP_Expire at the very end of "PRAGMA optimize", and omit the OP_Expire on ANALYZE commands invoked by the pragma. (check-in: 188300a337 user: drh tags: auto-analyze)
2017-02-22
20:24
Change the name of the analyze_as_needed pragma to "optimize". Enhance the comment (which will become documentation, assuming these changes land on trunk) to explain that the optimize pragma is likely to be enhanced in various ways in future releases and that applications should not depend upon the current behavior. (check-in: 9fced545a6 user: drh tags: auto-analyze)
19:49
Merge integrity_check and other improvements from trunk. (check-in: fe07390508 user: drh tags: auto-analyze)
19:41
Move a branch condition in analyze.c inside an #ifdef SQLITE_ENABLE_STAT4 block. (check-in: d6afd98de3 user: dan tags: trunk)
19:27
Improve the performance of ANALYZE when SQLITE_ENABLE_STAT4 is defined. (check-in: 737a824440 user: dan tags: trunk)
18:53
Improvements to PRAGMA integrity_check. Verify CHECK constraints. Verify NOT NULL constraints even on table that lack indexes. Verify CHECK and NOT NULL constraints with PRAGMA quick_check. (check-in: aa02bd3c95 user: drh tags: trunk)
18:04
Cleanup and simplification of the output row count limit control of PRAGMA integrity_check. (Closed-Leaf check-in: 5af7d72ed9 user: drh tags: integrity-check-improvements)
15:11
Fix integrity_check so that it verifies NOT NULL constraints even for tables that have no indexes. Enhance quick_check so that it verifies NOT NULL and CHECK constraints. (check-in: 5264844b06 user: drh tags: integrity-check-improvements)
14:15
Enhance "PRAGMA integrity_check" so that it verifies CHECK constraints. (check-in: 549bae0856 user: drh tags: integrity-check-improvements)
2017-02-21
21:24
In sqlite3VdbeHalt(), return as soon as possible if Vdbe.magic!=VDBE_MAGIC_RUN. This makes sqlite3_reset() slightly faster in some cases. (check-in: 80adc0cb4e user: dan tags: trunk)
17:52
Fix an FTS5 problem that could cause a crash when certain queries were interrupted using sqlite3_interrupt(). (check-in: e400909f31 user: dan tags: trunk)
15:27
Very small enhancement to dispatch speed for SQL functions. (check-in: 3c3228ed16 user: drh tags: trunk)
14:04
The VDBE cycle counts for the sqlite3_progress_handler() callback are now cumulative. Leftovers from the previous statement are applied to the next statement. (Leaf check-in: 7a62fc6abc user: drh tags: cumulative-progress-count)
13:29
Proof of concept for a "PRAGMA vdbe_cycle_limit=N" command. When N>0, invoke sqlite3_interrupt() whenever any byte code program uses more than N virtual machine cycles. (Leaf check-in: 9626b41e6e user: drh tags: vdbe_cycle_limit)
2017-02-20
23:32
Correct a harmless typo in the previous check-in. (check-in: 1589db012e user: mistachkin tags: trunk)
19:13
Avoid unsigned integer overflows for SQLITE_WIN32_HEAP_INIT_SIZE when the Win32 heap subsystem is used with very large values of SQLITE_DEFAULT_CACHE_SIZE and/or SQLITE_DEFAULT_PAGE_SIZE. (check-in: 96b6a98e5e user: mistachkin tags: trunk)
14:30
Small grammar simplification. (check-in: 0d8a868acd user: drh tags: trunk)
13:11
Merge fixes from trunk. (check-in: ff213f2ef5 user: drh tags: auto-analyze)
2017-02-18
22:52
Updated comments. No code changes. (check-in: e842ad391e user: drh tags: auto-analyze)
20:05
Add an optimization to OP_Column to speed up sequential OP_Column instructions that read earlier fields from the same cursor. Attempt to reorder OP_Column opcodes so as to take advantage of this. (Leaf check-in: c1adf95958 user: dan tags: sort-column-opcodes)
15:58
Add the OP_SqlExec opcode and use it to implement "PRAGMA analyze_as_needed", invoking ANALYZE subcommands as necessary. This simplifies the implementation. (check-in: d386015f5e user: drh tags: auto-analyze)
13:47
Add the SQLITE_BUG_COMPATIBLE_20160819 compile-time option to omit the error message when an unrecognized argument is provided to the VACUUM command. (check-in: 491814272d user: drh tags: trunk)
02:42
Fix errors in the table resize detection. (check-in: 4229caec0b user: drh tags: auto-analyze)
02:19
In the analyze_as_needed pragma, avoid running unnecessary OP_LoadAnalysis and OP_Expire opcodes. Make the analyze_as_needed pragma responsive to the schema name. (check-in: 882599a4a7 user: drh tags: auto-analyze)
2017-02-17
23:52
Fix the #endif location for an #ifndef SQLITE_UNTESTABLE macro in the command-line shell. (check-in: 8cc9d74c17 user: drh tags: trunk)
21:23
Increase the estimated cost of sorting when sorting wide results sets, to account for the extra storage space and I/O required for the external sort. (Leaf check-in: 38298ef923 user: drh tags: apple-increased-sorting-cost)
19:24
The analyze_as_needed pragma now responds to table size growth and will automatically rerun the analysis after each 10x size increase. (check-in: bfbdd07409 user: drh tags: auto-analyze)
16:26
Add the "PRAGMA analyze_as_needed" command. (check-in: e93db23731 user: drh tags: auto-analyze)
15:26
Set the TF_StatsUsed flag on tables when the query planner outcome is affected by the sqlite_stat1 data. Also, change the column names of the "PRAGMA stats" command so that they are not keywords. (check-in: fb2b8ae831 user: drh tags: auto-analyze)
13:38
Enhance the Index and Table objects so that they remember if their stats come from the sqlite_stat1 table. Make the "PRAGMA stats" an SQLITE_DEBUG only pragma. Add the flags column to "PRAGMA stats". These are all preliminary steps toward a "PRAGMA analyze_ifneeded;" feature. (check-in: 85026c8ee1 user: drh tags: auto-analyze)
02:07
Merge fixes from trunk. (Leaf check-in: 662e8ccf7e user: drh tags: increased-sorting-cost)
02:04
Fix a test case that was made to fail by the LIKE optimization enhancement in check-in [158290c0ab] but which went unnoticed because test builds were running with ICU enabled and ICU disables the LIKE optimization. (check-in: 218b2bbb0d user: drh tags: trunk)
01:43
Enable the ".wheretrace" and ".selecttrace" extensions in the command-line shell when compiled on Windows using DEBUG=3 or higher. Fix a harmless warning in the shell that comes up when compiled this way. (check-in: 8a03be1dc4 user: drh tags: trunk)
2017-02-16
21:29
Increase the estimated cost of sorting when sorting wide results sets, to account for the extra storage space and I/O required for the external sort. (check-in: aa0703e5ce user: drh tags: increased-sorting-cost)
20:52
Change the name of WhereInfo.pDistinctSet to pResultSet, since it is now used for more than just DISTINCT processing. (check-in: 9fc5cd505f user: drh tags: trunk)
17:18
Change two MallocZero() calls into MallocRaw() to avoid unnecessary memset(). (check-in: ff5e733cbf user: drh tags: trunk)
16:26
Fix a comment on a field of the ExprList object. No changes to code. (check-in: bb8e264227 user: drh tags: trunk)
15:57
Increase Table.tabFlags from 8 to 32 bits. (check-in: 7e14044c65 user: drh tags: trunk)
15:06
Remove two redundant initializations from the virtual table logic. (check-in: 6bd82b95a6 user: drh tags: trunk)
14:48
Always use the IsVirtual() macro to determine if a Table object is a virtual table. Slightly smaller and faster code. (check-in: 6affb1c89d user: drh tags: trunk)
14:02
Merge recent enhancements from trunk. (check-in: 325ccfa95e user: drh tags: est_count_pragma)
2017-02-15
22:36
Query planner optimization to detect empty tables in a join early and bail out without doing excess work. (check-in: 58797e9baf user: drh tags: trunk)
18:30
Minor enhancement to mutex tracing on Win32. (check-in: 830b923567 user: mistachkin tags: trunk)
17:47
simple test cases for carray_asc. (Leaf check-in: 1d4759c17c user: drh tags: carray_asc)
16:11
Add the companion "carray_asc" table-valued function to the carray extension. (check-in: a2b4f60b33 user: drh tags: carray_asc)
16:04
Bummer. Checked this in as a branch off of the wrong branch.... Was: Add the companion "carray_asc" table-valued function to the carray extension. (Closed-Leaf check-in: 396b9d99ae user: drh tags: mistake)
15:11
Remove the CLANG_VERSION macro, since we have learned that version numbers in clang are "marketing" and are inconsistent and unreliable. Builds using clang will still use the GCC_VERSION macro since clang works hard to be gcc compatible. (check-in: 8d3f485d86 user: drh tags: branch-3.17)
15:09
Remove the CLANG_VERSION macro, since we have learned that version numbers in clang are "marketing" and are inconsistent and unreliable. Builds using clang will still use the GCC_VERSION macro since clang works hard to be gcc compatible. (check-in: 810d29320b user: drh tags: trunk)
04:16
Further reforms to Tcl_*Alloc() usage. (check-in: ee1e689633 user: mistachkin tags: trunk)
01:39
In the blob test code, avoid crashing on low-memory systems by using Tcl_AttemptAlloc(). (check-in: 1d267757a8 user: mistachkin tags: trunk)
01:02
Make SQLITE_GET_MUTEX_TIME a proper noop on non-Win32/non-POSIX. (Leaf check-in: 4ca2b2f8f5 user: mistachkin tags: mutexDbg2)
00:52
Another compilation fix for POSIX. (check-in: 82ef47ea88 user: mistachkin tags: mutexDbg2)
00:45
Make fine time granularity work on POSIX. (check-in: 79057716d9 user: mistachkin tags: mutexDbg2)
00:02
Compilation fix for POSIX. (check-in: 9964ad245f user: mistachkin tags: mutexDbg2)
2017-02-14
23:58
Experimental enhancements to mutex debugging. (check-in: 804817549c user: mistachkin tags: mutexDbg2)
21:47
Clarification of the help text for the command-line shell. (check-in: ca4f1e4962 user: drh tags: trunk)
20:00
Enable the SQLITE_ENABLE_NULL_TRIM option for WITHOUT ROWID tables. (check-in: 54836270c9 user: drh tags: trunk)
16:30
More realistic lengths of string values in speedtest1 with --testset orm. (check-in: e4731fd65f user: drh tags: trunk)
15:58
Fix a testcase number on the ORM testset of speedtest1. (check-in: 58b2f911ee user: drh tags: trunk)
15:57
Add the new "--testset orm" to the speedtest1 utility. (check-in: 1836adc1d1 user: drh tags: trunk)
2017-02-13
16:17
Merge all changes up through the 3.17.0 release. (check-in: 1913a75810 user: drh tags: apple-osx)
16:02
Version 3.17.0 (check-in: ada05cfa86 user: drh tags: release, version-3.17.0, branch-3.17)
13:35
Change all legacy instances of "#if SQLITE_DEBUG" to "#ifdef SQLITE_DEBUG" for consistency. (check-in: 670f10b242 user: drh tags: trunk)
13:26
Fix typos in using the MSVC_VERSION macro. (check-in: f3b65926b1 user: drh tags: trunk)
13:20
Avoid a duplication #define in FTS5 (check-in: c447441cff user: drh tags: trunk)
11:35
Fix typos in using the MSVC_VERSION macro. (check-in: 25ebadd096 user: drh tags: branch-3.17)
2017-02-11
15:02
Ensure that indexed expressions with collating sequences are handled correctly. Fix for ticket [eb703ba7b50c1a5] backported from trunk. (check-in: b2e49ae36b user: drh tags: branch-3.17)
14:59
Fix indexes on expressions so that they can be actually used with a COLLATE clause. (check-in: e464b919f7 user: drh tags: trunk)
13:51
Ensure that indexed expressions with collating sequences are handled correctly. Proposed fix for ticket [eb703ba7b50c1a5]. (check-in: 9689d04b82 user: drh tags: trunk)
2017-02-10
21:40
Bump the version number up to 3.18.0. (check-in: 7520c23855 user: drh tags: trunk)
21:37
Enhance the LIKE optimization so that it works for arbitrary expressions on the LHS as long as the pattern on the RHS does not begin with a digit or a minus sign. (check-in: 158290c0ab user: drh tags: trunk)
19:38
Add the "," flag to printf(). (check-in: 064445b12f user: drh tags: trunk)
17:38
Version 3.17.0 release candidate (check-in: ad867e8701 user: drh tags: branch-3.17)
2017-02-09
17:12
Cleanup the usage of the SQLITE_DISABLE_INTRINSIC compile-time option. Remove the SQLITE_RUNTIME_BYTEORDER compile-time option. Use -DSQLITE_BYTEORDER=0 instead. Fix a bug in R-Tree that occurs when compiling on a known little-endian machine without the use of intrinsic byteswapping functions. (check-in: 798fb9d70d user: drh tags: trunk)
2017-02-08
19:12
Avoid preparing a SELECT statement each time an UPDATE or DELETE by docid is executed against an fts3 table. (check-in: 1afec5758b user: dan tags: trunk)
19:10
Avoid preparing a SELECT statement each time an UPDATE or DELETE by docid is executed against an fts3 table. (Leaf check-in: 9962c10a5c user: dan tags: fts3-seekstmt-cache)
18:13
Typo fixes in comment. No changes to code. (check-in: c09dd5c0be user: mistachkin tags: trunk)
16:55
Merge the 3.17.0beta changes from trunk. (check-in: 92dbd8753e user: drh tags: apple-osx)
16:01
Always invoke the xRoundup() method of the memory allocator before calling xMalloc(). (check-in: 77b470b0df user: drh tags: trunk)
12:18
Round up the size of all memory allocations to a multiple of 8 bytes when using the system memory allocator. (check-in: c46e06fab4 user: drh tags: trunk)
2017-02-07
21:44
When generating the hash on the sqlite_master table in dbselftest, use an ORDER BY clause, since the sqlite_master table is reordered by VACUUM. (check-in: c8bfd99b96 user: drh tags: trunk)
21:09
MSVC makefile enhancments for several command line tools and the session extensions. (check-in: fc1dfe8702 user: mistachkin tags: trunk)
21:00
Fix harmless compiler warnings in dbfuzz. (check-in: 6124226782 user: drh tags: trunk)
20:57
Fix harmless compiler warnings in kvtest.c (check-in: db6b39937d user: drh tags: trunk)
20:51
The dbselftest utility now generates hashes in the selftest table with --init. It also accepts multiple database files on the command-line. (check-in: e68829c9bb user: drh tags: trunk)
19:36
Omit fts5fault1.test from the inmemory_journal permutation. (check-in: cb1e83f958 user: dan tags: trunk)
19:23
Update a test parameter in malloc5.test to account for the increase in default lookaside buffer size. (check-in: be82d5ae20 user: dan tags: trunk)
17:36
Add the initial version of the "dbselftest" utility program. (check-in: 1fcac8365e user: drh tags: trunk)
16:15
Update an error message in corruptC.test. (check-in: 722e57fe61 user: dan tags: trunk)
14:45
Fix a build problem affecting non-amalgamation rtree builds. (check-in: bb7f445ba1 user: dan tags: trunk)
14:22
Fix a test case to account for the fact that sqlite3_blob_reopen() now returns SQLITE_IOERR_NOMEM instead of SQLITE_NOMEM if an OOM occurs in the VFS layer. (check-in: e11cc52389 user: dan tags: trunk)
13:51
Fix SQLITE_BYTEORDER #defines in R-Tree when compiled separately from the amalgamation. (check-in: a136609c98 user: drh tags: trunk)
12:58
Make the cellMargin() routine of R-Tree slightly smaller and faster while also fixing a harmless compiler warning. (check-in: 07fe622820 user: drh tags: trunk)
03:44
Back out [ec8ff892ac] which is causing missed OOM errors on some tests. (check-in: 0611770d6a user: drh tags: trunk)
00:55
Fix a minor typo in a comment in R-Tree. No changes to code. (check-in: f77ee9e941 user: drh tags: trunk)
2017-02-06
16:52
Remove a small amount of unnecessary code from R-Tree. (check-in: e5aea89426 user: drh tags: trunk)
15:27
Add the "max-limits" utility program to the tools/ subdirectory. (check-in: c54173b6c1 user: drh tags: trunk)
07:37
Fix a bug in kvtest causing "init --variance 0" runs to generate single byte blob values only. (check-in: 6b0276f968 user: dan tags: trunk)
01:19
Remove incorrect testcase() macros from R-Tree. (check-in: 853a58a75e user: drh tags: trunk)
2017-02-04
20:15
Simplification to the error handling to extension loading in sqlite3_open(). (check-in: ec8ff892ac user: drh tags: trunk)
17:33
Allow sqlite3session_apply() to apply changesets to tables that have been extended using ALTER TABLE ADD COLUMN. (check-in: b20ff81ff9 user: dan tags: trunk)
15:29
Merge recent trunk enhancements. (check-in: 6c3f09028f user: drh tags: apple-osx)
14:30
Merge the latest trunk changes, especially the RTREE enhancement to use sqlite3_blob objects. (Leaf check-in: 61bd2a885d user: drh tags: sqlite3_blob_reset)
14:24
In RTREE, use an sqlite3_blob object rather than an sqlite3_stmt object for reading content out of the %_node shadow table. (check-in: 97ccf3e4de user: drh tags: trunk)
13:12
Close sqlite3_blob objects on xSync rather than waiting until xCommit. (Closed-Leaf check-in: 95ee745fce user: drh tags: rtree-blob-agressive-release)
2017-02-03
20:54
Improved performance and stack usage when processing VALUES clauses with a very large number of rows. (check-in: 5706d4708a user: drh tags: trunk)
19:16
Avoid a performance problem when very large "VALUES(..), (..), (..)" terms are used in queries. (Closed-Leaf check-in: f5306ad681 user: dan tags: recursive-selectdup)
15:16
Improved tests for the carray() table-valued function. (check-in: 83a099f139 user: drh tags: trunk)
14:44
Modify the sqlite3SelectDup() routine to avoid recursing on Select.pPrior. (check-in: a7674ead5b user: dan tags: recursive-selectdup)
00:07
Merge in the sqlite3_blob_reset() interface. (Closed-Leaf check-in: e9c94a1f40 user: drh tags: rtree-sqlite3_blob)
2017-02-02
23:57
Add the sqlite3_blob_reset() interface. Enhance the behavior of sqlite3_blob objects so that they can go active again after encountering an error by rerunning sqlite3_blob_reopen(). More work needed on the documentation. (check-in: 53b77838f0 user: drh tags: sqlite3_blob_reset)
20:32
Ensure that all cursors have their positions saved prior to rolling back a savepoint. (check-in: 8e03a8e95f user: drh tags: trunk)
19:24
Fix issues in the sha1 extension seen with MSVC. (check-in: 5a0da77c22 user: mistachkin tags: trunk)
16:30
Remove the unused pReadNode prepared statement from each RTREE object. (check-in: e51dc0ec60 user: drh tags: rtree-sqlite3_blob)
16:08
Fix a potential uninitialized (though harmless) variable in RTREE. (check-in: a1c74e09d6 user: drh tags: rtree-sqlite3_blob)
15:35
The sqlite3_blob_close() interface can cause recursive invocations of nodeBlobReset() in RTREE. Make sure that does not cause problems. (check-in: 88333441cb user: drh tags: rtree-sqlite3_blob)
14:40
Change RTREE so that the sqlite3_blob object is closed whenever the cursor count drops to zero and there is not a pending write transaction. (check-in: 9bb4eafe1a user: drh tags: rtree-sqlite3_blob)
02:28
Use the sqlite3_blob interface for reading values from the %_node shadow table in RTREE. This is a work in progress. There are still some minor problems. (check-in: fc4917d730 user: drh tags: rtree-sqlite3_blob)
00:46
This is an experimental patch that ensures that all cursors have their position saved prior to starting a ROLLBACK TO. (Closed-Leaf check-in: 01d97e5b65 user: drh tags: savepoint-rollback)
2017-02-01
23:06
Fix harmless compiler warnings seen with MSVC. (check-in: 0c66cf0f0a user: mistachkin tags: trunk)
23:03
Backout the change in [02f6293f27] as it causes MSVC to complain. (check-in: aaae74d06f user: mistachkin tags: trunk)
22:59
Fix C99-style variable declaration issue seen with older versions of MSVC. (check-in: 54d285464a user: mistachkin tags: trunk)
22:43
Fix harmless compiler warnings seen with MSVC. (Closed-Leaf check-in: 997f765bc6 user: mistachkin tags: msvcWarn)
22:32
Add an option to the MSVC makefile to enable treating warnings as errors. (check-in: 6a378c29b4 user: mistachkin tags: trunk)
17:08
Unwind the RTREE dimension loop inside of rtreeCallbackConstraint(). (check-in: 4854ea9c18 user: drh tags: trunk)
16:41
Completely unroll the dimension loop inside of cellArea() in RTREE. (check-in: 3c4c0126c2 user: drh tags: trunk)
15:49
Precompute the nDim2 value in the Rtree object and use that to make loops over coordinates faster. (check-in: f1f3c8cc73 user: drh tags: trunk)
15:24
Use compiler intrinsic functions (when available) for byteswapping in RTREE. (check-in: 82fcd54a59 user: drh tags: trunk)
15:19
Fix the build by making the OPFLAG_ISNOOP macro available unconditionally. (check-in: 510933cb24 user: drh tags: trunk)
14:19
Update the documentation comment in sqlite.h.in for sqlite3_preupdate_hook(). (check-in: 7f8570208c user: dan tags: trunk)
14:10
Changes so that the pre-update hook and the sessions module work with WITHOUT ROWID tables. (check-in: 964bdc27f8 user: dan tags: trunk)
02:25
More RTREE performance optimizations related to decoding values. (check-in: c5395e7496 user: drh tags: trunk)
01:34
Improved comments on the statGet() implementation in ANALYZE. No changes to code. (check-in: 9663eea2a1 user: drh tags: trunk)
2017-01-31
21:22
R-TREE optimization: unwrap the coordinate decode loop in rtreeCallbackConstraint(). (check-in: 0bf7b51896 user: drh tags: trunk)
19:10
Very small performance improvements and size reductions in sqlite3VdbeExec() and blobSeekToRow(). (check-in: 85dddf2b45 user: drh tags: trunk)
19:02
Simplifications to blobSeekToRow(). (Closed-Leaf check-in: 495ea82409 user: drh tags: micro-optimizations)
17:31
Add a speed-test program for the sessions module. (Closed-Leaf check-in: 25f1275fe3 user: dan tags: preupdate-without-rowid)
16:49
Remove a C99-style comment. Fixes to the kvtest-speed.sh script. (check-in: 91eb6b628e user: drh tags: micro-optimizations)
16:43
Remove another unnecessary local variable initialization from sqlite3VdbeExec() (check-in: 2361b03b61 user: drh tags: micro-optimizations)
16:34
Remove an unnecessary initialization of the pOp variable in sqlite3VdbeExec(). (check-in: 02f6293f27 user: drh tags: micro-optimizations)
15:29
Add the "stat" command to kvtest.c. Also add the --variance option to the "init" command. Add the tool/kvtest-speed.sh script used for doing performance testing on key/value access patterns. (check-in: b63deed600 user: drh tags: trunk)
15:27
Fix a typo in a comment. (check-in: bd22bf9cbe user: drh tags: trunk)
14:08
Merge latest trunk with this branch. (check-in: 4a592abbc5 user: dan tags: preupdate-without-rowid)
12:41
Further minor enhancement and size reduction in sqlite3ExprAssignVarNumber(). (check-in: eacfdcf257 user: drh tags: trunk)
03:52
Performance optimization in sqlite3ExprAssignVarNumber(). (check-in: 5987ca1ff9 user: drh tags: trunk)
2017-01-30
19:44
Experimental change to invoke the preupdate hook when WITHOUT ROWID tables are written. (check-in: 856f8604c5 user: dan tags: preupdate-without-rowid)
11:38
Fix building with SQLITE_OMIT_FOREIGN_KEY defined. (check-in: e93d2c49a4 user: dan tags: trunk)
2017-01-28
20:46
In the amalgamation, allocate the parser engine object from stack rather than from heap, for improved performance. This only happens in the amalgamation, since otherwise the sqlite3RunParser() routine does not know the object size. (check-in: 4fe879d4b5 user: drh tags: trunk)
19:53
Fix a couple comment typos. No changes to code. (check-in: 2a2e7d86b2 user: mistachkin tags: trunk)
19:45
Avoid redundant table b-tree cursor seeks in UPDATE statements that use the two-pass strategy. (check-in: dc555b1039 user: dan tags: trunk)
15:26
Updates to the sqlite3_blob documentation. No changes to code. (check-in: 426b440a57 user: drh tags: trunk)
13:40
In the speed-check.sh script, automatically invoke "fossil test-diff --tk" on the cachegrind output against trunk, if not generating a trunk run. (check-in: aa1ab37100 user: drh tags: trunk)
06:50
Fix a typo in the docs for sqlite3_update_hook(). (check-in: 7c029655cc user: dan tags: trunk)
2017-01-27
19:27
Add the sha1.c loadable extension that implements the sha1() and sha1_query() SQL functions. (check-in: 24e77c1cef user: drh tags: trunk)
17:02
Fix a problem causing the pre-update hook to be invoked by DROP TABLE statements. (check-in: fbb6bf1b69 user: dan tags: trunk)
16:39
Merge all recent trunk enhancements into the apple-osx branch. (check-in: 0e14fe1b98 user: drh tags: apple-osx)
16:24
Merge all recent enhancements from trunk. (check-in: fe86ff5429 user: drh tags: est_count_pragma)
13:14
Alternative ICU fix (compare to check-in [50e60cb4]) that avoids casting integers to pointers. (check-in: d9752c8f7c user: drh tags: trunk)
01:52
In the command-line shell, enhance the ".mode" command so that it restores the default column and row separators for modes "line", "list", "column", and "tcl". (check-in: 58f02e6eae user: drh tags: trunk)
01:25
Another micro-optimization in accessPayload(). Slightly smaller and faster. (check-in: c012619b65 user: drh tags: trunk)
01:13
Performance optimization in accessPayload(). (check-in: ebb1fd98d4 user: drh tags: trunk)
00:31
Simplify the accessPayload() routine so that it always populates the overflow page cache. In the one case where populating the page cache can lead to problems, simply invalidate the cache as soon as accessPayload() returns. This simplification reduces code size and helps accessPayload() to run a little faster. This backs out the eOp==2 mode of accessPayload() added by check-in [da59198505]. (check-in: 68e7a8c676 user: drh tags: trunk)
2017-01-26
21:30
Remove an unreachable branch in the error handling logic for sqlite3BtreePayloadChecked(). (check-in: 293bf3ed7e user: drh tags: trunk)
18:00
Improvement to the OP_Permutation opcode to prevent it from using CPU cycles for initialization in prepared statements that do not use that opcode. (check-in: b4a98f6556 user: drh tags: trunk)
17:26
Remove the obsolete lastRowid cache from the sqlite3VdbeExec() for a size reduction and performance improvement. (check-in: b480318465 user: drh tags: trunk)
17:11
Performance optimization in sqlite3VdbeCloseStatement(). (check-in: 1e96e5ec1e user: drh tags: trunk)
16:54
Performance optimization to sqlite3_blob_read(). (check-in: 7459f4b7ed user: drh tags: trunk)
16:27
Minor simplification and performance optimization for Direct Overflow Read. (check-in: 3e96d6efa8 user: drh tags: trunk)
02:26
Make SQLITE_DIRECT_OVERFLOW_READ work for in WAL mode as long as the page being read is not in the the -wal file. (check-in: 9879be1899 user: drh tags: trunk)
01:54
Enhancements to the kvtest utility program. Add the --jmode option. Improved output formatting. (check-in: 62a4851ccf user: drh tags: trunk)
00:58
Modify the ICU extension to use a static initializer, as VC++ complains about a dynamic initialization. Maybe the dynamic structure initialization is a GCC extension. This fixes a problem identified on the SQLite mailing list by Ziemowit Laski. (check-in: 50e60cb44f user: drh tags: trunk)
2017-01-25
20:55
Trim NULL values off the end of records when the SQLITE_ENABLE_NULL_TRIM compile-time option is used. Increase the size of the P5 operand to 16 bits. Fix a problem with short records in the sessions extension. (check-in: 4801bd59a0 user: drh tags: trunk)
18:53
Fix another pre-update hook issue, this time in sqlite3preupdate_old(). (Closed-Leaf check-in: c7651d21bf user: dan tags: trim-nulls)
18:12
Fix a test script problem in exclusive2.test causing it to fail on this branch. (check-in: f66614dc78 user: dan tags: trim-nulls)
17:44
Fix a problem with the pre-update hook on this branch. (check-in: 6fc4fbfa29 user: dan tags: trim-nulls)
14:58
Experimental enhancement to automatically trim NULL values from the end of records, for a reduced disk footprint. This change also involves increasing the P5 operand from 8 to 16 bits. (check-in: 118ded403b user: drh tags: trim-nulls)
14:38
Ensure that sqlite3_blob_reopen() correctly handles short rows. Fix for ticket [e6e962d6b0f06f46e]. (check-in: 8cd1a4451c user: drh tags: trunk)
13:54
Fix SQLITEINT_H macro usage in two extensions. (check-in: 0803390c15 user: drh tags: trunk)
04:41
Ensure that sqlite3_blob_reopen() correctly handles short rows. Proposed fix for ticket [e6e962d6b0f06f46e]. Further testing needed. (Closed-Leaf check-in: 57d8dad35c user: drh tags: blob_reopen-fix)
2017-01-23
21:12
Experimental changes to permit a VFS to directly override the initial page size. (Leaf check-in: 6413172435 user: mistachkin tags: pagePerSector)
19:11
Document the --mmap option in the --help screen for kvtest. Enhance kvtest so that numeric arguments can have suffixes like "K" or "M". Add kvtest to the unix makefiles. (check-in: 175bda8728 user: drh tags: trunk)
18:40
Add the --mmap option to the kvtest utility program. (check-in: 4948f7e6d2 user: drh tags: trunk)
16:56
Optimization: Try to avoid unnecessary btree searching when repositioning a cursor to the next row. (check-in: ee793d30c1 user: drh tags: trunk)
15:58
Add the missing SQLITE_API symbol to test_delete.c (it is not added automatically as this file is not part of the amalgamation). (check-in: 7a4f512ddf user: dan tags: trunk)
07:06
Fix a problem preventing FTS5 from correctly passing the FTS5_TOKENIZE_PREFIX flag to custom tokenizer implementations. (check-in: 03c601344e user: dan tags: trunk)
2017-01-22
16:34
Fix an uninitialized variable in the command-line shell. (check-in: 06b8001ade user: drh tags: trunk)
02:04
Fixes to documentation comments in the public header file. (check-in: 772dcb08f4 user: mistachkin tags: trunk)
00:11
Fix an initialized variable in kvtest. (check-in: ed62c5a656 user: drh tags: trunk)
2017-01-21
21:47
A better implementation of the moveto-neighbor optimization that checks for nearby rows on adjacent pages. (Closed-Leaf check-in: 2c4ecb85a4 user: drh tags: btree-moveto-neighbor)
16:54
B-tree optimization: When seeking on a rowid table that has already been positioned, check to see if the new row happens to be the next row on the same leaf page. That is a reasonably common case, and if it is true it avoids a full binary search. (check-in: 8e5cfb2039 user: drh tags: btree-moveto-neighbor)
16:27
Change sqlite3_blob_reopen() to call sqlite3VdbeExec() directly rather than going through sqlite3_step(). Performance enhancement. (check-in: 347df3c1fd user: drh tags: trunk)
16:21
Fix problems in the previous commit. (Leaf check-in: 74ad80eb74 user: dan tags: trigger-trace)
15:58
Add extra (somewhat inefficient) trace callbacks for triggers if SQLITE_TRACE_TRIGGER is defined. (check-in: ffda1d1e1c user: dan tags: trigger-trace)
15:55
In the kvtest.c test utility, reuse the buffer into which blobs are read, rather than reallocating it for each row. This is a closer match to how other test programs work, and thus provides a better comparison. (check-in: 0d1ad13a29 user: drh tags: trunk)
15:30
A proof-of-concept for running sqlite3_blob_open() without using OP_Column when operating on a pure key/value table. This demo does not include any corrupt database checking. Uses about 3% fewer CPU cycles on a key/value performance test. (Leaf check-in: 4cda3b305b user: drh tags: kv-access-opt-demo)
14:11
Remove an unnecessary sqlite3_bind_int64() call from sqlite3_blob_open(). Also other minor refactoring of the sqlite3_blob implementation. (check-in: 9d197a5323 user: drh tags: trunk)
2017-01-20
20:43
Minor performance optimization and size reduction to the accessPayload() routine in btree.c. (check-in: 264e5c10d7 user: drh tags: trunk)
16:47
Fix a typo in the help message for kvtest. (check-in: 8971d98f25 user: dan tags: trunk)
16:46
Add option "--stats" to test program kvtest. Specifying --stats causes kvtest to output information similar to the shell tool option of the same name. (check-in: 90291327fc user: dan tags: trunk)
16:09
Get the "--testset rtree" option working on speedtest1. Add the --rtree, --lookaside, and --clang options to the speed-check.sh script. (check-in: 87b640c8d0 user: drh tags: trunk)
00:40
Minor performance optimizations to sqlite3_blob_open() and sqlite3_blob_reopen(). (check-in: 52a61967d9 user: drh tags: trunk)
2017-01-19
21:20
If compiled with SQLITE_INLINE_MEMCPY, all memcpy() calls are replaced with in-line code. With that change, cachegrind shows which memcpy() calls are taking the most time. This is a performance-measurement hack only and is not for production use. (check-in: 9ed3852161 user: drh tags: trunk)
18:20
In the 'vtshim' extension, avoid accessing freed memory when handling errors from xCreate/xConnect. (check-in: ffd559afd3 user: mistachkin tags: trunk)
12:07
Add a prototype of the sqlite3_kv_reset() interface. (Leaf check-in: 088c590379 user: drh tags: sqlite3_kv)
11:52
Add test cases for the instrumentation on this branch. Fix some OOM handling issues in the same. (Leaf check-in: 50ca94b919 user: dan tags: transaction-pages)
2017-01-18
23:12
For Windows 8.x and higher, require the SQLITE_WIN32_WIN8_SECTOR_SIZE compile-time option in order to enable sector size determination. (Leaf check-in: 47beb55c5b user: mistachkin tags: winSectorSize)
22:47
In the 'windirent' test module, use a macro for the hidden/system attribute checking. (check-in: a84a08d071 user: mistachkin tags: trunk)
22:19
Remove superfluous option to Tcl 'lsort' in the vtabH test file. (check-in: b92cc6e58a user: mistachkin tags: trunk)
22:16
Make the vtabH-3.1 test more portable and robust. (check-in: d3c91c1fb3 user: mistachkin tags: trunk)
22:16
Fix handling of initial hidden and/or system files in the opendir() implementation for Windows. No changes to non-test code. (check-in: 26dd42b462 user: mistachkin tags: trunk)
20:14
Add temporary code to record and report on the set of b-tree pages read and written by the current transaction. This is likely still buggy. (check-in: 2a8f6c890c user: dan tags: transaction-pages)
19:54
Begin fleshing out the key/value accessor implementation. This is an incremental check-in. (check-in: 02d60e196f user: drh tags: sqlite3_kv)
19:36
Improve and update comments. (check-in: 2dc16d345b user: mistachkin tags: winSectorSize)
19:06
Minimize the requested permissions when opening the volume on Windows 7 and Vista. (check-in: 8d429a59cd user: mistachkin tags: winSectorSize)
17:20
Baseline interface definition for the experimental sqlite3_kv accessor object. (check-in: a435841e71 user: drh tags: sqlite3_kv)
01:11
Add runtime version checking for winSectorSize. (check-in: cb9d1ab33d user: mistachkin tags: winSectorSize)
00:27
When determining sector sizes on Windows 7 and Vista, make sure the target file is on the same volume as corresponding root directory. (check-in: de699ead5a user: mistachkin tags: winSectorSize)
2017-01-17
10:41
Fix a problem that could cause a spurious SQLITE_NOMEM error when attempting to resume an RBU operation if the previous client failed right after completing the incremental checkpoint. Also a "cannot vacuum wal db" error that could occur when resuming an RBU vacuum if an error (OOM or IO error) occurs during the incremental checkpoint. (check-in: 681d96eb82 user: dan tags: trunk)
00:10
Disable intrinsic functions for Windows using Clang, due to reports of linkage errors. This causes a 0.6% performance reduction. We will want to revisit this change in the future. (check-in: 7fd560c6d2 user: drh tags: trunk)
2017-01-16
18:10
Back out check-in [0b3174e0b1364c] and replace it with a better fix for \ticket [91e2e8ba6ff2e2] - a fix that does not cause the problem identified by ticket [7ffd1ca1d2ad4ec]. Add new test cases for both tickets. (check-in: 9b64af7b52 user: drh tags: trunk)
16:43
Back out check-in [0b3174e0b1364c] and replace it with a better fix for ticket [91e2e8ba6ff2e2] - a fix that does not cause the problem identified by ticket [7ffd1ca1d2ad4ec]. (Closed-Leaf check-in: 0613665274 user: drh tags: automatic-index-affinity)
16:01
Add test cases for tickets [91e2e8ba6ff2e2] and [7ffd1ca1d2ad4ec]. (check-in: 9d0dfe0b08 user: drh tags: automatic-index-affinity)
11:54
An example showing how to improve performance of sqlite3VdbeSerialPut() using the GCC intrinsic function __builtin_bswap64(). (Leaf check-in: e42ed9b4ad user: drh tags: builtin-bswap64)
2017-01-13
22:21
Merge updates from trunk. (check-in: 8b42b8e31a user: mistachkin tags: winSectorSize)
18:24
Fix a problem preventing resumption of RBU operations after recovering from a process or system failure that occurs during the incremental-checkpoint phase. (check-in: 97914266cb user: dan tags: trunk)
12:53
Fix the build for SQLITE_ENABLE_MEMORY_MANAGEMENT. (check-in: 8c85b8fdd7 user: drh tags: trunk)
2017-01-12
23:37
Attempt to detect physical sector sizes on Windows Vista and higher. (check-in: 6e388423c4 user: mistachkin tags: winSectorSize)
19:10
Remove a branch that is probably unreachable, and which adds no value. (check-in: 9acc72381c user: drh tags: trunk)
16:21
Fix harmless compiler warnings in the UPDATE code generator. (check-in: 385db26667 user: drh tags: trunk)
16:14
Remove an unnecessary corruption test from the btree balancer. If corruption is present, it will be found harmlessly by later tests. (check-in: bddf39562d user: drh tags: trunk)
15:19
Test case macros to show that the previous check-in is well tested. (Leaf check-in: bd8b977abb user: drh tags: extra-testcase-macros)
15:11
Improved detection of cells that extend into the reserved space at the end of the page while adjusting overflow page pointers during autovacuum. (check-in: 8097712c9c user: drh tags: trunk)
11:52
Remove invalid test case from cursorhints2.test (check-in: 163cc1b2f7 user: drh tags: trunk)
11:50
Make sure Tcl_AppendResult() always has a NULL-pointer argument at the end. (check-in: c07aef6f90 user: drh tags: trunk)
2017-01-11
21:03
Changes to allow some multi-row UPDATE statements to avoid the two-pass approach. (check-in: 7ae6104a3e user: dan tags: trunk)
20:10
Fix a problem causing the pre-update hook to be passed an incorrect rowid value in some single-pass multi-row updates. (Closed-Leaf check-in: 62257eb53c user: dan tags: onepass-update)
19:03
Fix a problem with single-pass multi-row UPDATE statements that invoke REPLACE conflict handling. (check-in: 0a2b8e1b9d user: dan tags: onepass-update)
16:52
Attempt to detect physical sector sizes on Windows 8 and higher. (check-in: 381fd34b97 user: mistachkin tags: winSectorSize)
15:42
Fix a problem preventing UPDATE statements that use a range-scan on the PK index of a WITHOUT ROWID table from using a one-pass strategy. (check-in: cab86c9094 user: dan tags: onepass-update)
14:21
In the STAT4 computations, ensure that the aAvgEq values do not go negative. (check-in: 4f83f6806a user: drh tags: branch-3.8.9)
14:15
In the STAT4 computations, ensure that the aAvgEq values do not go negative. (check-in: f58f75b5a0 user: drh tags: trunk)
2017-01-10
20:04
Changes to allow some multi-row UPDATE statements to avoid the two-pass approach. (check-in: 46db23ccd1 user: dan tags: onepass-update)
17:37
Add a test case for ticket [25e335f802dd]. (check-in: e500c15a9f user: dan tags: trunk)
17:33
Throw an error if the ON clause of a LEFT JOIN references tables to the right of the ON clause. Fix for ticket [25e335f802dd]. (check-in: c92ecff2ec user: drh tags: trunk)
16:09
Avoid unnecessary calls to the xRoundup() method of the memory allocator when the soft heap limit is not set. (check-in: 4209b89eab user: drh tags: trunk)
15:08
Fix a potential assertion fault discovered by OSS-Fuzz. (check-in: 71c03b59b6 user: drh tags: trunk)
2017-01-09
20:57
Merge latest changes from trunk, and also move the perf-counter into the inner loop of sqlite3BtreeMovetoUnpacked(). (Leaf check-in: ff9eab9587 user: drh tags: vdbe-aux-perf)
19:55
Remove a redundant assignment statement. (check-in: a5fa09657b user: drh tags: trunk)
19:27
Performance optimization and size reduction in the OP_Variable opcode. (check-in: 237aa97452 user: drh tags: trunk)
18:22
Fix typo in a comment. No changes to code. (check-in: d38fd22935 user: mistachkin tags: trunk)
18:20
Try to move OP_Concat operations outside the inner loop. This turns out to make things very slightly slower, at least in speedtest1.c. (Closed-Leaf check-in: 8a90f69139 user: drh tags: failed-optimization)
15:44
Modify the OP_RowData opcode so that when P3!=0 it is allowed to hold an ephemeral copy of the content. This avoids unnecessary memcpy() operations in the xfer-optimization and VACUUM. (check-in: 6e106acd74 user: drh tags: trunk)
13:43
Add the SQLITE_UINT64_TYPE compile-time option. (check-in: a5fe03bc41 user: drh tags: trunk)
07:00
Merge the "changebatch" functionality into this branch. (check-in: 50fb1eb368 user: dan tags: begin-concurrent)
06:53
Disable the optimization from [8cb8516d] (omit TableLock instructions for non-sharable databases) on this branch. This branch uses the TableLock instructions to ensure that the db schema is not written from within a BEGIN CONCURRENT transaction. (check-in: c8ca3e0a8d user: dan tags: begin-concurrent)
06:33
Upgrade this branch to 3.16 plus the various fixes that appeared after its release. (check-in: d0e212d08f user: dan tags: begin-concurrent)
2017-01-07
14:47
Improvements to the iIdxNoSeek optimization of sqlite3GenerateRowDelete() so that it is automatically disabled for BEFORE triggers but works in all other cases. (check-in: 3178ec4c27 user: drh tags: trunk)
14:26
Critical fix to the previous check-in so that it works when there are BEFORE triggers that move the cursor before the OP_Delete has a chance to be applied. (check-in: db2c0960ff user: drh tags: trunk)
03:26
Avoid an unnecessary btree seek while deleting an index entry due to a conflict on a REPLACE operation. (check-in: f0495c5133 user: drh tags: trunk)
00:56
Avoid duplicate b-tree searches in the duplicate row detector used to implement DISTINCT. (check-in: d577dda0a7 user: drh tags: trunk)
00:42
This hack illustrates how to use the VDBE_PROFILE mechanism to show which bytecode operators are using resources other than time. In this case, the number of loops through the binary search code in sqlite3BtreeMovetoUnpacked() is measured, for the purpose of helping to identify unnecessary btree searches. (check-in: 746b183683 user: drh tags: vdbe-aux-perf)
2017-01-06
17:01
Merge the changes for version 3.16.2. (check-in: c59c888023 user: drh tags: apple-osx)
16:32
Version 3.16.2 (Leaf check-in: a65a62893c user: drh tags: release, branch-3.16, version-3.16.2)
13:53
Clarify the documentation on sqlite3_column_count(). (check-in: 01b4cb2676 user: dan tags: branch-3.16)
13:52
Ensure that "PRAGMA case_sensitive_like" and "PRAGMA shrink_memory" set the number of output columns to 0 (as they are statements that return no data). (check-in: 4a97ba4ee0 user: dan tags: branch-3.16)
13:49
Ensure that "PRAGMA case_sensitive_like" and "PRAGMA shrink_memory" set the number of output columns to 0 (as they are statements that return no data). (check-in: 6696cd1878 user: dan tags: trunk)
11:56
Improve handling of corrupt databases in fts5. (check-in: b07269413d user: dan tags: branch-3.16)
11:55
Improve handling of corrupt data in fts5. (check-in: 609ac1c73f user: dan tags: trunk)
01:09
Clarify the documentation on sqlite3_column_count(). (check-in: 9ea0baddd8 user: drh tags: trunk)
00:02
Remove several non-portable tests for the deprecated temp_store_directory PRAGMA. (check-in: 28d8778914 user: mistachkin tags: trunk)
2017-01-05
20:01
Ensure that sqlite3_column_count() returns 0 for the "set" mode of "get/set" PRAGMA statements that do not return a value in that case (e.g. page_size, cache_size, auto_vacuum). (check-in: e745da6b14 user: dan tags: branch-3.16)
20:00
Ensure that sqlite3_column_count() returns 0 for the "set" mode of "get/set" PRAGMA statements that do not return a value in that case (e.g. page_size, cache_size, auto_vacuum). (check-in: 2f57939a55 user: dan tags: trunk)
19:32
Ensure that sqlite3_column_count() returns 0 for the "set" mode of "get/set" PRAGMA statements that do not return a value in that case (e.g. page_size, cache_size, auto_vacuum). (Closed-Leaf check-in: 5c05d8ec5e user: dan tags: pragma-columncount-fix)
17:27
Version 3.16.2 second release candidate (check-in: 285c5a54dd user: drh tags: branch-3.16)
17:25
Fix handling the case where a sub-query in a FROM clause is itself a UNION ALL, and one side of that UNION ALL is a query on a view that includes an ORDER BY. Fix for ticket [190c2507]. (check-in: ec1e85a657 user: dan tags: branch-3.16)
17:23
Fix handling the case where a sub-query in a FROM clause is itself a UNION ALL, and one side of that UNION ALL is a query on a view that includes an ORDER BY. Fix for ticket [190c2507]. (check-in: 590ca83b8e user: dan tags: trunk)
15:50
Version 3.16.2 release candidate (check-in: 9d8ffe13bd user: drh tags: branch-3.16)
14:05
Increase the version number to 3.16.2 (check-in: 9592cbcf35 user: drh tags: branch-3.16)
13:56
Fix problems in trigger and foreign key handling when doing REPLACE on a WITHOUT ROWID table that has no secondary indexes. Fix for ticket [30027b613b4]. (check-in: 8a788594e2 user: drh tags: branch-3.16)
13:52
Ensure that the sqlite3_value_text() interface returns a buffer that is long enough to hold the complete string plus the zero terminator even when the input is a zeroblob. Fix for a problem detected by OSS-Fuzz. (check-in: ca185808ad user: drh tags: branch-3.16)
13:50
Fix problems in trigger and foreign key handling when doing REPLACE on a WITHOUT ROWID table that has no secondary indexes. Fix for ticket [30027b613b4]. (check-in: 571f166ea8 user: drh tags: trunk)
07:58
Ensure that the sqlite3_value_text() interface returns a buffer that is long enough to hold the complete string plus the zero terminator even when the input is a zeroblob. Fix for a problem detected by OSS-Fuzz. (check-in: 2dc7eeb5b4 user: drh tags: trunk)
06:57
Fix some problems with foreign key processing within REPLACE ops on WITHOUT ROWID tables with no triggers or auxiliary indexes. (Closed-Leaf check-in: c1220b1af6 user: dan tags: replace-fix)
2017-01-04
22:02
Improved the comment on the block of code the provides the performance optimization originally added by check-in [925840cfdb]. The original check-in omitted condition 4, which was the cause of bug [30027b613b]. (check-in: c6506b82aa user: drh tags: replace-fix)
20:13
Possible fix for [30027b61]. There may still be problems surrounding foreign key processing. (check-in: 71ccb1f4c4 user: dan tags: replace-fix)
14:53
Adjust filename creation in test_sqllog.c so that it uses leading zeros on counters, so that files appear in order when sorted lexicographically. (check-in: 8d67097359 user: drh tags: trunk)
13:09
Performance enhancements in the printf implementation. (check-in: 82e4001b8c user: drh tags: trunk)
04:18
Factor constant functions out of the inner loop since they are more expensive than the extra OP_Copy needed to move the result into place. (check-in: 80ad317f89 user: drh tags: trunk)
04:10
Clean up the implementation of constant function factorization. (Closed-Leaf check-in: 2ab997e479 user: drh tags: factor-constant-funcs)
01:07
Attempt to factor out constant functions from the interior of table scans, since functions can often be expensive to compute. (check-in: 62e9270a80 user: drh tags: factor-constant-funcs)
00:26
Changes to the printf implementation for better performance. (Closed-Leaf check-in: acdb8f6f10 user: drh tags: printf-optimization)
2017-01-03
21:57
Use compiler intrinsic functions for signed integer math when overflow detection is needed. (check-in: d3ac32a6e7 user: drh tags: trunk)
21:50
Back out the use of __sync_fetch_and_sub() as it does not appear to work. (Closed-Leaf check-in: 4c2efd4239 user: drh tags: gnu-safe-math)
21:03
Fix a typo in a comment. (check-in: ae087123db user: drh tags: gnu-safe-math)
20:20
Merge changes from the 3.16.1 release (check-in: dcbec226ca user: drh tags: apple-osx)
20:01
Use the CLANG_VERSION macro to control clang-specific features. (check-in: f8ebeec211 user: drh tags: gnu-safe-math)
18:27
Version 3.16.1 (check-in: 979f043928 user: drh tags: release, version-3.16.1, branch-3.16)
18:05
Use the GCC built-in __sync_fetch_and_sub() to make the sqlite3StatusDown() routine atomic, and thereby avoid some mutexing. (check-in: f69ce75b3d user: drh tags: gnu-safe-math)
17:33
Make use of the __buildin_OP_overflow() functions from GCC when doing 64-bit signed integer arithmetic. (check-in: 82cbebb8ee user: drh tags: gnu-safe-math)
16:03
Bump the version number up to 3.16.1. (check-in: a60b60d6b6 user: drh tags: branch-3.16)
15:59
Defer size checking on row-value assignments for when the RHS is a SELECT until after the "*" wildcards have been expanded. (check-in: 5c892938a5 user: drh tags: branch-3.16)
15:57
Fix the row-values in UPDATE statements within TRIGGER problem identified by ticket [8c9458e7]. (check-in: bf984e980c user: drh tags: branch-3.16)
14:45
Add the experimental affinity() SQL function when SQLITE_DEBUG is defined. (check-in: bed0eaa5f5 user: drh tags: trunk)
14:39
Put the affinity() function implementation inside of #ifdef SQLITE_DEBUG. (Closed-Leaf check-in: f778f58ae4 user: drh tags: affinity-sql-func)
14:30
Merge all the latest changes from trunk. (check-in: c27cd8a812 user: drh tags: affinity-sql-func)
13:45
Defer size checking on row-value assignments for when the RHS is a SELECT until after the "*" wildcards have been expanded. (check-in: 36944be6be user: drh tags: trunk)
11:59
Fix a typo on a comment. No code changes. (check-in: abc27b6023 user: drh tags: trunk)
08:11
Add test cases for the fix in [f12ed3ce]. No problems discovered. (check-in: 548532fdcf user: dan tags: trunk)
02:58
Improvements to the way vector assignment size checking is done. Size checks when the RHS is a SELECT are deferred until after "*" wildcards are expanded. (Closed-Leaf check-in: 696219b110 user: drh tags: vector-size-check)
01:24
Fix the row-values in UPDATE statements within TRIGGER problem identified by ticket [8c9458e7]. (check-in: f12ed3ce0b user: drh tags: trunk)
00:27
Improved assert()s on the sqlite3ExprListDup() logic for TK_SELECT_COLUMN. (Closed-Leaf check-in: 14da99d41f user: drh tags: rowvalue-update-trigger)
2017-01-02
23:43
Test cases for the row-value UPDATE TRIGGER fix. (check-in: b9b964373c user: drh tags: rowvalue-update-trigger)
23:18
Put an ALWAYS() on an unreachable branch in the sqlite3ExprListDup() routine. (check-in: 2caaaab5e0 user: drh tags: rowvalue-update-trigger)
22:36
Proposed fix for the row-value TRIGGER UPDATE problem described in ticket [8c9458e7]. (check-in: 61a442ea2c user: drh tags: rowvalue-update-trigger)
19:10
Increase the version number to 3.17.0 for the next release cycle. (check-in: 16415b5aad user: drh tags: trunk)
19:02
Provide the SQLITE_DEFAULT_LOOKASIDE compile-time option and make it's default value be 1200,100 (raised from 512,125 in the latest release). (check-in: 584da48f9e user: drh tags: trunk)
18:40
Change SQLITE_DEFAULT_PCACHE_INITSZ from 100 to 20, which is experimentally determined to be slightly faster. (check-in: 12d9493cb2 user: drh tags: trunk)
18:19
Avoid unnecessary calls to sqlite3BtreeEnterAll() and sqlite3BtreeLeaveAll() when no btree is using shared-cache. (check-in: cfb3158204 user: drh tags: trunk)
12:20
Add the --all option to the wordcount test program. Fix the speedtest1 test program so that it builds on MSVC and so that the --lookaside 0 0 option works. (check-in: cb338f367e user: drh tags: trunk)
11:57
Version 3.16.0 (check-in: 04ac0b75b1 user: drh tags: trunk, release, version-3.16.0)
2017-01-01
12:44
Detect row-value comparison size mismatches even when the size of one operand is obscured by an unexpanded subquery. (check-in: 2c4d167ccd user: drh tags: trunk)
2016-12-31
21:55
Add the --help and --all options to the wordcount test utility. (Closed-Leaf check-in: 18baeadfc8 user: drh tags: wordcount-enhancement)
18:37
In speedtest1.c, make the "--lookaside 0 0" option completely disable lookaside. (Closed-Leaf check-in: 52b99bcbf1 user: drh tags: speedtest1)
14:33
Minor #include change to speedtest1.c so that it will compile under MSVC. (check-in: 8c28fde004 user: drh tags: speedtest1)
2016-12-30
17:40
Fix a crash that could occur following an OOM in the group_concat() function if the second argument is an SQLITE_BLOB value. (check-in: 14d855d2b2 user: dan tags: trunk)
15:16
Strengthen the defense against OOM in the instr() SQL function. (check-in: a0971e7136 user: drh tags: trunk)
14:25
Add a test to ensure that the app-defined pcache xFetch() method is never passed a key of zero. (check-in: 0bdbe49c6d user: drh tags: trunk)
14:15
Avoid passing NULL pointers to memcmp() or memcpy(), even when the "number-of-bytes" argument is passed 0. (check-in: 56ff72ab44 user: dan tags: trunk)
13:55
Clarify the expectations for the behavior of the xFetch method on the sqlite3_pcache_methods object for the case when the key is zero. (Closed-Leaf check-in: b0810ac1b2 user: drh tags: pcache1-zero-page)
13:40
Improved detection of zero page numbers in the page cache. (check-in: 5550e815dd user: drh tags: pcache1-zero-page)
12:10
Fix a harmless compiler warning in fuzzcheck.c (check-in: 2842bc6053 user: drh tags: trunk)
12:06
Disable the pagerAcquireMapPage() routine if memory-mapped I/O is disabled. This fixes a harmless compiler warning on OpenBSD. (check-in: 3e25ba6e42 user: drh tags: trunk)
00:09
Encode a 64-bit integer literal in date.c as a constant expression so that it works on older compilers. Also fix a harmless compiler warning in vdbe.c. (check-in: f57952bac6 user: drh tags: trunk)
2016-12-29
19:48
Fix harmless compiler warnings in the command-line shell and in Lemon. (check-in: afcdc4a60e user: drh tags: trunk)
17:25
In kvtest.c, use stat() instead of fseek()/ftell() to determine the size of a BLOB to be read directly from disk. This makes the pile-of-files database more competative against SQLite. (check-in: a7dca29f03 user: drh tags: trunk)
16:58
Add the kvtest.c test program used to show that it is many times faster to read thumbnail and similar BLOBs out of an SQLite database than it is to read them as separate files from the filesystem. (check-in: 8074d59cf1 user: drh tags: trunk)
16:49
Add more detail to the header command to further explain how to compile and use the kvtest.c utility. (Closed-Leaf check-in: 55d29839c9 user: drh tags: kvtest)
16:18
Fix kvtest.c so that it compiles using MSVC. (check-in: e2bbeae7e7 user: drh tags: kvtest)
15:26
In kvtest.c: do not show the --cache-size setting on fopen() runs. Show progress for the (potentially slow) "export" command. (check-in: b0f58d2470 user: drh tags: kvtest)
14:44
Improvements to the kvtest.c utility. Added the --cache-size option. Additional reporting of version and settings at the end of "./kvtest run". (check-in: f6fcac6ae8 user: drh tags: kvtest)
03:57
Add the kvtest.c test program for measuring key/value read performance under various scenarios. (check-in: 489e0787c1 user: drh tags: kvtest)
2016-12-27
15:59
Do not allow the nockpt.test module to run under the inmemory_journal permutation. (check-in: a6af06f164 user: drh tags: trunk)
13:33
Allow sqlite3_interrupt() to be invoked on a database connection that is in the process of being closed even if SQLITE_ENABLE_API_ARMOR is defined. (check-in: 7854bee260 user: drh tags: trunk)
12:45
Adjust a corruption test case to accommodate the sqlite3BtreeInsert() optimization of check-in [0b86fbca66]. (check-in: 4cb0945f13 user: drh tags: trunk)
12:35
Disable new test modules nockpt.test and interrupt2.test for incompatible permutations. Add a CORRUPT_DB term to an assert() in vdbe.c. (check-in: a54e619e6f user: drh tags: trunk)
12:08
Avoid a potential (harmless) signed integer overflow in memory usage accounting when calling sqlite3_realloc() to reduce the size of an allocation. (check-in: 2d71cbdf6b user: drh tags: trunk)
02:43
Minor changes to make some newer test cases work under more compile-time options. (check-in: 382eea36c5 user: drh tags: trunk)
2016-12-26
12:25
During fuzz testing with the fuzzcheck utility program, impose a record length limit of 100MB and a limit on the length of LIKE strings of 50 bytes. (check-in: edc9db41f3 user: drh tags: trunk)
12:14
Enable ossfuzz.c to build even if SQLITE_OMIT_PROGRESS_CALLBACK is defined. (check-in: a37c00dcd1 user: drh tags: trunk)
01:41
Remove an incorrect ALWAYS() macro from balance_nonroot(), which could result in corrupt databases if it were optimized out. This ALWAYS was added only two weeks ago (check-in [f9f2e23bbd68a]) and has never appeared in an official release. (check-in: e447b23cfd user: drh tags: trunk)
00:18
Add the built-in affinity() SQL function. (check-in: 57e40e1cb1 user: drh tags: affinity-sql-func)
00:15
Enhance the fuzztest utility with the --prng-seed option. Always reseed the PRNG prior to each test. (check-in: 8c5187f69d user: drh tags: trunk)
2016-12-24
21:32
Combine the implementations of the ".tables" and ".indexes" commands in the command-line shell. The ".indexes" command now puts the indexes in multiple columns, just like ".tables" and shows all indexes in all attached databases. (check-in: def2933365 user: drh tags: trunk)
19:37
The schema name "main" is always an acceptable alias for the primary database even if the primary database is renamed using SQLITE_DBCONFIG_MAINDBNAME. (check-in: 2f481b854f user: drh tags: trunk)
18:18
Change the output format of the ".databases" command in the command-line shell so that it shows the schema name, a colon, and the corresponding filename. (check-in: 8558512e9c user: drh tags: trunk)
18:04
In the command-line shell, improve the formatting to the ".databases" command and on the ".tables" command, only show the schema prefix for databases past the first ("main") database. (check-in: c0d5626e27 user: drh tags: trunk)
2016-12-23
16:05
Fill in missing opcode documentation entries for OP_SorterNext and OP_SorterSort. (check-in: 2940661b8c user: drh tags: trunk)
13:54
Use the VList object to capture the mapping between SQL parameter names and variable numbers in a single memory allocation. (check-in: 99fddf2ecb user: drh tags: trunk)
13:52
Add check to prevent a VList from growing after pointers to labels have been taken. (Closed-Leaf check-in: aa23d7eaf6 user: drh tags: VList)
13:30
Fix the VList object so that it actually works. (check-in: 9dcd85698a user: drh tags: VList)
03:59
Use the VList object to replace Parse.azVar for tracking the mapping between SQL parameter names and parameter numbers. There is a performance improvement, though there are still a few hiccups in the current code. (check-in: 68ecafa142 user: drh tags: VList)
2016-12-22
14:53
Fix harmless compiler warnings. (check-in: fa86db2f91 user: drh tags: trunk)
2016-12-21
21:26
Change the default lookaside configuration from 500 slots of 128 bytes each to 125 slots of 512 bytes each. This uses the same amount of memory (64,000 bytes) but seems to perform much better in test applications. (check-in: 52a12e47de user: drh tags: trunk)
19:45
Simplifications to the way UnpackedRecord objects are allocated. Smaller and faster code that also fixes a subtle (currently unreachable) bug. (check-in: f7ab01f254 user: drh tags: trunk)
2016-12-18
17:42
Change the OP_IfNotZero opcode so that it decrements register P1 by 1 rather than the value in P3, and so that it only decrements if originally positive. This avoids decrementing the smallest 64-bit signed integer. (check-in: 165c044686 user: drh tags: trunk)
2016-12-17
21:07
Refinements to the new dbfuzz test program. (check-in: 50325abe79 user: drh tags: trunk)
20:27
Enhance fuzzershell.c to read and execute SQL commands in the autoexec table of the database under test. Add the dbfuzz.c test program combining selected features of fuzzershell.c and fuzzcheck.c. (check-in: ef6e071a62 user: drh tags: trunk)
08:18
Fix a problem in the shell tools readfile() command causing blobs to be truncated at the first embedded 0x00 byte in release builds, or an assert() to fail in a debug build. (check-in: 8dedd6ad44 user: dan tags: trunk)
2016-12-16
21:29
Merge recent enhancements from trunk, and especially the pragma-as-vtab change. (check-in: 4b1e780433 user: drh tags: apple-osx)
21:15
Merge the pragma-as-vtab enhancement from trunk. (check-in: 89250777b2 user: drh tags: est_count_pragma)
21:02
Fix a potential memory leak following an OOM error in the pragma processing. (check-in: 396ab8f87e user: drh tags: est_count_pragma)
18:43
Add the ".lint fkey-indexes" command to the command-line shell. (check-in: 94689e3bda user: drh tags: trunk)
18:41
Fix minor issues with the ".lint" command implemention in the shell and the shell help text related to ".lint". (Closed-Leaf check-in: 1268dc7771 user: drh tags: fkey-missing-indexes)
18:14
Built-in PRAGMA statements without side-effects can be invoked as table-valued functions by prefixing their name with "pragma_". (check-in: d66ec5cfb6 user: drh tags: trunk)
17:28
Change ".fkey_missing_indexes" to ".lint fkey-indexes". (check-in: ee621ade38 user: dan tags: fkey-missing-indexes)
16:49
Experimental merge of the est_count_pragma and the pragma-as-vtab branches. (Closed-Leaf check-in: 4b73ee33f3 user: drh tags: est-count-pragma-vtab)
16:44
Update .fkey_missing_indexes to use the built-in pragma vtabs. (check-in: 3ab05987b0 user: dan tags: fkey-missing-indexes)
16:13
Merge the pragma-as-vtab change into this branch. (check-in: 4ba45e7223 user: dan tags: fkey-missing-indexes)
15:57
Merge recent trunk enhancements. (check-in: 74a0ca1f15 user: drh tags: est_count_pragma)
15:05
Fix a problem causing the planner to generate sub-optimal plans for some queries that use recursive WITH sub-queries with LIMIT clauses. (check-in: 053a149cc8 user: dan tags: trunk)
04:20
Fix an error in the way the "schema" argument to some pragma virtual tables is handled. (Closed-Leaf check-in: 546821e29e user: drh tags: pragma-as-vtab)
02:31
Simplifications to facilitate full test coverage. (check-in: 01afc51597 user: drh tags: pragma-as-vtab)
02:14
Minor bug fixes and enhancements to the pragma eponymous virtual tables. (check-in: 3f8f461504 user: drh tags: pragma-as-vtab)
01:09
Merge enhancements from trunk, and especially the ability to use temp.sqlite_master as an alias for sqlite_temp_master. (check-in: 994a4401f5 user: drh tags: pragma-as-vtab)
01:00
All temp.sqlite_master to be used as an alias for sqlite_temp_master. (check-in: 8d646905b8 user: drh tags: trunk)
2016-12-15
21:33
Fix the cost estimation in the BestIndex method of the eponymous pragma virtual table implementation. (check-in: 7126807a18 user: drh tags: pragma-as-vtab)
21:11
The pragma as eponymous virtual table mechanism now appears to work. (check-in: 2c274a1a7b user: drh tags: pragma-as-vtab)
20:59
Code to automatically create eponymous virtual tables for read-only pragmas. Compiles, but does not yet work. (check-in: 988a61e8b0 user: drh tags: pragma-as-vtab)
18:59
Do exponential rather than linear expansion of the SrcList.a array when appending new elements, to reduce the number of malloc() calls. (check-in: 4e3749127e user: drh tags: trunk)
16:01
Do more pragma processing from tables rather than in-line code. (Closed-Leaf check-in: a88ca3524b user: drh tags: table-driven-pragma)
06:01
Add the -groupbyparent option to the ".fkey_missing_indexes" command. (check-in: 976c51b483 user: dan tags: fkey-missing-indexes)
2016-12-14
19:28
Add the experimental ".fkey_missing_indexes" command to the shell tool. To identify indexes that should be created on child keys if FK processing is to be enabled. (check-in: 7df23aca1f user: dan tags: fkey-missing-indexes)
14:07
Refactor the Table.nRef field as Table.nTabRef for easier grepping. (check-in: 9cae4c2e30 user: drh tags: trunk)
13:54
Increase the size of the reference count on Table objects to 32 bits. (check-in: d08b72c38f user: drh tags: trunk)
11:39
Fix the configure makefile to align it with the manual makefile. Unsaved changes from the previous check-in. (check-in: 00a184b65f user: drh tags: trunk)
11:23
Adjust the unix makefiles so that "make test" runs fuzzcheck prior to even attempting to build the other test programs. (check-in: bb48f7a559 user: drh tags: trunk)
11:14
Three times faster sqlite3SrcListAppend() in the common case by avoiding the call to sqlite3SrcListEnlarge() for the first allocation. (check-in: 0ea2762f1d user: drh tags: trunk)
10:30
Fix the optimization that prevents writing freelist pages to the journal. (check-in: 6aa9b26544 user: drh tags: trunk)
2016-12-13
23:22
In the command-line shell, in the output of the ".dump", ".schema", and ".fullschema" commands, convert CREATE TABLE statements that appear to come from shadow tables into CREATE TABLE IF NOT EXISTS statements. (check-in: c7021960f5 user: drh tags: trunk)
20:30
Fix harmless compiler warnings. (check-in: ed2c9f3738 user: drh tags: trunk)
18:47
Convert sqlite3PagerGet() into a pointer-dispatched virtual method. This makes it about 25% faster. (check-in: 7f88bb4412 user: drh tags: trunk)
18:34
In the pager, avoid checking for the illegal page number 0 except when creating a new page. (Closed-Leaf check-in: dee20ba982 user: drh tags: pager-get-method)
16:57
Fix a problem causing SQLite to return false "foreign key violation" errors when there is a partial (i.e. WHERE constrained) UNIQUE index on the parent key columns. This bug did not cause SQLite to allow illegal data to be inserted into the database, only to reject legal operations. (check-in: 850877d1ea user: dan tags: trunk)
15:53
Further refinements to the virtual method implementation of sqlite3PagerGet(). (check-in: 67df444648 user: drh tags: pager-get-method)
14:32
Make the sqlite3PagerGet() interface into a virtual method, with different implementations based on the current state of the pager. This gives a small performance increase by avoiding unnecessary branches inside the various methods. (check-in: df5bb90d20 user: drh tags: pager-get-method)
2016-12-12
23:24
Add the --mmap option to the speedtest1 program and to the speed-check.sh script that is frequently used to run speedtest1. (check-in: 1a636d5e0e user: drh tags: trunk)
18:12
Remove unnecessary MemPage initialization resets in the autovacuum ptrmap processing. (check-in: 1b36fbb9f0 user: drh tags: trunk)
16:15
Merge all the latest performance enhancements from trunk. (check-in: a24f805b5e user: drh tags: apple-osx)
16:08
Faster operation for large in-memory databases. (check-in: 9675518b33 user: drh tags: trunk)
12:58
Merge recent enhancements from trunk. (check-in: dc006e08b8 user: drh tags: est_count_pragma)
11:05
Performance optimization in sqlite3PagerWrite(). (check-in: d4dff10a3d user: drh tags: trunk)
01:53
Updates to the tokenizer for EBCDIC. No changes for standard builds. (check-in: 4fc6580ffa user: drh tags: trunk)
01:30
Size and performance optimization in btreeInitPage() in the freeblock validation step. (check-in: 57deb1b412 user: drh tags: trunk)
00:58
Change the order of comparison for divider cell overflow in balance non-root to avoid a (harmless) reference to an uninitialized variable. (check-in: f9f2e23bbd user: drh tags: trunk)
2016-12-10
13:12
Avoid an unnecessary memset() in the sqlite3BtreeInsert() routine. (check-in: 35ecd4ebc5 user: drh tags: trunk)
12:58
Reorder the fields in the VdbeCursor object so that those that need to be bulk zeroed on allocation are grouped at the beginning, and the memset() only runs over those fields that really need it. (check-in: 8165f88bb1 user: drh tags: trunk)
04:06
Avoid signed integer overflow when dealing with a LIMIT and OFFSET whose sum exceeds the maximum integer value. (check-in: c9bdf7adb4 user: drh tags: trunk)
00:14
In balance_nonroot, try to combine dropCell/insertCell combinations for the dividers into a cell overwrites. This results in a very small (0.05%) performance gain which is probably not worth the added complexity. (Closed-Leaf check-in: 478627c9e9 user: drh tags: failed-dropCell-opt)
2016-12-09
19:42
When doing the sqlite3BtreeInsert() overwrite optimization, make sure the memcpy() does not extend off the end of the page. (check-in: 684ef4582e user: drh tags: trunk)
18:09
Additional comments and an assert on the sqlite3BtreeInsert() overwrite optimization. (check-in: c1f0ae9d29 user: drh tags: trunk)
17:32
In sqlite3BtreeInsert() when replacing a re-existing row, try to overwrite the cell directly rather than deallocate and reallocate the cell. (check-in: 0b86fbca66 user: drh tags: trunk)
16:12
Fix an fts5 bug that could cause a crash following an OOM error or sqlite3_interrupt() interrupt. (check-in: 0ea3ece988 user: dan tags: trunk)
16:02
Avoid unnecessary zeroing of fields in the MemPage object that are going to be reinitialized before use anyhow. A smaller and faster binary results. (check-in: 01ada3d106 user: drh tags: trunk)
00:15
Fix an obscure problem in range estimation with STAT4. (check-in: 1f16c9a76b user: drh tags: trunk)
2016-12-08
23:52
Fix the showstat4 utility program so that is displays strings using standard SQL notation (single quotes) rather than C-style notation. (check-in: 92998e4afb user: drh tags: trunk)
19:04
Fix a minor error in the cg_anno.tcl script causing the cycles-per-file counts to be miscomputed. (check-in: b26df26e18 user: drh tags: trunk)
18:36
Update the tool/cg_anno.tcl script to give a summary of cycle counts by canonical source file name. (check-in: 254a83bf30 user: drh tags: trunk)
01:38
More changes to take advantage of the sqlite3VdbeAppendP4() method. (check-in: 83bc5e40af user: drh tags: trunk)
2016-12-07
21:35
Add the sqlite3VdbeAppendP4() method for adding P4 content to the most recently coded instruction. (check-in: 28883e8f3e user: drh tags: trunk)
20:22
The use P4_DYNAMIC in place of the P4_MPRINTF operand type. (check-in: 3954f83798 user: drh tags: trunk)
20:09
Performance optimization for sqlite3VdbeAddOp4(). (check-in: 04716c907b user: drh tags: trunk)
17:06
Put the SQLITE_UNTESTABLE compile-time option in the correct order for PRAGMA compile_options. (check-in: 24574a15a3 user: drh tags: trunk)
15:49
Rename the SQLITE_OMIT_BUILTIN_TEST compile-time option to SQLITE_UNTESTABLE. (check-in: f360818737 user: drh tags: trunk)
15:38
Prevent the flattening or where-term push-down optimizations from obscuring misuses of SQL row values that can lead to crashes or assert() failures. (check-in: 433d16ff3a user: dan tags: trunk)
13:49
Always honor the sqlite3.dbOptFlags bitmask, regardless of compile-time options. Continuing fix for ticket [da78413751863]. (check-in: afab166313 user: drh tags: trunk)
07:46
Merge latest trunk changes into this branch. (Leaf check-in: 391344d88a user: dan tags: changebatch)
2016-12-06
22:47
Performance improvement and size reduction in the Expr node allocator function sqlite3PExpr(). (check-in: 2a81763e68 user: drh tags: trunk)
19:33
Add missing nul-terminator to a Tcl_AppendResult() call in tclsqlite.c. (check-in: 0820f8b3de user: dan tags: trunk)
17:59
In the LEMON parser-generator, fix the stack overflow processing so that it correct invokes the destructor on the top-level of the parse stack. (check-in: e8247065cf user: drh tags: trunk)
2016-12-05
20:16
Fix a harmless redundant local variable declaration in the date/time function logic. (check-in: b4bc40d183 user: drh tags: trunk)
20:06
Work around a bug in the definition of "ino_t" on some versions of Android. (check-in: 8df492c171 user: drh tags: trunk)
2016-12-02
19:07
Simplify the date/time function logic for improved rebustness and also to decrease the size of the binary. (check-in: 6e144735ed user: drh tags: trunk)
17:08
Extend the valid range of 'unixepoch' dates from JulianDay 0 through 9999-12-31. (check-in: 768c9859b2 user: drh tags: trunk)
14:15
Fix a potential integer overflow during out-of-bound date computations. (Closed-Leaf check-in: 3c58b173d9 user: drh tags: date-overflow-fix)
02:19
Test cases for the improved LIKE/GLOB matcher. (check-in: 0bdb7ae126 user: drh tags: trunk)
2016-12-01
19:58
Avoid clearing the EP_FromJoin flag from terms in ON clauses when flattening sub-selects. Possible fix for [2df0107b]. (check-in: a427c40528 user: dan tags: trunk)
19:38
Avoid clearing the EP_FromJoin flag from terms in ON clauses when flattening sub-selects. Possible fix for [2df0107b]. (Closed-Leaf check-in: 8bed4cd549 user: dan tags: left-join-fix)
18:57
Performance improvement for GLOB and LIKE matching for patterns with two or more multi-character wildcards ("*" or "%"). (check-in: 2df0ebf95f user: drh tags: trunk)
18:49
Faster version of patternCompare() that uses new return values rather than an extra parameter to communicate wildcard information back up to parent searches. (Closed-Leaf check-in: a1e2b6ce3a user: drh tags: pattern-compare-optimization)
17:34
Modify the patternCompare() function (used for GLOB, LIKE) to better handle patterns containing multiple wildcard characters ("*", "%"). (check-in: c5e5614d98 user: dan tags: pattern-compare-optimization)
2016-11-30
16:54
Add the remember(V,PTR) extension function which copies an SQL value into an application variable. (check-in: d2d30914d8 user: drh tags: trunk)
16:39
Merge all the latest changes from trunk. (check-in: 7ca58a07d3 user: drh tags: est_count_pragma)
14:47
Fix then handling of the (oversized) integer literal -0x8000000000000000. (check-in: 3816bb415e user: drh tags: trunk)
05:08
Change the OP_DecrJumpZero opcode back to its old behavior of always decrementing, except top the decrementing when it reaches the largest negative number. (check-in: 9d0d8c2e7c user: drh tags: trunk)
04:07
More improvements to boundary cases in the date/time functions, flowing out of branch coverage testing. (check-in: 1218005ab7 user: drh tags: trunk)
01:05
Prevent a warning about integer overflow when using a very large negative LIMIT. (check-in: 96106d5620 user: drh tags: trunk)
00:48
Further changes to the date/time functions to suppress harmless signed integer overflow warnings that could have occurred when doing out-of-range date calculations which, according to the docs, give undefined results. (check-in: dc453b3403 user: drh tags: trunk)
2016-11-29
20:39
The documentation says that the built-in date-time functions give undefined results for dates before 0000-01-01 and after 9999-12-31. Change the actually implementation so that the answer given is really NULL. This also avoids unnecessary hand-wringing over an signed integer overflow that might otherwise occur when processing out-of-bound dates. (check-in: d410a83975 user: drh tags: trunk)
2016-11-28
21:22
Fix broken hyperlinks to the sqlite3_snapshot objection definition in the documentation. No changes to code. (check-in: 9021f6875f user: drh tags: trunk)
19:13
Version 3.15.2 (Leaf check-in: bbd85d235f user: drh tags: release, version-3.15.2, branch-3.15)
14:52
Simplify some code in fts5_expr.c. Add some extra test cases for the same. (check-in: 7cc2d60dce user: dan tags: trunk)
2016-11-26
20:44
Merge all recent trunk changes, and especially the new sqlite3_snapshot_recover() interface. (check-in: 41a3af5443 user: drh tags: apple-osx)
20:12
Update test case for opening SHM files read/write on a read-only connection so that they are only attempted on Darwin with SQLITE_ENABLE_PRESIST_WAL. (check-in: d6a7bf80cf user: drh tags: apple-osx)
19:44
Add the sqlite3_snapshot_recover() interface and related functionality. (check-in: b70c85ce6d user: drh tags: trunk)
2016-11-25
20:20
Clarification of the behavior of sqlite3_stmt_readonly() on BEGIN IMMEDIATE statements. The is comment changes only - no changes to code. (check-in: a4205a83e4 user: drh tags: trunk)
19:32
Remove the OP_RowKey opcode. Use OP_RowData in its place. (check-in: 6ac7b07a4a user: drh tags: trunk)
19:18
Refactor the sqlite3BtreeKey() and sqlite3BtreeData() internal interfaces into sqlite3BtreePayload() and sqlite3BtreePayloadChecked(), respectively. This is a continuation of the optimization started by check-in [2d831074cf]. The result is a slightly smaller and faster binary. (check-in: 49ebc219fa user: drh tags: trunk)
17:03
Small performance increase and size reduction in the OP_Column opcode. (check-in: a9498407e6 user: drh tags: trunk)
15:47
Performance enhancement to sqlite3_snprintf(). (check-in: c53dca7fad user: drh tags: trunk)
15:11
Performance improvement in sqlite3StrAccumFinish() for the common case where no memory allocation is required. (check-in: b6acf5d4ef user: drh tags: trunk)
14:30
Add a comment to help clarify the EP_FromJoin hack in exprCodeBetween(). (check-in: 6df7c5747e user: drh tags: trunk)
2016-11-24
13:42
Fix a test case in vacuum5.test so that it works with the in-memory journal permutation. Cherrypick of [81c86401]. (check-in: e31d646a31 user: dan tags: branch-3.15)
2016-11-23
23:18
Fix the error message for invalid ".mode" arguments in the command-line shell, so that it mentions the new "quote" mode. (check-in: 9a603a18ef user: drh tags: trunk)
21:33
Updates makefiles and build scripts on windows to used Tcl 8.6. (check-in: f693850aff user: drh tags: branch-3.15)
21:14
Update the version number to 3.15.2. (check-in: 86dc74cb10 user: drh tags: branch-3.15)
21:13
Code constant vector components outside of any loops in CASE and BETWEEN expressions. Fix for [1a684656]. (check-in: 4c6efe600d user: drh tags: branch-3.15)
21:08
Prevent a possible use-after-free bug in the query optimizer. (check-in: 661b45068f user: drh tags: branch-3.15)
21:01
Disable the query flattener optimization for SELECT statements that are on the RHS of vector IN operators. This is a hack that fixes the bug described in ticket [da7841375186386c]. A better solution that does not disable the query flattener is needed, but this will server for the time being. (check-in: 27438fb43d user: drh tags: branch-3.15)
20:44
Fix a potential use-after-free error during parsing of malformed CREATE TABLE statement. (check-in: 0f95659799 user: drh tags: branch-3.15)
20:37
Fix an fts5 problem causing a crash in phrase queries where the first token of the phrase matches one or more rows but some other token within the phrase matches zero. (check-in: 4efd331e9c user: drh tags: branch-3.15)
20:31
Fix OOM error reporting in the json1_group_object() SQL function. Remove an unreachable branch from the JSON1 logic. (check-in: 6492e57e65 user: drh tags: branch-3.15)
20:24
Fix the JSON1 extension so that the JSON validator correctly rejects malformed backslash escapes within string literals. (check-in: 7c46628380 user: drh tags: branch-3.15)
20:19
Avoid a crash that can occur after an obscure OOM in the built-in INSTR() function. (check-in: 8a55b8e179 user: drh tags: branch-3.15)
20:12
Mark the ICU extension functions as deterministic. (check-in: 8fd2fccefb user: drh tags: branch-3.15)
19:43
Handle some obscure "row value misused" cases that could cause segfaults or assertion failures. (check-in: 794763fd6c user: drh tags: branch-3.15)
19:40
Take care not to try to generate code for the ATTACH and DETACH commands if there were syntax errors during parsing. Fix for ticket [2f1b168ab4d4844] (check-in: f8cf7ff156 user: drh tags: branch-3.15)
19:31
Code constant vector components outside of any loops in CASE and BETWEEN expressions. Fix for [1a684656]. (check-in: c08aff13ea user: dan tags: trunk)
14:19
Correctly display the names of SQL functions in the VDBE_PROFILE output. (check-in: 161192f172 user: drh tags: trunk)
2016-11-22
22:23
Merge bug fixes and enhancements from trunk. (Closed-Leaf check-in: e2c4bdf54f user: drh tags: serializable-snapshot)
21:11
Enclose the sqlite3WalSnapshotRecover() routine within (check-in: e7be3183eb user: drh tags: serializable-snapshot)
20:29
Add a new requirement mark for CAST expressions. (check-in: bee2859b95 user: drh tags: trunk)
19:15
Update requirement marks to reflect changes in wording in the documentation. No changes to code. (check-in: f5ac98efb5 user: drh tags: trunk)
01:26
Remove unnecessary OP_Close opcodes for a size reduction and performance increase. (check-in: 32be7aae92 user: drh tags: trunk)
2016-11-21
21:33
Remove unnecessary OP_Close opcodes at the end of INSERT operations, resulting in smaller and faster code. (check-in: abeddb6d5a user: drh tags: trunk)
18:15
Enhance speedtest1.c so that is works on older versions of SQLite, before the introduction of the group_concat() aggregate function. (check-in: 9979ba80a6 user: drh tags: trunk)
2016-11-20
17:59
Fix harmless compiler warnings. (check-in: b3b7b42d9a user: drh tags: trunk)
12:00
Prevent a possible use-after-free bug in the query optimizer. (check-in: 0a98c8d76a user: drh tags: trunk)
2016-11-19
18:31
Remove the requirement to open the wal file before sqlite3_snapshot_recover() is called. Also add some comments to new functions. (check-in: 28393c413c user: dan tags: serializable-snapshot)
17:30
Test some extra error conditions in sqlite3_recover_snapshot(). (check-in: db314213c0 user: dan tags: serializable-snapshot)
17:20
Add another fault-injection test for sqlite3_snapshot_recover(). (check-in: 7e04040613 user: dan tags: serializable-snapshot)
16:35
Fix a problem causing sqlite3_snapshot_recover() to return SQLITE_IOERR_SHORT_READ. (check-in: 525f75fa9f user: dan tags: serializable-snapshot)
14:53
Fix a bug in sqlite3_snapshot_recover() that could cause subsequent read transactions to use out-of-data cache entries. (check-in: 9abeb7980a user: dan tags: serializable-snapshot)
2016-11-18
20:49
Add experimental sqlite3_snapshot_recover() API. (check-in: 174a6076a8 user: dan tags: serializable-snapshot)
18:43
Require that the database handle be in autocommit mode for sqlite3_snapshot_get() to succeed. This is because it may open a read transaction on the database file. (check-in: 83b658dad0 user: dan tags: serializable-snapshot)
18:22
Add tests for snapshot interfaces. (check-in: 1f7ee7af7b user: dan tags: serializable-snapshot)
14:38
Enhance existing snapshot tests to serialize/deserialize snapshots. No new tests. (check-in: 16b9bf9274 user: dan tags: serializable-snapshot)
2016-11-17
21:52
Experimental changes for faster in-memory DB operation for large databases. (Closed-Leaf check-in: 4fe94b0f18 user: drh tags: memdb-opt)
20:05
Fix a problem in rtreeD.test causing it to fail in OMIT_BUILTIN_TEST builds. (check-in: d6b3779e6d user: dan tags: trunk)
14:02
When opening the *-shm file for a readonly database, try to open it in read-write mode before falling back to readonly. This is in case some other read/write connection within the same process uses the same file descriptor. (check-in: a07c581e88 user: dan tags: apple-osx)
13:54
Change the --enable-debug option on configure so that it enables the ".selecttrace" and ".wheretrace" commands in the command-line shell. (check-in: 2331192b4c user: drh tags: trunk)
13:13
Disable the query flattener optimization for SELECT statements that are on the RHS of vector IN operators. This is a hack that fixes the bug described in ticket [da7841375186386c]. A better solution that does not disable the query flattener is needed, but this will server for the time being. (check-in: 005d5b8706 user: drh tags: trunk)
2016-11-15
21:17
Add a needed #include to speedtest1.c. (check-in: 77aeb705c3 user: drh tags: trunk)
17:37
Experimental changes toward making snapshots serializable. (check-in: b6a81fa1fc user: drh tags: serializable-snapshot)
04:00
Change the OP_Last opcode so that it is a no-op if the cursor is already pointing at the end of the b-tree. (check-in: 663473850c user: drh tags: trunk)
02:46
Make the VACUUM command about 9% faster by avoiding unnecessary calls to sqlite3BtreeMovetoUnpacked() while copying rowid tables. (check-in: 5ed0bd3876 user: drh tags: trunk)
2016-11-14
20:47
Add 8794 new test cases received from the OSS-FUZZ project. (check-in: 03f75a67c3 user: drh tags: trunk)
20:08
Fix a potential use-after-free error during parsing of malformed CREATE TABLE statement. (check-in: c5dbc599b9 user: drh tags: trunk)
18:27
Enhance fuzzcheck.c to accept database-specific configuration parameters in the option CONFIG table. Add the fuzzdata5.db fuzz database containing test cases from OSS-FUZZ. (check-in: a71fad4538 user: drh tags: trunk)
17:25
Fix the ossfuzz.c test module so that it does not segfault after a "PRAGMA empty_result_callbacks=1;". Add the ossshell.c program for simple command-line testing of ossfuzz.c. (check-in: 6f2d43eca6 user: drh tags: trunk)
15:28
Avoid unnecessary calls to sqlite3ExprCacheAffinityChange() when generating OP_MakeRecord opcodes that do not change any register affinities. (check-in: e211c579b2 user: drh tags: trunk)
08:19
Fix an fts5 problem causing a crash in phrase queries where the first token of the phrase matches one or more rows but some other token within the phrase matches zero. (check-in: e78f6f3bbf user: dan tags: trunk)
2016-11-11
20:37
Fix harmless compiler warnings in test code for MSVC. (check-in: 7b76be4117 user: drh tags: trunk)
19:08
Avoid storing redundant fields in sorter records when the sort-key and data have fields in common. (check-in: b835cf3e50 user: drh tags: trunk)
19:01
Enhance the OP_IdxInsert opcode so that it can used unpacked key values if they are available. Update the code generator to take advantage of this new capability. The speedtest1.c test is about 2.6% faster as a result. Later: This also introduced bug [30027b613b]. Bummer. (check-in: 925840cfdb user: drh tags: trunk)
18:45
Merge trunk with this branch. (Closed-Leaf check-in: dd62d2de6e user: dan tags: sorter-opt)
18:19
Remove obselete and unused logic in the update code generator. Fix the sqlite3BtreeMovetoUnpacked() routine so that it remembers the rowid of the row that it landed on. (Closed-Leaf check-in: 1a587d72f9 user: drh tags: unpacked-IdxInsert)
18:08
Reenable the SQLITE_EXPR_REF optimization for "SELECT DISTINCT ... ORDER BY" queries. (check-in: 6e2e9d383f user: dan tags: sorter-opt)
17:52
Merge enhancements and bug-fixes from trunk. (check-in: 5515b827dc user: drh tags: unpacked-IdxInsert)
17:08
Fix a problem with switching from wal to rollback mode when SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE is configured. (check-in: 46e0016207 user: dan tags: trunk)
16:33
Add the test/ossfuzz.c interface adaptor for OSS-FUZZ. Make previsions for testing the adaptor using fuzzcheck.c. (check-in: 119d6ef847 user: drh tags: trunk)
15:49
Handle some obscure "row value misused" cases that could cause segfaults or assertion failures. (check-in: fba5fddb1c user: dan tags: trunk)
14:54
Back out the "--raw" option on ".read" in the command-line shell. Instead, fix the command-line shell so that if EOF is reached without seeing a final semicolon, it goes ahead and passes the accumulated SQL text to SQLite. (check-in: f98c8ac8c4 user: drh tags: trunk)
09:51
Add extra tests for the xBestIndex() virtual table method. (check-in: 642a8fba91 user: dan tags: trunk)
05:19
In the command line shell, avoid using utf8_printf() in a couple places where it is superfluous. (check-in: 6311a8bdb1 user: mistachkin tags: trunk)
04:37
Add the --raw option to the ".read" dot-command of the command-line shell, to cause the named file to be read and sent directly into sqlite3_exec() without any interpretation. (check-in: 09233770b2 user: drh tags: trunk)
03:37
Take care not to try to generate code for the ATTACH and DETACH commands if there were syntax errors during parsing. Fix for ticket [2f1b168ab4d4844] (check-in: b0ff183b8f user: drh tags: trunk)
2016-11-10
21:19
Break up the sqlite3BtreeMovetoUnpacked() routine into an eponymous routine and sqlite3BtreeMovetoIntkey(). Each routine specializes in a single kind of btree. (Leaf check-in: 9a64a4f235 user: drh tags: split-moveto)
20:42
Avoid a few unnecessary calls to sqlite3BtreeMovetoUnpacked(). (check-in: eac0e827a6 user: drh tags: unpacked-IdxInsert)
20:14
Avoid storing redundant fields in sorter records when the sort-key and data have fields in common (as in "SELECT a FROM t1 ORDER BY 1"). (check-in: 0af62fdbd8 user: dan tags: sorter-opt)
17:01
When doing a REPLACE on a WITHOUT ROWID table with no secondary indexes, bypass the OP_NoConflict/OP_Delete sequence and directly overwrite any preexisting row, for a performance increase. (check-in: f7041cbb63 user: drh tags: unpacked-IdxInsert)
16:07
Remove C++ style comments. No code changes. (check-in: 42f8aa6231 user: drh tags: unpacked-IdxInsert)
14:24
Add the unpacked key fields to OP_IdxInsert for INSERT and UPDATE statements. (check-in: 67602e40f1 user: drh tags: unpacked-IdxInsert)
2016-11-09
20:14
Comment changes that attempt to better explain the behavior of the "seekResult" field on VdbeCursor objects and the seekResult parameter to sqlite3BtreeInsert() and the OPFLAG_USESEEKRESULT flag on insert opcodes. No changes to code. (check-in: 345b46be75 user: drh tags: unpacked-IdxInsert)
16:03
Fix a simple comment typo. No changes to code. (check-in: 51d0aed8d6 user: drh tags: unpacked-IdxInsert)
01:46
Fix typo in the CSV extension. (check-in: b488958824 user: mistachkin tags: trunk)
01:38
Make use of the unpacked key on the OP_IdxInsert on sorters with a LIMIT. (check-in: 42db7cd2c0 user: drh tags: unpacked-IdxInsert)
01:19
Fix a typo on the OP_IdxInsert documentation. No code changes. (check-in: e4acd98207 user: drh tags: unpacked-IdxInsert)
01:07
Add a DISTINCT query to speedtest1.c. Also change INSERT OR REPLACE into just REPLACE. (check-in: 754ee84495 user: drh tags: trunk)
00:57
Remove the "experimental" marking from the sqlite3_preupdate interfaces. But be sure all the interface definitions are within documentation. (check-in: d6dd2ad35e user: drh tags: trunk)
00:10
Enhance the OP_IdxInsert opcode to optionally accept unpacked key material. (check-in: 89d958abba user: drh tags: unpacked-IdxInsert)
2016-11-08
19:22
Avoid superfluous cursor seeks in "INSERT OR REPLACE" statements. (check-in: bec5b6d4d0 user: dan tags: trunk)
17:19
Avoid generating OP_TableLock unnecessary instructions on btrees that are not sharable. (check-in: 8cb8516d20 user: drh tags: trunk)
16:27
Fix the speedtest1.c test program so that it gives closing "%" wildcards on LIKE searches. (check-in: c2f84f637f user: drh tags: trunk)
00:30
Tweaks to speedtest1.c to better reflect mobile usage based on findings in the "Pocket Data" paper by Kennedy, Ajay, Challen, and Ziarek. (check-in: b5733cae3c user: drh tags: trunk)
2016-11-07
18:18
Fix OOM error reporting in the json1_group_object() SQL function. Remove an unreachable branch from the JSON1 logic. (check-in: b540984915 user: drh tags: trunk)
15:15
Replace some unreachable branches from the JSON1 extension with assert(). (check-in: 145cd13e3c user: drh tags: trunk)
13:37
Fix the JSON1 extension so that the JSON validator correctly rejects malformed backslash escapes within string literals. (check-in: 7a63539169 user: drh tags: trunk)
2016-11-04
19:09
Merge recent trunk changes, including all the fixes that appeared in version 3.15.1. (check-in: 0e5ffd9123 user: drh tags: apple-osx)
12:08
Version 3.15.1 (check-in: 1136863c76 user: drh tags: release, version-3.15.1, branch-3.15)
12:05
Avoid a crash that can occur after an obscure OOM in the built-in INSTR() function. (check-in: b86b79c442 user: dan tags: trunk)
12:03
Mark the ICU extension functions as deterministic. (check-in: afbbb6c66a user: drh tags: trunk)
11:23
Add an assert() to silence a coverity false-positive. (check-in: 97354093bc user: drh tags: trunk)
07:25
Fix a test case in vacuum5.test so that it works with the in-memory journal permutation. (check-in: 81c8640146 user: dan tags: trunk)
2016-11-03
21:35
Replace a couple more references to Tcl 8.5 in the Windows build tools. (check-in: 1d0e43c549 user: mistachkin tags: trunk)
19:27
Fix a test case in vacuum5.test so that it works with -DSQLITE_TEMP_STORE=2 and -DSQLITE_ENABLE_ATOMIC_WRITE.. (check-in: 752e14d9b4 user: dan tags: branch-3.15)
19:24
Fix a test case in vacuum5.test sot aht it works with -DSQLITE_ENABLE_ATOMIC_WRITE. (check-in: 3ca8001039 user: dan tags: trunk)
19:01
Fix a test case in vacuum5.test so that it works with -DSQLITE_TEMP_STORE=2. (check-in: f5dd95e25c user: dan tags: trunk)
18:49
Add the SQLITE_FCNTL_WIN32_GET_HANDLE file control. (check-in: 5221e3cc6f user: drh tags: branch-3.15)
18:44
Increase the version number to 3.15.1. (check-in: ccdcce468f user: drh tags: branch-3.15)
18:38
Escape non-ASCII character from an ICU extension comment. (check-in: ee16fedd20 user: drh tags: branch-3.15)
18:36
Fix an issue that was causing the new database image to be assembled entirely in heap memory when VACUUMing a database, even if it should use a temp file. This could cause SQLITE_NOMEM errors when vacuuming very large databases on 32-bit systems. (check-in: 3fae483fae user: drh tags: branch-3.15)
18:35
Make sure left-join markings are transferred to the virtual scalar subexpressions when decomposing a vector comparison in the ON clause of a LEFT JOIN. Fix for ticket [fef4bb4bd9185ec8f]. (check-in: aba1e22bba user: drh tags: branch-3.15)
18:33
If all branches of an OR optimize scan that is the rhs of a LEFT JOIN use the same index, set the index cursor to return NULL values if there are no matches for a row on the lhs. Fix for ticket [34a579141b2c5ac] (check-in: 54eeddeceb user: drh tags: branch-3.15)
18:31
In the sessions module, avoid recording a change if an UPDATE statement overwrites a column with REAL affinity containing an integer value with the same value. (check-in: 0fc4f0f4c2 user: drh tags: branch-3.15)
18:30
Avoid using the "direct overflow read" optimization to read large blobs if the pager layer has a wal file open - even if the database header indicates that the db is not a wal database. (check-in: 63cfe19724 user: drh tags: branch-3.15)
13:12
In the command-line shell, fix the .imposter command so that it works with indexes on expressions. Fix the ".mode quote" mode so that it works with ".headers ON". (check-in: ba9873da94 user: drh tags: trunk)
13:01
Add the ".imposter" command to the command-line shell. (check-in: be3ec8fdcf user: drh tags: trunk)
02:25
Fix an possible NULL pointer deference in the command-line shell that can occur when using imposter mode. (check-in: ad08753a8b user: drh tags: trunk)
2016-11-02
19:49
Adjust the MSVC makefile to use Tcl8.6 by default. (check-in: def8f598b8 user: drh tags: trunk)
16:29
When the block sorting optimization is used in a scalar subquery, be sure to exit the loop as soon as the first valid output row is received. Fix for ticket [cb3aa0641d9a4] backported to the 3.8.9 branch. (check-in: 8e4ba115ed user: drh tags: branch-3.8.9)
14:50
Fix an issue that was causing the new database image to be assembled entirely in heap memory when VACUUMing a database, even if it should use a temp file. This could cause SQLITE_NOMEM errors when vacuuming very large databases on 32-bit systems. (check-in: 3028845329 user: dan tags: trunk)
13:18
Fix a requirement mark. No changes to code. (check-in: d18f61b78c user: drh tags: trunk)
02:17
Use NOT NULL partial indexes when the query is constrained by a single LIKE or GLOB. (check-in: 9b3a3b41b5 user: drh tags: trunk)
2016-10-31
16:49
Add the SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE sqlite3_dbconfig() option - for disabling SQLite's default checkpoint-on-close behaviour. (check-in: 6d142025c7 user: dan tags: trunk)
16:16
Add the SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE sqlite3_dbconfig() option - for disabling SQLite's default checkpoint-on-close behaviour. (Closed-Leaf check-in: 093d2fc228 user: dan tags: no-ckpt-on-close)
2016-10-27
14:51
Remove the mutex from test_multiplex.c. (check-in: 6374978e8f user: dan tags: trunk)
01:02
Make sure left-join markings are transferred to the virtual scalar subexpressions when decomposing a vector comparison in the ON clause of a LEFT JOIN. Fix for ticket [fef4bb4bd9185ec8f]. (check-in: 619f5cc717 user: drh tags: trunk)
2016-10-26
18:41
Small size reduction and performance enhancement in whereScanInit(). (check-in: c23f5ef337 user: drh tags: trunk)
17:57
Small size reduction and performance improvement in whereScanNext(). (check-in: d861ee17eb user: drh tags: trunk)
16:05
If all branches of an OR optimize scan that is the rhs of a LEFT JOIN use the same index, set the index cursor to return NULL values if there are no matches for a row on the lhs. Fix for ticket [34a579141b2c5ac] (check-in: ec9dab8054 user: dan tags: trunk)
15:46
If all branches of an OR optimize scan that is the rhs of a LEFT JOIN use the same index, set the index cursor to return NULL values if there are no matches for a row on the lhs. (Closed-Leaf check-in: e7b9bc678e user: dan tags: leftjoin-or-fix)
13:58
Merge the SQLITE_ENABLE_URI_00_ERROR compile-time option. (check-in: 86675ae0ab user: drh tags: trunk)
13:44
Add extra tests to check the result of including a %00 escape in a URI when ENABLE_URI_00_ERROR is defined. (Closed-Leaf check-in: 1aaa06e37f user: dan tags: uri-00-error)
12:58
Add an elapsed-time output for faststat1.c. (check-in: 7116795134 user: drh tags: est_count_pragma)
12:15
Add compile time option SQLITE_ENABLE_URI_00_ERROR. If defined, any "%00" escape found in a URI is treated as an error. (check-in: e8a9bfece2 user: dan tags: uri-00-error)
2016-10-25
19:39
Simplifications to faststat1.c. Fix a bug in sqlite3MovetoProportional() for very large b-trees. (check-in: f7f78147c5 user: drh tags: est_count_pragma)
19:21
Further refinements to the faststat1.c utility. (check-in: b051fd19bc user: drh tags: est_count_pragma)
18:28
Enhance faststat1.c to deal better with WITHOUT ROWID tables. (check-in: 65444f2e35 user: drh tags: est_count_pragma)
17:28
Merge recent trunk changes, and especially the PRAGMA index_info enhancement which is needed on this branch. (check-in: c3570e462a user: drh tags: est_count_pragma)
15:39
Enhance the "PRAGMA index_info" and "PRAGMA index_xinfo" statements so that they work on WITHOUT ROWID tables and provide information about the underlying index btree that implements the WITHOUT ROWID table. (Leaf check-in: fe49fb0313 user: drh tags: index-info-on-table)
15:06
Add test case to demonstrate a "BEGIN EXCLUSIVE" command returning SQLITE_BUSY_SNAPSHOT. (check-in: b115856408 user: dan tags: trunk)
13:57
First attempt at a utility program to compute sqlite_stat1 without doing a full table scan. (check-in: 7b83581a43 user: drh tags: est_count_pragma)
2016-10-24
01:01
Performance optimization in moveToRoot(). Avoid repeated validity checking of the root page on each call. Once is enough. (check-in: 98795c2dd9 user: drh tags: trunk)
2016-10-22
01:22
In the sessions module, avoid recording a change if an UPDATE statement overwrites a column with REAL affinity containing an integer value with the same value. (check-in: 5f3e602831 user: drh tags: trunk)
2016-10-21
21:21
In the sessions module, avoid recording a change if an UPDATE statement overwrites a column with REAL affinity containing an integer value with the same value. (Closed-Leaf check-in: b861328ab9 user: dan tags: sessions-fix)
18:01
When reading from an index, the shared-cache lock must be on the corresponding table. (check-in: 04fe12b590 user: drh tags: est_count_pragma)
17:45
Merge updates from trunk, and especially the ".mode quote" enhancement to the shell. (check-in: 0c8a5b8844 user: drh tags: est_count_pragma)
17:39
Add ".mode quote" to the command-line shell. (check-in: c4f5fa78cd user: drh tags: trunk)
17:25
Add the btree_sample(INDEX,LOCATION,LIMIT) pragma. (check-in: affc2ef5ee user: drh tags: est_count_pragma)
15:36
Fix problems in the est_count pragma for indexes and WITHOUT ROWID tables. (check-in: c39fd9b8f1 user: drh tags: est_count_pragma)
10:49
Avoid using the "direct overflow read" optimization to read large blobs if the pager layer has a wal file open - even if the database header indicates that the db is not a wal database. (check-in: b54c15f117 user: dan tags: trunk)
10:09
If SQLITE_DIRECT_OVERFLOW_READ is defined at compile time, add "DIRECT_OVERFLOW_READ" to the list of symbols returned by "PRAGMA compile_options". (check-in: b7d9727bff user: dan tags: trunk)
2016-10-20
22:02
Experimental est_count pragma. (check-in: 340822afbe user: drh tags: est_count_pragma)
18:20
Add the ability for the PRAGMA statement to accept multiple arguments. Currently all arguments other than the first are ignored. (Leaf check-in: fd81d8a430 user: drh tags: multi-arg-pragma)
11:48
Add test case to incrblob4.test. No changes to code. (check-in: fd9c6ff05f user: dan tags: trunk)
2016-10-18
16:36
Minor simplification of the comparison opcodes. (check-in: 56474ebca3 user: drh tags: trunk)
15:29
Fix harmless uninitialized variable warnings in speedtest1.c. (check-in: 2aa7a03b86 user: drh tags: trunk)
14:35
Add the --repeat option to speedtest1.c and speed-check.sh. (check-in: 6ca0e06b21 user: drh tags: trunk)
2016-10-17
23:44
Fix SQLITE_DBCONFIG_REQUIRE_TXN so that it allows BEGIN IMMEDAITE and BEGIN EXCLUSIVE to run outside of a transaction. (Leaf check-in: 29997f797f user: drh tags: require-write-txn)
19:00
Escape non-ASCII character from an ICU extension comment. Cherrypick of [5ec02ecf3d20ce7e]. (Leaf check-in: a3a96c4da3 user: mistachkin tags: mutexDbg)
18:59
Enhancments to Win32 mutex debugging. (check-in: 2fb9a5dd40 user: mistachkin tags: mutexDbg)
18:44
Escape non-ASCII character from an ICU extension comment. (check-in: 5ec02ecf3d user: mistachkin tags: trunk)
18:33
Corrections to a couple recently added 'filectrl.test' results. (check-in: 3d89dc4544 user: mistachkin tags: trunk)
15:28
Changes to support interrupting a checkpoint using sqlite3_interrupt(). (check-in: c88d36e251 user: dan tags: trunk)
00:48
Small size reduction and performance increase in the string duplicator. (check-in: cda998f080 user: drh tags: trunk)
2016-10-15
18:37
Add documentation for the OP_SorterInsert opcode, formerly omitted by mistake. No changes to code. (check-in: 16d88a9077 user: drh tags: trunk)
08:56
Add test case to hook.test. No changes to non-test code. (check-in: 2674d779f5 user: dan tags: trunk)
2016-10-14
21:27
Add the SQLITE_FCNTL_WIN32_GET_HANDLE file control. (check-in: 16039be373 user: mistachkin tags: trunk)
21:16
Bump the version number in anticipation of the next development cycle. (check-in: aa6de9c40b user: drh tags: trunk)
10:20
Version 3.15.0 (check-in: 707875582f user: drh tags: trunk, release, version-3.15.0)
2016-10-13
12:56
Take care to avoid integer overflow when doing the initial page cache allocation with an excessively large cache_size setting. (check-in: 4d66ac98de user: drh tags: trunk)
2016-10-12
18:55
Avoid reading the -1-th element of an array in the query planner. Fix to a bug introduced by check-in [8e2b25f9b8a7] from earlier today. Curiously, the problem only appeared on 32-bit systems. (check-in: 443913d582 user: drh tags: trunk)
18:26
Add to sqlite3_analyzer command-line options --version and --tclsh, and also the undocumented --debug option. (check-in: e87d02d289 user: drh tags: trunk)
15:15
New testcase() macros to ensure coverage of the ORDER BY LIMIT optimization code in where.c. (check-in: 61f0526978 user: drh tags: trunk)
14:48
Fix a problem affecting queries that match the pattern (... WHERE ipk IN (....) ORDER BY ? LIMIT ?). Fix for [96c1454c]. (check-in: 8e2b25f9b8 user: dan tags: trunk)
2016-10-10
14:48
Remove a stray line from session4.test causing a memory leak. No changes to SQLite code. (check-in: 6624c4964b user: dan tags: trunk)
14:34
When handling ORDER BY expressions, do not assume all values of an indexed expressions are distinct. Fix for [4766f444]. (check-in: aebe429e52 user: dan tags: trunk)
13:29
Make sure indexes on expressions skip over initial NULL values in the index. Fix for ticket [4baa464912129477f3c9] (check-in: 71797ba431 user: drh tags: trunk)
10:06
Fix a case in which the rtree module was ignoring an OOM while generating an error message. (check-in: 788f86bebe user: dan tags: trunk)
2016-10-08
16:10
Update test/trace3.test to account for the fact that casting a pointer to a 64-bit signed integer might produce a negative value. (check-in: 010ec22541 user: dan tags: trunk)
13:34
Corrections to Lemon documentation. No SQLite changes. (check-in: c568ae3eef user: drh tags: trunk)
11:55
Add missing "static" to internal function whereRangeVectorLen(). (check-in: cbed3d75cf user: dan tags: trunk)
09:21
Updates to the tool/warnings.sh script to make it easier to use on OpenBSD. (check-in: dbe2997f57 user: dan tags: trunk)
2016-10-05
20:14
Fix some compiler warnings in fts5. (check-in: b066637bb7 user: dan tags: trunk)
20:10
Fix harmless compiler warnings. (check-in: 2dde337512 user: drh tags: trunk)
15:04
Add a test case for the fix in [a596b7c6cc]. (check-in: b2ef39b11f user: dan tags: trunk)
15:02
Do not set MEM_Blob unless the appropriate fields of the Mem object have been correctly initialized. (check-in: a596b7c6cc user: drh tags: trunk)
01:33
Fix the backup_malloc.test script so that it works on Windows. (check-in: d080012daa user: drh tags: trunk)
2016-10-04
12:20
Fix a problem with the lempar.c parser template. (check-in: 3a9d802fda user: drh tags: trunk)
00:47
Do not bother to initialize unused fields in the BtreePayload object. (check-in: b10d0f939c user: drh tags: trunk)
2016-10-03
18:13
Allow deterministic functions in the WHERE clause of a partial index. (check-in: c6e9b94218 user: drh tags: trunk)
16:33
Size and performance optimizations on the sqlite3ExprAssignVarNumber() routine. (check-in: 109852e51e user: drh tags: trunk)
15:28
Avoid unnecessary strlen() calls in sqlite3ExprAssignVarNumber() by passing in the token length from the parser. (check-in: d15ae2e530 user: drh tags: trunk)
14:44
Avoid unnecessary memset() calls in the query optimizer. (check-in: 5bb7cde073 user: drh tags: trunk)
12:56
Fix an obsolete comment on a variable definition in expr.c. No code changes. (check-in: 012ff6dd30 user: drh tags: trunk)
02:59
Make sure the sqlite_sequence table is updated when an optional xfer optimization is used. Fix for ticket [7b3328086a5c1]. (check-in: 81e4d4f897 user: drh tags: trunk)
01:21
Allocate Parse objects off of the stack where appropriate for a substantial performance increase and a size reduction. (check-in: ea8affa9e4 user: drh tags: trunk)
2016-10-01
23:55
Add SQLITE_USE_ALLOCA to the --lean configuration in speed-check.sh. (check-in: fe07609efc user: drh tags: trunk)
21:43
Rearrange fields in the Parse object to reduce the amount of initialization required. (check-in: 361940b44d user: drh tags: trunk)
20:43
Reduce the width of a memset() to avoid double-initializing some variables. (check-in: 34edbfd12d user: drh tags: trunk)
19:32
Remove an unnecessary memset() call. (check-in: a76bff74ce user: drh tags: trunk)
19:21
Use sqlite3DbMallocRawNN() where appropriate, instead of sqlite3DbMallocRaw(). (check-in: 54a449a41d user: drh tags: trunk)
16:53
Make sure deleting an unused prepared statement does not reference uninitialized fields in the structure. (check-in: 7983eef042 user: drh tags: trunk)
11:39
Avoid accessing Vdbe.pc if it is uninitialized. Check Vdbe.magic first. (check-in: 6ac6e4462a user: drh tags: trunk)
00:37
Avoid unnecessary zeroing of fields in the Vdbe object when it is allocated. (check-in: 1e21bbe836 user: drh tags: trunk)
2016-09-30
22:24
Avoid initializing the column-cache section of the Parse object, since entries in the cache will be initialized as they are used, and avoiding the initial memset() saves many CPU cycles. (check-in: 63cf7eafae user: drh tags: trunk)
21:20
Fix an always-true conditional left over from the previous commit. (check-in: ab12fce331 user: drh tags: trunk)
20:22
Fix the Parse.aColCache column cache so that all of the valid entries are in the first Parse.nColCache slots. (check-in: 6028502059 user: drh tags: trunk)
19:14
Another simplification to the Parse object. (check-in: c1419727f5 user: drh tags: trunk)
18:35
Remove unnecessary fields from the Parse object. (check-in: 814e41da35 user: drh tags: trunk)
17:46
Avoid unnecessary Mem initializations when generating a new sqlite3_stmt object. (check-in: 47ae1cda8d user: drh tags: trunk)
2016-09-29
20:28
Small size and performance optimization to sqlite3VdbeChangeP5(). (check-in: 3c93c8f5bb user: drh tags: trunk)
19:50
Remove the peep-hole optimization of removing OP_Close opcodes that come before OP_Halt, as the extra work of removing those opcodes uses more cycles than just running them. (check-in: 984a96d796 user: drh tags: trunk)
19:27
Size and performance optimization to sqlite3ValueFromExpr() (check-in: 945f82bc44 user: drh tags: trunk)
15:53
Clarification and typo-fixes in comments. No changes to code. (check-in: e2cd79aa31 user: drh tags: trunk)
2016-09-28
20:42
Use Knuth multiplicative hashing for the symbol table. (check-in: cc29ddd6be user: drh tags: trunk)
16:15
Merge recent enhancements from trunk. (check-in: 0601416347 user: drh tags: apple-osx)
16:05
Two more typo fixes in comments. (check-in: 40c0fb0af6 user: drh tags: trunk)
16:04
Fix typos in comments. No code changes. (check-in: 5bbd071d57 user: drh tags: trunk)
2016-09-27
00:09
Update requirements marks due to improvements in the wording of documentation. No changes to code. (check-in: bf903b2eca user: drh tags: trunk)
00:03
Fix FTS3 test cases due to the flattener change of the previous check-in. (check-in: 0c8b9b211f user: drh tags: trunk)
2016-09-26
14:39
When flattening a query of the form "SELECT * FROM (SELECT * FROM tbl WHERE x=?) WHERE y=?", ensure that the final WHERE clause is "x=? AND y=?" instead of "y=? AND x=?". Although it is still not guaranteed, this makes the order in which WHERE clause terms are processed comport more closely to users expectations. (check-in: cf7f9e6d5a user: dan tags: trunk)
12:38
Inline the relevent parts of sqlite3ExprAlloc() into spanExpr(), for a performance improvement. (check-in: fe89225eab user: drh tags: trunk)
2016-09-24
17:42
Omit the LikeOp object from the parser. Change more sqlite3PExpr() calls into sqlite3ExprAlloc() calls. (check-in: 795454a3fa user: drh tags: trunk)
01:41
Add -DSQLITE_MAX_EXPR_DEPTH=0 to the --lean option on speed-check.sh. (check-in: a8cb1390fc user: drh tags: trunk)
2016-09-23
21:36
Add the EP_Leaf flag bit to the Expr.flags field to indicate Expr nodes that do not have substructure. Use that bit to avoid unnecessary recursion. (check-in: 8a6ea455cd user: drh tags: trunk)
20:59
Use sqlite3ExprAlloc() instead of sqlite3PExpr() for leaf nodes in the expression tree, where appropriate. This is both smaller and faster. (check-in: afac0709ce user: drh tags: trunk)
18:13
New test case for the ORDER BY LIMIT optimization. (check-in: 9a5a489d0d user: drh tags: trunk)
18:06
Fix the ORDER BY LIMIT optimization backport so that it works when the ORDER BY uses the DESC direction. (check-in: 0c3cafb7eb user: drh tags: branch-3.8.9)
2016-09-22
21:37
Fix a potential null-pointer dereference and crash in the case where one thread is calling sqlite3_column_text() and another thread is calling sqlite3_step() on the same prepared statement at the same instant. (check-in: ee1382a363 user: drh tags: trunk)
18:53
Remove the internal sqlite3CodeOnce() interface, replacing it with a direct call to sqlite3VdbeAddOp0(v,OP_Once). Slightly smaller and faster. (check-in: c3774c6a5f user: drh tags: trunk)
18:46
Makefile changes to support building winsqlite3.dll using STDCALL rather than CDECL. (check-in: 5e892d6093 user: mistachkin tags: trunk)
2016-09-21
23:58
Fix speedtest1.c so that it works with SQLITE_OMIT_DEPRECATED. Add the --lean and --cachesize options to speed-check.sh. (check-in: 7785b3a257 user: drh tags: trunk)
19:43
Fix a problem with the fts5 auxiliary function API causing a crash when a query contained a phrase of zero terms. (check-in: 0741812d7f user: dan tags: trunk)
19:00
Do not run vacuummem.test if ENABLE_MEMORY_MANAGEMENT is defined. (check-in: 4a613d8564 user: dan tags: trunk)
18:18
Fix obsolete requirements marks. Add new tests for VACUUM of attached databases. (check-in: 2b44f9aa7d user: drh tags: trunk)
17:53
Avoid running vacuum5.test in auto-vacuum mode. (check-in: be184befa0 user: dan tags: trunk)
17:47
Do not run test "delete_db.test" with either the journaltest or inmemoryjournal permutations. Ensure that the multiplexor tests in delete_db.test are performed in non-autovacuum mode. (check-in: 46b7d19e02 user: dan tags: trunk)
14:41
Update the fts5vocab table to handle "ORDER BY term" efficiently. (check-in: d4928fb5cd user: dan tags: trunk)
2016-09-20
22:04
Improved implementation of 64-bit signed integer multiply that correctly detects overflow (and promotes to floating-point) in some corner cases. Fix for ticket [1ec41379c9c1e400] (check-in: db3ebd7c52 user: drh tags: trunk)
17:49
Fix harmless compiler warning. (check-in: 7242906395 user: mistachkin tags: trunk)
17:38
Fix typo in comment. (check-in: bd3ecbb5c1 user: mistachkin tags: trunk)
01:46
Further performance enhancements in zeroblob() handling. (check-in: 21b0e3b75c user: drh tags: trunk)
01:19
Avoid unnecessary calls to ExpandBlob() for smaller and faster code. (check-in: 5e196fd181 user: drh tags: trunk)
2016-09-19
23:39
Very small optimization in the bytecode engine. (check-in: 46002511e5 user: drh tags: trunk)
11:00
Fix a segfault introduced by the row-value enhancement that comes up on a skip-scan where the first term of the index is unconstrained and the second term is of the form "columm IN (SELECT...)". (check-in: 2401ea5acf user: drh tags: trunk)
10:24
Improved performance in sqlite3ExprCodeTarget(). (check-in: 75146165dc user: drh tags: trunk)
02:19
Small performance optimization in the expression walker. (check-in: c6e6afb939 user: drh tags: trunk)
2016-09-18
16:08
Revise the implementation of OP_Once so that it is smaller, faster, and uses less memory. This also fixes an obscure bug introduced 3 days ago by check-in [5990a1bdb4a073]. (check-in: 6bf5ba10d2 user: drh tags: trunk)
2016-09-17
22:46
Minor enhancement to the TclKit batch tool: it should download the TclKit EXE alone when the TCLKIT_NOENV environment variable is set. (check-in: baceb988c6 user: mistachkin tags: trunk)
19:34
Small performance optimization in the freeSpace() routine of btree.c. (check-in: 63962e2a92 user: drh tags: trunk)
17:39
Improved description of the ElseNotEq opcode in comments. No changes to code. (check-in: e011435e2f user: drh tags: trunk)
2016-09-16
20:39
Fix typo in the name of a Win32 string conversion routine. Replace several uses of raw_printf() with utf8_printf() in the shell. (check-in: 6fc95dd7a0 user: mistachkin tags: trunk)
19:42
If no KEY is specified on ATTACH, copy the main schema key if the key size is non-zero. In other words, allow for -1 as a valid key size in support of the --textkey to SEE. (check-in: 03573887db user: drh tags: trunk)
19:11
Fix problems with the fileRead() function in the command-line shell. Fix a harmless memory leak in the command-line shell, to make validation testing easier. (check-in: e660402e5e user: drh tags: trunk)
18:53
Remove the #ifdef SQLITE_DEBUG from around the testcase_glob() routine in the command-line shell. (check-in: 9885dac4b9 user: drh tags: trunk)
17:50
Merge recent changes from trunk. (check-in: e3d9efa277 user: drh tags: apple-osx)
16:30
Fix a problem causing incorrect code to be generated for IN constraints like "a IN (1, 2, 3)" where column "a" is a rowid column with an extra UNIQUE index created on it. Ticket [0eab1ac759]. (check-in: a92aee5520 user: dan tags: trunk)
15:42
Replace a faulty assert() with a testcase() to assure the condition is tested. Ticket [0eab1ac7591f]. (check-in: a49bc0a824 user: drh tags: trunk)
14:50
Add WHERETRACE macros showing every entry and exit from whereLoopAddBtreeIndex(). (check-in: e7653decdc user: drh tags: trunk)
11:53
Fix SQLITE_OMIT_AUTHORIZATION so that it compiles cleanly. (check-in: a3e3b3e1c5 user: drh tags: trunk)
02:52
In the shell, make ".testcase" and ".check" available in all configurations, not just SQLITE_DEBUG. All testcases to be named. Show the result of each testcase on stdout. (check-in: 792afefa9c user: drh tags: trunk)
00:26
In the command-line shell, add the --new option to the ".open" command. Also, report the current database filename as part of the ".show" command. (check-in: 8e5c920391 user: drh tags: trunk)
2016-09-15
21:35
Add the ".testcase" and ".check" dot-commands in the shell, when compiled using SQLITE_DEBUG. (check-in: 62289f27ee user: drh tags: trunk)
19:15
Omit the sqlite3Apis constant object when compiling with SQLITE_OMIT_LOAD_EXTENSION, since it is not used. (check-in: 7b10461370 user: drh tags: trunk)
14:54
Remove no-op code (adding an assert() to prove that the code was no-op) in the text affinity logic of the bytecode engine comparison operators. (check-in: b9f5bdbf40 user: drh tags: trunk)
05:47
Fix a typo in a comment in sqlite.h.in. No changes to code. (check-in: 12df715210 user: dan tags: trunk)
00:32
Slight size reduction and performance increase in sqlite3VdbeHalt(). (check-in: 5990a1bdb4 user: drh tags: trunk)
00:04
Optimization to vdbeRecordCompareInt() makes it slightly smaller and faster. (check-in: 5a2a7712cb user: drh tags: trunk)
2016-09-14
18:56
Update comments used to generate API documentation to include the new "[dateof:3.X.Y]" notation for dates of release where appropriate. No changes to code. (check-in: 55f7f8ee5b user: drh tags: trunk)
01:43
Backport the ORDER BY LIMIT optimization to version 3.8.9. (check-in: db3614825f user: drh tags: branch-3.8.9)
2016-09-12
18:50
Version 3.14.2 (check-in: 29dbef4b85 user: drh tags: release, branch-3.14, version-3.14.2)
14:23
Fix a bug in sqldiff causing it to confuse blobs zero bytes in size with NULL values. (check-in: 264e9c7587 user: dan tags: trunk)
13:32
Add missing "finish_test" command to vacuum5.test. (check-in: 02f40c3b93 user: dan tags: trunk)
09:28
Have releasetest.tcl delete all test files except for "testfixture", "testfixture.exe", "sqlite3", "sqlite3.exe", "test.log" and "test-out.txt" after each test run is finished. Passing the "--keep" option restores the old behaviour. (check-in: e0e042dca9 user: dan tags: trunk)
2016-09-10
19:51
Changes to give a warning-free build with SQLITE_OMIT_INCRBLOB and SQLITE_OMIT_SHARED_CACHE. (check-in: 711c59171b user: drh tags: trunk)
14:43
Add test code to delete an SQLite database and its auxiliary files. (check-in: 8a9d128119 user: dan tags: trunk)
2016-09-09
20:26
Make the new file test_delete.c portable to MSVC on Windows. (Closed-Leaf check-in: 0e3ace39f2 user: mistachkin tags: test_delete)
20:23
Remove an unnecessary call to sqlite3VdbeMemExpandBlob() when casting to text. (check-in: 19e2e59505 user: drh tags: trunk)
20:00
Add new file test_delete.c, containing test code for deleting an sqlite database. (check-in: fb0b95e940 user: dan tags: test_delete)
19:33
Performance improvements to the comparison operators in the bytecode engine. (check-in: 37803b19d2 user: drh tags: trunk)
15:12
Fix a out-of-order variable declaration for some compile-time configurations. (check-in: 6ac932c92a user: drh tags: trunk)
13:23
In releasetest.tcl, the --srcdir option is automatic, so no need to mention it in the --help output. (check-in: 2bdd838e2c user: drh tags: trunk)
13:17
Fix an obsolete comment in the releasetest.tcl source code. (check-in: afaaa276b2 user: drh tags: trunk)
12:29
In releasetest.tcl: Improved testing for uncommitted changes. If uncommitted changes are seen, exit immediately unless the --force option is used. (check-in: 9a14e6c46c user: drh tags: trunk)
2016-09-08
23:18
Remove an extra space before function names in the amalgamation. Cherrypick of [20f3c7436f6a8a7bab39]. (check-in: a04a21ad5a user: mistachkin tags: branch-3.14)
23:16
Remove an extra space before function names in the amalgamation. (Closed-Leaf check-in: 20f3c7436f user: mistachkin tags: callbackConv)
23:12
Issue a warning and prompt the user to continue if the releasetest.tcl script is run in a checkout with uncommitted changes. (check-in: 30e917fff0 user: drh tags: trunk)
2016-09-07
20:12
Fix the sqlite3_trace_v2() interface so that it goes disabled if either the callback or mask arguments are zero, in accordance with the documentation. Cherrypick of [37e6c54b1afc6348]. (check-in: e9acf61613 user: mistachkin tags: branch-3.14)
19:54
Add support for row-value comparisons, including IN operators, and row-value updates in the UPDATE statement. (check-in: ddb5f0558c user: drh tags: trunk)
19:47
Fix the extra comments (added with -DSQLITE_ENABLE_EXPLAIN_COMMENTS) so that the sense of <, <=, >, and >= tests is correct and so that the SQLITE_STOREP2 version is shown correctly. Cherrypick of [4d43c4698eef4e3d]. (check-in: c844f3daa9 user: mistachkin tags: branch-3.14)
19:37
Fix a problem handling expressions like "(a, b) IN (SELECT ... ORDER BY 1, 2)" when there is an index on "a" but not "b". (Closed-Leaf check-in: 7f2c5c9ee3 user: dan tags: rowvalue)
19:31
Merge selected test fixes from trunk. (check-in: 71866b367f user: mistachkin tags: branch-3.14)
19:23
Sync up the MSVC makefiles. (check-in: b3777e1f8e user: mistachkin tags: branch-3.14)
18:20
Merge recent enhancements from trunk. (check-in: 00759af053 user: drh tags: apple-osx)
18:11
Add the ext/misc/memvfs.c extension that implements a VFS for read-only database files contained in memory. (check-in: 12b7782a9a user: drh tags: trunk)
13:30
Simplify the affinity handling logic in codeAllEqualityTerms(). Logically the same, just a little easier to read and understand. (check-in: bbab9621f5 user: drh tags: rowvalue)
13:20
Fix the ".read" command in the command-line shell so that it understands that the input is not interactive. (check-in: 7c2c0d1dce user: drh tags: branch-3.14)
13:12
Merge fixes from trunk. (check-in: 193f036c87 user: drh tags: rowvalue)
12:47
Version number to 3.14.2. (check-in: 925ef2f915 user: drh tags: branch-3.14)
12:41
Makefile changes to support building winsqlite3.dll using STDCALL rather than CDECL. (check-in: af951e036e user: drh tags: branch-3.14)
12:20
Correct affinity computations for a SELECT on the RHS of an IN operator. Fix for ticket [199df4168c]. (check-in: 2d1983ff9f user: drh tags: branch-3.14)
12:08
The ORDER BY LIMIT optimization is not valid unless the inner-most IN operator loop is actually used by the query plan. Fix for ticket [0c4df46116e90f92]. (check-in: b4f8be1f32 user: drh tags: branch-3.14)
11:27
Fix a problem in internal function sqlite3OpenTableAndIndices causing an operand of an unrelated VM instruction to be overwritten. Fix for [ef360601]. (check-in: e5c30f227b user: drh tags: branch-3.14)
10:10
Fix the ".read" command in the command-line shell so that it understands that the input is not interactive. (check-in: d8451fe84d user: drh tags: trunk)
01:51
The ORDER BY LIMIT optimization is not valid unless the inner-most IN operator loop is actually used by the query plan. Fix for ticket [0c4df46116e90f92]. (check-in: 820644b886 user: drh tags: trunk)
2016-09-06
19:08
Remove obsolete vector-IN test cases. Fix a bad testcase() macro. (check-in: ab3f8f193a user: drh tags: rowvalue)
18:51
Fix corer cases of vector IN operators where the RHS is a compound SELECT that includes an ORDER BY clause. (check-in: 8329ac6f8d user: drh tags: rowvalue)
17:21
Remove an unnecessary branch from expr.c. (check-in: 7cc9746c54 user: dan tags: rowvalue)
17:13
Avoid unnecessary memory allocations for aiMap in codeEqualityTerm(). (check-in: 70319c3d76 user: drh tags: rowvalue)
16:53
Avoid a NULL pointer deref in codeAllEqualityConstraints() following an OOM. (check-in: c6e528c1c0 user: drh tags: rowvalue)
16:33
Simplify the fix in commit [7d9bd22c]. (check-in: bd5a342008 user: dan tags: rowvalue)
15:25
Fix the header comment on codeEqualityTerm(). (check-in: b7e710e406 user: drh tags: rowvalue)
14:58
Fix a problem handling (a, b) IN (SELECT ...) expressions when there is an index on just one of "a" or "b". (check-in: 231c72d9f6 user: dan tags: rowvalue)
14:37
Enhance the sqlite3GetTempRange() and sqlite3ReleaseTempRange() internal routines so that they use sqlite3GetTempReg() and sqlite3ReleaseTempReg() when nReg==1. (check-in: 4071da2f87 user: drh tags: rowvalue)
12:04
Fix a typo in a comment in expr.c. (check-in: 288e934f35 user: dan tags: rowvalue)
2016-09-05
22:50
Simplified logic to extract a column from a row value. (check-in: e8f105c300 user: drh tags: rowvalue)
20:46
Sync up the MSVC makefiles. (check-in: f66d0d8cf6 user: mistachkin tags: callbackConv)
20:40
Merge updates from trunk. (check-in: ea635bf97e user: mistachkin tags: callbackConv)
19:57
Fix an assert() so that it does C-compiler does not combine an assert() conditional with a production code conditional and thereby confuse the mutation testing script. (check-in: 2fa5288a7e user: drh tags: rowvalue)
15:02
Simplifications to the SQLITE_KEEPNULL flag on VDBE comparison operators. (check-in: 96269f0179 user: drh tags: rowvalue)
12:12
Do vector comparison size checking early - at name resolution time - to forestall future problems. (check-in: ae127bcc0a user: drh tags: rowvalue)
12:02
Catch vector size mismatch problems during name resolution to avoid later problems. (Closed-Leaf check-in: 56562a0346 user: drh tags: early-vector-size-check)
09:44
Fix a crash that could occur under certain circumstances if the vectors on either side of a comparison operator were of a different size. (check-in: 42670935ab user: dan tags: rowvalue)
2016-09-03
19:52
Fix a problem causing the affinity of sub-select row-value elements to be ignored in some contextes. (check-in: 7d9bd22c07 user: dan tags: rowvalue)
16:24
Merge the fuzzershell enhancement from trunk. (check-in: ed20604848 user: drh tags: rowvalue)
16:23
Build the generate_series(START,END,STEP) table-valued function into fuzzershell, to make it easier to construct compact test cases that contain actual data. (check-in: 672c21bcf0 user: drh tags: trunk)
15:31
Consider the affinity of "b" when using an "a IN (SELECT b ...)" expression with an index on "a". Fix for [199df416]. (check-in: f5e4985541 user: dan tags: rowvalue)
01:46
Performance optimizations. (check-in: f1d06c49ba user: drh tags: rowvalue)
2016-09-02
23:56
Merge recent changes from trunk. (check-in: c7271fbde1 user: drh tags: rowvalue)
21:34
Add a test case for the OOM handled by the previous commit. (check-in: 9bdf7ca1b3 user: dan tags: trunk)
21:17
Correctly detect an OOM occurring in the setDestPgsz() subroutine of backup. (check-in: d9d8a048d4 user: drh tags: trunk)
17:27
The previous commit could miss an SQLITE_NOMEM error. This commit catches it. (Closed-Leaf check-in: 3a9f4750a6 user: dan tags: mistake)
17:18
Within a backup operation, ensure that a read-transaction is opened on the source database before its page size is read. This ensures the page-size used to write to the backup database is the same as its actual page-size, which is important for ZipVFS databases. (check-in: 7908fc6049 user: dan tags: trunk)
2016-09-01
14:03
Have "sqldiff --rbu" ignore rows with NULL values in primary key fields. RBU can't handle such rows and the documentation already says sqldiff ignores them. Because the code now uses "=" instead of "IS" to filter on primary key columns, diffs on virtual tables are faster now too. (check-in: f4ba894a86 user: dan tags: trunk)
09:35
If SQLITE_ENABLE_ZIPVFS is defined, journal_mode=off is configured and a savepoint or statement rollback is attempted, move the pager into the error state to prevent the transaction from being committed. This makes it safe to use journal_mode=off with zipvfs under some conditions. (check-in: 38d31e189e user: dan tags: trunk)
2016-08-29
14:18
Use some of the example code from the sessions documenatation in the sessions test cases. (check-in: 6602974d17 user: dan tags: trunk)
2016-08-27
20:21
Fix typos in comments. No changes to running code. (check-in: a07269f2a0 user: drh tags: trunk)
18:35
Fix some comments in sqlite3session.h. No changes to code. (check-in: 78cd64e202 user: dan tags: trunk)
18:34
Fixes to fts5 snippet() function. (check-in: d464a7b18d user: dan tags: trunk)
14:13
Merge updates from trunk. (check-in: 082fd5f8ac user: drh tags: rowvalue)
14:05
Fix the extra comments (added with -DSQLITE_ENABLE_EXPLAIN_COMMENTS) so that the sense of <, <=, >, and >= tests is correct and so that the SQLITE_STOREP2 version is shown correctly. These changes are already in the rowvalue branch but are added here since they are technically unrelated to rowvalue. (check-in: 4d43c4698e user: drh tags: trunk)
01:41
Fix the "Synopsis" on the OP_Lt, OP_Le, OP_Gt, and OP_Ge opcodes, which has been backwards for time out of mind. (check-in: f51248dcfa user: drh tags: rowvalue)
2016-08-26
22:09
Fix a minor problem in sqlite3FindInIndex() related to rowids being used as part of the index. (check-in: 829f802be7 user: drh tags: rowvalue)
21:15
Fix the sqlite3FindInIndex() to ensure that it always uses a prefix of the index and uses no repeated columns. Enhanced comments. (check-in: b9fc89e432 user: drh tags: rowvalue)
19:54
Add an EXPLAIN QUERY PLAN line for when a index is used to implement an IN operator. (check-in: 171aa833a2 user: drh tags: rowvalue)
19:47
Add test cases to rowvalue2.test. (check-in: 078bb69e99 user: dan tags: rowvalue)
19:31
Enhance sqlite3FindInIndex() so that it is able to make use of the primary keys at the end of an index. (check-in: 4b589fbfcc user: drh tags: rowvalue)
18:17
Fix a post-OOM crash in updateRangeAffinityStr(). Add several ALWAYS() macros on unreachable branches. (check-in: 87d40195ae user: drh tags: rowvalue)
17:54
Fix a problem with affinity changes and vector range comparisons. (check-in: b34413ac7e user: dan tags: rowvalue)
13:19
Allow ROWID values in indexed vector comparisons. (check-in: b0cc6be4eb user: drh tags: rowvalue)
12:00
Fix a problem in internal function sqlite3OpenTableAndIndices causing an operand of an unrelated VM instruction to be overwritten. Fix for [ef360601]. (check-in: 7090147903 user: dan tags: trunk)
04:32
Rename a test procedure in 'speed3.test' to avoid a name collision. (check-in: 84de17bc68 user: mistachkin tags: trunk)
03:42
Comment improvements. Put ALWAYS and NEVER macros on three unreachable branches. (check-in: 397617009e user: drh tags: rowvalue)
02:10
Adapt the special case of '$' in item names for test 'vtabH-3.1' as well. (check-in: e4aeaa2bc7 user: mistachkin tags: trunk)
01:47
Make the test 'vtabH-3.1' work when there are less than 5 top-level items. (check-in: 328f79bb57 user: mistachkin tags: trunk)
01:17
Support running the fstree tests in 'vtabH.test' on Windows when not using the system drive. (check-in: 3680f95ff3 user: mistachkin tags: trunk)
01:02
Remove an unreachable branch from sqlite3ExprAffinity() (check-in: 9d96f61481 user: drh tags: rowvalue)
2016-08-25
23:24
Fix typos in 'vtabF.test' file. No changes to code. (check-in: a8546feec9 user: mistachkin tags: trunk)
22:31
Merge recent changes from trunk. (check-in: 5789aab8ef user: drh tags: rowvalue)
22:06
Fix the sqlite3_trace_v2() interface so that it goes disabled if either the callback or mask arguments are zero, in accordance with the documentation. (check-in: 37e6c54b1a user: drh tags: trunk)
21:14
Refactor the sqlite3ExprCodeIN() routine for improved maintainability. (check-in: b56705ae63 user: drh tags: rowvalue)
17:47
Another fix in the IN-operator algorithm description. (check-in: f474aeac4f user: drh tags: rowvalue)
17:40
Further refinement of the in-operator.md documentation. (check-in: df0648373a user: drh tags: rowvalue)
15:46
Improvements to IN operator code generator comments. Avoid unnecessary Copy operations on the LHS of the IN operator. (check-in: b634429878 user: drh tags: rowvalue)
14:23
Corrections to the IN-operator notes. (check-in: 25033ee945 user: drh tags: rowvalue)
14:00
Add notes on the implementation of the IN operator. (check-in: d256b2caeb user: drh tags: rowvalue)
2016-08-24
21:54
Simplified VDBE code for the vector NOT IN null-scanning loop. (check-in: 7ae504e62e user: drh tags: rowvalue)
21:24
Improved extended comments of comparison operators when the SQLITE_STOREP2 flags is set on P5. No changes to non-debug code. (check-in: bbc1b01616 user: drh tags: rowvalue)
19:58
Modularize all use of the calling convention macros based on the USE_STDCALL nmake macro. (check-in: e4a56197b0 user: mistachkin tags: callbackConv)
19:14
Add the sqlite3changebatch_db() API. (check-in: bee44ebc53 user: dan tags: changebatch)
18:51
In sqlite3FindInIndex(), improve internal comments and avoid an unreachable branch. (check-in: 55945fc12f user: drh tags: rowvalue)
18:50
Fix a bug in the fts5 snippet function causing it to return text containing zero phrase instances. (Closed-Leaf check-in: b174ed2bde user: dan tags: fts5-snippet-bias)
18:49
Merge updates from trunk. (check-in: 428fc38d95 user: mistachkin tags: callbackConv)
18:21
Sync up the MSVC autoconf makefile. (check-in: 77f7c31a3a user: mistachkin tags: trunk)
17:49
Fix more unreachable branches. (check-in: 6099c180db user: drh tags: rowvalue)
15:37
Add a NEVER() on an unreachable branch in comparisonAffinity(). (check-in: 505a2f20ea user: drh tags: rowvalue)
12:22
Fix a buffer overrun in the code for handling IN(...) operators when the LHS of the operator contains indexed columns or expressions. (check-in: f41a0391b7 user: dan tags: rowvalue)
00:51
The previous OOM fix was bad. Back it out and replace it with a better one. (check-in: 1e3bc3698a user: drh tags: rowvalue)
00:25
Avoid a potential null-pointer dereference following an OOM. (check-in: 25f6ed8de4 user: drh tags: rowvalue)
2016-08-23
19:02
Simplify the row value misuse error message. (check-in: 838c50a5bf user: drh tags: rowvalue)
19:02
Add further tests for changebatch. And a fix to prevent a changeset from conflicting with itself. (check-in: 506d6ff4b6 user: dan tags: changebatch)
18:30
Fix a problem with rowvalue UPDATE when the rowvalue is not the left-most and the RHS is a multi-column subquery. (check-in: e149e6b93a user: drh tags: rowvalue)
18:09
Fix harmless compiler warnings in changebatch. (check-in: a721a73818 user: drh tags: changebatch)
17:30
Fix an uninitialized variable in CASE expression code generation. (check-in: c8ffae05e1 user: drh tags: rowvalue)
17:02
Add a new method to sessions - sqlite3sessions_fullchangeset() - to return a changeset that always contains values for all old.* fields. Update changebatch to use these values to more reliably detect multi-column UNIQUE constraint violations. (check-in: efa761b2f5 user: dan tags: changebatch)
14:42
Fix the SQLITE_USER_AUTHENTICATION login check so that the SQLITE_AUTH_USER error code correctly propagates and is not overwritten by SQLITE_ERROR. (check-in: c640489db2 user: drh tags: trunk)
2016-08-22
21:01
Add a couple of extra tests to changebatch1.test. (check-in: 207d970b79 user: dan tags: changebatch)
20:49
Add an experimental module to detect conflicts between sessions changesets. (check-in: 0c9fd6b723 user: dan tags: changebatch)
20:10
Add support for the SQLITE_DBCONFIG_MAINDBNAME configuration option. (check-in: 7839519349 user: drh tags: trunk)
14:30
Fix the vector BETWEEN operator so that it only evaluates the left-most vector expression once. Add support for vector comparisons in the CASE operator. (check-in: 07e69f43a2 user: drh tags: rowvalue)
00:48
Reinstate the mechanism in BETWEEN that avoids evaluating the first expression more than once, but fix the affinity extractor so that it works with this mechanism. The de-duplication of the first expression still does not work for vector expressions, though. (check-in: 2f39987f21 user: drh tags: rowvalue)
2016-08-20
22:49
The docs promise the in "x BETWEEN y AND z" the x expression is only evaluated once. That is no longer true, and so some tests are failing. This needs to be fixed before merging to trunk. (check-in: e50d264fdc user: drh tags: rowvalue)
21:11
Further comment enhancements. No changes to code. (check-in: d4562a9e7b user: drh tags: rowvalue)
21:02
Clarification of code comments in expr.c. Clean up the implementations of sqlite3ExprIsVector() and sqlite3ExprVectorSize() slightly. (check-in: 4fb66d6592 user: drh tags: rowvalue)
18:06
Fixes for problems following OOM errors. (check-in: 9041ee4a6f user: drh tags: rowvalue)
17:23
Fix other minor problems with the fts5 snippet() function. (check-in: b56b2a85cf user: dan tags: fts5-snippet-bias)
17:00
Do not duplicate the Expr.pLeft subtree of a TK_SELECT_COLUMN node. (check-in: 8384c77ebb user: drh tags: rowvalue)
15:01
Fix a segfault that could occur if a query that used a vector comparison contained certain types of syntax errors. (check-in: 203f07c5e1 user: dan tags: rowvalue)
12:00
Improvements to the vector comparison splitter in exprAnalyze(). (check-in: a3ffd283bc user: drh tags: rowvalue)
01:06
Improvements to comments. No code changes. (check-in: 4165d20f64 user: drh tags: rowvalue)
00:51
Add support for vector assignments in the SET clause of an UPDATE statement. (check-in: f320d47d6b user: drh tags: rowvalue)
00:07
Change the way TK_SELECT_COLUMN is handled so that the subquery is only generated once even if part of the vector comparison is used for indexing and the other part is now. This change also is a pathway to vector assignment in UPDATE statements. (check-in: d8feea7dcd user: drh tags: rowvalue)
2016-08-19
19:58
Replace the magic number (-2) with its symbol XN_EXPR in the exprMightBeIndexed() routine. No logic changes. (check-in: d4a5af69cc user: drh tags: rowvalue)
19:12
Improved comments on sqlite3CodeSubquery(). No changes to code. (check-in: acea4ee136 user: drh tags: rowvalue)
18:40
Show the WhereTerm.iField value on debugging output, when it is non-zero. (check-in: 931c95358d user: drh tags: rowvalue)
18:37
Register any built-in fts5 module before loading automatic extensions. This allows automatic extensions to register fts5 tokenizers and auxiliary functions. (check-in: b10e31dce8 user: dan tags: fts5-snippet-bias)
18:28
Fix an obsolete comment on codeEqualityTerm(). No changes to code. (check-in: d07be5afb0 user: drh tags: rowvalue)
15:41
Merge recent enhancements from trunk. (check-in: b17872363b user: drh tags: rowvalue)
15:17
Merge the VACUUM attached database enhancement from trunk. (Closed-Leaf check-in: 12d5e38d26 user: drh tags: dbconfig_maindbname)
15:15
Enhance the VACUUM command so that it can operate on an attached database. (check-in: 083f9e6270 user: drh tags: trunk)
15:12
Disable row counting on queries run while doing a VACUUM. (Closed-Leaf check-in: ad35ef1162 user: drh tags: vacuum-attached-db)
14:25
Have the fts5 snippet() function avoid favouring snippets that begin with sentences that do not contain search terms. Add an extra bias in favour of the first sentence in the document. (check-in: d8180af2ad user: dan tags: fts5-snippet-bias)
14:20
Add the capability to VACUUM an attached database by specifying the schema name as an argument to the VACUUM command. Since version 2.0, VACUUM has accepted an argument which was silently ignored. Now it has meaning. (check-in: 29d63059b4 user: drh tags: vacuum-attached-db)
2016-08-18
22:44
Add the SQLITE_DBCONFIG_MAINDBNAME interface. (check-in: d6e3d5796c user: drh tags: dbconfig_maindbname)
22:19
Change the name of Db.zName to Db.zDbSName for improved long-term code maintainability. (check-in: cb9865e14d user: drh tags: trunk)
20:56
Fix a zName to zDbSName conversion missed in the previous check-in. (Closed-Leaf check-in: d7cf423cdc user: drh tags: zDbSName)
19:04
Fix a SQL NULL handling bug in the vector IN operator code generation. (check-in: 936146b12e user: drh tags: rowvalue)
18:09
Display SELECT_COLUMN expressions in the .wheretrace debugging output. (check-in: 3b27a5da10 user: drh tags: rowvalue)
17:55
Display VECTOR expressions in .wheretrace and .selecttrace debugging output. (check-in: 157347e258 user: drh tags: rowvalue)
15:36
Since the TK_VECTOR token is not actually used by the parser, make it an extra token code added by the tool/addopcodes.tcl script during parser build. (check-in: b40b202c1f user: drh tags: rowvalue)
15:21
Merge recent enhancements from trunk. (check-in: 4768a1066c user: drh tags: rowvalue)
15:15
Simplify the vector comparison code generator logic, and the resulting VDBE code. (check-in: e2ad0b5d8e user: drh tags: rowvalue)
14:47
Adjust some tests to account for recent changes to the fts5 snippet function. (check-in: 184ecbe9c0 user: dan tags: fts5-snippet-bias)
14:33
Rename the Db.zName field to Db.zDbSName to make it more descriptive and to distinguish it from all of the other "zName" variables scattered throughout the code. (check-in: 92a22f0134 user: drh tags: zDbSName)
2016-08-17
19:05
Bias the fts5 snippet() function to return snippets that look like they start at the start of sentences. (check-in: 60de159476 user: dan tags: fts5-snippet-bias)
11:14
Fix a problem in the fts5 snippet() auxiliary function. (check-in: a861713cc6 user: dan tags: trunk)
2016-08-16
16:46
Fix a bug in destructor processing of Lemon. That has no impact on the SQLite grammar. The bug was introduced by prior work to optimize the Lemon-generated parser used by SQLite. (check-in: f9035b8e2e user: drh tags: trunk)
2016-08-13
14:30
Questionable changes to support interruptible checkpoint in ZipVFS. (Leaf check-in: c7a9f26d11 user: dan tags: interruptible-checkpoint)
14:17
Remove an unnecessary stack variable from sqlite3VdbeExec(). (Closed-Leaf check-in: c54bd9c82d user: drh tags: vector-compare)
13:03
Improvements to commits. No code changes. (check-in: 18f5a3bee4 user: drh tags: vector-compare)
12:37
Fix to the vector less-than operator. All legacy tests passing now. (check-in: ec70a67ebc user: drh tags: vector-compare)
10:34
Fix an fts5 problem with corrupt database handling found by address-sanitizer. (check-in: e22252e1da user: dan tags: trunk)
10:02
Attempt to simplify the logic and generated code for vector comparisons. Basic comparison operators are working, but there are many indexing test failures still to be worked through. (check-in: dfc028cfbe user: drh tags: vector-compare)
06:38
Fix a buffer overread in fts5. (check-in: fcfbee6c7d user: dan tags: trunk)
2016-08-12
16:21
Have wal file checkpoints exit early if the sqlite3_interrupt() API function is called. (check-in: 8a5f41c7b1 user: dan tags: interruptible-checkpoint)
11:25
Add VdbeCoverage() macros on newly added VDBE branch operations. (check-in: 381aa73141 user: drh tags: rowvalue)
11:01
Fix a post-OOM memory leak. (check-in: 14009b32b9 user: drh tags: rowvalue)
2016-08-11
19:12
Merge version 3.14 plus some subsequent patches (including the page-cache performance patch) from trunk. (check-in: d9f8918c5b user: drh tags: begin-concurrent)
18:53
Version 3.14.1 (check-in: a12d805977 user: drh tags: release, branch-3.14, version-3.14.1)
18:05
Add the "modeof=<filename>" URI parameter to os_unix.c - used to specify a file to copy permissions from when a new database is created. Also allow passing NULL as the second parameter to sqlite3rbu_vacuum(). (check-in: ed406d31ff user: dan tags: trunk)
13:51
Fix a 1 byte buffer overwrite in the "sqldiff --rbu" command. (check-in: 1adb22f51a user: drh tags: branch-3.14)
13:08
Increase the version number to 3.14.1. (check-in: 34aed3a318 user: drh tags: branch-3.14)
13:03
Enhance sqlite3PcacheTruncate() to run faster in the common case where the cutoff is just a few pages less than the page number highwater mark. (check-in: 03dceaea15 user: drh tags: branch-3.14)
12:31
Merge recent changes from trunk. (check-in: 959677b97b user: drh tags: rowvalue)
12:01
Fix some problems with handling "no such collation sequence" errors. (check-in: 8278be06fa user: dan tags: rowvalue)
09:55
Fix a 1 byte buffer overwrite in the "sqldiff --rbu" command. (check-in: ab83d7077d user: dan tags: trunk)
01:24
Fix a harmless compiler warning in FTS5. (check-in: 2ea0c8b46e user: drh tags: trunk)
2016-08-10
20:02
Optimization to sqlite3WhereExprUsage(). (check-in: 95493058fc user: drh tags: trunk)
19:43
List of MATCH operator names in isMatchOfColumn() should be constant. (check-in: 7319d676aa user: drh tags: trunk)
18:56
Performance enhancement in the expression walker. (check-in: ebccbd9609 user: drh tags: trunk)
15:02
Tweaks to pcache1TruncateUnsafe() to make it slightly smaller and faster and easier to test. (check-in: 059f4e2efe user: drh tags: trunk)
14:40
Rearrange the code inside sqlite3RunParser() routine so that sqlite3Parser() is only called from a single place. This allows sqlite3Parser() to be in-lined, which results in a 0.25% overall performance gain. (check-in: 25d1d02b3e user: drh tags: trunk)
13:34
Increment the version number to 3.15. (check-in: 8c2701e70a user: drh tags: trunk)
13:30
Improved comments on the lempar.c parser template. Adjust the YY_SHIFT_USE_DFLT constant in the Lemon-generated parser tables so as to guarantee that it is always out of range of the yy_lookahead[] table. (check-in: 83622f3f50 user: drh tags: trunk)
11:50
Fix pcache1TruncateUnsafe() run faster for the case where iLimit is very close to iMaxKey. (check-in: b07a26df06 user: drh tags: trunk)
03:35
Try to make pcache1TruncateUnsafe() run faster for the case where iLimit is very close to iMaxKey. (Leaf check-in: 9ab53605d5 user: drh tags: debug)
02:54
Remove all timers and other debugging logs except for the one timer on pcache1TruncateUnsafe(). (check-in: 5980e625db user: drh tags: debug)
01:43
Performance optimization in the yy_find_shift_action() routine of the Lemon-generated parser. (check-in: ba6663beef user: drh tags: trunk)
2016-08-09
21:08
Prototype for the remember(V,PTR) extension function. (Closed-Leaf check-in: f0942c362f user: drh tags: rememberFunc)
21:01
Fix harmless compiler warning. (check-in: 9a5a4f6e3b user: drh tags: trunk)
19:48
Minor update to the way fts5 column filters are parsed. (check-in: 14864f2b84 user: dan tags: trunk)
19:26
Have fts5 interpret column lists that begin with a "-" character as "match any column except" lists. (check-in: e517545650 user: dan tags: trunk)
11:44
Add another timer on pcache1TruncateUnsafe(). (check-in: 42ce53f648 user: drh tags: debug)
11:23
Add a debug timer to pcache1Truncate(). Change the formatting of some other messages to make them easier to read. (check-in: 7d0af4b53c user: dan tags: debug)
05:48
Add rowvalue5.test, which should have been part of the previous commit on this branch. (check-in: ea03e219ce user: dan tags: rowvalue)
01:21
Refocus the timer on the pager_end_transaction() routine. (check-in: 9d4eb6e475 user: drh tags: debug)
2016-08-08
20:15
Fix some cases involving row values and virtual tables. (check-in: 156a41f30a user: dan tags: rowvalue)
18:42
Fix the EXPLAIN QUERY PLAN output for row value range constaints that use an index. (check-in: bb60651163 user: dan tags: rowvalue)
16:52
Merge trunk changes with this branch. (check-in: 0e927a7e02 user: dan tags: rowvalue)
14:21
Merge all changes from the 3.14 release. (check-in: c3cd543f33 user: drh tags: apple-osx)
13:40
Version 3.14 (check-in: d5e9805702 user: drh tags: trunk, release, version-3.14.0)
2016-08-07
18:52
Fix documentation typos. No changes to code. (check-in: ebc396a19f user: drh tags: trunk)
2016-08-05
20:54
Have the TEA package build without SQLITE_OMIT_DEPRECATED. As it uses recently deprecated interfaces sqlite3_profile() and sqlite3_trace(). (check-in: 9557889883 user: dan tags: trunk)
16:16
Undo commit [f250166bb]. It is required to handle IO and other errors that occur within a VACUUM of a Zipvfs database. (check-in: ae72513af3 user: dan tags: trunk)
15:34
Remove an incorrect ALWAYS() statement and add a test case to show when the condition is sometimes false. (check-in: 0f57effa36 user: drh tags: trunk)
14:35
Fix a very obscure problem following OOM in sqlite3_declare_vtab(). (check-in: 68eac74874 user: drh tags: trunk)
2016-08-04
14:08
Add extra logging calls to this branch. (check-in: 491f1ef36e user: dan tags: debug)
13:39
Merge all recent enhancements from trunk. (check-in: dacfff5140 user: drh tags: apple-osx)
13:23
Revert the SQLITE_APICALL changes for now. That changes needs further research before it is released. Deferred until 3.15. (check-in: 9adda38526 user: drh tags: trunk)
12:35
Add the experimental SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION compile-time option. When enabled, the "unknown function" error is suppressed for EXPLAIN and a no-op function named "unknown()" is substituted. This facilitiates using the command-line shell to analyze queries from applications that contain many application-defined functions that are not normally available to the shell. (check-in: b7f30a9ff2 user: drh tags: trunk)
12:33
Add the experimental SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION compile-time option. When enabled, the "unknown function" error is suppressed for EXPLAIN and a no-op function named "unknown()" is substituted. This facilitiates using the command-line shell to analyze queries from applications that contain many application-defined functions that are not normally available to the shell. (check-in: e22ca3cdd0 user: drh tags: apple-osx)
09:13
Merge the ORDER BY LIMIT fix, and other enhancements, from trunk. (check-in: bf5a9542d0 user: drh tags: apple-osx)
09:09
Make sure the ORDER BY LIMIT optimization is not applied if the inner-most loop can only have a single iteration and is hence not really a loop. (check-in: 13e3bd3de6 user: drh tags: trunk)
01:47
Add an experimental SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION compile-time option. This changes has been merged into main branches via cherry-pick. (Closed-Leaf check-in: 4ada023ca0 user: drh tags: unknown-function)
2016-08-03
18:00
Fix a problem with estimating the number of rows visited by a query that uses a multi-column IN(SELECT...) constraint. (check-in: 3c2f908f5b user: dan tags: rowvalue)
16:39
Fix another problem involving vector range constraints and mixed ASC/DESC indexes. (check-in: 1559f4c434 user: dan tags: rowvalue)
16:14
Fix stat4-based cost estimates for vector range constraints. (check-in: 18af74abc8 user: dan tags: rowvalue)
14:51
Fix a typo in a comment in btree.c. No changes to code. (check-in: 722c128163 user: drh tags: trunk)
13:40
Fix the --help output on fuzzcheck so that it fix in an 80-character window. (check-in: b91444b5db user: drh tags: trunk)
2016-08-02
20:45
Add new test file rowvaluefault.test. (check-in: e496b2d639 user: dan tags: rowvalue)
20:42
Fix a unused variable that comes up with -DSQLITE_OMIT_DATETIME_FUNCS. (check-in: e2f9919e34 user: drh tags: trunk)
19:29
The 'replace.tcl' tool should use Unix line-endings. (check-in: 50de96314f user: mistachkin tags: trunk)
18:50
Add tests and fixes for vector operations that use sub-queries with different combinations of LIMIT, OFFSET and ORDER BY clauses. (check-in: 092b1c5ff5 user: dan tags: rowvalue)
17:45
Fix SQLITE_OMIT_SUBQUERY builds. (check-in: 339f85f414 user: dan tags: rowvalue)
17:07
Fix a problem with vector range constraints and mixed ASC/DESC indexes. (check-in: e2ad30c8b5 user: dan tags: rowvalue)
16:24
Merge latest trunk changes into this branch. (check-in: d468101b42 user: dan tags: rowvalue)
16:18
Add missing comments and make some code on this branch clearer. (check-in: 6937677cc2 user: dan tags: rowvalue)
13:26
Updates to requirements marks. No changes to code. (check-in: b23c10ac8f user: drh tags: trunk)
11:29
Fix a problem introduced by [77948b5eceab92a7] causing duplicate calls to be made to the xSavepoint() method of virtual tables under some circumstances. (check-in: e64a4173d2 user: dan tags: trunk)
08:45
Fix harmless compiler warnings in sqlite3_status(). (check-in: 7c38a79cdd user: drh tags: trunk)
2016-08-01
21:17
Update the wordcount.c test program and add a new script "time-wordcount.sh" for additional performance testing. (check-in: d8ef9f5864 user: drh tags: trunk)
20:14
Fix a problem with vector range constraints involving the rowid column. And other issues. (check-in: 3ef75d45eb user: dan tags: rowvalue)
17:06
Fix other harmless compiler warnings. (check-in: 90d2c490fc user: drh tags: trunk)
16:57
Remove a duplicate typedef from loadext.c (remaining copy is in sqlite3ext.h). (check-in: fd184e5a8f user: dan tags: trunk)
16:50
Add an extra compiler switch to loadext.test to ensure that it picks up the correct version of sqlite3.h when building a test extension. (check-in: e57fa6af32 user: dan tags: trunk)
16:37
Fix a problem with IN(...) constraints where the LHS is a sub-select that is an aggregate query. (check-in: 1f4dba87da user: dan tags: rowvalue)
15:00
Update releasetest.tcl to automatically do one round of tests with USE_STDCALL=1 when running on Windows with MSVC. (check-in: a6a112de48 user: drh tags: trunk)
14:35
Avoid making unnecessary changes to the signatures of the sqlite3_auto_extension() and sqlite3_cancel_auto_extension() interfaces. (check-in: b6ea2f21f6 user: drh tags: trunk)
2016-07-30
21:02
Fix problems with vector == comparisons and NULL values. (check-in: 059d0d0535 user: dan tags: rowvalue)
18:54
Fix harmless compiler warning seen with MSVC. (check-in: 390a38a142 user: mistachkin tags: trunk)
17:59
Merge latest trunk with this branch. (check-in: 63ae02d084 user: dan tags: rowvalue)
16:39
Remove the EP_Vector expression flag. (check-in: e9d9c6d46b user: dan tags: rowvalue)
03:33
A new version of the slow mutex log that uses gettimeofday() instead of trying to access the hardware timer. (check-in: 92b9fead35 user: drh tags: debug)
2016-07-29
20:58
Fix some issues with vector range constraints and the column cache. Also vector range constraints and rowid columns. (check-in: 42607366bf user: dan tags: rowvalue)
18:12
Change the way "(a, b) = (SELECT *)" expressions are handled in where.c if there is an index on one of the columns only. (check-in: 4dfebff292 user: dan tags: rowvalue)
17:36
Using the header file 'intrin.h' requires MSVC 2005 or later. (check-in: 9fae75c08b user: mistachkin tags: trunk)
16:32
Turn memory status off by default. (check-in: ea3c7162dc user: drh tags: debug)
14:31
Enhance a debugging log message to better identify a mutex. (check-in: e60cb6d885 user: dan tags: debug)
14:23
Use __sync_synchronous(), when available, instead of a mutex when a memory barrier is needed. (check-in: 7d4562e9d5 user: drh tags: debug)
14:10
Add calls to sqlite3_log() when sqlite3_mutex_enter() takes more than 100,000 CPU cycles. (check-in: 33c7ef7aca user: drh tags: debug)
04:12
For test 'shell1-5.0', disable round-trip testing for characters in the range 0xE0 to 0xEF on Linux, due to intermittent shell portability issues. (check-in: 544c990afd user: mistachkin tags: trunk)
02:04
Fix typo in a test file interactive output string. (check-in: 4fedd79023 user: mistachkin tags: trunk)
01:55
Merge additional linkage macro changes from the branch. (check-in: 8b0eb22ee1 user: drh tags: trunk)
01:49
Further refinement to the calling convention macros. (check-in: 45588de385 user: drh tags: trunk)
01:47
Merge updates from trunk. (check-in: 71ffa195f5 user: mistachkin tags: callbackConv)
01:46
Update the autoconf makefile for MSVC. (check-in: 2daf20980d user: mistachkin tags: callbackConv)
01:32
Undo some unhelpful changes to skip-scan scoring that were added by the check-in [9e2b2681] that improved scoring of index scan. (check-in: c7d51934a4 user: drh tags: trunk)
01:31
Add macro necessary for building several extensions when the __stdcall calling convention is not in use. (check-in: bc8c9b55dd user: mistachkin tags: callbackConv)
2016-07-28
23:58
Missed a couple Tcl command deletion callbacks. (check-in: fc5c187602 user: mistachkin tags: callbackConv)
23:54
Use the SQLITE_TCLAPI macro in several extensions that were missed in the previous check-in. (check-in: df2543652b user: mistachkin tags: callbackConv)
22:53
More compiler warning fixes for GCC related to the auto-extension mechanism. (check-in: b8218129bc user: mistachkin tags: callbackConv)
22:46
The return type used by the auto-extension entry points is 'int', not 'void'. (check-in: bf9c86c74f user: mistachkin tags: callbackConv)
22:38
Make sure all the auto-extension mechanism function signatures match up precisely. (check-in: 87ba69b5ca user: mistachkin tags: callbackConv)
22:23
Make the extension auto-loading mechanism work with the __stdcall calling convention. Also, fix a couple Tcl command calling conventions missed in the previous check-in. (check-in: 3ea567c4b0 user: mistachkin tags: callbackConv)
19:47
Fix further issues with multi-column IN(...) operators. Also some error handling cases surrounding row values. (check-in: cc3f6542be user: dan tags: rowvalue)
19:28
The 'sqlite3ext.h' content should be processed before being included in the amalgamation. (check-in: cbe1de4799 user: mistachkin tags: trunk)
18:55
Decorate all interfaces with calling convention macros. (check-in: fd784887e1 user: drh tags: trunk)
18:49
All SQLite API functions and callbacks in the 'sqlite3ext.h' header file must be decorated with the calling convention. (Closed-Leaf check-in: 97fc6e4328 user: mistachkin tags: callbackConv)
18:42
Merge recent trunk fixes. (check-in: 9765744586 user: drh tags: apple-osx)
18:38
Disable the authorizer callback when reparsing the schema. This avoids undesirable authorization failures following an ALTER TABLE. (check-in: 805d01cdab user: drh tags: trunk)
18:18
Fixup reserved function pointers in the Tcl stubs table and several macros containing Tcl function pointers. (check-in: 959cd0131a user: mistachkin tags: callbackConv)
18:06
Adjustments to get 'testfixture.exe' compiling with Tcl 8.6 when __stdcall is enabled. (check-in: 90e89ec9c8 user: mistachkin tags: callbackConv)
17:24
Improvements to the way the COMPILER compile-time option is set when compiling with Clang. (check-in: 81f9cf86c4 user: drh tags: trunk)
17:11
Make sure the SQLITE_TCLAPI macro is always defined and use it for all callback functions that must interface with the Tcl C API. (check-in: f2f1323cc4 user: mistachkin tags: callbackConv)
16:09
More work on getting the 'testfixture.exe' target to work correctly. (check-in: 36b72fd609 user: mistachkin tags: callbackConv)
15:38
Modify the mksqlite3h.tcl tool to handle the syscall typedef specially. (check-in: 478a84efa6 user: mistachkin tags: callbackConv)
15:09
Change mksqlite3h.tcl to automatically insert the SQLITE_CALLBACK calling convention macros. (check-in: 11ab9c9ab5 user: drh tags: callbackConv)
14:37
Allow the 'testfixture.exe' target to be compiled with the __stdcall calling convention. (check-in: e8be3dfeab user: mistachkin tags: callbackConv)
13:59
Merge latest trunk changes into this branch. (check-in: 9685880f7b user: dan tags: rowvalue)
12:52
New test case to insure legacy CREATE TABLE syntax is supported. (check-in: 6feff15cae user: drh tags: trunk)
04:14
Work in progress on setting a calling convention for all callback functions. (check-in: 02b8040e1a user: mistachkin tags: callbackConv)
2016-07-27
19:33
Fix some problems with multi-column IN(SELECT...) processing. (check-in: 719a3b2035 user: dan tags: rowvalue)
19:30
Enhance the query planner cost estimation for index scans to take into account WHERE clause terms that can be computed using only the index and that do not require looking up rows in the original table. This fixes an obscure performance regression that arose when the ORDER BY LIMIT optimization was added by check-in [bf46179d44843]. (check-in: 9e2b268114 user: drh tags: trunk)
19:20
Add test cases and fix a comment. (Closed-Leaf check-in: 50f8ea37fb user: drh tags: improved-index-scan)
18:27
When estimating the cost of an index scan, factor in the cost savings of being able to use the index to evaluate some WHERE clause terms without having to do a table lookup. (check-in: a59b5622f7 user: drh tags: improved-index-scan)
16:03
Initialize a variable in where.c to avoid a valgrind warning. (check-in: 4d59df02d3 user: dan tags: trunk)
2016-07-26
18:15
Merge latest trunk changes into this branch. (check-in: d4f3d52c5a user: dan tags: rowvalue)
18:06
Fix where.c handling of "IN (SELECT ...)" expressions when the SELECT returns more than one result column. Also error handling for other row value constructor cases. (check-in: 061b800603 user: dan tags: rowvalue)
15:17
Merge fixes to sqlite3_scrub_backup() from trunk. (check-in: 91e811f51e user: drh tags: apple-osx)
10:46
Ensure that the sqlite3_scrub_backup() extension creates a backup database at least as large as indicated by the database header, even if the last page of the input database is a free-list leaf. (check-in: 483994a54d user: dan tags: trunk)
04:54
Merge the cache_spill VACUUM fix from trunk. (check-in: cc6bfdf814 user: drh tags: apple-osx)
04:49
Copy the cache_spill setting from the main database over to the vacuum_db transient database when running a VACUUM. (check-in: c0e7d98ef2 user: drh tags: trunk)
04:31
Make sure affinity is applied correctly on lower-bound range constraints in the min() optimization. Fix for ticket [a0bac8b3c3d1bb]. (check-in: b819bace9c user: drh tags: trunk)
04:23
Make sure affinity is applied correctly on lower-bound range constraints in the min() optimization. Fix for ticket [a0bac8b3c3d1bb]. (check-in: 0e9f534fef user: drh tags: apple-osx)
2016-07-25
22:46
Merge the VACCUM cache_size adjustment from trunk. (check-in: cdb7efd01e user: drh tags: apple-osx)
22:40
In the VACUUM command, set the cache_size of the transient vacuum_db database to be the same as the database being vacuumed. (check-in: b78d99548a user: drh tags: trunk)
21:11
Fix a test case in FTS5 to make it compatible with Tcl 8.5. (check-in: a495f8e77e user: drh tags: trunk)
18:50
Add the experimental SQLITE_VACUUM_CACHE_SIZE macro. (check-in: 68ecd8e042 user: drh tags: apple-osx)
17:31
Merge 3.14 alpha changes from trunk. (check-in: e98cefb17d user: drh tags: apple-osx)
16:10
Minor test infrastructure changes to better support SEE testing. (check-in: 8dcb9d506b user: drh tags: trunk)
14:40
Add a new %ifdef to parse.y so that the build works with SQLITE_OMIT_SUBQUERY. (check-in: 38a48cfb9a user: drh tags: trunk)
14:20
Changes to test scripts to get them all running on OpenBSD. (check-in: 9e7bedeee4 user: drh tags: trunk)
12:10
Disable the DBSTATUS_CACHE_USED_SHARED tests on mac when memsys3/5 is disabled due to differences in the allocation sizes for the Darwin memory allocator. (check-in: d6f6c87c9c user: drh tags: trunk)
12:01
Update the vacuummem.test script so that it works on mac as well as on linux. (check-in: ea7fb98b96 user: drh tags: trunk)
11:57
If both MEMSYS3 and MEMSYS5 are enabled, than automatically disable MEMSYS3. (check-in: ccc22e14dc user: drh tags: trunk)
11:39
Another attempt at getting --enable-memsysN working. (check-in: 5f40e6ad59 user: drh tags: trunk)
11:32
Fix the --enable-memsysN options in configure so that they actually work. (check-in: 679552550e user: drh tags: trunk)
11:27
Add --enable-memsys3 and --enable-memsys5 options to the configure script. (check-in: 67e1dc9842 user: drh tags: trunk)
02:42
Evidence marks and code reformatting for SQLITE_TRACE_STMT operation. (check-in: e1e0223831 user: drh tags: trunk)
02:31
Change SQLITE_TRACE_STMT to return unexpanded SQL text in the X argument. Add documentation on how and when to use sqlite3_expanded_sql(P) to compute the expanded text for legacy sqlite3_trace() compatibility. (check-in: 163e15229d user: drh tags: trunk)
00:05
Fix code so that the deprecated sqlite3_trace() and sqlite3_profile() interfaces are not called when SQLITE_OMIT_DEPRECATED is used. (check-in: 1c5baae3c5 user: drh tags: trunk)
2016-07-23
20:27
Use sqlite3_trace_v2() instead of sqlite3_trace() in the shell. (check-in: c8e0539b97 user: drh tags: trunk)
20:24
Allow vector IN(SELECT ...) expressions to use an index if either all the indexed columns are declared NOT NULL or if there is no difference between the expression evaluating to 0 and NULL (as in a WHERE clause). (check-in: e2fd6f49b1 user: dan tags: rowvalue)
19:34
Add the json_quote() function to the JSON1 extension. (check-in: 269892abf6 user: drh tags: trunk)
19:18
Small tweak to the btree balancer for improved tree balance. (check-in: 8817dedb75 user: drh tags: trunk)
14:50
Fix recently added tests so that they work in all configurations. (check-in: d0bcaf0cd9 user: drh tags: trunk)
05:22
Add the sqlite3_expanded_sql() and sqlite3_trace_v2() interfaces. (check-in: 99a6c51887 user: drh tags: trunk)
04:58
Improvements to sqlite3_trace_v2() documentation. Fix the sqlite3VdbeExpandSql() routine to respond better to OOM conditions. (Closed-Leaf check-in: 0400f642d5 user: drh tags: sqlite3_trace_v2)
02:07
Add requirements marks to the sqlite3_trace_v2() interface documentation. (check-in: ebd388e94d user: drh tags: sqlite3_trace_v2)
00:43
Fix sqlite3VdbeExpandSql() so that it handles OOMs by always returning NULL. (check-in: 5a027fe412 user: drh tags: sqlite3_trace_v2)
2016-07-22
21:35
Revise a warning fix from the previous check-in to improve clarity. Also, fix an incorrect test prefix (typo). (check-in: f50a3fd660 user: mistachkin tags: trunk)
21:26
Fix harmless compiler warnings seen with MSVC. (check-in: 8bb6e6fced user: mistachkin tags: trunk)
20:45
Be sure to hold the database connection mutex while calling sqlite3VdbeExpand() from within sqlite3_expanded_sql(). (check-in: 527b5ba68c user: drh tags: sqlite3_trace_v2)
20:20
Add requirements marks to the sqlite3_expanded_sql() documentation. (check-in: 409535e6df user: drh tags: sqlite3_trace_v2)
17:58
Merge latest trunk changes with this branch. (check-in: 60fed5cdd4 user: dan tags: rowvalue)
10:09
Fix a problem with upper case module names in the "sqldiff --vtab" command. (check-in: 87e25fc472 user: dan tags: trunk)
2016-07-21
18:02
Add extra test cases to verify the fix in [64ca1a835]. (check-in: bf98a2de7e user: dan tags: trunk)
16:43
Add new test file vacuummem.test. To test that any temporary memory used by VACUUM is freed as soon as the VACUUM has finished (not, for example, when sqlite3_close() is finally called). (check-in: 1b1ad0b28c user: dan tags: trunk)
2016-07-16
11:47
Temporarily add extra sqlite3_log() calls to this version to help with debugging a performance problem. (check-in: 613c1ceaf4 user: dan tags: debug)
2016-07-15
19:17
Add the largely untested SQLITE_FTS5_NO_WITHOUT_ROWID compile time option to fts5. For building a dynamically loadable extension that does not use WITHOUT ROWID. (check-in: d0a1cf1c56 user: dan tags: trunk)
10:01
The sqlite3_expanded_sql() function compiles, but always returns NULL, when the SQLITE_OMIT_TRACE compile-time option is used. (check-in: 53c25ebe34 user: drh tags: sqlite3_trace_v2)
02:55
Merge fixes from trunk. Fix the tclsqlite.test script. (check-in: d2b1fa55e8 user: drh tags: sqlite3_trace_v2)
02:50
Disable the CSV extension when virtual tables are disabled. (check-in: ec7180892a user: drh tags: trunk)
01:49
Modify the Tcl test command 'sqlite3_bind_blob' to make use of the Tcl_GetByteArrayFromObj() API. (check-in: e03c81895e user: mistachkin tags: sqlite3_trace_v2)
00:39
Fix typo in sqlite3_trace_v2(). (check-in: 97ccf15fb7 user: mistachkin tags: sqlite3_trace_v2)
00:23
Corrections and enhancements for the new tests. (check-in: 20e74c6385 user: mistachkin tags: sqlite3_trace_v2)
00:09
Modify one test result to be case-insensitive. (check-in: 5ccbeeea7d user: mistachkin tags: sqlite3_trace_v2)
00:07
Add tests, including some for the sqlite3_expanded_sql() API. (check-in: 8b8c0b749a user: mistachkin tags: sqlite3_trace_v2)
2016-07-14
23:17
More work on the Tcl interface and tests for the sqlite3_trace_v2() API. (check-in: f3c4aa97d8 user: mistachkin tags: sqlite3_trace_v2)
21:26
Initial work on the Tcl API interface to the new sqlite3_trace_v2() function. (check-in: 7b59fa40a0 user: mistachkin tags: sqlite3_trace_v2)
20:19
Experimental patch restore the slight bias in btree-balancing immediately after the change to reduces the amount of memcpy() work done by balancing. (Leaf check-in: 46bd9533c0 user: drh tags: btree-balance-bias)
19:48
Minor tweak the the b-tree balancer. (Closed-Leaf check-in: d2a0af7a37 user: drh tags: btree-tuning)
19:13
Fix ALTER TABLE so that it does not promote the schema version past 3, as that will cause DESC indexes to go corrupt. Ticket [f68bf68513a1c]. (check-in: a7db6e45ad user: drh tags: trunk)
09:22
Fix copy/paste typo in the new sqlite3_expanded_sql() function. (check-in: e7d18c70d2 user: mistachkin tags: sqlite3_trace_v2)
01:13
Fix a parameter misordering on sqlite3_trace_v2() in the loadable extension interface. (check-in: 989de2d5b5 user: drh tags: sqlite3_trace_v2)
01:09
Add the sqlite3_expanded_sql() interface. Refinements to the sqlite3_trace_v2() interface to make it more useful. (check-in: 99ee7ee58d user: drh tags: sqlite3_trace_v2)
2016-07-13
23:18
Legacy tests now passing. (check-in: f33526a341 user: drh tags: sqlite3_trace_v2)
22:55
First cut at implementing the new sqlite3_trace_v2() interface. (check-in: cb0062feb0 user: drh tags: sqlite3_trace_v2)
21:30
Interface design for a new sqlite3_trace_v2() method that supersedes sqlite3_trace() and sqlite3_profile(). (check-in: 0c569f759f user: drh tags: sqlite3_trace_v2)
19:48
Modifications towards better vector IN(...) support on this branch. Not activated yet. (check-in: 34e35c71b2 user: dan tags: rowvalue)
13:05
Fix harmless compiler warnings in shell.c for NetBSD. (check-in: 824b39e54f user: drh tags: trunk)
00:55
Fix header comments and remove an unnecessary version restriction from the carray() table-valued function implementation. (check-in: 021d0fb8d8 user: drh tags: trunk)
2016-07-12
19:54
Fix the error counter reset in Lemon generated parsers. This has no effect on SQLite. (check-in: 3ef93950d3 user: drh tags: trunk)
2016-07-10
19:35
Merge comment typo fixes from trunk. (check-in: 728c5aa436 user: mistachkin tags: rowvalue)
19:35
Fix typos in comments. No changes to code. (check-in: 77c692a670 user: mistachkin tags: trunk)
2016-07-09
20:23
Add some support for using row value constructors in certain parts of SQL expressions. There are many bugs on this branch. (check-in: b2204215b2 user: dan tags: rowvalue)
17:47
Add the "#/value-list/" style of results for approximate value matching in the do_test command of the test infrastructure. Use this new result style to make the SQLITE_DBSTATUS_CACHE_SIZE_SHARED tests cross-platform. (check-in: c869bf34a8 user: drh tags: trunk)
17:15
Fix a compiler warning in test code - in the int64array_addr TCL command. (check-in: 29fb988f1a user: drh tags: trunk)
16:38
Fix compiler warnings on windows. (check-in: 8b22f777a1 user: drh tags: trunk)
16:14
Fix various internal #defines to conform to new C-language naming restrictions, specifically that private-use macros names must not begin with "_". (check-in: 5471aca015 user: drh tags: trunk)
00:06
Add support for the win32-none VFS. (check-in: b5f32a896d user: drh tags: trunk)
2016-07-08
21:14
Initial work on a Win32 VFS with NOP locking. (Closed-Leaf check-in: 549abe3f89 user: mistachkin tags: win32nolock)
19:54
Another attempt to fix error handling in Lemon. This change is a no-op for SQLite's usage. (check-in: e1d8ef311c user: drh tags: trunk)
02:14
In the sqldiff program, make sure the first argument to the db_prepare() utility function is always a valid format string. (check-in: 8bb8d886ff user: drh tags: trunk)
2016-07-06
18:42
Add the SQLITE_DBSTATUS_CACHE_USED_SHARED sqlite3_db_status() parameter. This option is similar to DBSTATUS_CACHE_USED, except that it divides memory used by shared caches evenly between all connections. (check-in: 06cf268058 user: dan tags: trunk)
18:12
Change the name of the SQLITE_DBSTATUS_PROPORTIONAL_CACHE_USED to SQLITE_DBSTATUS_CACHE_USED_SHARED. (Closed-Leaf check-in: d58401ab26 user: dan tags: dbstatus-prop-cache-used)
10:17
Fix a test script problem causing a test to fail if the ICU extension is enabled. (check-in: 0c228f5d3d user: dan tags: trunk)
10:12
Add the SQLITE_DBSTATUS_PROPORTIONAL_CACHE_USED sqlite3_db_status() parameter. (check-in: 118321c8b9 user: dan tags: dbstatus-prop-cache-used)
09:19
Fix a memory leak in recently added test code. (check-in: 724e4cdc25 user: dan tags: trunk)
08:32
Fix a typo in test program bc_test1.c. (check-in: 2c61b7ab18 user: dan tags: begin-concurrent)
2016-07-05
16:11
More fixes to Lemon so that it automatically resets its error counter at the end of a parse. (check-in: 2683b375ad user: drh tags: trunk)
12:47
Attempt to reset the error count in the Lemon-generated parser after a parse failure. (check-in: 91889fa30e user: drh tags: trunk)
2016-07-04
11:47
Add the sqlite3rbu_state() API. Used to determine the current state (creating OAL, ready to move OAL, incremental-checkpoint, finished or error) of an RBU operation. (check-in: 0357875fbb user: dan tags: trunk)
11:34
Add the carray() virtual table as a loadable extension. (check-in: d8bc6feb99 user: drh tags: trunk)
2016-07-03
02:35
Change the name of the intarray() extension to carray() and give it an optional third parameter that specifies the datatype as one of 'int32', 'int64', 'double', or 'char*'. 'int32' is the default. (Closed-Leaf check-in: a204ba99db user: drh tags: prototype-int-array)
2016-07-02
20:57
Fix an off-by-one comparison in the intarray() virtual table. Get the intarray() virtual table tests working using the legacy makefile. (check-in: 7c3d441f2a user: drh tags: prototype-int-array)
20:51
Merge the alternative table-valued function RHS of IN operator implementation from trunk. (check-in: 507fdbfb54 user: drh tags: prototype-int-array)
12:33
Fix a problem in table-valued functions on the RHS of an IN operator that occurs following an OOM error. (check-in: bead151e72 user: drh tags: trunk)
12:08
Add support for table-valued functions on the RHS of an IN operator. (check-in: ac6000f050 user: drh tags: trunk)
2016-07-01
20:12
Fix the transitive constraint logic error that can result in a null pointer dereference. Fix for ticket [e8d439c77685eca6]. (check-in: 228a787987 user: drh tags: trunk)
19:48
Add test cases to the transitive constraint fix. (Closed-Leaf check-in: c952af89c2 user: drh tags: planner-fix)
12:39
Add the sqlite3rbu_state() API. Used to determine the current state (creating OAL, ready to move OAL, incremental-checkpoint, finished or error) of an RBU operation. (Closed-Leaf check-in: 92e7df0ff5 user: dan tags: rbu-state-api)
2016-06-29
06:19
Add the ability to have a table-valued function on the RHS of an IN operator. (check-in: ba1b441b60 user: drh tags: prototype-int-array)
05:08
Another test case for the intarray($PTR,$N) virtual table. (check-in: 06e1fab752 user: drh tags: prototype-int-array)
05:00
Add a prototype intarray($PTR,$N) table valued function. (check-in: 233b33382d user: drh tags: prototype-int-array)
2016-06-28
22:27
Proposed fix for a problem in the query planner. (check-in: a33d235609 user: drh tags: planner-fix)
2016-06-26
04:06
Prevent the WhereLoop.rSetup cost estimate from going negative on complex queries. (check-in: f810508591 user: drh tags: trunk)
2016-06-25
11:43
Fix the handling of OP_Eq opcodes that compare a register against itself and that require an affinity change. (check-in: 507014e4c7 user: drh tags: trunk)
2016-06-24
06:23
Fix the ctime.test script so that it works with clang. (check-in: 77e4f7a36e user: drh tags: trunk)
02:50
Fix the Makefile.in to avoid unnecessary recompiles of sqlite3.c. (check-in: 67c39e1644 user: drh tags: trunk)
02:21
Provide for a separate default page size for TEMP and transient database files and initialize that separate default page size to 1024 instead of 4096. (Leaf check-in: a2778ae494 user: drh tags: temp-page-size)
2016-06-23
16:48
Update the sqldiff utility so that if the --vtab switch is specified "rtree", "fts3", "fts4" and "fts5" tables are diff'd directly and the underlying real database tables ignored. Without this switch, all virtual tables are ignored and the diff is performed on the underlying real tables. (check-in: b8671e9434 user: dan tags: trunk)
12:35
Fix the build for -DSQLITE_OMIT_VIRTUALTABLE (check-in: 9111314248 user: drh tags: trunk)
2016-06-21
10:34
Update the sqldiff utility so that if the --vtab switch is specified "rtree", "fts3", "fts4" and "fts5" tables are diff'd directly and the underlying real database tables ignored. Without this switch, all virtual tables are ignored and the diff is performed on the underlying real tables. (Closed-Leaf check-in: 5d0a9d4c45 user: dan tags: sqldiff-vtab-support)
2016-06-20
17:25
For a table on the rhs of a LEFT JOIN operator, do not include terms like "IS NULL" from the WHERE clause in the cursor-hint. These may be false for rows that the cursor would otherwise visit, but true for a row of all NULL values generated by the LEFT JOIN. (check-in: 913e595615 user: dan tags: trunk)
17:22
Allow LIKE operators that appear in a WHERE clause to be included in the cursor-hint for a cursor on the rhs of a LEFT JOIN. (Closed-Leaf check-in: 7455d932f5 user: dan tags: cursor-hints)
2016-06-17
19:27
Include WHERE terms in the cursor-hint passed to a cursor opened for the rhs of a LEFT JOIN iff we can be sure that those terms will not evaluate to true if the LEFT JOIN generates a row of NULLs. (check-in: 998095aba0 user: dan tags: cursor-hints)
14:59
Fix a duplicate test name in cursorhint2.test. (check-in: fcd12b69ce user: dan tags: cursor-hints)
14:47
Fix a typo in the cursorhint2.test script. (check-in: c1a5a57cf1 user: dan tags: cursor-hints)
14:33
If a table is on the rhs of a LEFT JOIN, include only terms from the joins ON(...) clause in the cursor-hint passed via OP_CursorHint. (check-in: 2a2346b042 user: dan tags: cursor-hints)
13:01
Add the json_quote() function to the JSON1 extension. (Closed-Leaf check-in: 2c3714aebf user: drh tags: json_quote)
2016-06-16
17:14
Add a missing OP_ColumnsUsed opcode to code for expressions like "? IN (SELECT ...)" in cases where expression can use an index that may contain NULL values. (check-in: 0b1579caf0 user: dan tags: trunk)
11:16
Fix a typo in a comment on the SrcList object. (check-in: 48b555c42d user: drh tags: trunk)
2016-06-15
10:21
Merge changes from trunk. (check-in: 0f707d1532 user: drh tags: apple-osx)
2016-06-13
19:58
Fix RBU so that it builds with -DSQLITE_ENABLE_8_3_NAMES. Fix "PRAGMA compile_options" for SQLITE_ENABLE_8_3_NAMES such that it reports the numeric setting: "1" or "2". (check-in: 0230ca17ba user: drh tags: trunk)
15:59
Fix the declaration of the table implemented by DBSTAT so that it uses correct datatypes. (check-in: a1e1cdc51d user: drh tags: trunk)
12:51
Fix an incorrect assert() in the btree logic. (check-in: fcf6114be9 user: drh tags: trunk)
12:34
Fix the "onecolumn" and "exists" methods of the TCL interface so that they work in combination with the "profile" callback. (check-in: d362ba157f user: drh tags: trunk)
2016-06-10
22:49
Enhance "PRAGMA table_info" to that it provides information about eponymous virtual tables. (check-in: 53a1e5d513 user: drh tags: trunk)
2016-06-08
18:07
Prefer to use partial indexes for full table scans when that is possible. (check-in: fe1874321b user: drh tags: trunk)
14:04
Add the "dbhash.exe" utility program that computes a SHA1 hash over the invariant content of an SQLite database file. Free space in the file, the page size, auto_vacuum status, text encoding, and so forth do not change the hash. Only the content matters. (check-in: f48a4ad33e user: drh tags: trunk)
13:59
Fix an undersized buffer in the SHA1 implementation. (Closed-Leaf check-in: fb2768154c user: drh tags: dbhash)
13:49
Fix the dbhash utility so that it ignores the root page number when hashing the sqlite_master table. Add new command-line options. Add the ability to hash multiple databases with a single command. (check-in: 44f157e0f0 user: drh tags: dbhash)
01:03
An initial attempt at a "dbhash" command-line utility. (check-in: 2247649ca2 user: drh tags: dbhash)
2016-06-07
20:25
Fix the walcrash4.test test module so that it works on windows. (check-in: 2091a4c923 user: drh tags: trunk)
2016-06-06
20:36
In winFullPathname, translate '/X:' to 'X:' before doing anything else. (check-in: e404ad705d user: mistachkin tags: trunk)
20:27
Translate filenames of the form "/c:/*" into just "c:/*" on WinRT and Cygwin. (SQLite has long done this for Win32/WinNT.) (check-in: f8470ffc49 user: drh tags: trunk)
18:17
Fix lempar.c so that the shift-reduce optimization works for error processing. This is a Lemon issue only and has no impact on SQLite. (check-in: 3665a2f554 user: drh tags: trunk)
13:24
Initialize the yyerrcnt variable in the lemon parser template. This has no effect on SQLite itself. (check-in: 45531654f7 user: drh tags: trunk)
01:54
Small performance boost and size decrease in sqlite3BtreeMovetoUnpacked(). (check-in: e106a77d85 user: drh tags: trunk)
01:48
Small performance improvement in the LIKE function. (check-in: 5fb0c35459 user: drh tags: trunk)
01:14
Btree interface refactoring: (1) The sqlite3BtreeKeySize() interface is renamed to sqlite3BtreeIntegerKey() and modified to work only for table btrees with a rowid. (2) The sqlite3BtreeDataSize() interface is renamed to sqlite3BtreePayloadSize() and modified to work with any btree. (3) The sqlite3BtreeDataFetch() and sqlite3BtreeKeyFetch() routines are combined into a single sqlite3BtreePayloadFetch() routine. The result of these changes is a smaller binary and fewer CPU cycles needed to run queries. (check-in: 2d831074cf user: drh tags: trunk)
2016-06-04
21:05
Improved comment on cursorOwnsBtShared(). No changes to code. (Closed-Leaf check-in: 5e269c2d26 user: drh tags: btree-refactor)
20:58
Fix a C99-ism and a compiler warning for MSVC. (check-in: aa53a36ea2 user: drh tags: btree-refactor)
20:37
Change the sqlite3BtreeKeySize() interface into sqlite3BtreeIntegerKey() and make it only work for table btrees. Change sqlite3BtreeDataSize() into sqlite3BtreePayloadSize() and make it work for all btrees. Combine sqlite3BtreeDataFetch() and sqlite3BtreeKeyFetch() into a single sqlite3BtreePayloadFetch() routine. These changes seem to make the b-tree interface more rational and they reduce both binary size and CPU usage. (check-in: bef35e18dd user: drh tags: btree-refactor)
17:12
Allocate KeyInfo objects from lookaside if possible. (check-in: b411107a36 user: drh tags: trunk)
16:33
Fix up speedtest1.c so that it will compile and run on SQLite versions prior to 3.6.18 (circa 2009-09-11). (check-in: 9583c0fb39 user: drh tags: trunk)
13:57
Remove an unreachable branch in the UNIQUE constraint parsing. (check-in: 313e990c74 user: drh tags: trunk)
2016-06-03
18:59
The OR optimization is usable on virtual tables with LIKE, REGEXP and/or GLOB terms in the WHERE clause. (check-in: fa3a89fc0b user: drh tags: trunk)
18:44
Add support for virtual tables using a WITHOUT ROWID schema. This merge also includes enhancements to the CSV extension, which is used for testing of the new WITHOUT ROWID virtual table mechanism. (check-in: aa7e9d0cc1 user: drh tags: trunk)
18:21
Fix a memory leak when a WITHOUT ROWID eponymous virtual table is used. (Closed-Leaf check-in: 31b83a7d7e user: drh tags: without-rowid-vtab)
17:27
Disallow access to the rowid column on WITHOUT ROWID virtual tables. (check-in: d31c25972b user: drh tags: without-rowid-vtab)
13:35
Enhance the sqlite3_load_extension() interface to permit extensions to return SQLITE_OK_LOAD_PERMANENTLY which will prevents unloading when the database connection closes. (check-in: 5908aa4dc5 user: drh tags: trunk)
01:01
Performance optimizations on the CSV virtual table. Disallow WITHOUT ROWID virtual tables that have an xUpdate method, for now. (check-in: 3134b3266c user: drh tags: without-rowid-vtab)
2016-06-02
23:13
Add the CSV extension to the test fixture. Fix a memory leak in the CSV extension. Add test cases for the CSV extension, including one that uses a WITHOUT ROWID virtual table participating in the OR optimization. (check-in: 95f483e86e user: drh tags: without-rowid-vtab)
17:44
Add the data= parameter to the CSV virtual table extension. (check-in: 769191042a user: drh tags: without-rowid-vtab)
16:22
Fix corner cases in the WITHOUT ROWID virtual table logic. (check-in: a393bbb972 user: drh tags: without-rowid-vtab)
2016-06-01
10:37
Fix an issue preventing RBU vacuum from working with virtual tables. (check-in: 3bd85fa5a9 user: dan tags: trunk)
05:02
Fix compilation issues with the VFS stat extension. (check-in: f6e956525b user: mistachkin tags: trunk)
2016-05-31
21:18
An experimental branch with code that allows virtual tables to be declared as WITHOUT ROWID tables. This might be useful for virtual tables that model external data sources that do not have a convenient way of computing a unique rowid. The current check-in almost works, but there are still serious issues. (check-in: 49638f180e user: drh tags: without-rowid-vtab)
18:44
Add the columns=N parameter to the CSV extension. (check-in: 28ebeadd6a user: drh tags: trunk)
18:08
Add the testflags parameter to the csv extension. (check-in: b93fb2fe0d user: drh tags: trunk)
16:22
Add the "csv" virtual table for reading CSV files, as an extension in the ext/misc/ subfolder. (check-in: 00d3570c8b user: drh tags: trunk)
2016-05-30
08:28
Fix an FTS5 problem (segfault or incorrect query results) with "... MATCH 'x OR y' ORDER BY rank" queries when either token 'x' or 'y' is completely absent from the dataset. (check-in: 64ca1a835a user: dan tags: trunk)
05:45
Minor tweaks to the bc_test1 test program. (check-in: d0d0bab4e9 user: dan tags: begin-concurrent)
2016-05-28
18:53
Experimental change to allow virtual tables to take advantage of LIKE, REGEXP and GLOB terms that are part of OR expressions within WHERE clauses. (Closed-Leaf check-in: 242507b4ff user: dan tags: vtab-experimental)
17:45
Remove an unnecessary malloc from the vfsstat extension. (check-in: 24f258c239 user: drh tags: trunk)
17:23
Enhance the sqlite3_load_extension() interface to permit extensions to return SQLITE_OK_LOAD_PERMANENTLY which will prevent the extensions from unloading when the database connection closes. (Closed-Leaf check-in: d3f99a5e8d user: drh tags: load-permanently)
15:22
Enhance "PRAGMA compile_options" so that it shows the version of the compiler used to generate the executable, for common compilers. (check-in: 6a0f200957 user: drh tags: trunk)
15:09
Update the amalgamation-tarball configure script so that it can use header file "readline/readline.h" with library file "libedit". (check-in: cbf72b04bb user: dan tags: trunk)
15:03
Enhance the sqlite3_load_extension() API so that the first parameter (the "db" parameter) can be NULL. An extension that is not associated with any database connection remains loaded for the life of the process. (Closed-Leaf check-in: 3a46104389 user: drh tags: persistent-extensions)
14:53
Add the vfsstat.c loadable extension - a VFS shim that measures the amount of I/O, and an eponymous virtual table that is used to extract and view the measurements. (check-in: 0987487dd4 user: drh tags: trunk)
00:13
Clang can define _MSC_VER in some circumstances; therefore, check for Clang first. (Closed-Leaf check-in: 3f710bc361 user: mistachkin tags: ctimeCompiler)
2016-05-27
21:13
Check for Clang before GCC. (check-in: 7c2cd4b05f user: mistachkin tags: ctimeCompiler)
20:30
Remove surplus quotation marks from the COMPILER= compile_options setting for Clang. (check-in: 5c966f2000 user: mistachkin tags: ctimeCompiler)
19:34
Remove surplus quotation marks from the COMPILER= compile_options setting for GCC. (check-in: 664c132dab user: drh tags: ctimeCompiler)
18:09
Add basic compiler information to the results of 'PRAGMA compile_options'. (check-in: d734e2df40 user: mistachkin tags: ctimeCompiler)
12:30
Improvements to WHERE-clause debug tracing. Show TK_MATCH expressions and show more details on WhereTerm traces. (check-in: 71087c12bc user: drh tags: trunk)
04:10
Fix Lemon so that it actually works with -DYYSTACKDEPTH=0. (check-in: a9be4c2d56 user: drh tags: trunk)
01:07
Fix the Lemon-generated parser so that it compiles with -DYYSTACKDEPTH=0. It does compile now, but there are subtle issues still. (check-in: 28d439f816 user: drh tags: trunk)
2016-05-26
20:56
Add a new OP_SeekRowid opcode, that combines the functions of OP_MustBeInt and OP_NotExists. This makes the code slightly smaller and faster. (check-in: ffe80a1bfa user: drh tags: trunk)
20:52
Add further instrumentation to the bc_test1.c test app. (check-in: 5528de4a53 user: dan tags: begin-concurrent)
2016-05-25
18:53
Add the libvers.c tool in the tool/ subdirectory. (check-in: 2a41f098b2 user: drh tags: trunk)
2016-05-24
18:55
Enhance Lemon and the parser template so that it can once again build parsers that have no unreachable branches. (check-in: 41fd46e296 user: drh tags: trunk)
18:50
Minor change to the walcrash4.test module so that it works when SQLITE_DEFAULT_WAL_SYNCHRONOUS is set to something other than 2. (check-in: 61e239bc43 user: drh tags: trunk)
16:20
Fix an obscure problem with transactions written in "PRAGMA synchronous=full" mode on systems that do not support POWERSAFE_OVERWRITE causing an xSync() call to be omitted if the last frame written by a transaction is aligned to a sector boundary. This means that if a power failure or OS crash occurs very soon after such a transaction is committed, it may be lost following system recovery. (check-in: 37de3eab67 user: dan tags: trunk)
00:40
Improvements to the initialization of the push-down automoton for the Lemon-generated parser. Smaller and faster. (check-in: 3b28b68e23 user: drh tags: trunk)
2016-05-23
21:56
Use a pointer to the top of the stack rather than an index into the stack in the Lemon-generated parser template, for about 6.6% parser performance gain. (check-in: 3c2a770549 user: drh tags: trunk)
19:02
Avoid a minor error message when running RTREE without an sqlite_stat1 table. (check-in: 276e92f5b4 user: drh tags: trunk)
18:27
Fix the rtreeG.test test case. (Closed-Leaf check-in: 9589e93771 user: drh tags: tree-stat1-fix)
18:12
Fix RTREE so that it does not run queries against the sqlite_stat1 if that table does not exist. (check-in: 48526a2fe5 user: drh tags: tree-stat1-fix)
18:06
Remove an extra "finish_test" from the end of rtreeC.test. (check-in: bfbb6dd84b user: drh tags: tree-stat1-fix)
16:16
Improve the error messages generated by the rtree module when a constraint fails. (check-in: 3ad2531efb user: dan tags: trunk)
16:15
Lemon enhancement: avoid unnecessary reduce actions that convert one non-terminal into another but have no side effects. (check-in: a86e782ad1 user: drh tags: trunk)
14:24
Fix comment typos and improve clarity of presention in Lemon. The output should be identical. (check-in: b91a5b8297 user: drh tags: trunk)
02:57
Merge changes from trunk. (check-in: 815cc2bb48 user: drh tags: apple-osx)
00:10
Update the configure script with additional hints on the location of tclConfig.sh, hints needed by the latest versions of Xcode. (check-in: 90411a2816 user: drh tags: trunk)
2016-05-21
23:25
More tweaks to improve the performance of the insert logic, slightly. (check-in: dec1307581 user: drh tags: trunk)
20:03
Simplify the sqlite3BtreeInsert() interface by gathering the five arguments describing the content to be inserted into the new BtreePayload structure, and thus reducing the number of parameters from eight to four. (check-in: 55f348cdd2 user: drh tags: trunk)
19:10
Remove some unused legacy code from the btree insert logic. (check-in: 2ce1166717 user: drh tags: trunk)
18:50
Use pthreads mutexes and conditions to synchronize threads in bc_test1. (check-in: f33aa76f07 user: dan tags: begin-concurrent)
12:29
Yet another minor size reduction and performance increase in the b-tree insert logic. (check-in: 1dbaf7a119 user: drh tags: trunk)
11:23
Small size reduction and performance increase in the sqlite3BtreeInsert() logic. (check-in: 656aa1ecf5 user: drh tags: trunk)
00:45
Add the shell-script used for routine performance testing. (check-in: 8e366f18f5 user: drh tags: trunk)
2016-05-20
23:51
Add a simple TCL script for summing cachegrind information for each VDBE opcode. (check-in: 96cf821b6a user: drh tags: trunk)
21:40
Another optimization on the OP_Column opcode. (check-in: 1765672c25 user: drh tags: trunk)
20:58
Fix typo in comment. (check-in: 9db8f21473 user: mistachkin tags: trunk)
19:51
Slight performance improvement in the OP_Column opcode. (check-in: 5c15747439 user: drh tags: trunk)
18:09
Remove the sqlite3PagerClearCache() routine, which does not accomplish anything useful. (check-in: f250166bb3 user: drh tags: trunk)
15:53
Performance optimization and size reduction on the freeP4() routine. (check-in: 4dc56e8684 user: drh tags: trunk)
15:24
Increase the version number to 3.14.0 since we are already making significant code changes. (check-in: 1a0d05765f user: drh tags: trunk)
15:15
Use sqlite3VdbeAddOp0() to code OP_Expire, to save a few bytes. (check-in: 3d55d24dcb user: drh tags: trunk)
14:54
Optimizations to link list merge sort code in vdbesort.c, pcache.c, and rowset.c. Resulting binaries are 10 bytes smaller and use 0.03% fewer CPU cycles. (check-in: 9033afbb31 user: drh tags: trunk)
14:11
For queries with both ORDER BY and LIMIT, if the rows of the inner loop are emitted in ORDER BY order and the LIMIT has been reached, then optimize by exiting the inner loop and continuing with the next cycle of the first outer loop. (check-in: 559733b09e user: drh tags: trunk)
13:44
Set the NULLEQ flag on the sequence counter comparison in the ORDER BY LIMIT optimization, to avoid coverage complaints about not testing the NULL case. (Closed-Leaf check-in: ed1b30dc93 user: drh tags: orderby-limit)
12:22
Autoconf configure.ac adjustment to try to get it to look for both editline and readline automatically. (check-in: 645bd696df user: drh tags: trunk)
00:21
A few simple test cases for the ORDER BY LIMIT optimization. (check-in: 08849eab0f user: drh tags: orderby-limit)
2016-05-19
22:40
Appears to work now. Needs test cases, more comments, and code optimization. (check-in: 990fe50c91 user: drh tags: orderby-limit)
22:13
In a query with both ORDER BY and LIMIT, if the inner loop satisfies the ORDER BY then try to cut short each invocation of the inner loop once the LIMIT has been satisfied. This check-in is a partial implementation only. (check-in: 852d1eda6e user: drh tags: orderby-limit)
19:31
Fixup comments on wctrlFlags value definitions. (check-in: 58b516e8c0 user: drh tags: trunk)
18:56
Clean up the WHERE_* macros used for the wctrlFlags parameter on the sqlite3WhereBegin() interface, freeing up some bits to be used for other things. (check-in: d01305841d user: drh tags: trunk)
17:51
Optimization marks in vdbe.c. No logic changes. (check-in: cf2737415a user: drh tags: trunk)
16:58
Performance improvement in the OP_Column opcode. (check-in: 4737cadc41 user: drh tags: trunk)
16:21
Add test cases to test some fts3/4 edge case behaviour surrounding the '*' character. (check-in: 1f577e1f08 user: dan tags: trunk)
11:12
Small size reduction and performance improvement in the OP_Column opcode. (check-in: 0d7730611b user: drh tags: trunk)
2016-05-18
21:03
Add the "scrub" utility program that simultaneously backs-up a live database and erases all deleted content. (check-in: c981ab2a47 user: drh tags: trunk)
21:01
Omit the unnecessary WHERE_REOPEN_IDX flag in the WHERE interface. (check-in: 915416d15f user: drh tags: trunk)
20:53
Merge the 3.13.0 release changes. (check-in: e2e9b98556 user: drh tags: apple-osx)
10:57
Version 3.13.0 (check-in: fc49f556e4 user: drh tags: trunk, release, version-3.13.0)
2016-05-17
21:17
Enhance the scrub utility program so that it does a FULL checkpoint prior to starting the backup, to ensure that the database file content matches what needs to be backed up without having to look at the WAL file. (Closed-Leaf check-in: ab1c5ce50f user: drh tags: scrub-backup)
17:11
Merge the latest changes from trunk. (check-in: 5021dfe1f3 user: drh tags: scrub-backup)
2016-05-16
14:35
Do not run snapshot_fault.test as part of the inmemory_journal permutation. (check-in: 995c084bde user: dan tags: trunk)
13:37
Merge recent fixes from trunk. (check-in: 0d9b82afea user: drh tags: apple-osx)
11:55
Disable shell.exe test cases for UTF8 filenames as they do not work on MinGW. (check-in: 386bcbba8e user: drh tags: trunk)
2016-05-13
17:22
Improvements to a comment in the pcache.c file. No changes to code. (check-in: b369980f0c user: drh tags: trunk)
15:22
Remove the unused PGHDR_NEED_READ flag. Add invariant checking (during SQLITE_DEBUG builds only) for the PgHdr object. (check-in: 771c5411e9 user: drh tags: trunk)
12:12
Clarification of the pagerFlushOnCommit() logic. (check-in: 3401d9dcdb user: drh tags: trunk)
11:50
Fix pager_end_transaction() to ensure that a ROLLBACK does not clobber unwritten pages in a TEMP file pcache. (check-in: 9495d33879 user: drh tags: trunk)
04:24
Additional debugging and tracing logic for pcache.c, turned off by default using an "#if 0". (check-in: 32a62e3bd4 user: drh tags: trunk)
2016-05-12
19:17
Disable ALWAYS and NEVER when compiled with SQLITE_MUTATION_TEST. (check-in: 24d9fbc1d0 user: drh tags: trunk)
19:05
Simplification of the sqlite3FaultSim() call inside of sqlite3PagerCommitPhaseOne(). (check-in: 1b0f4cc362 user: drh tags: trunk)
18:38
Add an assert in pager.c to confirm that pPager->tempFile is always true for in-memory databases. (check-in: 3fd7109206 user: drh tags: trunk)
17:06
Add extra OPTIMIZATION-IF-FALSE comments where required to pcache.c. (check-in: 9d55b8f541 user: dan tags: trunk)
12:08
For in-memory databases, it does not matter if pcache entries are marked "clean" or "writable". (check-in: 06c1e27ca8 user: drh tags: trunk)
12:01
Remove an unnecessary call to sqlite3PcacheMakeClean() inside of the ROLLBACK logic. (check-in: 0dc50d9915 user: drh tags: trunk)
09:48
Add a missing OPTIMIZATION-IF-FALSE comment to pcache.c. (check-in: bc202e5b41 user: dan tags: trunk)
2016-05-11
23:54
For in-memory databases, it does not matter if pcache entries are marked "clean" or "writable". (Closed-Leaf check-in: ad601c7962 user: drh tags: pager-dev)
20:03
Remove a redundant condition from pcache.c. Add an OPTIMIZATION-IF-TRUE comment to another condition that requires it. (check-in: 3bfd2621d1 user: dan tags: trunk)
18:20
Remove a redundant condition from pcache.c. Add an OPTIMIZATION-IF-TRUE comment to another condition that requires it. (Closed-Leaf check-in: 4533ed352d user: dan tags: mistake)
15:41
Remove some a small amount of redundant code related to PCache.pSynced from pcache.c. (check-in: 9cc8cad78f user: dan tags: trunk)
12:47
Do not reset the page cache when a rollback journal truncate fails, as doing so can cause loss of information for an in-memory TEMP file. (check-in: 345ce1c9f6 user: drh tags: trunk)
11:04
Always truncate, rather than persist, the rollback journal of a TEMP database. (check-in: 42fb6f1e99 user: drh tags: trunk)
10:57
Add pcache tracing macros. Off by default. Requires changing an "#if 0" and recompiling to enable. (check-in: d9313d19c7 user: drh tags: trunk)
2016-05-10
20:16
Add another test case to temptable3.test. (check-in: 223640243e user: dan tags: trunk)
20:03
Fix a problem in sqlite3PagerMovepage() when working on a temp table for which pages have been spilled. (check-in: 20cf8811ca user: drh tags: trunk)
2016-05-09
23:11
Fixes to requirements marks. No changes to code. (check-in: 79ecd0ef20 user: drh tags: trunk)
22:35
Enhancements to test/sort5.test so that it works with SEE. (check-in: 8a39c8ee49 user: drh tags: trunk)
22:32
Remove some forgotten debugging lines from test/sort5.test. (check-in: f587548981 user: drh tags: trunk)
19:58
Omit the unnecessary WHERE_REOPEN_IDX flag in the WHERE interface. (Closed-Leaf check-in: da94a6e0eb user: drh tags: dev)
19:03
Update a comment in fts5.h. No changes to code. (check-in: 14e53d0e2f user: dan tags: trunk)
18:05
Fix the FTS5 xQueryPhrase() API function so that it recognizes column filters. (check-in: 48505cde05 user: dan tags: trunk)
2016-05-07
18:02
Add options to bc_test1.c to make it more flexible. (check-in: ec6ef5f2c2 user: dan tags: begin-concurrent)
12:15
Make the sqlite3DeleteTable() routine smaller and faster. (check-in: d75140b851 user: drh tags: trunk)
12:15
Fix typo in the intpkey-17.2 test. (check-in: a45fda657d user: drh tags: trunk)
2016-05-06
21:04
Add test/bc_test1.c, for testing the degree of concurrency provided by this branch under various conditions. (check-in: 128c7eaed5 user: dan tags: begin-concurrent)
20:23
Simplification to the logic used to decide between OP_Seek and OP_NotExists. Use OP_NotExists for both DELETE and UPDATE. (check-in: 3a69526318 user: drh tags: trunk)
18:47
Corrections to comments on the whereScanInit() interface. (check-in: ab7ab415d1 user: drh tags: trunk)
16:49
For DELETE operations, make sure that seeks on the main table are not deferred, since if they are and none of the indexes reference columns of the table, the seek might never occur until the OP_Delete opcode, which is too late. Fix for ticket [16c9801ceba49]. (check-in: 93a2bace57 user: drh tags: trunk)
16:30
Fix an error in main.mk causing testfixture to use individual fts5 source code files instead of fts5.c. (check-in: 933a1c818c user: dan tags: trunk)
16:06
In the WHERE generator, when building code for a DELETE operation, make sure that seeks to the main table are not deferred. This is a better fix for the [16c9801ceba49] bug than the previous. (Closed-Leaf check-in: 150dd09ebd user: drh tags: ticket-16c9801ce)
15:16
Fix a bug in sqlite_analyzer causing it report (slightly) incorrect values for the number of entries in indexes or WITHOUT ROWID tables. (check-in: dc37750d4e user: dan tags: trunk)
11:31
Do not scan indexes that have the integer primary key as their left-most column. This fixes the crash of ticket [16c9801ceba] but it seems like the wrong fix. More investigation needed. (check-in: 50312273ff user: drh tags: ticket-16c9801ce)
2016-05-05
23:59
Additional error reporting. Open the source database read/write so that it can delete the WAL file when done. (check-in: d2efd3c176 user: drh tags: scrub-backup)
23:39
Working when run against sqlite.fossil. (check-in: b0bd9dd625 user: drh tags: scrub-backup)
23:09
Finished implementation compiles, but untested. (check-in: aeb88bdf6f user: drh tags: scrub-backup)
17:15
Initial check-in of the "scrub.exe" utility program prototype. Not yet fully functional. In particular, no scrubbing is done. (check-in: bdf2ec77d1 user: drh tags: scrub-backup)
11:53
Renumber internal constants in the printf() implemention for a small performance improvement. (check-in: 69d11447f4 user: drh tags: trunk)
2016-05-04
21:06
Disable the session extension API if SQLITE_ENABLE_SESSION is not defined. (check-in: 71af9ac165 user: drh tags: trunk)
19:04
Fix typo in comment. No changes to code. (check-in: 6c43ba1c87 user: mistachkin tags: trunk)
14:45
Only disable the one-pass DELETE optimization if the WHERE clause contains a correlated subquery. Uncorrelated subqueries are allowed. This is a refinement of check-in [3f221f592a9a1] that is the fix for ticket [dc6ebeda9396087]. (check-in: aae389692a user: drh tags: trunk)
14:20
Portability enhancements to the configure script on the amalgamation tarball. (check-in: 7184c4b886 user: drh tags: trunk)
11:28
Disable the PagerDontWrite() optimization for temp tables. It can cause database corruption if a page passed to PagerDontWrite() is dirty at the start of a transaction that is subsequently rolled back. (check-in: 6341ab2ffe user: dan tags: trunk)
2016-05-03
19:40
Minor style tweaks in the MSVC makefile. (check-in: 1b43358f89 user: mistachkin tags: trunk)
19:36
Add the experimental SQLITE_FCNTL_WIN32_GET_HANDLE file control. (Leaf check-in: b6ddabe181 user: mistachkin tags: win32GetHandle)
14:57
The session extension is disabled by default. To enable it using --enable-session on ./configure on unix and add SESSION=1 to the nmake on Windows. Or add -DSQLITE_ENABLE_SESSION and -DSQLITE_ENABLE_PREUPDATE_HOOK to build manually. (check-in: bcaa650e87 user: drh tags: trunk)
13:14
Turn the session extension off by default. Enable using --enable-session on configure scripts, or using the SESSION=1 argument to nmake on Windows. (Closed-Leaf check-in: e462cde2a5 user: drh tags: session-make)
02:43
Fix the build when SQLITE_ENABLE_DATA_PROTECTION is defined. (check-in: 8f05e1402d user: drh tags: apple-osx)
00:04
Avoid left-shifts of signed integers. (check-in: 0715ce1643 user: drh tags: trunk)
2016-05-02
19:05
Remove some randomness from test script temptable2.test. (check-in: 5830cf72e9 user: dan tags: trunk)
16:59
Fix a test case in temptable2.test so that it works on systems that lack a coherient cache (ex: OpenBSD) and thus do not support the "PRAGMA mmap_size" command. (check-in: 088cf83872 user: drh tags: trunk)
15:00
Merge enhancements and bug fixes from trunk. (check-in: f52765ee7b user: drh tags: apple-osx)
13:57
Fix harmless LLVM compiler warnings in the srcck1.c utility program used during the build process. (check-in: e4af967533 user: drh tags: trunk)
12:18
Disable the multi-row one-pass DELETE optimization when the WHERE clause contains a subquery. Fix for ticket [dc6ebeda9396087]. (check-in: 3f221f592a user: drh tags: trunk)
10:25
Improvements to the way the LIKE optimization is implemented, resulting in slightly smaller and faster code that is easier to test. (check-in: 54c63b3292 user: drh tags: trunk)
2016-04-30
19:23
Change the way tester.tcl handes $argv so that in "permutations.test <permutation> <filename>" <filename> may be the name of any file in the test/ directory. (check-in: 820c57bb24 user: dan tags: trunk)
18:10
Remove an unnecessary branch from the OP_String8 opcode. (check-in: 459a0b456d user: drh tags: trunk)
17:19
More bug fixes to Lemon identified by Kelvin Sherlock. None of these have any impact on SQLite. (check-in: 762bdc55f8 user: drh tags: trunk)
02:59
Simplifications to the OP_Halt opcode implementation. (check-in: daf4630f96 user: drh tags: trunk)
2016-04-29
20:30
Fix the temporary directory search algorithm for unix so that it fails gracefully even if all candidate directories are inaccessible. This fixes a bug that was introduced by check-in [9b8fec60d8e]. (check-in: 614bb709d3 user: drh tags: trunk)
17:07
Fix the nolock VFS so that it supports shared memory. (check-in: ce11f8e8a3 user: drh tags: apple-osx)
16:01
Merge the latest enhancements from trunk. (check-in: 91e5c07eaf user: drh tags: begin-concurrent)
15:52
Merge enhancements from trunk, and in particular the TEMP file deferred I/O enhancements. (check-in: 81b76901e6 user: drh tags: apple-osx)
15:39
Postpone I/O associated with TEMP files for as long as possible, with the hope that the I/O can ultimately be avoided completely. (check-in: 9d0a5ae002 user: drh tags: trunk)
14:12
Fix test script temptable2.test so that it works with the "inmemory_journal" and "journaltest" permutations. (Closed-Leaf check-in: b7bec7f2d3 user: dan tags: tempfiles-25)
11:35
Merge latest trunk changes, including test case fixes, with this branch. (check-in: 99794aca7b user: dan tags: tempfiles-25)
11:33
Modify the permutations.test script so as to set any permutation specific configuration values before running each individual test script. Fix a mostly harmless buffer overread in the sessions module. (check-in: 4cbd502454 user: dan tags: trunk)
11:28
Lemon bug fix: Do not merge action routines unless their destructors are also identical. Problem and suggested fix reported on the mailing list by Kelvin Sherlock. (check-in: 4792d6dbba user: drh tags: trunk)
10:13
Fix an almost entirely harmless buffer overread in the sessions module. (Closed-Leaf check-in: 89b0ee3351 user: dan tags: permutations-fix)
02:55
Some optimization comments added to vdbe.c. No functional changes to code. (check-in: e7c22e3bff user: drh tags: trunk)
2016-04-28
22:29
Further simplifications and improved commentting on the rowset.c module, including several optimization comments. (check-in: 9f15a520de user: drh tags: trunk)
20:11
Comment changes only: Add several optimization marks in rowset.c. Add a header comment that explains what the various special comments mean. (check-in: 8cdbe89ac6 user: drh tags: trunk)
19:23
Fix typo in comment. No changes to code. (check-in: 9f6f17b5c9 user: mistachkin tags: trunk)
18:53
Rearrange some code in the RowSet logic for clarity of presentation, while adding an /*OPTIMIZATION-IF-TRUE*/ comment. It should operate identically. (check-in: 5748e64376 user: drh tags: trunk)
14:59
Merge latest changes from trunk with this branch. (check-in: 45467ee498 user: dan tags: permutations-fix)
14:54
Avoid running sessionfault.test and sessionfault2.test as part of the "inmemory_journal" permutation. (check-in: 5973d3bf2e user: dan tags: permutations-fix)
14:15
Use comments to mark several branches as optimizations. No changes to code. (check-in: 33e6274727 user: drh tags: trunk)
09:53
Ensure that quota.test deletes the directory named "test.db" that it creates. (check-in: 045edd4b17 user: dan tags: permutations-fix)
03:52
Remove an unnecessary conditional from the sqlite3DecOrHexToI64() routine. (check-in: fcf85bfe50 user: drh tags: trunk)
00:32
Change the sqlite3Atoi64() routine so that it returns failure if not all of the input characters are consumed, even if it consumed all characters up to the first 0x00. This has no impact on external APIs as far as I can tell. (check-in: 46d4ffff3b user: drh tags: trunk)
2016-04-27
18:54
Modify the permutations.test script so as to set any permutation specific configuration values before running each individual test script. (check-in: 2662d8fef7 user: dan tags: permutations-fix)
15:24
More simplification of the sqlite3AtoF() routine. Add special comments to indicate branches that are for optimization purposes only and that give the correct answer even if always or never taken. (check-in: 0065fe97cb user: drh tags: trunk)
11:24
Fix a couple of test script problems on this branch. Both related to the fact that temp database page sizes can no longer be changed by VACUUM or the backup API after the temp db is populated. (check-in: 6bb5aa2be2 user: dan tags: tempfiles-25)
02:35
Remove still more unnecessary branches from sqlite3AtoF(). (check-in: 3adfe9f3e6 user: drh tags: trunk)
2016-04-26
23:14
Further simplifications to sqlite3AtoF() to remove unneeded branches. (check-in: dd69e53cb0 user: drh tags: trunk)
21:02
Remove an unnecessary line from the sqlite3AtoF() routine. (check-in: a9d007494c user: drh tags: trunk)
18:58
The pcache and the built-in VFSes should not use mutexes when SQLITE_CONFIG_SINGLETHREAD is set. (check-in: 12418b1001 user: drh tags: trunk)
17:10
Fix an issue in temptable2.test preventing it from working with SQLITE_DEFAULT_AUTOVACUUM=1 builds. (check-in: e790aac02e user: dan tags: tempfiles-25)
16:03
Merge the checksymbols fix from trunk into this branch. (check-in: 04911cee0c user: dan tags: tempfiles-25)
13:13
Fix the "checksymbols" target in Makefile.in to be able to deal with the sqlite3changegroup family of interfaces. (check-in: d819bfbd46 user: drh tags: trunk)
2016-04-25
22:39
Add an sqlite3FaultSim() all to make it easier to simulate IO errors in a VACUUM commit. (check-in: 8bfde416c5 user: drh tags: tempfiles-25)
19:28
Remove an obsolete comment from the pager. No code changes. (check-in: 36f97ca887 user: drh tags: tempfiles-25)
19:25
Update the RBU vacuum code so that databases that use custom collation sequences can be vacuumed. (check-in: 7dd48c1079 user: dan tags: trunk)
19:20
Fix some unreachable branches in the pager. (check-in: 3ae44770fd user: drh tags: tempfiles-25)
15:03
Merge bug fix from trunk. (check-in: a905d5e08d user: drh tags: tempfiles-25)
02:20
When checking for the WHERE-clause push-down optimization, verify that all terms of the compound inner SELECT are non-aggregate, not just the last term. Fix for ticket [f7f8c97e97597]. (check-in: ec215f94ac user: drh tags: trunk)
01:43
Fix a typo in the Makefile. (check-in: d0a579b351 user: mistachkin tags: trunk)
2016-04-23
21:16
Merge the temporary directory search algorithm fix from trunk. (check-in: 9b8fec60d8 user: drh tags: tempfiles-25)
20:59
Fix the fix to the temporary directory search algorithm so that it continues to return "." as a fallback if that directory has the correct permissions. (check-in: b38fe522cf user: drh tags: trunk)
19:55
Merge the latest trunk changes. (check-in: 84da122dd6 user: drh tags: tempfiles-25)
17:24
Fix a problem with mixing temp-files and mmap-mode. (check-in: c80c5c62b2 user: dan tags: tempfiles-25)
14:55
Fix some problems to do with temp-file databases and recovering from IO and SQLITE_FULL errors. (check-in: 3d61da4a76 user: dan tags: tempfiles-25)
2016-04-21
23:37
Change the temporary directory search algorithm on unix so that directories with only -wx permission are allowed. And do not allow "." to be returned if it lacks -wx permission. (check-in: 67985761aa user: drh tags: trunk)
18:13
Add the sqlite3rbu_vacuum() API, to create an RBU handle that can be used to rebuild a database in the same way as the VACUUM command. (check-in: bd4a6f8313 user: dan tags: trunk)
16:44
If a call to sqlite3rbu_close() on an rbu handle opened by sqlite3rbu_vacuum() returns other than SQLITE_OK, delete the contents of the rbu_state table. This ensures that if an RBU vacuum operation either completes successfully or encounters an error, the next call to sqlite3rbu_vacuum() with the same parameters starts a new RBU vacuum operation. (Closed-Leaf check-in: 6e4ac704f5 user: dan tags: rbu-vacuum)
15:44
Merge the latest changes from trunk. (Closed-Leaf check-in: 8183fa6829 user: drh tags: skip-ahead-distinct)
15:35
Merge all recent enhancements from trunk. (check-in: a15c49aed0 user: drh tags: apple-osx)
15:26
Fix a problem in rbu vacuum on tables with a large sqlite_master table. (check-in: 23eac52e98 user: dan tags: rbu-vacuum)
15:24
Add a function prototype in order to fix a compiler warning. (check-in: 49aec9718d user: drh tags: tempfiles-25)
15:03
Merge updates from trunk. (check-in: cc28106e5c user: drh tags: tempfiles-25)
02:27
Add the SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION method for enabling sqlite3_load_extension() while leaving the load_extension() SQL function disabled. (check-in: c4f165c460 user: drh tags: trunk)
01:58
Test cases for SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION. (Closed-Leaf check-in: debafa5efd user: drh tags: load-ext-security)
01:30
Revert sqlite3_enable_load_extension() to its original long-standing behavior. Add SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION which will enable only the C-API and leave the SQL function disabled. (check-in: b2ae5bfa32 user: drh tags: load-ext-security)
2016-04-20
20:08
Add a documentation comment for sqlite3rbu_vacuum() to sqlite3rbu.h. (check-in: da5c753dda user: dan tags: rbu-vacuum)
19:30
When an error occurs while transitioning out of WAL mode, make sure the locking state is not left at EXCLUSIVE. (check-in: 3340f08651 user: drh tags: trunk)
18:31
Fix a locking race condition in Windows 10 that can occur when two or more processes attempt to recover the same hot journal at the same time. (check-in: 38a4e9d928 user: drh tags: trunk)
17:47
Add fault injection tests for rbu vacuum. Fix some problems revealed by the same. (check-in: f042fdd1ea user: dan tags: rbu-vacuum)
12:16
Merge all recent enhancements from trunk. (check-in: 1f709fbf93 user: drh tags: begin-concurrent)
00:30
API Change: Modify sqlite3_enable_load_extension() so that it only enables/disables the load_extension() SQL function, and leaves the C-APIs enabled at all times. In this way, applications can enable extension loading for the C interface without having to expose that capability to the SQL. (check-in: edb454e45a user: drh tags: load-ext-security)
2016-04-19
19:27
Updates to ensure the values of PRAGMA settings like "page_size", "auto_vacuum", "user_version" and "application_id" are not lost when a database is RBU vacuumed. (check-in: 74ffea76b8 user: dan tags: rbu-vacuum)
17:11
When an RBU vacuum is started on a db identified using a URI filename, pass the same URI parameters when creating the new version of the db. This ensures that RBU vacuum works with password protected databases. (check-in: ca021ba881 user: dan tags: rbu-vacuum)
16:20
Detect attempts to use rbu vacuum on a wal mode database (not allowed). And attempts to write to a database in the middle of an rbu vacuum (which prevents the vacuum from resuming). (check-in: 00b2f4b09f user: dan tags: rbu-vacuum)
2016-04-18
21:00
Another fix to rbu vacuum for a zipvfs case. (check-in: 29407d70e4 user: dan tags: rbu-vacuum)
18:18
Fix some zipvfs related problems in RBU vacuum. (check-in: d76f4aaa4c user: dan tags: rbu-vacuum)
17:30
Version 3.12.2 (Leaf check-in: 92dc59fd5a user: drh tags: release, branch-3.12.0, version-3.12.2)
16:18
Correctly interpret negative "PRAGMA cache_size" values when determining the cache-size used for sorting large amounts of data (i.e. the functionality in vdbesort.c). (check-in: 39dd67afa5 user: drh tags: branch-3.12.0)
16:12
Fix a problem in the code generator for joins on virtual tables where the outer loop of the join uses the IN operator. (check-in: a2cf496896 user: drh tags: branch-3.12.0)
16:06
Fix the sqlite3BtreeDelete() routine so that it preserves the correct key even when the row being deleted is not on a leaf page. Fix for ticket [a306e56ff68b8fa56] (check-in: 368e86c760 user: drh tags: branch-3.12.0)
15:59
Increase the version number to 3.12.2. (check-in: 9c37e9ce07 user: drh tags: branch-3.12.0)
15:54
Remove quotes from identifiers used as datatype names in a CREATE TABLE statement. Fix for ticket [7d7525cb01b68] (check-in: ab9d279f40 user: drh tags: branch-3.12.0)
15:46
Remove quotes from identifiers used as datatype names in a CREATE TABLE statement. Fix for ticket [7d7525cb01b68] (check-in: eba27d4d17 user: drh tags: trunk)
13:36
Merge recent trunk changes. (check-in: d9768de502 user: drh tags: tempfiles-25)
13:30
sqlite3PCachePerecentDirty() should return 0 if the pcache is empty. (check-in: 85f3d80eb7 user: drh tags: tempfiles-25)
13:09
The last parameter to pread64() and pwrite64() should be off64_t, not off_t. (check-in: 3a7d72986f user: drh tags: trunk)
09:17
Add the -vacuum switch to the "rbu" demonstration program. (check-in: 9a0078a538 user: dan tags: rbu-vacuum)
2016-04-16
19:02
Changes so that rbu vacuum works with zipvfs databases. (check-in: bae7f875f4 user: dan tags: rbu-vacuum)
17:53
Avoid creating any extra files ("<target>-vacuum") when running an RBU vacuum. Ensure that the OAL file created is "<target>-oal", not "<target>-vacuum-oal". (check-in: dc19aacc7e user: dan tags: rbu-vacuum)
15:03
Fix a couple of assert() statements that were failing with OOM error tests. (check-in: 8eb3d7d836 user: dan tags: rbu-vacuum)
2016-04-15
22:03
Add the SQLITE_SkipAhead optimization setting (check-in: 87703b7661 user: drh tags: skip-ahead-distinct)
20:46
Add the experimental sqlite3rbu_vacuum() API function. For opening an RBU handle that rebuilds a database from scratch. (check-in: 0216b48f28 user: dan tags: rbu-vacuum)
16:27
Skip-ahead is now just an optimization. If it gets confused, it falls back to an incremental scan with redundancy elimination. (check-in: 6fac0b9212 user: drh tags: skip-ahead-distinct)
16:17
Skip-ahead does not always work. So we still have to check for redundancy. (check-in: db5a2364eb user: drh tags: skip-ahead-distinct)
15:54
Fixes to the skip-ahead distinct logic. More issues remain. (check-in: 45a70b2bb8 user: drh tags: skip-ahead-distinct)
15:06
Merge enhancements from trunk, especially the ".eqp full" enhancement to the command-line shell. (check-in: 491f0dbd63 user: drh tags: skip-ahead-distinct)
15:03
CLI enhancement: Add the ".eqp full" option, that shows both the EXPLAIN QUERY PLAN and the EXPLAIN output for each command run. Also disable any ".wheretrace" and ".selecttrace" when showing EQP output. (check-in: 3e217d6265 user: drh tags: trunk)
14:13
Several new test cases that cause failures. (check-in: 0379f2cff6 user: drh tags: skip-ahead-distinct)
13:24
Fixed crash bugs. Still sometimes gets the wrong answers. (check-in: 2afcb2c752 user: drh tags: skip-ahead-distinct)
01:55
Progress toward getting DISTINCT to use a seek to advance to the next distinct row, when driven by an appropriate index. (check-in: 9e14aa14cf user: drh tags: skip-ahead-distinct)
2016-04-14
19:29
Work toward improving analysis and code generation for DISTINCT and aggregate queries. (Leaf check-in: 129083bd5e user: drh tags: better-distinct-agg)
17:29
In the ICU extension toupper() and tolower() SQL functions, avoid calling u_strToUpper() or u_strToLower() a second time if the buffer passed to the first invocation turns out to be large enough. (check-in: d23e581351 user: dan tags: trunk)
16:40
Add the SF_HasAgg constant (currently unused). Also enhance the comments on many other constant definitions to detail constraints on their values. (check-in: 7b7a69d098 user: drh tags: trunk)
15:44
Correctly interpret negative "PRAGMA cache_size" values when determining the cache-size used for sorting large amounts of data (i.e. the functionality in vdbesort.c). (check-in: 79147dca87 user: dan tags: trunk)
15:38
Add some missing testcase() macros to the pushDownWhereTerms() routine. (check-in: 67d7f79c5e user: drh tags: trunk)
13:35
Rename WhereInfo.pResultSet to pDistinctSet to more accurately reflect what it represents. (check-in: 5317961411 user: drh tags: trunk)
13:16
Since the return value of sqlite3OsClose() is always ignored, we might as well make it "void" instead of "int", and thereby save 50 bytes in the compiled binary. (check-in: 7ee570e7a9 user: drh tags: trunk)
13:06
Additional ".selecttrace" debugging output when the query is transformed from a DISTINCT into a GROUP BY. (check-in: 5a46914510 user: drh tags: trunk)
2016-04-13
21:00
Fix compiler warnings by removing surplus local variables in the schema pretty-printer logic of the command-line shell. (check-in: 55a62483b9 user: drh tags: trunk)
19:20
Merge enhancements from trunk via tempfiles-lazy-open. (check-in: ae16310c4e user: drh tags: tempfiles-25)
16:52
On commit, flush dirty temp-file pages only if the file is already open and 25% or more of the cache is dirty. (check-in: f6babf2920 user: dan tags: tempfiles-25)
16:02
Merge enhancements from trunk. (Closed-Leaf check-in: e2edd34e79 user: drh tags: tempfiles-lazy-open)
15:52
Fixes for harmless compiler warnings. (check-in: 68142dc541 user: drh tags: trunk)
15:33
Add the --indent option to the .schema and .fullschema commands in the shell, to enable simple but effective pretty-printing. (check-in: 83cfe82cd6 user: drh tags: trunk)
2016-04-12
20:26
A couple more compiler warning fixes. (Closed-Leaf check-in: 929fa4c31e user: mistachkin tags: warnings)
20:15
Even more compiler warning fixes. (check-in: 7faec9ea33 user: mistachkin tags: warnings)
20:05
More harmless compiler warning fixes. (check-in: ab69527c16 user: mistachkin tags: warnings)
19:30
Compilation fix for a C99-ism in the 'fts3view' tool. (check-in: bedb88a4b9 user: mistachkin tags: trunk)
19:20
Fix harmless compiler warnings in the 'session' module. (check-in: a18a6ce227 user: mistachkin tags: trunk)
19:09
Once a temporary database file has been opened, flush all dirty pages to disk when comitting a transaction. (check-in: bbac71aa2a user: dan tags: tempfiles-lazy-open)
17:13
Fix speedtest1 so that it automatically unlinks its test database prior to startup. (check-in: b65b69f6b6 user: drh tags: trunk)
16:59
Add the --temp option to the speedtest1.c performance test program. (check-in: 8053a6e2bf user: drh tags: trunk)
16:23
Improved localtime() support for WindowsCE (check-in: 662c32af02 user: drh tags: trunk)
16:11
Add and adjust comments. (Closed-Leaf check-in: 541c6da238 user: mistachkin tags: winCeLocalTime)
16:10
Merge enhancements from trunk. (check-in: 9682c0433c user: drh tags: tempfiles-lazy-open)
16:04
Add the sqlite3_snapshot_cmp() interface (available only with SQLITE_ENABLE_SNAPSHOT). (check-in: 7e72896551 user: drh tags: trunk)
15:14
Update the documentation for sqlite3_snapshot_cmp() to make the circumstances under which the comparison is valid clearer. Add tests for the same. (Closed-Leaf check-in: 8fc834741b user: dan tags: snapshot-cmp)
11:58
Update the header comment on the memjournal.c file. No code changes. (check-in: 07f10deabb user: drh tags: trunk)
00:26
Performance optimization the Vdbe allocator. (check-in: e2c4995bf1 user: drh tags: trunk)
00:16
Avoid unnecessary calls to object destructors for a small performance gain. (check-in: aec94b6ee6 user: drh tags: trunk)
00:00
Performance improvements in sqlite3WhereExprUsage(). (check-in: fdf752394b user: drh tags: trunk)
2016-04-11
22:45
Further refinements. (check-in: b35bb928b2 user: mistachkin tags: winCeLocalTime)
22:24
Merge updates from trunk. (check-in: b8094166b3 user: mistachkin tags: winCeLocalTime)
22:23
Fix typo in the MSVC makefile. (check-in: 3189a7f185 user: mistachkin tags: trunk)
22:10
Fix some compilation issues. (check-in: 016481b39f user: mistachkin tags: winCeLocalTime)
19:59
Add the sqlite3_snapshot_cmp() API. (check-in: c698a21af7 user: dan tags: snapshot-cmp)
19:24
Fix a typo in temptable2.test. (check-in: 04b1890fbc user: dan tags: tempfiles-lazy-open)
19:23
Add tests for wal mode to temptable2.test. (check-in: c6d0d441a1 user: dan tags: tempfiles-lazy-open)
19:01
Performance optimization to sqlite3Dequote() and its callers. (check-in: 9efe2265b1 user: drh tags: trunk)
18:50
Merge latest trunk changes with this branch. (check-in: ffc62af1d5 user: dan tags: tempfiles-lazy-open)
18:49
Add extra tests to temptable2.test. (check-in: 7dd9d4c15b user: dan tags: tempfiles-lazy-open)
18:25
Performance optimization for the sqlite3ExprListDelete() routine. (check-in: 2764aeaa11 user: drh tags: trunk)
18:15
Performance optimizations in the column cache of the code generator, and especially the sqlite3ExprCacheRemove() routine. (check-in: e35b345cf8 user: drh tags: trunk)
18:07
Fixes for OOM and IO error handling with temp file databases. (check-in: 4eb06e843a user: dan tags: tempfiles-lazy-open)
16:43
Simplification and performance improvements in sqlite3ExprDup() and its subroutines. More work is possible in this area. (check-in: 476cc28388 user: drh tags: trunk)
16:35
Rename the OP_MX_JUMP macro to SQLITE_MX_JUMP_OPCODE to avoid confusing the opcode name generator. (check-in: e554a4c38b user: drh tags: trunk)
14:49
Performance improvement in sqlite3ExprDelete(). (check-in: 60ad80e3af user: drh tags: trunk)
13:36
Remove the VdbeOp.opflags field and its associated initialization overhead. Update mkopcodeh.tcl to reorder opcode numbers to help the resolveP2Values() routine run faster. (check-in: 099478fa75 user: drh tags: trunk)
09:39
Update this branch with the latest changes from the trunk. (check-in: 982b753d0b user: dan tags: tempfiles-lazy-open)
01:43
Back off of the parser optimization in the previous check-in, slightly, to preserve some backwards compatibility regarding some undocumented behavior in the '#AAA' style query parameter. (check-in: ef1966c246 user: drh tags: trunk)
01:26
Small size reduction and performance improvement in the parser. (check-in: 16df71284b user: drh tags: trunk)
01:06
Factor out the common operation of setting the Expr.x.pSelect field of an Expr object into a subroutine. (check-in: 6a5cceee48 user: drh tags: trunk)
2016-04-09
18:04
Fix a problem in the code generator for joins on virtual tables where the outer loop of the join uses the IN operator. (check-in: 6c56b3a047 user: drh tags: trunk)
17:04
Fix the sqlite3BtreeDelete() routine so that it preserves the correct key even when the row being deleted is not on a leaf page. Fix for ticket [a306e56ff68b8fa56] (check-in: ca2ef8a86c user: drh tags: trunk)
14:36
Limit the number of digits shown in the "prereq" mask for ".wheretrace" debugging output. (check-in: 3686ed7413 user: drh tags: trunk)
2016-04-08
21:35
Attempt to treat the arguments to a table-valued function as if they occur in the ON clause of a LEFT JOIN rather than in the WHERE clause. But this causes undesirable behavior with generate_series, as demonstrated by test cases. This is an incremental check-in pending further work. (Leaf check-in: 00ac73a01c user: drh tags: tabfunc-in-left-join)
19:44
Update documentation for sqlite3_snapshot_open(). No code changes. (check-in: 1dfa5234d3 user: drh tags: trunk)
15:09
Version 3.12.1 (check-in: fe7d3b75fe user: drh tags: release, branch-3.12.0, version-3.12.1)
2016-04-07
23:18
Enhance the query planner so that IS and IS NULL operators are able to drive an index on a LEFT OUTER JOIN. (check-in: 84d2a09eab user: drh tags: branch-3.12.0)
21:29
Update the version number to 3.12.1. This is the first release candidate. (check-in: 300f1b61a0 user: drh tags: branch-3.12.0)
21:29
Carry table column types through into VIEW definitions, where possible. (check-in: 3360ab098a user: drh tags: branch-3.12.0)
21:22
Prevent the in-memory journal read cursor from entering an inconsistent state when it reads the last few bytes out of the journal file. Fix for ticket [7f7f8026eda38]. (check-in: c232b99e65 user: drh tags: branch-3.12.0)
21:14
Add test cases for ticket [7f7f8026eda387d544]. (check-in: 87aa9357fb user: drh tags: trunk)
18:42
Prevent the in-memory journal read cursor from entering an inconsistent state when it reads the last few bytes out of the journal file. Fix for ticket [7f7f8026eda38]. (check-in: c4b9c611bd user: drh tags: trunk)
14:16
Avoid decrementing a pointer off the front end of the buffer in OP_MakeRecord. (check-in: 153135bfb3 user: drh tags: trunk)
14:05
Instead of just commenting out the unneeded code in the previous check-in, remove it completely. (check-in: 8415d4848a user: drh tags: trunk)
14:01
Remove an unnecessary test for a NULL pointer in freeP4(). (check-in: e84e88e31b user: drh tags: trunk)
13:45
Update comments on the unix file locking protocol. No changes to code. (check-in: 716b20de43 user: drh tags: trunk)
2016-04-06
18:20
For a pager backed by a temp file, store the main journal in memory until it is at least sqlite3_config.nStmtSpill bytes in size. Prevent the backup API from being used to change the page-size of a temp file. (check-in: 84c557010c user: dan tags: tempfiles-lazy-open)
17:32
Add a couple options to the MSVC makefile. (check-in: ea4de04d67 user: mistachkin tags: branch-3.12.0)
16:27
Fix a problem in test script lock.test. Fix minor issues in pager.c. (check-in: 84de8813c3 user: dan tags: tempfiles-lazy-open)
15:39
Add tests to this branch. Fix a problem with temporary databases in auto-vacuum mode. (check-in: afe9bd9b4b user: dan tags: tempfiles-lazy-open)
2016-04-05
23:39
Remove an unnecessary branch in the sqlite3LogEstToInt() routine. (check-in: da81d7afeb user: drh tags: trunk)
21:07
Defer opening the file used for the temp database (where CREATE TEMP TABLE tables are stored) until the database is too large to reside entirely within the cache. There are likely still problems on this branch. (check-in: be5a549eba user: dan tags: tempfiles-lazy-open)
20:59
Carry table column types through into VIEW definitions, where possible. (check-in: fb555c3c2a user: drh tags: trunk)
19:46
Remove superfluous directories from the Makefile clean targets. (check-in: 0bf9926c7a user: mistachkin tags: trunk)
18:24
Oops. Branched from the wrong baseline. Ignore this one. (Closed-Leaf check-in: 8f1f300c28 user: drh tags: mistake)
17:59
Merge updates from trunk. (check-in: 00990020d0 user: mistachkin tags: winCeLocalTime)
17:50
Add the SQLITE_DBCONFIG_REQUIRE_TXN argument for sqlite3_dbconfig() which when set requires an explicit transaction before updating the database. (check-in: b7570ac14d user: drh tags: require-write-txn)
15:59
Incorrect version of build.c checked in at [87e5f5a6c60e3] (because I neglected to press the "Save" button on the text editor). There is no change to the logic, just improved presentation. (check-in: cf569f9f2f user: drh tags: trunk)
14:02
Make sure "0" intended as a NULL pointer is cast to a pointer when used in a varargs functions parameter. (check-in: ed128e8b82 user: drh tags: trunk)
14:01
Remove an unnecessary conditional from the index builder. (check-in: 87e5f5a6c6 user: drh tags: trunk)
13:35
Use SQLITE_WITHIN() for pointer range comparisons in some testing code. (check-in: 7cacf4e954 user: drh tags: trunk)
13:19
Do not allow pointer arithmetic to move a pointer across a memory allocation boundary. (check-in: 85b979319b user: drh tags: trunk)
00:44
Avoid unnecessary memset() operations in sqlite3PagerGet(). (Leaf check-in: 0c97b80240 user: drh tags: pager-get-noinit)
2016-04-04
18:04
Fix documentation typos. Comment changes only. No changes to code. (check-in: d5fc2f7f90 user: drh tags: trunk)
17:59
Improve error messages from the 'shell1-5.0' test. (check-in: cefd36ff7b user: mistachkin tags: trunk)
17:34
Improved handling of UTF8 by the command-line shell. (check-in: 4534ebf15f user: drh tags: trunk)
17:23
Add the ".auth ON|OFF" command to the command-line shell. (check-in: 65c7bcc427 user: drh tags: trunk)
16:40
Test that the view name is passed to the authorization callback when a SELECT statement is run on a view. (check-in: 8627a4cd6d user: dan tags: trunk)
15:47
Add and enhance the new tests. (Closed-Leaf check-in: f4cbd18db4 user: mistachkin tags: altShellFix)
14:57
Enhance sqlite3session_apply() and sqlite3session_apply_strm() so that conflicts are retried before the xConflict() callback is invoked, as long as the "apply" operation is making forward progress. (check-in: 42a2196684 user: drh tags: trunk)
13:46
Minor performance optimization in the comparison opcodes of the VDBE. (check-in: e375fe52ce user: drh tags: trunk)
12:38
Fix harmless compiler warnings. (check-in: 0213d6af84 user: drh tags: trunk)
02:33
Refinements to the previous check-in. (check-in: b36dfdff78 user: mistachkin tags: altShellFix)
02:16
Experimental changes to the command line shell to make it work better with Unicode on Windows. (check-in: 74183a5f80 user: mistachkin tags: altShellFix)
02:05
More refactoring and cleanup work on the Win32 string conversion and utility routines. (check-in: 02ccb444a3 user: mistachkin tags: altShellFix)
2016-04-03
22:44
Revise and enhance the Win32 string conversion routines. (check-in: 345860c921 user: mistachkin tags: altShellFix)
20:50
Replace the new fprintf() calls. (check-in: f76c3a0ca4 user: mistachkin tags: altShellFix)
20:45
Merge updates from trunk. (check-in: 566b551e5a user: mistachkin tags: altShellFix)
2016-04-01
17:54
Preupdate hook documentation fixes. No changes to code. (check-in: 59814f35d1 user: drh tags: trunk)
12:35
When reading an sqlite_stat1 table with missing entries for some indexes, set the default for the missing indexes after all other indexes are set so that the default values are more in line with indexes that are actually in the stat1 table. (check-in: a62340dc05 user: drh tags: trunk)
2016-03-31
22:53
Update the clean target in the MSVC makefile. (check-in: 69f4d83210 user: mistachkin tags: trunk)
21:36
Version 3.9.3 (check-in: dfbfd34b3f user: drh tags: release, branch-3.9, version-3.9.3)
21:16
Enhance the query planner so that IS and IS NULL operators are able to drive an index on a LEFT OUTER JOIN. (check-in: f1e6bb952e user: drh tags: branch-3.9)
20:40
Enhance the query planner so that IS and IS NULL operators are able to drive an index on a LEFT OUTER JOIN. (check-in: c648539b52 user: drh tags: trunk)
15:08
Add another OOM test to this branch. (Closed-Leaf check-in: 49763fc3ae user: dan tags: session-retry)
10:50
Add further tests for the code on this branch. Fix a problem in OOM handling. (check-in: 195f3340ee user: dan tags: session-retry)
02:44
Enhanced comments describing the sessions file format. No changes to code. (check-in: 84dc41e2df user: drh tags: session-retry)
00:45
Fix the return code in sessionRetryConstraints(). (check-in: ea917c14b9 user: drh tags: session-retry)
2016-03-30
21:19
Have the sqlite3session_apply() function and its streaming equivalent retry any operations that failed with SQLITE_CONSTRAINT after all other operations on the same table have been attempted. New code is largely untested. (check-in: 1085911afb user: dan tags: session-retry)
16:23
Updates for the MSVC makefiles. (check-in: 7cf0cab730 user: mistachkin tags: trunk)
16:22
Fix typo in comment. No changes to code. (check-in: 64d75cbe2c user: mistachkin tags: trunk)
15:30
Simplifications and clarification to update callback handling in the OP_Delete and OP_Insert opcodes. (check-in: 47887ef89e user: drh tags: trunk)
14:26
Increase the version number to 3.13.0 on account of the new session extension. (check-in: e9bcd5acb9 user: drh tags: trunk)
14:17
Remove a redundant test for disabling RESTRICT with defer_foreign_keys=ON. (check-in: 9cdf813c6a user: drh tags: trunk)
13:43
Incorporate the sessions extension and the SQLITE_ENABLE_PREUPDATE_HOOK compile-time option. (check-in: 4af7a90f98 user: drh tags: trunk)
12:56
Avoid compiler warnings and excess opcodes when SQLITE_ENABLE_PREUPDATE_HOOK is not used. Fix the EXPLAIN output for P4_TABLE opcodes. (Closed-Leaf check-in: 5ab46d760d user: drh tags: sessions)
12:20
Improvements to the performance testing program "speedtest1.c" and the shell script that invokes it. (check-in: e4bee561fd user: drh tags: trunk)
2016-03-29
21:19
Fix some code and test coverage issues in fts5_index.c. (Leaf check-in: 7635c68018 user: dan tags: fts5)
10:36
Merge 3.12.0 changes. (check-in: d7381efff4 user: drh tags: begin-concurrent)
10:30
Merge 3.12.0 changes. (check-in: eef557449c user: drh tags: apple-osx)
10:19
Merge changes for 3.12.0. (check-in: ed22eb653f user: drh tags: sessions)
10:14
Version 3.12.0 (check-in: e9bb4cf40f user: drh tags: trunk, release, version-3.12.0)
2016-03-28
20:13
Add further tests for savepoint rollback. Fix various code issues and add missing comments in fts5_index.c. (check-in: a805c6f7ea user: dan tags: fts5)
15:06
Integrate the vcreate-stmt branch into this one. (check-in: 06039d901a user: dan tags: fts5)
14:57
Open a statement transaction for "CREATE VIRTUAL TABLE" statements in order to ensure that if the xCreate() call fails, changes made to the sqlite_master and possibly other tables are rolled back. (Closed-Leaf check-in: d0a3853b37 user: dan tags: vcreate-stmt)
11:01
Fix the multiplexor so that it does not assume that the xGetLastError method is non-NULL in the child VFS. (check-in: f6a88cccbc user: drh tags: trunk)
2016-03-26
20:11
Fix a problem with OOM handling when setting an fts5 configuration option. (check-in: 53b80a6d05 user: dan tags: fts5)
15:36
More changes to the shellN.test scripts to get them working on all variations of Windows. (check-in: 8213c2f581 user: drh tags: trunk)
14:41
Remove the catchcmd_collapse_space procedure in tester.tcl - no longer needed. (check-in: 3bd499d3bd user: drh tags: trunk)
13:26
Update shell1.test tests to deal with backslash escaping in TCL on Windows-style pathnames. (check-in: 219a251e18 user: drh tags: trunk)
2016-03-25
20:10
Do not run the shell3.test module under mingw because of mingw's dodgy command-line parsing. (check-in: a7c080a90a user: drh tags: trunk)
17:19
In the Win32 VFS, avoid trying to use rand_s() on Windows CE. (check-in: 183350fa7c user: mistachkin tags: trunk)
17:09
Add the catchcmd_collapse_space command and use it to help make shell testing more robust against TCL space escapes. (check-in: 93caabb660 user: drh tags: trunk)
12:10
Fix two instances of undefined behavior in the C code - both harmless for all current compilers. (check-in: 99fd194c83 user: drh tags: trunk)
2016-03-24
20:55
Make test cases in shell1.test robust against TCL deciding to quote strings using lots of backslashes. (check-in: 817e93f42c user: drh tags: trunk)
20:36
Prevent negative values of SQLITE_DEFAULT_CACHE_SIZE from making SQLITE_WIN32_HEAP_INIT_SIZE negative. (check-in: e0737f5236 user: mistachkin tags: trunk)
15:32
Larger margins for one memsubsys1 range check when running with a non-zero reserved-bytes value. (check-in: 6db1d1fbc6 user: drh tags: trunk)
15:09
Fix some test scripts so that they work with various permutations. (check-in: f4d234b501 user: dan tags: trunk)
14:34
Merge the beta changes into sessions. (check-in: beb5ea1439 user: drh tags: sessions)
2016-03-23
17:54
Avoid calling realloc() with a zero size in fuzzcheck.c. (check-in: a1fd14694c user: drh tags: trunk)
16:32
Fix "ifcapable" tests in capi3.test and capi3c.test so that the tests work with more build configurations. (check-in: 3fa88f68c3 user: dan tags: trunk)
15:53
Remove an unused local variable from FTS5. (check-in: 0ed693c29f user: drh tags: trunk)
15:04
Explicitly limit the size of fts5 tokens to 32768 bytes. (check-in: 70fc69eed9 user: dan tags: trunk)
13:46
Update a requirement mark. No changes to code. (check-in: 412984642a user: drh tags: trunk)
2016-03-22
20:05
The sqlite3_column_decltype() routine should return NULL, not an empty string, if the column has no declared type. (check-in: 605eba4a75 user: drh tags: trunk)
15:26
Fix harmless compiler warning for MSVC. (check-in: 142cd359d3 user: mistachkin tags: trunk)
15:25
Fix a harmless compiler warning. (check-in: 5ace870d3a user: drh tags: trunk)
15:01
Fix some errors in fts5 test scripts. (check-in: e1ab2d376a user: dan tags: trunk)
14:37
Create the "uptr" typedef (the same as uintptr_t when available) and use it to cast pointers before comparison. (check-in: 2484cc0c3f user: drh tags: trunk)
14:10
Avoid the possibility of integer overflow on a pointer comparison test for corruption in the database file. (check-in: ff1b1ac331 user: drh tags: trunk)
2016-03-21
22:28
Fix harmless compiler warnings. (check-in: 25d776e452 user: drh tags: trunk)
16:25
Add tests to ensure that fts5 is now deterministic. (check-in: 3d076094ce user: dan tags: trunk)
16:19
Skip recently added test cases in nolock.test when running in the inmemory_journal permutation. (check-in: a1dcf7af42 user: drh tags: trunk)
16:06
Remove an unreachable branch from the unlink verification logic in the UNIX VFS. (check-in: 4dc30cce7f user: drh tags: trunk)
15:54
Merge all recent changes from trunk. (check-in: 8ee7d346c1 user: drh tags: begin-concurrent)
15:32
Merge 3.12.0 beta changes from trunk. (check-in: 3296a0ceed user: drh tags: sessions)
15:30
Have fts5 cache the structure of its index in main memory. Use "PRAGMA data_version" to figure out when this cache should be invalidated. (check-in: 902f221754 user: dan tags: trunk)
15:18
Rearrange code so that tests pass whether SQLITE_DEBUG is defined or not. (Closed-Leaf check-in: 89296a46c3 user: dan tags: fts5-data-version)
14:52
Merge the sqlite3_system_errno() change from trunk. (check-in: 063f1b3705 user: drh tags: apple-osx)
14:46
Add the sqlite3_system_errno() interface. (check-in: 4bd12b57ea user: drh tags: trunk)
12:28
Make sure system errors that occur durign sqlite3_step() are captured for use by sqlite3_system_errno(). (Closed-Leaf check-in: b4a1114f73 user: drh tags: sqlite_system_errno)
11:57
Improved comments. No logical changes to code. (check-in: a6b6c6c466 user: drh tags: sqlite_system_errno)
11:38
Do a better job of capturing all system errno values regardless of when they occur. (check-in: 7d49998d57 user: drh tags: sqlite_system_errno)
10:49
Merge updates from trunk. (check-in: 86ab864396 user: drh tags: sqlite_system_errno)
09:56
Change the way fts5 internally allocates segment ids in order to eliminated non-determinism from the module. (check-in: d6e2637df1 user: dan tags: trunk)
00:38
Change the Vdbe.aMem array so that it is zero-based instead of one-based. (check-in: c39081e878 user: drh tags: trunk)
00:30
Remove an unreachable branch. Improvements to comments. (Closed-Leaf check-in: c5677ecd5c user: drh tags: zero-base-aMem)
2016-03-19
23:32
Change the Vdbe.aMem array so that it is zero-based instead of one-based. (check-in: e07b0c47eb user: drh tags: zero-base-aMem)
18:11
Fix exclusive.test so that it works with -DSQLITE_TEMP_STORE=3. (check-in: d7852c6396 user: dan tags: trunk)
18:00
Updates to the Lemon documentation. (check-in: f095341471 user: drh tags: trunk)
17:48
Add the sqlite3rbu_bp_progress() API to the RBU extension. Used to obtain the percentage progress of an RBU update. (check-in: 209e31c729 user: dan tags: trunk)
17:09
Fix a problem detecting invalid values in the rbu_control column of an rbu database table. (Closed-Leaf check-in: a1132dd902 user: dan tags: rbu-percent-progress)
16:21
Update the sqldiff tool so that it generates an rbu_count table. (check-in: 1f7afb6e9b user: dan tags: rbu-percent-progress)
15:34
Merge latest trunk changes, including fixes to test script rbudiff.test, into this branch. (check-in: 734fc68fb1 user: dan tags: rbu-percent-progress)
15:13
Fix another problem in test script rbudiff.test. (check-in: 41c29c123f user: dan tags: trunk)
14:53
Fix test scripts sqldiff.test and rbudiff.test so that they work with the --testdir option. (check-in: 1ffe3cde03 user: dan tags: trunk)
14:47
Add test file fts5multiclient.test. (check-in: 7832466f91 user: dan tags: fts5-data-version)
00:40
Fix a VDBE register allocation bug exposed by recent enhancements to PRAGMA integrity_check. (check-in: c73b5b9ccf user: drh tags: apple-osx)
00:35
Fix a register allocation bug in the VDBE code generator for PRAGMA integrity_check; (check-in: 88439a866b user: drh tags: trunk)
2016-03-18
20:12
Add further tests for sqlite3rbu_bp_progress(). Fix a problem in handling WITHOUT ROWID tables in the same. (check-in: 65e02368e2 user: dan tags: rbu-percent-progress)
18:56
Change the name of the new API on this branch to "sqlite3_bp_progress". Add tests and documentation for the same. (check-in: 1a1b69e87e user: dan tags: rbu-percent-progress)
11:03
Test case tweaks to better support the Apple configuration options. (check-in: cb0ffe844c user: drh tags: apple-osx)
10:29
Add tests for the changes on this branch. Fix a problem with calls to the new progress indicator API made after an rbu update has been resumed. (check-in: bf82321724 user: dan tags: rbu-percent-progress)
00:58
Merge recent enhancements from trunk. (check-in: ec052b4f14 user: drh tags: apple-osx)
00:39
Fix FTS5 so that it works with SQLITE_OMIT_AUTORESET. (check-in: b199637d81 user: drh tags: trunk)
00:19
Fix more test-case errors in the Apple configuration. (check-in: 6631e1e655 user: drh tags: trunk)
2016-03-17
23:56
Fix some test cases so that they work under the Apple configuration. (check-in: 399c60764d user: drh tags: trunk)
23:16
Fix harmless compiler warnings that arise with -DSQLITE_OMIT_LOAD_EXTENSION (check-in: 65ba2f0b46 user: drh tags: trunk)
23:00
Changes to releasetest.tcl: Rename the "OS-X" configuration to "Apple". Bring the "Apple" configuration up to date. Allow the use of "if:os=..." arguments in a configuration. Run the Apple configuration on Linux in addition to on Macs, but without -DSQLITE_ENABLE_LOCKING_STYLE. (check-in: beb2a80b43 user: drh tags: trunk)
21:06
Add an API to indicate the percentage progress of an rbu update. (check-in: ffc58d2c25 user: dan tags: rbu-percent-progress)
19:28
Change the xGetLastError() method on the windows VFS so that it continues to format an error message (if requested) but returns the system error code, rather than an SQLite status code. (check-in: 1602f6b536 user: drh tags: sqlite_system_errno)
19:07
A more compact implementation of the code generator for the IS and IS NOT operators. (check-in: 8607e3ac7a user: drh tags: trunk)
18:41
An alternative method of encoding the wildcard in "SELECT *". This is an experiment. (Closed-Leaf check-in: 41335d8800 user: drh tags: select-wildcard)
17:23
Simple test cases for sqlite3_system_errno() (check-in: 185bc8644c user: drh tags: sqlite_system_errno)
16:01
Experimental implementation of the sqlite3_system_errno() interface. (check-in: 6782c87b37 user: drh tags: sqlite_system_errno)
12:39
Fix some OOM-handling issues in the fts5 changes on this branch. (check-in: 020a0bda59 user: dan tags: fts5-data-version)
2016-03-16
21:29
The prepared statements for some pragmas can now be reused without invoking an automatic reprepare. (check-in: 97b0e88cc7 user: drh tags: trunk)
20:53
Merge the changes on the reusable-pragma branch into this one. (check-in: 6c4a17b963 user: dan tags: fts5-data-version)
20:44
Some pragmas can be reused without an automatic reprepare. (Closed-Leaf check-in: db1ce7e13e user: drh tags: reusable-pragma)
20:05
Fix a comment on the freelist_count and data_version pragmas. (check-in: 10a3e2a01d user: drh tags: trunk)
19:53
Add a cast to an implict (size_t -> int) conversion in fts5_expr.c. (check-in: d9b5ff7aba user: dan tags: trunk)
19:48
Have fts5 cache the decoded structure of fts5 indexes in memory. Use "PRAGMA data_version" to detect stale caches. (check-in: 33ef2210ef user: dan tags: fts5-data-version)
19:45
Enhance Lemon so that it reorders the reduce rules such that rules without actions occur at the end and so that the first rule is number 0. This reduces the size of the jump table on the reduce switch, and helps the parser to run faster. (check-in: d5712f21ec user: drh tags: trunk)
19:34
Merge the latest enhancements from trunk. (check-in: a7978ab6d2 user: drh tags: begin-concurrent)
19:10
Avoid a few unnecessary fstat()s on journal files. (check-in: dbf8470591 user: drh tags: trunk)
18:26
Fix the query planner so that it is able to use the integer primary key from an index as part of a multi-column constraint. (check-in: 96ea990942 user: drh tags: trunk)
01:16
Merge all recent enhancements from trunk. (check-in: 6a7ee04b0d user: drh tags: sessions)
01:09
Merge the SQLITE_OMIT_CODEC_FROM_TCL compile-time option from trunk. (check-in: 161d91e485 user: drh tags: apple-osx)
01:03
Add the SQLITE_OMIT_CODEC_FROM_TCL compile-time option. (check-in: 45f7f0c80b user: drh tags: trunk)
00:36
Rearrange some internal fields in the sqlite3_stmt object to avoid a harmless TSAN warning. (check-in: e0b116edd6 user: drh tags: trunk)
2016-03-15
22:00
Change the OP_IntegrityCk opcode to accept the list of root pages as an intarray argument in P4. Slightly smaller and faster. (check-in: 15e4a272df user: drh tags: trunk)
19:10
In the Win32 VFS, use SQLITE_FCNTL_LAST_ERRNO instead of (the older) SQLITE_LAST_ERRNO. (check-in: 9463762c43 user: mistachkin tags: trunk)
17:52
Implement FROM-clause subqueries as co-routines whenever they are guaranteed to be the outer-most loop of the join. (check-in: c7bae50bdc user: drh tags: trunk)
12:45
Merge updates from trunk - FTS5 fixes and enhancemenets to the tests scripts so that they work with SEE. (check-in: f41a7361a1 user: drh tags: apple-osx)
12:37
More test-case changes so that everything works when the reserved_bytes value in the header is non-zero. (check-in: 2fd095b14b user: drh tags: trunk)
09:55
Fix the shellN.test test scripts so that they work with the --testdir option. (check-in: 051c61ebae user: dan tags: trunk)
09:42
Update this branch with latest trunk changes. (check-in: 249cd361b8 user: dan tags: schemalint)
2016-03-14
21:26
Fix the permutations.test script so that it works again. (check-in: 9f194f90c0 user: drh tags: trunk)
21:12
Update test scripts so that they work with SEE. (check-in: f4693ba4bb user: drh tags: trunk)
20:49
Changing page size using VACUUM or backup is not allowed with a codec attached. (Closed-Leaf check-in: 92be06c1a8 user: drh tags: see-testing)
18:42
Merge test script fixes from trunk. (check-in: ea1d2cddd5 user: drh tags: see-testing)
18:34
Many more test cases fixed. Only a few remain. (check-in: 99b9d7eef6 user: drh tags: see-testing)
17:05
Many test cases fixed to work with encryption. (check-in: d866fffb8b user: drh tags: see-testing)
16:16
Test script changes to support testing the SQLite Encryption Extension. (check-in: 1c70aa5c01 user: drh tags: see-testing)
15:43
Fix the backcompat.test script so that it works with the --testdir test option. (check-in: f7480e33eb user: dan tags: trunk)
15:03
Run TCL tests in the "testdir" subdirectory. (check-in: 90e0cc7b0b user: drh tags: trunk)
14:59
More file pathname normalization. (Closed-Leaf check-in: fa8c12921f user: drh tags: test-in-subdir)
14:28
Normalize the $testdir and $argv0 paths so that they continue to work in the testing subdirectory. (check-in: 19225b8130 user: drh tags: test-in-subdir)
13:42
Run TCL tests in a subdirectory "testdir". (check-in: f632bba0d6 user: drh tags: test-in-subdir)
12:16
Fix a memory leak in fts5 that could occur following a syntax error in a query expression. (check-in: 54b8968e33 user: dan tags: trunk)
2016-03-12
19:33
Fix a problem handling 'NEAR("" token)' in fts5 found by fuzzing. (check-in: 10a827ae5f user: dan tags: trunk)
16:32
Fix handling of strings that contain zero tokens in fts5. And other problems found by fuzzing. (check-in: 72b3ff0f0d user: dan tags: trunk)
2016-03-11
23:07
Do not allow the use of WAL mode with nolock=1 because it does not work. (check-in: 74f5d3b07f user: drh tags: trunk)
15:25
Tweak the amalgamation autoconf files so that the --disable-static-shell option works again. (check-in: 83efcdebfa user: dan tags: trunk)
14:30
Update spellfix1_scriptcode() to output 215 (latin) for pure numeric text. (check-in: df44308b86 user: drh tags: trunk)
2016-03-10
19:08
Check for PDB files prior to attempting to copy them in the MSVC batch build tool. (check-in: d7c20f04e6 user: mistachkin tags: trunk)
15:12
Add tests to cover untested branches in recent fts5 changes. (check-in: fa0033edf6 user: dan tags: trunk)
14:28
Use #ifdefs to remove code that is unreachable in some configurations, replacing it with an assert(). (check-in: f96ec84d60 user: drh tags: trunk)
14:22
Remove an unused local variable. (check-in: 3c343c3d01 user: drh tags: trunk)
2016-03-09
20:54
Add an incremental optimize capability to fts5. Make the 'merge' command independent of the 'automerge' settings. (check-in: 556671444c user: dan tags: trunk)
18:17
Fix a problem in fts3/4 that was causing it to discard data cached in-memory if an 'optimize' command is run when there is no data on disk. The usual way this would happen is if the very first transaction that writes to the fts3/4 table also includes an 'optimize' command. (check-in: 79338b991b user: dan tags: trunk)
15:34
Slight simplification to the query optimizer logic associated with IN (SELECT). (check-in: 2c55c3c295 user: drh tags: trunk)
15:14
Add another test case for bug [5e3c8867]. (check-in: d91e57e49f user: dan tags: trunk)
15:09
When optimizing expressions of the form "x IN (SELECT ...)" make sure that the subquery is not correlated. Fix for ticket [5e3c886796e5512]. (check-in: 1ed6b06ea3 user: drh tags: trunk)
13:39
Automatically disable SQLITE_ENABLE_EXPLAIN_COMMENTS if SQLITE_OMIT_EXPLAIN is defined. (check-in: 8d4b6b2b51 user: drh tags: trunk)
12:35
In the query planner, make sure OOM errors are reported up into whereLoopAddVirtual() so that it shuts down appropriately. (check-in: a13c59d08b user: drh tags: trunk)
11:59
Disable the bestindex*.test modules when building without virtual table support. (check-in: e0bac2f3ee user: drh tags: trunk)
08:08
Merge latest trunk changes with this branch. (check-in: 59caca4387 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: fc18cc9293 user: dan tags: schemalint)
04:17
Simplifications to the memjournal.c logic to facilitate testing. (check-in: 8baa2c2c76 user: drh tags: trunk)
03:44
Move the write failure test in memjrnlCreateFile() to just after the actual write, thus reducing the number of instances of the test by one. (check-in: 7f00d80c63 user: drh tags: trunk)
03:29
Update a comment in btree.c to account for WITHOUT ROWID tables. No code changes. (check-in: fa20dcb03b user: drh tags: trunk)
02:12
Change a branch made obsolete by recent parser enhancements into an assert(). (check-in: ee486ef742 user: drh tags: trunk)
02:03
Add an #ifdef and an ALWAYS() for coverage. (check-in: 069337a922 user: drh tags: trunk)
2016-03-08
23:44
Change an unreachable branch in the virtual table query planner into an assert(). (check-in: 73b97b9ec3 user: drh tags: trunk)
23:18
Improved comments on virtual table query planning. Added many new WHERETRACE() macros. (check-in: 4c89c2534a user: drh tags: trunk)
17:59
In memjournal.c, reuse the same sqlite3_file object for both the in-memory phase and the on-disk phase. (check-in: e7fbbdc25c user: drh tags: trunk)
17:44
Modify the memjournal.c code to make it a bit smaller. (Closed-Leaf check-in: d99ac41548 user: dan tags: memjournal-exp)
16:35
Merge changes from trunk, especially the SQLITE_DEFAULT_SYNCHRONOUS enhancements. (check-in: 2974194123 user: drh tags: apple-osx)
16:07
Drop support for SQLITE_EXTRA_DURABLE. The new SQLITE_DEFAULT_SYNCHRONOUS compile-time option is a more general replacement. (check-in: f6d3156ba9 user: drh tags: trunk)
16:02
Remove an unused goto label in the RBU extension. (check-in: 2179a106e8 user: drh tags: trunk)
15:52
Add a new row type to RBU (a peer of insert, update and delete) - "delete then insert". (check-in: 1d9468d242 user: dan tags: trunk)
15:47
Add the SQLITE_DEFAULT_SYNCHRONOUS and SQLITE_DEFAULT_WAL_SYNCHRONOUS compile-time options. Automatically switch to the WAL_SYNCHRONOUS setting when first opening a WAL-mode database if the synchronous setting has not been previously set by the application. (check-in: 5a847a676e user: drh tags: trunk)
15:37
Update fts3/4 so that the 'merge=X,Y' command merges at least, instead of exactly, Y segments from a single level. This matches the documentation. 'merge=X,0' is, as it was in 3.11, an error. (check-in: 64b3cb2915 user: dan tags: trunk)
15:30
Make the SQLITE_DEFAULT_SYNCHRONOUS and SQLITE_DEFAULT_WAL_SYNCHRONOUS values zero-based to agree with PRAGMA synchronous. (Closed-Leaf check-in: 592d210436 user: drh tags: default-synchronous)
15:14
If SQLITE_DEFAULT_WAL_SYNCHRONOUS is not the same value as SQLITE_DEFAULT_SYNCHRONOUS and the application has not run "PRAGMA synchronous", then set synchronous to the SQLITE_DEFAULT_WAL_SYNCHRONOUS setting when entering WAL mode for the first time. (check-in: 5791407b52 user: drh tags: default-synchronous)
14:40
Add compile-time options SQLITE_DEFAULT_SYNCHRONOUS and SQLITE_DEFAULT_WAL_SYNCHRONOUS used to specify the default synchronous settings for all database connections. (check-in: 1fefa967aa user: drh tags: default-synchronous)
14:16
Fix ATTACH to use the symbolic name PAGER_SYNCHRONOUS_FULL rather than an integer literal. (check-in: c4e192a0e5 user: drh tags: trunk)
14:01
Merge coverage improvements and comment fixes from trunk. (check-in: 58023bfccc user: drh tags: apple-osx)
13:56
Fix comments on pager flag settings to include synchronous=EXTRA. (check-in: 3a65a1fc0f user: drh tags: trunk)
02:59
Simplified error detection in the xBestIndex processing. (check-in: 82ca2131b6 user: drh tags: trunk)
01:32
Add the ALLBITS macro as a shorthand for "(Bitmask)(-1)". (check-in: 91bd619d27 user: drh tags: trunk)
01:11
Add a NEVER() to the code generator. Change the parameter name "mExtra" to "mPrereq" in the query planner, to more closely reflect its meaning. (check-in: 721ae51e44 user: drh tags: trunk)
00:39
Changes so that some assert()s in the virtual table query planner are correct even following an OOM error. (check-in: 9805f6f852 user: drh tags: trunk)
2016-03-07
21:28
Fix a typo and remove an unused variable from test logic. (check-in: 9f31516c5d user: drh tags: apple-osx)
20:48
Merge recent enhancements from trunk. (check-in: 84f09f00f8 user: drh tags: apple-osx)
20:14
Update fts3/4 so that the 'merge=X,0' command merges X pages from all segments of the first level in the fts index that contains 2 or more segments. (check-in: cddf69dbc4 user: dan tags: trunk)
19:08
Avoid a NULL pointer dereference following an OOM while generating code for IN operators on virtual tables. (check-in: c924008692 user: drh tags: trunk)
17:49
Merge the virtual table query planner enhancement, the RTREE cost estimate fix, and the statement journal spill delay enhancement from trunk. (check-in: 17fd8f3cf0 user: drh tags: sessions)
17:39
Add a new row type to RBU (a peer of insert, update and delete) - "delete then insert". (Closed-Leaf check-in: 169311c85b user: dan tags: rbu-delete-then-insert)
17:37
Add the SQLITE_CONFIG_STMTJRNL_SPILL option for sqlite3_config(). (check-in: b6c4202432 user: drh tags: trunk)
2016-03-05
21:32
Fix a problem in the previous commit affecting queries with three or more tables joined together to the right of a LEFT or CROSS JOIN operator. (check-in: d8d89d69a4 user: dan tags: trunk)
21:07
Change the way SQLite invokes the xBestIndex method of virtual tables so that N-way joins involving virtual tables work as expected. (check-in: 195444380b user: dan tags: trunk)
20:28
Adjust the cost estimates for RTREE such that the expected number of rows and expected cost is halved for each additional constraint. (Closed-Leaf check-in: fd7cd06093 user: drh tags: xbestindex-fix)
17:29
Change the way SQLite invokes the xBestIndex method of virtual tables so that N-way joins involving virtual tables work as expected. (check-in: ffc65968ed user: dan tags: xbestindex-fix)
15:35
Remove the unused journal.c source file (its function have been subsumed into memjournal.c). Refactor some of the names in memjournal.c. No functional changes. (check-in: 5f2a262d3f user: drh tags: trunk)
15:03
Work around (incorrect) ASAN warnings in memjournal.c. (check-in: 4de09777da user: drh tags: trunk)
14:19
Fix an integer size mismatch problem in test_bestindex.c (check-in: 2e35eb6b74 user: drh tags: trunk)
14:00
Fix an incorrect #ifdef on sqlite3LogEstToInt(). (check-in: dca7b23354 user: drh tags: trunk)
2016-03-04
21:18
Fix an assert() in sqlite3VarintLen(), even though it is impossible to hit in SQLite due to the way sqlite3VarintLen() is used. (check-in: 251424c586 user: drh tags: trunk)
19:55
Simplify the computation of Index.aAvgEq. (Leaf check-in: c448873006 user: drh tags: analyze-worst-case)
18:45
Merge changes from trunk. (check-in: 5294c977d9 user: drh tags: analyze-worst-case)
16:42
Merge recent enhancements from trunk. Default page size is 4096. Writes to statement journals are avoided. (check-in: 456df3365e user: drh tags: sessions)
14:57
Merge recent enhancements from trunk, and especially the changes that reduce the heap-memory footprint of schemas, and defer opening and writing to statement journals. (check-in: 2f0c195ccc user: drh tags: apple-osx)
14:43
Defer opening and writing statement journals until the size reaches a threshold (currently 64KiB). (check-in: cb9302cca4 user: drh tags: trunk)
14:23
Update test cases to taken deferred statement-journal opening into account. (Closed-Leaf check-in: 5b2fe5219a user: drh tags: memjournal-exp)
13:08
Merge changes from trunk. (check-in: a87305dfd4 user: drh tags: memjournal-exp)
04:01
Change the default cache_size to -2000 (which means 2000*1024 bytes independent of page_size). (check-in: 2682e8e413 user: drh tags: trunk)
03:43
Change the default page size for new database files to 4096 (from 1024). Except, when building the testfixture, preserve the legacy page size. Also fix a comment on SQLITE_MAX_ATTACHED. (check-in: 2e8a9ca9d3 user: drh tags: trunk)
03:20
Detect the presence of pread()/pwrite() system calls on unix systems and use them if available. (check-in: 82cbf5ad2e user: drh tags: trunk)
03:14
Further fixes to the pread()/pwrite() enabling logic. (Closed-Leaf check-in: 38fb54e785 user: drh tags: pread)
03:02
Fix the build for cases when pread()/pwrite() are not available. (check-in: 7d67d876b7 user: drh tags: pread)
02:59
Add the test_bestindex.c file to Makefile.in and Makefile.msc so that "make test" will work again. (check-in: 6ec6b6a97e user: drh tags: trunk)
02:38
Update the configure script to detect pread/pwrite and update os_unix.c to use those routines if they are available. (check-in: 2cffb9e50b user: drh tags: pread)
00:13
Get in-memory subjournals working for builds without SQLITE_ENABLE_ATOMIC_WRITE. (check-in: b5378dcea5 user: drh tags: memjournal-exp)
2016-03-03
21:29
Merge the latest updates from trunk. (check-in: 55c00f716d user: drh tags: memjournal-exp)
21:22
Reduce the amount of heap memory required to store many schemas by storing the column datatype appended to the column name (with a \000 separator), rather than in separate memory allocation. (check-in: 16fbf2e19c user: drh tags: trunk)
20:42
Allow the left-hand side of IN operators on virtual tables to have the aConstraintUsage[].omit flag clear. (check-in: 3eb7434274 user: drh tags: trunk)
17:54
Merge 3.11.1 changes into trunk. (check-in: 7abc2dd953 user: drh tags: trunk)
16:17
Version 3.11.1 (Leaf check-in: f047920ce1 user: drh tags: release, branch-3.11, version-3.11.1)
15:16
Increase the default upper bound on scope to 30. (check-in: b1258814f6 user: drh tags: branch-3.11)
2016-03-02
17:57
Add new test script bestindex1.test to the utf16 permutation. (Closed-Leaf check-in: 5893e97244 user: dan tags: vtab-IN-opt)
16:13
Add an extra test for the change on this branch. (check-in: d2d2825156 user: dan tags: vtab-IN-opt)
16:01
Enhance test_bestindex.c so that it can be used to test plans generated by xBestIndex. (check-in: 3c15a9bf45 user: dan tags: trunk)
15:37
Fix a recently introduced problem in permutations.test causing an error when the QUICKTEST_OMIT environment variable is defined. (check-in: 45bc955772 user: dan tags: branch-3.11)
13:26
Fix an error in an fts5 test script. (check-in: b2a03e2d47 user: dan tags: branch-3.11)
03:28
Allow the left-hand side of IN operators on virtual tables to have the aConstraintUsage[].omit flag clear. (check-in: 1622623cbb user: drh tags: vtab-IN-opt)
00:58
Add the optional -DSERIES_OMIT_CONSTRAINT_VERIFY=0 option to the series.c extension that implements the generate_series() virtual table. (check-in: 3d9daa929c user: drh tags: trunk)
2016-03-01
22:48
New test cases and infrastructure for testing the xBestIndex method of virtual tables. (check-in: 1d41c16116 user: drh tags: trunk)
22:41
Improved debugging output with wheretrace. Fix some typos in test script comments. (check-in: 13a37fd487 user: drh tags: trunk)
18:35
Fix a memory leak in the test code on this branch. (Closed-Leaf check-in: 7a1add5634 user: dan tags: test-bestindex)
18:24
Allow test_bestindex.c to set the omit flag for a constraint. (check-in: 759b9d5b22 user: dan tags: test-bestindex)
18:07
Add test code useful for testing the planners use of teh virtual table xBestIndex() method. (check-in: de034c0db6 user: dan tags: test-bestindex)
16:56
Do not attempt to run fts5bigtok.test or fts5merge2.test if FTS5 is not compiled in. (check-in: f7ed373953 user: dan tags: branch-3.11)
16:02
Add -DSQLITE_ENABLE_FTS5 to one of the release-test configurations in releasetest.tcl. Run fts5 tests as part of "make test" if SQLITE_ENABLE_FTS5 is defined. (check-in: 3cee93716f user: dan tags: branch-3.11)
15:52
Remove a forgotten "breakpoint" command from an FTS5 test script. (check-in: 61927c8f31 user: drh tags: branch-3.11)
15:41
Increase the version number to 3.11.1 (check-in: 2dcd2fdafe user: drh tags: branch-3.11)
15:09
Merge branch-3.11-matchinfo into this branch. (check-in: 42358170b3 user: dan tags: branch-3.11)
14:51
Fix a problem in fts5 where a corrupt db could lead to a (huge) buffer overread. Cherrypick of [c9a30e117f]. (Closed-Leaf check-in: daef5869f4 user: dan tags: branch-3.11-matchinfo)
14:50
Fix an fts5 problem causing 'optimize' to corrupt the fts index under some circumstances. Cherrypick of [251d6473f7]. (check-in: 5b1b7ab5d6 user: dan tags: branch-3.11-matchinfo)
14:31
Change the estimated row counts in stat1 to be one-third worst-case and two-threads average case. (check-in: 21bfd47c42 user: drh tags: analyze-worst-case)
12:45
Fix test cases to align with the improved stats computation. (check-in: 810967bff6 user: drh tags: analyze-worst-case)
02:11
Better estimatedCost in the xBestIndex method of the generate_series vtab. (check-in: f2c16094a5 user: drh tags: trunk)
2016-02-29
23:02
Improvements to the logic for adding the "noskipscan" flag to stat1 entries. (check-in: 421b5b544a user: drh tags: analyze-worst-case)
21:27
The ANALYZE command automatically appends "noskipscan" to sqlite_stat1 entries that have large worst-case repeat estimates but small average repeat estimates. (check-in: 6326ba5891 user: drh tags: analyze-worst-case)
20:18
When using a temporary file for a statement journal, store the first 64KiB in memory. If the file grows larger than that, flush it to disk and free the memory. Hardcoding to 64KiB is just an experiment to check that the memjournal.c code works. (check-in: 44b2dc18e2 user: dan tags: memjournal-exp)
20:00
Fix minor problems with new code in memjournal.c. (check-in: 9fd3f7b9c9 user: dan tags: memjournal-exp)
18:30
Modify the ANALYZE command to store worst-case statistics in sqlite_stat1, rather thn average case. (check-in: 5a0143c94e user: drh tags: analyze-worst-case)
17:34
Fix a problem in fts5 where a corrupt db could lead to a (huge) buffer overread. (check-in: c9a30e117f user: dan tags: trunk)
17:16
Fix an fts5 problem causing 'optimize' to corrupt the fts index under some circumstances. (check-in: 251d6473f7 user: dan tags: trunk)
15:53
Reduce the amount of heap required to store many schemas by storing each column datatype appended to the column name, rather than as a separate allocation. (Closed-Leaf check-in: 842b211627 user: drh tags: schema-storage)
13:44
Very minor improvement to the performance and reduction in size to the parser by capturing the name and datatype of table columns in a single grammar rule reduction. (check-in: 4b55c520f5 user: drh tags: trunk)
13:37
Further simplifications to the grammar. (Closed-Leaf check-in: 519fd03b84 user: drh tags: schema-storage)
2016-02-27
23:25
Update the parser so that it pulls out the column name and type all in one go, rather than using separate reductions. (check-in: ad3ffe2eec user: drh tags: schema-storage)
21:16
Eliminate the need for the Column.zDflt (using Column.pDflt instead) to reduce the amount of memory needed to hold the schema. (check-in: d8c94a46df user: drh tags: trunk)
20:14
Extend the code in memjournal.c so that it subsumes the role of journal.c. And (untested) can flush journal or statement journal files to disk after they grow to a specified size. (check-in: e0b0b43165 user: dan tags: memjournal-exp)
19:19
Tighter description of I/O stats in the shell. Show I/O stats on speedtest1.c. (check-in: f681d80034 user: drh tags: trunk)
19:03
More compact implementation of PRAGMA onconflict, and some test cases. (Leaf check-in: 3e5d38f5b3 user: drh tags: pragma-onconflict)
17:16
Experimental "PRAGMA onconflict=FAIL" statement to change the default ON CONFLICT algorithm to something other than ABORT. (check-in: 3a0c347cca user: drh tags: pragma-onconflict)
17:12
Enhance the ".stats" command in sqlite3.exe to show one-time stats information if invoked with one argument. Also show /proc/PID/io information if run on Linux. (check-in: 3c36948f16 user: drh tags: trunk)
14:04
Fix a requirement mark to conform to a typo fix in the documentation. (check-in: d1392c6279 user: drh tags: trunk)
14:00
Enhance documentation of sqlite3_snapshot_open() to explain that the database connection must have participated in at least one read operation prior to the beginning of the transaction for which the snapshot is to be opened. Add test cases for this fact. (check-in: 33dd671cb9 user: drh tags: trunk)
00:21
Add 'Replace.exe' to the MSVC clean target. (check-in: c2277fab12 user: mistachkin tags: trunk)
00:21
Fix typo in ICU error message. (check-in: 00c8fffd47 user: mistachkin tags: trunk)
00:07
Make sure the Replace.cs file is included in the autoconf tarball. (check-in: b850df483d user: drh tags: trunk)
2016-02-26
23:13
Support generating the '.def' file using the autoconf Makefile for MSVC. (check-in: 3617564cb6 user: mistachkin tags: trunk)
21:20
Fix a potential buffer overflow in the ICU upper() function. (check-in: b8dc1b9f5d user: drh tags: trunk)
21:03
Further refinements to the MSVC batch build process. (check-in: cf4e4fbdb6 user: mistachkin tags: trunk)
21:01
Further refinements to the MSVC batch build process. (check-in: 4e54e9c0fe user: mistachkin tags: branch-3.11)
16:14
Merge all recent enhancements from trunk, and in particular the SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER change. (check-in: 4fb4aee83d user: drh tags: apple-osx)
16:03
Fix the ICU extension LIKE function so that it does not read past the end of a buffer if it it passed malformed utf-8. (check-in: 424b7aee33 user: dan tags: trunk)
15:38
Provide the new SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER option to sqlite3_db_config() that can be used to activate the two-argument version of fts3_tokenizer() for a specific database connection at run-time. (check-in: 374b510808 user: drh tags: trunk)
13:22
Fix a typo in a comment (though an important comment in that it is used to generate documentation). (check-in: ff3d7f845e user: drh tags: trunk)
04:13
Ephemeral tables used to hold manifested views may not be unordered since they might be subject to an ordered comparison if they are part of a join. (check-in: 3ef6a31532 user: drh tags: trunk)
04:04
Remove a debugging "exit" command mistakenly left in the "where.test" module. (check-in: beda0b8c76 user: drh tags: trunk)
2016-02-25
23:27
Add some comments in the VSIX test tool. (check-in: c871473ffe user: mistachkin tags: trunk)
23:25
Add tool for smoke-testing the UWP VSIX package. (check-in: d27f32c6d7 user: mistachkin tags: trunk)
23:22
Enhance checking of prerequisites in the vsixtest tool. (Closed-Leaf check-in: 799d5f09ed user: mistachkin tags: vsixTest)
23:21
Fix an incorrect cost computation for sorting (introduced just a few check-ins ago). Should be NlogN, not NloglogN. (check-in: 2459d32388 user: drh tags: trunk)
21:38
Small optimization in FK handling. (check-in: e0d25913b7 user: mistachkin tags: trunk)
21:27
Change the srcck1.c utility program to use only unsigned characters. (check-in: d64d005eb5 user: drh tags: trunk)
21:19
Change the "PRAGMA stats" command to report size values in LogEst units. The eliminates the need for sqlite3LogEstToInt() unless non-standard compile-time options are used, so leave it out except in those cases. (check-in: 832c237fcb user: drh tags: trunk)
20:17
Disable the RESTRICT foreign key action if "PRAGMA defer_foreign_keys" is set. (check-in: 9ffff484bb user: dan tags: trunk)
19:52
Disable the RESTRICT foreign key action if "PRAGMA defer_foreign_keys" is set. (check-in: 8fea116601 user: dan tags: sessions)
18:54
Merge all the latest changes from trunk. (check-in: b86590043e user: drh tags: sessions)
18:40
Query planner improvements: Take the LIMIT into account when estimated the cost of an ORDER BY. Avoid automatic indexes on query loops that are expected to run less than twice. See [9e2b2681] for a later enhancement. (check-in: bf46179d44 user: drh tags: trunk)
18:22
Improvement on the previous check-in: disallow automatic indexes for any loop that is expected to run less than twice. (Closed-Leaf check-in: aab53a2189 user: drh tags: planner-improvements)
18:03
Do not use an automatic index on an outer loop that only runs once. (check-in: 5957e79341 user: drh tags: planner-improvements)
16:04
Take the LIMIT clause into account when estimating the cost of sorting. (check-in: d491745cab user: drh tags: planner-improvements)
13:33
In the command-line shell: When the ".import" command is creating a new table using column names from the first row of CSV input, make sure double-quotes in the name are properly escaped. (check-in: 2e67a1c823 user: drh tags: trunk)
08:02
Improve readability and logging of the vsixtest script. (check-in: 4fe7c4e90b user: mistachkin tags: vsixTest)
02:56
Enable all steps and add/update comments. (check-in: 788f99f47f user: mistachkin tags: vsixTest)
02:49
More work. Install and build steps are now tested. (check-in: 0ab74373bd user: mistachkin tags: vsixTest)
2016-02-24
23:31
Fix typo. Improve interim debugging. (check-in: e0029bdf20 user: mistachkin tags: vsixTest)
23:25
Test build all supported configurations and platforms during VSIX testing. (check-in: cce40a0b8e user: mistachkin tags: vsixTest)
21:42
Initial work on an automated VSIX testing tool. Not working or tested yet. (check-in: 496e4ac984 user: mistachkin tags: vsixTest)
20:16
Extend [3e9ed1ae] so that covering indexes on WITHOUT ROWID tables are also identified. (check-in: e721975faa user: dan tags: trunk)
19:57
Change a char* to const char* in order to suppress some harmless compiler warnings. (check-in: 56f62e34ae user: drh tags: trunk)
17:18
When an index completely covers a table, it can be used as a covering index even if columns past the 63rd column are indexed and accessed. (check-in: 3e9ed1aea4 user: drh tags: trunk)
16:14
Fix a problem with handling identifiers that start with "x" if SQLITE_OMIT_BLOB_LITERAL is defined. (check-in: b65217c69c user: dan tags: trunk)
15:43
Identify indexes that completely cover their table. (Closed-Leaf check-in: 71d488b599 user: drh tags: covering-index)
13:35
LSM1: Fix the integer key encoding so that negative keys are in numeric order. (check-in: f92dc4187f user: drh tags: lsm-vtab)
2016-02-23
16:28
Add the SQLITE_BITMASK_TYPE compile-time option. (check-in: 0064a8c77b user: drh tags: trunk)
01:41
Merge trunk enhancements. (check-in: fac4f4ecee user: drh tags: lsm-vtab)
01:37
Add support for (variable length) integer keys in LSM1. (check-in: 32f3daec0a user: drh tags: lsm-vtab)
2016-02-22
23:44
Remove code not needed now that synchronous=OFF database files no longer trigger the use of a master journal. (check-in: aa9f4c622a user: drh tags: trunk)
23:14
Avoid an unnecessary seek operation some corner-case skip-scan operations. (check-in: 2a6003a937 user: drh tags: trunk)
21:19
Clearer presentation of the logic. No functional changes. (Closed-Leaf check-in: a3dcf6db76 user: drh tags: skip-scan-improvement)
20:52
Avoid an unnecessary seek operation on some corner-case skip-scans. (check-in: 38e837e605 user: drh tags: skip-scan-improvement)
19:51
Add test script shell6.test, containing tests for schemalint. (check-in: 0b73406595 user: dan tags: schemalint)
16:32
Merge the master-journal optimization and other recent changes from trunk. (check-in: 18c3ab4784 user: drh tags: apple-osx)
16:04
Always use the sqlite3VdbeDeleteAuxdata() routine for clearing auxdata on function parameter, rather than having a separate deleteAuxdataFromFrame() for doing the job for trigger frames. (check-in: 64386fa339 user: drh tags: trunk)
14:57
Avoid creating a master journal unless two or more databases in the transaction can actually benefit from that master journal. (check-in: 3ed1890612 user: drh tags: trunk)
13:23
Change magic numbers associated with synchronous settings to named constants. (check-in: 9230ba6c01 user: drh tags: trunk)
13:01
Merge up to trunk. (check-in: f9e5fb88a5 user: drh tags: lsm-vtab)
09:45
Add an extra test case for the change in commit [c4295725]. (check-in: a48ac4c347 user: dan tags: trunk)
2016-02-19
19:46
Further enhancements to the MSVC batch build tool. (check-in: 06f1495f4b user: mistachkin tags: trunk)
19:29
Use the arguments to NMAKE consistently in the MSVC batch build tool. (check-in: 480e504948 user: mistachkin tags: branch-3.11)
19:03
Enhance clean target in the MSVC makefiles. (check-in: 66a9ad4a6d user: mistachkin tags: branch-3.11)
18:54
Use a separate list of aux-data structures for each trigger program at the VDBE level. Fix for [dc9b1c91]. (check-in: c429572501 user: dan tags: trunk)
16:19
Enhance speedtest1 to display the particular version of SQLite under test. (check-in: 0cb728c15c user: drh tags: trunk)
15:17
Fix a couple of harmless warnings generated by clang. (check-in: a1a3ff1f53 user: drh tags: trunk)
14:20
Fix a harmless uninitialized variable access. (check-in: 398522e686 user: drh tags: trunk)
14:10
Make sure WhereClause objects are fully initialized before use when planning OR queries. (check-in: 1620530217 user: drh tags: trunk)
13:29
Fix (harmless) compiler warnings in some of the TCL-based test code. (check-in: 7c26d2b470 user: drh tags: trunk)
13:20
Add an SQLITE_DISABLE_INTRINSIC #ifdef to the sqlite3Put4Byte() function. (check-in: ba9c6827d0 user: drh tags: trunk)
13:19
Omit the unused yyzerominor constant. (check-in: 60ad68a9f5 user: drh tags: trunk)
10:19
Add an "#ifndef SQLITE_AMALGAMATION" guard around a typedef in fts5_test_mi.c to avoid redefining "u32" if it is compiled as part of the amalgamation. Cherrypick of [f9c49ba1]. (check-in: ce0f1ed517 user: dan tags: branch-3.11-matchinfo)
10:18
Add an "#ifndef SQLITE_AMALGAMATION" guard around a typedef in fts5_test_mi.c to avoid redefining "u32" if it is compiled as part of the amalgamation. (check-in: f9c49ba1ed user: dan tags: trunk)
07:53
Fix a couple of bugs in the schemalint code. (check-in: 02fbf699c0 user: dan tags: schemalint)
05:07
Modify the MSVC batch build tool to support the MSVC autoconf Makefile. (check-in: 72b10e5e7d user: mistachkin tags: branch-3.11)
00:48
Further improvements to the MSVC batch build tool. (check-in: b9626b5954 user: mistachkin tags: trunk)
00:47
Further improvements to the MSVC batch build tool. (check-in: 90dd6eb1fe user: mistachkin tags: branch-3.11)
2016-02-18
21:15
Correct the install location for the UWP VSIX package. (check-in: f74de325ff user: mistachkin tags: trunk)
21:00
Correct the install location for the UWP VSIX package. (check-in: b47d03027e user: mistachkin tags: branch-3.11)
19:10
Have the schemalint output distinguish between existing and recommended indexes. (check-in: 4ab3df25f1 user: dan tags: schemalint)
16:16
Remove SQLITE_TEST macros from fts5_test_mi.c. Add the SQLITE_FTS5_ENABLE_TEST_MI compile time symbol - to make it easier to create builds that include the fts5 matchinfo demo by default. (check-in: e2ef666777 user: dan tags: branch-3.11-matchinfo)
14:53
Merge the tokenizer buffer overrun bug-fix from trunk. (check-in: 82e7e31b09 user: drh tags: apple-osx)
14:49
Avoid a potential buffer overrun if an SQL statement being parsed ends with an illegal "!" token. (This problem was detected by fuzzcheck running under valgrind. The problem was introduced by check-in [9570b6b43df3], two days ago and has not appeared in a release.) (check-in: 2a8d97e7c8 user: drh tags: trunk)
14:03
Improved handling of the -v option on the fuzzcheck test program. (check-in: c8cd7804dc user: drh tags: trunk)
13:32
Remove an unnecessary "include <tcl.h>" line from fts5_test_mi.c. (check-in: 31d8b69e9e user: dan tags: trunk)
01:36
Merge recent performance enhancements and the enhanced API_ARMOR from trunk. (check-in: b7fa0fb339 user: drh tags: apple-osx)
01:29
Add extra API armor on the sqlite3_bind_blob() interface. (check-in: 80de1ad5eb user: drh tags: trunk)
01:22
Memory leak associated with SQLITE_WRITE_WALFRAME_PREBUFFERED (check-in: 7bcd3ab5f0 user: drh tags: apple-osx)
2016-02-17
20:47
When VDBE opcodes fail, they cause an immediate exit from the loop, rather than depending on the rc==SQLITE_OK test at the top of the loop. This is faster and smaller. (check-in: 24c7151c1a user: drh tags: trunk)
20:06
Schemalint changes: Avoid creating candidate indexes if a compatible index exists. Do not quote identifiers that do not require it. (check-in: cf0f7eeb4f user: dan tags: schemalint)
18:44
Fix up all VDBE opcodes so that they cause an immediate exit on any kind of error, and thereby eliminate the need to test "rc" at the top of the loop. Resulting code is a little smaller and faster. (Closed-Leaf check-in: a444633a82 user: drh tags: vdbe-performance)
15:01
Bump the version number to 3.12.0. (check-in: c17d7276b8 user: drh tags: trunk)
14:48
Remove the "#ifdef SQLITE_TEST" condition from fts5_test_mi.c. Update fts5_main.c so that if SQLITE_FTS5_TEST_MI is defined when it is built the fts5_test_mi.c entry point is automatically called. This makes it easier to build versions of fts5 that include the matchinfo() demo by default. (check-in: 87e6e225ae user: dan tags: trunk)
14:11
Improve test coverage of demo code in fts5_test_mi.c. (check-in: 8a78050dc0 user: dan tags: trunk)
13:24
Enhance Lemon to generate more compact and efficient code for yy_reduce(). Update the main SQL grammar to take advantage of the new capabilities. (check-in: 53fd040c98 user: drh tags: trunk)
12:34
More agressive use of /*A-overwrites-X*/ in the parser. Fix an off-by-one error in parser stack overflow detection. (Closed-Leaf check-in: 417e777701 user: drh tags: parser-performance)
11:13
Documentation typo on sqlite3_wal_hook(). No changes to code. (check-in: fc2043ebaa user: drh tags: trunk)
04:33
Enhance Lemon so that if reduce code contains a comment of the form "/*A-overwrites-X*/" then a LHS label A is allowed to overwrite the RHS label X. (check-in: 5cfe9545d4 user: drh tags: parser-performance)
01:46
Further improvements to the Lemon-generated code for yy_reduce(). (check-in: ef95a7d649 user: drh tags: parser-performance)
01:18
In Lemon, add the ability for the left-most RHS label to be the same as the LHS label, causing the LHS values to be written directly into the stack. (check-in: 4bb94c7c4c user: drh tags: parser-performance)
2016-02-16
21:19
Experimental changes to Lemon for improved parser performance. (check-in: a65d583ce9 user: drh tags: parser-performance)
18:37
Fix further issues in schemalint. (check-in: 73a7f01093 user: dan tags: schemalint)
13:04
Minor simplification to the tokenizer. Slightly smaller and faster. (check-in: 9570b6b43d user: drh tags: trunk)
01:01
Improve the Lemon parser template (lempar.c) so that it avoids unnecessary work when the grammer defines YYNOERRORRECOVERY (as SQLite does). Slightly smaller and faster code results. (check-in: 9235b0cf6a user: drh tags: trunk)
2016-02-15
23:46
Fix a harmless compiler warning in FTS5. (check-in: e52c90758c user: drh tags: trunk)
22:37
Readability improvements for winRandomness. (check-in: 1640f814c7 user: mistachkin tags: trunk)
22:28
Fix comment. No changes to code. (check-in: 2e1f2eff27 user: mistachkin tags: trunk)
22:01
Revise compiler checks for the rand_s() function. (check-in: 287f508dd6 user: mistachkin tags: trunk)
21:31
On windows systems when rand_s() is available, use it to obtain additional seed material in winRandomness(). (check-in: 139081bef9 user: drh tags: trunk)
20:41
Improved entropy gathering for the implementation of winRandomness(). (check-in: fea3705e77 user: drh tags: trunk)
20:12
Progress towards integrating schemalint into the shell tool. Some cases work now. (check-in: 58d4cf26e1 user: dan tags: schemalint)
19:38
Add working -q and --help options to testfixture. (check-in: 404494e52b user: drh tags: trunk)
18:58
In the tool/warning.sh script, disable Android-specific compiler warning tests when not running on Linux. (check-in: 153f01a821 user: drh tags: trunk)
18:47
Fix harmless compiler warnings previously seen in 64-bit MSVC builds. (check-in: 7026246300 user: drh tags: trunk)
18:15
Add the SQLITE_NOMEM_BKPT macro to enhance the ability to debug OOM errors. Only effective with compiling with SQLITE_DEBUG. (check-in: 9b3454762d user: drh tags: trunk)
18:02
Minor code simplifications. (check-in: c3b38efd50 user: drh tags: trunk)
17:56
Make the application-defined SQL function logic more compact and faster, especially faster for the case where an application defines thousands of new SQL functions. (check-in: 7d49ed32a7 user: drh tags: trunk)
17:44
Merge version 3.11.0 (check-in: c393ddc71a user: drh tags: begin-concurrent)
17:40
Merge 3.11.0 changes. (check-in: 5cecc509d0 user: drh tags: apple-osx)
17:39
Merge 3.11.0 changes. (check-in: 631023dd9a user: drh tags: sessions)
17:29
Version 3.11.0 (check-in: 3d862f207e user: drh tags: trunk, release, version-3.11.0)
15:06
Make sure the codec is invoked when overwriting existing frames of the WAL file. Yikes! (check-in: f694e60a79 user: drh tags: trunk)
00:34
Improvements to the application-defined function mechanism so that it is more compact and runs faster, especially when the application defines thousands of new SQL functions. (Closed-Leaf check-in: 3201fbcc51 user: drh tags: many-app-functions)
2016-02-14
00:14
Update a comment. (Closed-Leaf check-in: e9753d9a2c user: mistachkin tags: noMemBkpt)
2016-02-13
23:43
Enhance ability to debug out-of-memory errors. (check-in: 6a9c4a3ebf user: mistachkin tags: noMemBkpt)
18:54
Provide Sqlite3_SafeInit() and Sqlite3_SafeUnload() entry points on the TCL interface, but have the always return TCL_ERROR, because the non-standard TCL builds on Macs require this. (check-in: 37ec3015ec user: drh tags: trunk)
17:35
Merge changes from the 3.11.0 release candidate. (check-in: d198a6db2e user: drh tags: apple-osx)
15:08
Fix another test problem in sessionfault.test. (check-in: f6d1cf7943 user: dan tags: sessions)
14:45
Harden sqlite3session_delete() against trying to delete a session that is not currently on the session list. (check-in: 6c2d34df76 user: drh tags: sessions)
14:39
Fix a problem in sessionfault.test causing it to segfault following a test failure. This commit does not fix the actual test failure - just the subsequent segfault. (check-in: 582b2ae77d user: dan tags: sessions)
14:07
Merge the changes for the 3.11.0 release candidate from trunk. (check-in: 4d7a802e73 user: drh tags: sessions)
2016-02-12
18:48
Fix a potential buffer overread provoked by invalid utf-8 in fts5. (check-in: a049fbbde5 user: dan tags: trunk)
17:56
Fix a fairly obscure buffer overread in fts5. (check-in: 130580207a user: dan tags: trunk)
17:30
Fix a documentation typo. No changes to code. (check-in: d9c985878c user: drh tags: trunk)
17:27
Enhance mptester so that it takes great care to delete its test database prior to start-up, including checking the return code from unlink() and retrying after a delay if unlink() fails. Hopefully this will clear intermittant startup problems on Windows. (check-in: 6ea84ec1e0 user: drh tags: trunk)
05:19
Naming updates for Universal Windows Platform. (check-in: 717c1fc41a user: mistachkin tags: trunk)
00:13
Remove an unused parameter from whereSortingCost(). (check-in: b5d7719916 user: drh tags: trunk)
2016-02-11
22:41
Automatically disable FTS3 and FTS4 when building with SQLITE_OMIT_VIRTUALTABLE. (check-in: 0beb32d20d user: drh tags: trunk)
21:59
Enhance the MSVC makefile to enable building 'testfixture' fully from source code. (check-in: f183e05990 user: mistachkin tags: trunk)
21:55
Remove the unexplained extra 3.0 cost factor for the B-tree sorting that is done to implement DISTINCT in the absence of an index to help. (check-in: 52571991fc user: drh tags: trunk)
21:53
Remove the unused fts5BlobCompare() routine. (check-in: defc762dd1 user: drh tags: trunk)
21:38
Prevent 'expanded command line X too long' errors during the batch 'for' loops used for copying files. (Closed-Leaf check-in: 67ee9b5af1 user: mistachkin tags: testFixtureSrc)
21:28
Enhance the MSVC makefile to enable building 'testfixture' fully from source code. (check-in: 54ff3a26bc user: mistachkin tags: testFixtureSrc)
21:01
Experimental integration of schemalint functionality with the shell tool. Does not work yet. (check-in: ed49f297bc user: dan tags: schemalint)
18:18
Fix another unused variable warning in fts5 code. (check-in: 61b4c12054 user: dan tags: trunk)
18:08
Avoid a buffer overread when reading a corrupt fts5 structure record. (check-in: facbc424e5 user: dan tags: trunk)
17:01
Handle parser stack overflow when parsing fts5 query expressions. Fix some compiler warnings in fts5 code. (check-in: bc3f7900d5 user: dan tags: trunk)
15:37
Add JSON1 and FTS5 to the set of extensions subject to close compiler warning analysis. Fix some warnings in each. More (harmless) warnings still exist in FTS5. (check-in: cfe2eb88b5 user: drh tags: trunk)
13:30
Minor simplifications deferred to the next release. (Closed-Leaf check-in: a863729ccb user: drh tags: simplify)
2016-02-10
21:45
In the MSVC makefile, include the working directory so that it can pickup build generated files (e.g. sqlite3.h, etc). (check-in: e9e6000bd2 user: mistachkin tags: trunk)
19:10
Add testcase() macros to the CHECK constraint avoidance logic. Avoid creating an unused VDBE label during CHECK constraint code generation. (check-in: 970881befd user: drh tags: trunk)
18:24
Fix to previous check-in: Make sure CHECK constraints involving the ROWID are not ignored when the ROWID changes. (check-in: 7782cb1dd5 user: drh tags: trunk)
16:52
Omit unnecessary CHECK constraints in UPDATE statements, when none of the columns referenced in the CHECK constraint are modified. (check-in: 02fbdbc782 user: drh tags: trunk)
16:03
Omit NOT NULL checks on unchanging columns in an UPDATE. (check-in: 6a3aaedfb4 user: drh tags: trunk)
13:36
When generating the snapshot-tarball, truncate the date/time in the name to 12 significant digits (YYYYMMDDhhmm) omitting the seconds and fractional seconds. (check-in: 604f777547 user: drh tags: trunk)
13:17
Updates to the autoconf tarball README.txt file. (check-in: a3e911e3aa user: drh tags: trunk)
2016-02-09
22:54
Update the snapshot tarball name to use the date (ISO8601 format) instead of the SHA1 hash in its name. (check-in: 070ec66f67 user: drh tags: trunk)
22:39
Add the new "snapshot-tarball" target to the unix makefiles, for building a tarball similar to "amalgamation-tarball" but named by the SHA1 hash of the current check-out rather than by the version number. (check-in: 4f360b2ae7 user: drh tags: trunk)
22:00
Update the MSVC autoconf makefile with the recent changes from the primary one. (check-in: c7242aa3e9 user: mistachkin tags: trunk)
20:37
Fix the makefiles in the autoconf-tarball so that they build the command-line shell with SQLITE_ENABLE_EXPLAIN_COMMENTS. (check-in: 1135ad014a user: drh tags: trunk)
20:31
In the shell, use the appropriate string constant instead of a literal new-line. (check-in: 61951b153d user: mistachkin tags: trunk)
20:11
Enhance the command-line shell to be in auto-explain mode by default. It is no longer necessary to use the ".explain" command to put the shell into a mode where the EXPLAIN output is formatted nicely. That now happens automatically. (check-in: 751915cb7e user: drh tags: trunk)
20:04
Improved auto-detection of EXPLAIN output in the shell. (Closed-Leaf check-in: 6c6d7a6e89 user: drh tags: auto-explain)
18:39
Add auto-explain mode to the command-line shell. Default on. Auto-explain tries to automatically detect EXPLAIN queries and format them appropriately. (check-in: 1d62aa6b31 user: drh tags: auto-explain)
18:28
Fix MSVC makefile options that enable control-flow guard. (check-in: 51b6823f4c user: mistachkin tags: trunk)
17:12
Fix the top-level makefiles to always include SQLITE_ENABLE_EXPLAIN_COMMENTS when building the shell. Still need to fix main.mk and the amalgamation tarball. (check-in: 992282399c user: drh tags: trunk)
16:09
Code simplification: ALTER TABLE ADD COLUMN always upgrades the file_format to 4 if is not there already. No need to upgrade to only 2 or 3 since format 4 has now been supported for over 10 years. (check-in: e1d8ec8554 user: drh tags: trunk)
15:50
Merge recent fixes and enhancements from trunk. (check-in: f073401792 user: drh tags: apple-osx)
15:44
Merge enhancements and fixes from trunk. (check-in: f040a5bb62 user: drh tags: sessions)
15:10
Merge latest trunk changes with this branch. (check-in: 1a4182eedd user: dan tags: schemalint)
02:12
Make sure every co-routines has its own set of temporary registers and does not share temporaries, since a co-routine might expect the content of a temporary register to be preserved across an OP_Yield. Proposed fix for ticket [d06a25c84454a]. (check-in: ca72be8618 user: drh tags: trunk)
2016-02-08
20:45
Fix spelling error in MSVC makefile comments. (check-in: 6eab74c9ae user: mistachkin tags: trunk)
20:40
More work on Windows 10 SDK integration. (check-in: 1e563c6ebb user: mistachkin tags: trunk)
20:14
Fix a signed/unsigned comparison warning in fts5. (check-in: 85eb05ddbc user: dan tags: trunk)
20:06
Fix a compiler warning when compiling without SQLITE_ENABLE_FTS3_TOKENIZER. (check-in: 6926f28cd5 user: drh tags: trunk)
19:40
Disable the two-argument form of the fts3_tokenizer() SQL function unless the library is built with -DSQLITE_ENABLE_FTS3_TOKENIZER. (check-in: e0eb217aca user: dan tags: trunk)
19:36
Changes to help the tokenizer run about 33% faster. (check-in: a050e6f096 user: drh tags: trunk)
19:15
Add code to get the tokenizer character-class logic working for EBCDIC. (Closed-Leaf check-in: 04f7da77c1 user: drh tags: tokenizer-char-class)
03:23
Faster keywordCode() implementation by taking advantage of the fact that the input is always pure ASCII alphabetic and underscore and that the keyword table is always upper-case. (check-in: ff406b9701 user: drh tags: tokenizer-char-class)
02:30
Demonstrate a much faster sqlite3GetToken() routine by using a lookup table to map initial token characters into a character class. This check-in does not work for EBCDIC. More optimization needed. (check-in: 9115baa191 user: drh tags: tokenizer-char-class)
2016-02-07
20:39
Fix harmless compiler warning in 'srcck1' tool and add it to the clean targets. (check-in: 852a529a8b user: mistachkin tags: trunk)
00:08
Add the sourcetest target to Makefile.msc. (check-in: ab269e7205 user: drh tags: trunk)
2016-02-06
22:32
Add a utility program that looks for assert(), NEVER(), ALWAYS(), and testcase() macros that have side-effects, and reports errors when they are found. Also fix a bug that this utility detected as it was being tested. (check-in: b0b4624fc5 user: drh tags: trunk)
19:48
Make sure variable declarations occur at the beginning of blocks, even with SQLITE_DEBUG enabled. (check-in: 2f7778e64d user: drh tags: trunk)
14:14
Fix an assert() to have a test instead of a side effect (check-in: a2952231ac user: pdr tags: trunk)
2016-02-05
21:09
Add tests for and remove unreachable branches from fts5 in order to restore test coverage. (check-in: 22589018ac user: dan tags: trunk)
19:40
More work on Windows 10 SDK integration. (Closed-Leaf check-in: ebace2c99b user: mistachkin tags: win10sdk)
19:18
Further streamlining of fts5 prefix query code. (check-in: ca91bd8ac7 user: dan tags: trunk)
17:49
Make sure the "bak.db" database file does not actually exist before starting the "quota.test" testing. (check-in: 1cac6c45ee user: drh tags: trunk)
16:46
From test scripts, remove stray "breakpoint" commands and blank lines at the ends of files. (check-in: a6b3527323 user: drh tags: trunk)
14:34
Merge PRAGMA synchronous=EXTRA and OOM performance enhancements from trunk. (check-in: 332c8036ca user: drh tags: begin-concurrent)
14:29
Merge OOM handling optimizations and PRAGMA synchronous=EXTRA as well as other enhancements from trunk. (check-in: 201fcbeef3 user: drh tags: apple-osx)
14:15
Merge enhancements from trunk. (check-in: a533608cb0 user: drh tags: sessions)
14:11
Improvements to the way out-of-memory conditions are handled, resulting in an almost 1% performance gain in the commmon case where OOM errors do not occur. (check-in: b082538da7 user: drh tags: trunk)
13:38
Add the slightly faster sqlite3DbMallocRawNN(db,n) routine for the majority cases where db is guaranteed to be not NULL. (Closed-Leaf check-in: 0a802e96ab user: drh tags: oom-handling)
04:55
Improve ERRORLEVEL handling in the MSVC batch build tool sub-routine 'fn_UnsetVariable'. (check-in: fe123ab4f1 user: mistachkin tags: trunk)
04:50
OOM failures on sqlite3_errmsg16() in an app-defined function are no longer benign. (check-in: 9efb223f4c user: drh tags: oom-handling)
04:39
Another small tweak to the MSVC batch build tool. (check-in: 76718bbce7 user: mistachkin tags: trunk)
02:50
Minor simplification of schema error reporting. (check-in: a8846aeed9 user: drh tags: oom-handling)
02:42
Further performance improvements that fall out of the mallocFailed changes. (check-in: d94416ddca user: drh tags: oom-handling)
01:55
Improvements to the way that OOM errors are processed. (check-in: c3ef03478a user: drh tags: oom-handling)
2016-02-04
19:50
Temporarily back out the 0.5% performance improvement from check-in [632071bac5ff32]. Need a more elaborate solution that works with reentrant virtual tables and SQL functions. (check-in: 42736fb0ad user: drh tags: trunk)
19:45
Further improve performance of unindexed fts5 prefix queries. (check-in: c9c6457d8e user: dan tags: trunk)
17:31
Avoid running some particularly time-consuming tests as part of veryquick.test. (check-in: f465944b75 user: dan tags: trunk)
11:48
Remove unnecessary sets of db->mallocFailed. (check-in: b787165b25 user: drh tags: trunk)
11:15
Use sqlite3_malloc64() instead of sqlite3_malloc() in the spellfix extension. (check-in: 634d008c34 user: drh tags: trunk)
10:28
Escape control characters in JSON. Fix for ticket [ad2559db380abf8]. (check-in: 4f1b5229a3 user: drh tags: trunk)
09:48
Refinements to synchronous logic: (1) Use PAGER_SYNCHRONOUS_FULL rather than the corresponding magic number. (2) Honor SQLITE_NO_SYNC on xDelete calls with sync (3) Count xDelete syncs during testing (4) Fix #ifs on SQLITE_EXTRA_DURABLE so that directory syncs on journal unlink are off by default. (check-in: e3157cb5ad user: drh tags: trunk)
02:34
Add and use the sqlite3VdbeZeroRegister() interface for coding the common operation of writing zero into a register. (Leaf check-in: 1c8d300189 user: drh tags: zero-register)
2016-02-03
22:14
In the VDBE loop, only check for OOM errors at jumps rather than after every opcode, for about a 0.5% performance increase. (check-in: 632071bac5 user: drh tags: trunk)
20:04
Improve performance of fts5 prefix queries on detail=col tables. (check-in: ca11f46db0 user: dan tags: trunk)
19:52
Fix markup errors in comments used to generate the documentation - specifically in the documentation on the OP_Seek opcode. (check-in: ef252bc4b5 user: drh tags: trunk)
19:20
Add "PRAGMA synchronous=EXTRA" which syncs the directory containing the rollback journal when the rollback journal is deleted in order to commit a transaction in DELETE mode. (check-in: af92401826 user: drh tags: trunk)
01:55
Enhance the internal sqlite3VdbeAddOpList() interface to automatically update jump destinations. Use this feature to simplify the AUTOINCREMENT code generator. (check-in: ae8b9d2edf user: drh tags: trunk)
2016-02-02
21:19
Add tests to restore full coverage of fts5 code. (check-in: 063755c815 user: dan tags: trunk)
17:40
Enhance the performance of fts5 AND and OR queries. (check-in: 62ea9e5ab8 user: dan tags: trunk)
02:53
Merge recent enhancements from trunk. (check-in: 347f6a80c2 user: drh tags: begin-concurrent)
02:30
Merge recent enhancements from trunk. (check-in: e6a4a16312 user: drh tags: apple-osx)
02:22
Merge all recent enhancements from trunk. (check-in: f3f9200115 user: drh tags: sessions)
02:04
Enhance the comment on the sqlite3_index_constraint object to bring attention to the fact than iColumn field can be negative for a rowid. (check-in: d8b7b1996e user: drh tags: trunk)
00:59
Add the SQLITE_DBCONFIG_REQUIRE_WRITE_TXN connection setting, which if enabled requires all write operations to be enclosed within BEGIN ... COMMIT. (Leaf check-in: 7453790c3b user: drh tags: require-write-txn)
2016-02-01
21:48
Change the OP_SetCookie instruction to write the literal P3 value, not the value in register P3. (check-in: 6d7d4703eb user: drh tags: trunk)
20:12
Improve performance of fts5 queries. (check-in: 2334e88244 user: dan tags: trunk)
17:20
Number VDBE opcodes starting with 0 instead of 1, as this obviates the lower-bound test on "switch(opcode){...}", making the code smaller and faster. (check-in: 4c9222f75b user: drh tags: trunk)
16:36
Update walcrash.test to ensure that, during a particular test, enough data is written to cause SQLite to sync the wal file 14 times. (check-in: 5d7c092869 user: dan tags: trunk)
13:58
Fix a problem causing the OR/covering-index optimization to be disabled if compile time parameter SQLITE_MAX_ATTACHED were set to greater than 30. (check-in: a17712bf8d user: dan tags: trunk)
13:21
Minor simplification to the OP_AutoCommit opcode. Fix some code comments related to transaction control. (check-in: a9b6a0672f user: drh tags: trunk)
00:21
Fix an assert() that might fail on a corrupt database. (check-in: 22eaced727 user: drh tags: trunk)
2016-01-30
21:09
Fix new test cases in stat.test so that they work with -DSQLITE_DEFAULT_AUTOVACUUM=1 builds. (check-in: a2810cf65d user: dan tags: trunk)
19:16
Performance enhancement for fts5 column filter queries on detail=full tables. (check-in: 13fb4aa6a8 user: dan tags: trunk)
16:59
Merge the implementation of OP_IdxRowid and OP_Seek so that OP_Seek no longer requires the rowid register and a separate OP_IdxRowid call. Shorter and faster prepared statements result. (check-in: 9bec50a1e7 user: drh tags: trunk)
15:52
Only honor the register subtype value if the MEM_Subtype flag is set. Revised and improved fix for ticket [f45ac567eaa9f9]. (check-in: 1f4c667f37 user: drh tags: trunk)
15:46
A different way to clear the subtype on VDBE registers when the value of the register is overwritten with new content. To fix [[f45ac567eaa9f93]. (Closed-Leaf check-in: 2e9fb1295c user: dan tags: clear-subtype-flag)
14:53
Take care to clear the subtype on VDBE registers when the value of the register is overwritten with new content. (Closed-Leaf check-in: ec653cbcae user: drh tags: clear-subtype-fail)
14:17
Output subtype information on register traces for PRAGMA vdbe_trace. (check-in: 96b780209c user: drh tags: trunk)
13:32
Add the BTREE_FORDELETE and BTREE_AUXDELETE flags to the b-tree layer interface and use them. Add assert() statement to verify that they are correct. (check-in: 85c467041c user: drh tags: trunk)
12:50
Simplification and size reduction to the printf logic. Remove the bFlags parameter from sqlite3VXPrintf() and sqlite3XPrintf(). Use sqlite3XPrintf() instead of sqlite3_snprintf() for rendering P4 values in EXPLAIN output. (check-in: 0bdb41c45a user: drh tags: trunk)
02:10
Make use of covering indexes in the OR optimization. (check-in: 9de3d71230 user: drh tags: trunk)
00:45
Change the P4_INTARRAY so that always begins with a length integer. Print the content of the INTARRAY on EXPLAIN output. (Closed-Leaf check-in: 6c520d5726 user: drh tags: covering-or)
2016-01-29
21:16
Add tests for the change on this branch. (check-in: 7cb697f829 user: dan tags: covering-or)
20:58
Different comment on the alternative cursor fields of VdbeCursor. (check-in: 6e3dcb6d7d user: drh tags: covering-or)
19:29
Experimental attempt to make better use of covering indexes within OR queries. (check-in: a323ac3a9d user: dan tags: covering-or)
19:04
Improvements to FORDELETE processing, including bug fixes and adding assert() statements to help verify correct operation. (Closed-Leaf check-in: 46080b0474 user: drh tags: btree-fordelete-flag)
18:48
Remove a stray "exit" in a test script. (Closed-Leaf check-in: 10c88bf9f2 user: drh tags: fordelete-assert)
18:11
Avoid unnecessary WHERE clause term tests when coding a join where one of the tables contains a OR constraint. (check-in: 512caa1ad3 user: drh tags: trunk)
18:04
Prepend "rc!=SQLITE_OK || " to the nExtraDelete assert() condition. (check-in: 2a055ed0af user: dan tags: fordelete-assert)
16:57
Avoid unnecessary WHERE clause term tests when coding a join where one of the tables contains a OR constraint. (Closed-Leaf check-in: ab94603974 user: drh tags: OR-clause-improvement)
08:38
Avoid two more instances of pointer arithmetic on freed pointers. (check-in: 2910ef6409 user: dan tags: trunk)
2016-01-28
18:22
Modify the order of terms in an "if" condition to avoid implicitly comparing a dangling pointer to NULL following an OOM error. (check-in: 5372f80083 user: dan tags: trunk)
17:06
Modifications to ensure the nExtraDelete-related assert() statement does not fail. (check-in: f43ff8f82d user: dan tags: fordelete-assert)
08:58
Remove a duplicate "p->magic = VDBE_MAGIC_RUN;" line from vdbeaux.c. (check-in: 688eb3b400 user: dan tags: trunk)
02:47
Fix for pthread detection in the configure scripts. (check-in: 47633ffdbf user: drh tags: trunk)
00:04
Minor correction to the batch tool changes in the previous check-in. (check-in: 7c89d75de1 user: mistachkin tags: trunk)
2016-01-27
23:50
Make the MSVC batch build tool sub-routine 'fn_UnsetVariable' a bit more robust. (check-in: 1edd5f31b9 user: mistachkin tags: trunk)
16:26
Change the name of the BTREE_IDXDELETE flag to BTREE_AUXDELETE, to better reflect its purpose. (check-in: 1d3bf6bebd user: drh tags: fordelete-assert)
16:17
Fix tests in fordelete.test to test for the BTREE_AUXDELETE flag. (check-in: bbd25cf179 user: dan tags: fordelete-assert)
15:49
Add assert() statements on the nExtraDelete variable in vdbe.c to try to verify that the FORDELETE and IDXDELETE flags are being generated correctly. Those flags are not currently generated correctly, and so the assert()s trip on this check-in. (check-in: dde1db0dd2 user: drh tags: fordelete-assert)
07:28
Support building for Windows 10 desktop using 'MinCore.lib'. (check-in: 4bf89891fb user: mistachkin tags: trunk)
2016-01-26
23:32
Merge all recent trunk enhancements. (check-in: 9a71d56dce user: drh tags: btree-fordelete-flag)
20:19
Performance improvements for fts5, particularly detail=col mode. (check-in: a3d7b8ac53 user: dan tags: trunk)
20:08
Further minor performance improvements and code-size reductions related to fts5 column filters on detail=col tables. (Leaf check-in: b4ac61aeee user: dan tags: fts5-perf)
19:30
Improve the performance of fts5 column filters on detail=col tables. (check-in: 249a2d070c user: dan tags: fts5-perf)
17:08
Enhance fts5txt2db.tcl, a script used to generate fts5/fts4 databases for performance testing. (check-in: c646e40350 user: dan tags: fts5-perf)
15:23
Change the automatic index mechanism so that it avoids creating transient indexes on columns that are known to have low cardinality. (Leaf check-in: 12ef3a8f3d user: drh tags: autoindex-planning)
14:48
Fix issues on unix with opening database files via symlinks that are not in the current working directory. And with nested symlinks. (check-in: 4003db4a49 user: dan tags: trunk)
13:56
Ensure that unixFullpathname() always nul-terminates its output buffer, even when returning an error. (Closed-Leaf check-in: 4a4385564d user: dan tags: follow-symlinks)
00:12
Remove an unused variable. (check-in: 1c2656c1d3 user: drh tags: follow-symlinks)
2016-01-25
23:24
Add the ability to do Windows builds to the amalgamation tarball. (check-in: abd2b357c5 user: drh tags: trunk)
23:19
Minor changes to the autoconf/README.txt file. (Closed-Leaf check-in: 6df8a9c00a user: drh tags: msvcMakeMin)
22:08
Fix a compiler warning about doing pointer arithmetic involving a NULL pointer even though the result of computation is never used. (check-in: 7c49a9478b user: drh tags: trunk)
18:43
Only use lstat() if the HAVE_LSTAT macro is defined. Fix some test file issues. (check-in: 8a6e4147a6 user: dan tags: follow-symlinks)
18:05
Simplify the unixFullpathname() function. This adds a dependency on lstat(). (check-in: f71249d3db user: dan tags: follow-symlinks)
17:04
Fix issues on unix with opening database files via symlinks that are not in the current working directory. And with nested symlinks. (check-in: 80398fd44f user: dan tags: follow-symlinks)
15:57
Replace the OP_SetIfNotPos operator with OP_OffsetLimit in the VDBE, for simpler and smaller code. (check-in: 7ac017a498 user: drh tags: trunk)
13:55
Add the SQLITE_EXTRA_DURABLE compile-time option. (check-in: 30671345b1 user: drh tags: trunk)
02:15
Small simplification to the prepare statement opcode memory reuse logic. Easier to read, and slightly smaller and faster. (check-in: 8a1deae497 user: drh tags: trunk)
01:07
Small simplification and performance improvement in memsys5Free(). (check-in: 0a9cff5c48 user: drh tags: trunk)
2016-01-23
22:55
Add the SQLITE_SPELLFIX_STACKALLOC_SZ compile-time option to control how much stack space is available for use as the Wagner matrix in editDest3 of the spellfix extension. (check-in: dd0100dd87 user: drh tags: trunk)
21:57
More updates to the README. (check-in: 9f02868df7 user: mistachkin tags: msvcMakeMin)
20:43
Updates to the autoconf README file. (check-in: 4ce60fa42d user: drh tags: msvcMakeMin)
20:34
Move Makefile.min.msc into the autoconf subdir where it belongs and change its name to Makefile.msc. Adjust build scripts accordingly. (check-in: 12eb8db796 user: drh tags: msvcMakeMin)
20:16
Minor coding style tweaks for the mkmsvcmin tool. (check-in: c15e0fc4be user: mistachkin tags: msvcMakeMin)
20:09
Adjust the amalgamation-tarball build process so that it includes the MSVC makefile and the sqlite3.rc resource file. (check-in: e420f3dc93 user: drh tags: msvcMakeMin)
19:47
Improved comments on the transformation script and on the generated Makefile. (check-in: c6e633ab73 user: drh tags: msvcMakeMin)
19:24
Use the -integer option when sorting list elements. (check-in: 949aa614e1 user: mistachkin tags: msvcMakeMin)
18:51
Fix an fts5 problem with using both xPhraseFirst() and xPhraseFirstColumn() within a single statement in detail=col mode. (check-in: 72d53699bf user: dan tags: fts5-perf)
18:24
Changes to spellfix to try to get it to use stack space instead of heap space in cases where that makes sense. (check-in: dfcebc7393 user: drh tags: trunk)
16:20
Merge trunk changes (including fixes for warnings in fts5) with this branch. (check-in: ceccc9ad78 user: dan tags: fts5-perf)
15:57
Fix some signed/unsigned comparison compiler warnings in fts5. (check-in: 3be336aa89 user: dan tags: trunk)
14:45
Fix a problem involving detail=col and column filters. (check-in: 7558a0ad22 user: dan tags: fts5-perf)
14:05
Remove an assert() that can be false if compiled with SQLITE_USE_ALLOCA. (check-in: f0a551edf8 user: drh tags: trunk)
07:53
Add tooling to create an MSVC Makefile capable of building the core library and shell only, using a pre-built amalgamation. (check-in: c46f1a13cb user: mistachkin tags: msvcMakeMin)
01:54
Cleanup localtime() support for Windows CE. (check-in: 39759a5532 user: mistachkin tags: winCeLocalTime)
00:07
More work on the MSVC build. (check-in: a79c46bc61 user: mistachkin tags: trunk)
2016-01-22
23:17
In the TCL interface, if a database connection object was opened with the -uri 1 option, then also honor URI filenames for the "backup" and "restore" commands. (check-in: a1c8116ced user: drh tags: trunk)
22:16
More MSVC makefile cleanup. (check-in: df22556fd7 user: mistachkin tags: trunk)
19:48
Experimental performance enhancements for fts5. (check-in: b5a57b812f user: dan tags: fts5-perf)
19:44
Reenable the xCurrentTime and xGetLastError methods on the unix VFSes as long as SQLITE_OMIT_DEPRECATED is not defined. (check-in: c11c85fdb6 user: drh tags: trunk)
17:48
Add the sqlite3TokenInit() utility function. (check-in: 7323175337 user: drh tags: trunk)
15:44
Have the dbstat module dequote any argument passed to the CREATE VIRTUAL TABLE statement before attempting to match it against the names of attached databases. (check-in: e60461e984 user: dan tags: trunk)
14:46
Merge latest trunk changes into this branch. (check-in: 9341491c3a user: dan tags: schemalint)
14:44
Fix handling of transitive constraints in schemalint.tcl. (check-in: 44edc1aa3b 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: d4e3776767 user: dan tags: schemalint)
04:22
Enable FTS4 when building the shell with the MSVC makefile. (check-in: e4c07df557 user: mistachkin tags: trunk)
03:54
Further refinements to the MSVC makefile. (check-in: 67625b963a user: mistachkin tags: trunk)
01:25
MSVC makefile enhancements for use with the Windows 10 SDK. (check-in: ac2e9d3de5 user: mistachkin tags: trunk)
2016-01-21
18:56
Fix typo in 'Makefile.in'. (check-in: 29a51c6dcc user: mistachkin tags: trunk)
17:25
Disable the RESTRICT foreign key action if "PRAGMA defer_foreign_keys" is set. (Closed-Leaf check-in: 82470d1c3a user: dan tags: disable-restrict)
17:06
Add a new hint bit on the flags parameter of sqlite3BtreeDelete(). The new BTREE_IDXDELETE bit indicates that the call is to delete an index entry corresponding to a table row that has already been deleted. (check-in: ac2cbadd80 user: drh tags: btree-fordelete-flag)
15:55
Improved comments on the FORDELETE hint. No logic changes. (check-in: a3cec529f0 user: drh tags: trunk)
2016-01-20
18:47
Add 'rbu' to the clean targets. (check-in: f60f025027 user: mistachkin tags: trunk)
16:36
Add a -detail option to the loadfts5.tcl script. For creating tables with the detail= option set. (check-in: 81e830e21f user: dan tags: trunk)
16:02
Merge the LIKE-operator bug fix from trunk. (check-in: 36cb3d6e27 user: drh tags: sessions)
15:27
Version 3.10.2 (Leaf check-in: 17efb4209f user: drh tags: release, version-3.10.2, branch-3.10)
15:20
Fix a problem in autoconf/configure.ac causing --enable-readline to fail if libedit was not present. (check-in: d4a6425ff7 user: dan tags: branch-3.10)
15:19
Fix a problem in autoconf/configure.ac causing --enable-readline to fail if libedit was not present. (check-in: e8adeb64d4 user: dan tags: trunk)
15:08
Fix the build so that it works for SQLITE_OMIT_WAL again. (check-in: d1c15de516 user: drh tags: branch-3.10)
15:05
Fix a potential use-after-free problem when compiling with SQLITE_HAS_CODEC. (check-in: b94a3a37df user: drh tags: branch-3.10)
14:32
Increase version number to 3.10.2. (check-in: c1f918dcc1 user: drh tags: branch-3.10)
14:30
Case folding in the LIKE operator should look at all bits of the character, not just the lower 8 bits. Fix for ticket [80369eddd5c94]. This is a back-out of check-in [0a99a8c4facf] with a testcase added. (check-in: 29dc4a3eb2 user: drh tags: branch-3.10)
14:22
Case folding in the LIKE operator should look at all bits of the character, not just the lower 8 bits. Fix for ticket [80369eddd5c94]. This is a back-out of check-in [0a99a8c4facf] with a testcase added. (check-in: 204432ee72 user: drh tags: trunk)
12:18
Merge recent enhancements from trunk. (check-in: 5520f600ea user: drh tags: begin-concurrent)
11:40
Merge all recent enhancements from trunk. (check-in: 3ed49691a1 user: drh tags: apple-osx)
11:33
Merge recent enhancements from trunk. (check-in: 327af5f644 user: drh tags: sessions)
08:47
Improve performance of sqlite3VtabImportErrmsg(). (check-in: 18d61c8e40 user: dan tags: trunk)
03:36
Performance improvement in sqlite3DbMallocRaw(). (check-in: ff8eadbed5 user: drh tags: trunk)
02:36
Suppress the display of the P4 operand in EXPLAIN output when an opcode has been converted into a No-op. (check-in: 9f8297f862 user: drh tags: trunk)
02:21
Remove an unnecessary memset() from the symbol name resolver. (check-in: da527ddae0 user: drh tags: trunk)
02:01
Remove an unnecessary memset() for a small size reduction and speed improvement. (check-in: 730d7efb6f user: drh tags: trunk)
01:48
During compilation, transfer the azVar[0..nzVar-1] array from Parse to Vdbe rather than copying it. Smaller and faster code. (check-in: 80dd495f37 user: drh tags: trunk)
01:32
Very small simplification to the btree balancer. (check-in: f421adf54c user: drh tags: trunk)
2016-01-19
21:36
Fix an incorrect VFS version number check in the threadtest3.c test program. (check-in: 5bf6442bec user: drh tags: trunk)
17:54
Fix two harmless compiler warnings about comparisons of dangling pointers. (check-in: 86944f193f user: drh tags: trunk)
16:06
Add further fts5 tests. 100% code coverage is finally restored. (check-in: b914ece0d1 user: dan tags: trunk)
2016-01-18
17:48
Add tests for fts5. Fix a crash that can occur in fts5 if the database content is corrupted. (check-in: acaf426449 user: dan tags: trunk)
13:18
Avoid unnecessary calls to memset() for a small performance improvement. (check-in: 9e8c23acf7 user: drh tags: trunk)
09:08
Add a debugging function to print human-readable versions of fts5 detail=none leaf pages. (check-in: 8358af3658 user: dan tags: trunk)
00:46
Simplification of the VDBE bytecode for incremental blob I/O. (check-in: d23849f64a user: drh tags: trunk)
00:20
Fix a problem with SQLITE_TEST_REALLOC_STRESS. (check-in: 0aaf3febb0 user: drh tags: trunk)
2016-01-16
21:06
Add extra tests to cover untested branches in fts5. (check-in: 61deab043d user: dan tags: trunk)
20:50
Improvements to the way sqlite3VdbeAddOpList() works, resulting in a slightly smaller and faster binary. (check-in: 88ceb588bc user: drh tags: trunk)
18:58
Add further tests for fts5. Fix some problems with detail=col mode and auxiliary functions. (check-in: de77d6026e user: dan tags: trunk)
15:12
Use sqlite3VdbeAddOp4() rather than a separate sqlite3VdbeChangeP4() call, for a slightly smaller and faster binary. (check-in: a4258cd461 user: drh tags: trunk)
03:16
Fix a potential use-after-free problem when compiling with SQLITE_HAS_CODEC. (check-in: 653ea15ad8 user: drh tags: trunk)
2016-01-15
21:55
Remove an unnecessary memset(). (check-in: 689421a9f7 user: drh tags: trunk)
19:54
Rationalize some code in fts5_storage.c. Add tests to cover recently added branches in fts5. (check-in: 3b72df405a user: dan tags: trunk)
16:11
Remove unnecessary de-initialization of the Parse object. (check-in: 75ab30c5fc user: drh tags: trunk)
15:06
Work toward making the schema parsing logic simplier and more compact. (check-in: c52ca2c066 user: drh tags: trunk)
05:39
Fix a couple C99-isms in FTS5 that cause compile errors on MSVC. (check-in: 584848d439 user: mistachkin tags: trunk)
2016-01-14
22:19
Combine the xFunc and xStep pointers of the FuncDef object into a single pointer xSFunc. (check-in: 0d1b3d7d3c user: drh tags: trunk)
20:05
Add a test to verify that the fts3 and fts5 "unicode61" tokenizers are byte for byte compatible. (check-in: 8ec8314354 user: dan tags: trunk)
19:32
Simplification to the ISO8610 parser in the imnplementation of date/time functions. (check-in: b9159f42a5 user: drh tags: trunk)
18:01
Minor adjustments to the MSVC makefile. (check-in: e2cba1bbfd user: mistachkin tags: trunk)
15:46
Merge the latest enhancements and fixes from trunk. (check-in: fccc5f20c3 user: dan tags: begin-concurrent)
15:03
Merge the latest enhancements and fixes from trunk. (check-in: d85774e0dc user: drh tags: apple-osx)
14:48
Merge the latest fixes and enhancements from trunk. (check-in: 007e5c6df6 user: drh tags: sessions)
14:33
Yet another change to FTS5 trying to get it to merge successfully into sessions. (check-in: 8dedff3b9a user: drh tags: trunk)
14:29
Fix more compiler warnings in FTS5. (check-in: f791fc7009 user: drh tags: trunk)
14:19
Fix another compiler warning in fts5 code. (check-in: d17bc2c92f user: dan tags: trunk)
14:15
Fix compiler warnings in fts5. (check-in: 5a343cc033 user: dan tags: trunk)
13:22
Fix harmless compiler warnings in RBU and add RBU to the autoconf and windows makefiles. (check-in: fabe78c5d8 user: drh tags: trunk)
12:23
Fix harmless compiler warnings in sqldiff.c. (check-in: 74808a79ea user: drh tags: trunk)
01:56
Fix the build so that it works for SQLITE_OMIT_WAL again. (check-in: d55a557bc7 user: drh tags: trunk)
00:01
Version 3.10.1 (check-in: 254419c367 user: drh tags: release, version-3.10.1, branch-3.10)
2016-01-13
21:23
Look for pthread_mutexattr_init() instead of pthread_create() in autoconf scripts, to work around issues with ASAN. (check-in: 9c3a0dc2e8 user: drh tags: trunk)
18:26
Version number to 3.10.1. (check-in: 4660da251b user: drh tags: branch-3.10)
18:25
Add documentation for new API functions to the comments in fts5.h. (check-in: 14d296fa7b user: dan tags: trunk)
18:21
Add the SQLITE_FCNTL_JOURNAL_POINTER file control. (check-in: ea9ce228e8 user: drh tags: branch-3.10)
18:12
Add the SQLITE_FCNTL_JOURNAL_POINTER file control. (check-in: ad3daa5427 user: drh tags: trunk)
18:06
Add documentation for the SQLITE_FCNTL_JOURNAL_POINTER file-control. (Closed-Leaf check-in: 807c5aee2e user: drh tags: file-control-journal)
17:59
When the block sorting optimization is used in a scalar subquery, be sure to exit the loop as soon as the first valid output row is received. Fix for ticket [cb3aa0641d9a4]. (check-in: 8b4f508062 user: drh tags: branch-3.10)
17:50
When the block sorting optimization is used in a scalar subquery, be sure to exit the loop as soon as the first valid output row is received. Fix for ticket [cb3aa0641d9a4]. (check-in: cdbb0947f9 user: drh tags: trunk)
2016-01-12
19:45
Add the "detail" option to fts5. Used to reduce the amount of information stored in an fts5 index. (check-in: a220e85fe5 user: dan tags: trunk)
19:37
Add the ".vfslist" command to the command-line shell. (check-in: 5727562b75 user: drh tags: trunk)
19:28
Improve performance of fts5 low level iterators. (Closed-Leaf check-in: bc5118f40a user: dan tags: fts5-offsets)
14:10
Fix a harmless use of an uninitialized variable following system errors in the multi-threaded sorter. (check-in: 4bb2c1df10 user: drh tags: trunk)
04:08
Remove an unused field from the MemPage object. (check-in: 5fc0a4c1f3 user: drh tags: trunk)
02:28
Make sure all bytes of the WAL file are initialized even if the checksums are not being computed until commit due to WAL overwrite. (check-in: 1f44a9bdc1 user: drh tags: trunk)
02:00
Fix an uninitialized field in the Select object when SELECTTRACE is enabled. (check-in: fc62851667 user: drh tags: trunk)
00:37
Various #ifdef enhancements for improved VxWorks support. (check-in: 75cd41ff17 user: drh tags: trunk)
2016-01-11
22:58
Performance optimization in the sqlite3VdbeChangeP4() routine of the code generator. (check-in: 28bd8d5fc5 user: drh tags: trunk)
22:43
Fix duplicate test number in 'waloverwrite'. (check-in: f5fb826866 user: mistachkin tags: trunk)
18:30
Merge trunk with this branch. (check-in: a73d245f2e user: dan tags: fts5-offsets)
18:23
Add the fts5speed.tcl script to ext/fts5/tool/. (check-in: 2c0b93553e user: dan tags: fts5-offsets)
18:05
Performance optimization on the Column opcode. (check-in: ecc98bef43 user: drh tags: trunk)
17:30
Fix bugs in fts5 synonym processing for detail=col and other modes. (check-in: 0e3c545423 user: dan tags: fts5-offsets)
14:19
Performance optimization in sqlite3WalkExpr(). (check-in: 2f8bd5fab8 user: drh tags: trunk)
13:10
Merge recent enhancements, and especially the WAL overwrite change, from trunk. (check-in: c4a858b228 user: drh tags: sessions)
13:03
Import the version number change to 3.11.0. (check-in: 132772d1c4 user: drh tags: apple-osx)
12:52
Increase the version number to 3.11.0 due to the WAL overwrite enhancement. (check-in: 8e807bfaa1 user: drh tags: trunk)
12:49
Merge enhancements from trunk, and in particular the WAL overwrite feature. (check-in: 79125ec9d2 user: drh tags: apple-osx)
12:13
If a single page is written to the wal file more than once, instead of appending the second and subsequent copy to the wal file, overwrite the first. Update: See the important bug fix at [f694e60a]! (check-in: d493d4f118 user: dan tags: trunk)
08:12
Add a test case to waloverwrite.test to check that savepoint rollback does not cause a problem. (Closed-Leaf check-in: 87dae56c32 user: dan tags: wal-overwrite-frames)
03:48
Slightly smaller and faster LIKE/GLOB comparison implementation. (check-in: 5dddcc78ee user: drh tags: trunk)
00:52
Improved testability. (check-in: e83d3a2a4e user: drh tags: wal-overwrite-frames)
2016-01-09
23:55
All WAL frame overwrites even if there are active savepoints. This is safe because a ROLLBACK TO will cause all reverted pages to be rewritten to the WAL file prior to COMMIT. (check-in: 99b31a6b49 user: drh tags: wal-overwrite-frames)
18:57
If it is known that checksums will be recalculated on transaction commit, skip calculating checksums when appending frames to the wal file. When recalculating checksums, recalculate them starting with the first overwritten frame - not the first frame in the transaction. (check-in: 16b34f2537 user: dan tags: wal-overwrite-frames)
16:39
If a single page is written to the wal file more than once, have each subsequent copy overwrite the original frame. (check-in: 5d113aef2c user: dan tags: wal-overwrite-frames)
2016-01-08
22:31
Typo fix in the previous commit. (check-in: 52c1660398 user: drh tags: trunk)
22:18
More #ifdef fixes for the unix VFS. (check-in: 122c111e36 user: drh tags: trunk)
19:34
Fix the build for SQLITE_OMIT_SHARED_CACHE, which was broken, possibly by check-in [2d96aeba]. (check-in: 3392f8fa2d user: drh tags: trunk)
19:17
Fix a problem with #ifdefs on the system calls in the unix VFS that causes problems when compiling with SQLITE_OMIT_WAL. (check-in: ceceea4c5e user: drh tags: trunk)
17:28
Remove an obsolete #ifdef related to iOS support. (check-in: e9a51d2a58 user: drh tags: trunk)
17:21
Begin adding fts5 tests involving synonyms and detail=none/col tables. (check-in: b3e6f15ec2 user: dan tags: fts5-offsets)
12:46
Reduce the number of calls to memset() in sqlite3DbMallocZero(). (check-in: cede2bf8e4 user: drh tags: trunk)
08:35
Fix test file vtabH.test so that it works with SQLITE_ENABLE_ICU builds. (check-in: 19c1f4483e user: dan tags: trunk)
07:53
Fix fts5vocab.test so that it works with detail=none tables. (check-in: d9135cc723 user: dan tags: fts5-offsets)
02:27
Add the experimental SQLITE_FCNTL_JOURNAL_POINTER file control for obtaining the sqlite3_file pointer associated with a rollback journal or WAL file. (check-in: a02ace9a74 user: drh tags: file-control-journal)
2016-01-07
21:12
Omit performance tracking from the memsys5 memory allocator if neither SQLITE_DEBUG nor SQLITE_TEST are defined. (check-in: af5c7714e9 user: drh tags: trunk)
20:07
Update the fts5vocab module to work with detail=col and detail=none tables. (check-in: eedd095dc1 user: dan tags: fts5-offsets)
17:19
Fix to cause BtShared.db to be set correctly on shared-cache connections in SQLITE_THREADSAFE=0 builds. Added assert()s to verify the correct setting of BtShared.db. (check-in: 2d96aeba24 user: drh tags: trunk)
17:09
Small performance and size optimization spotted while working on the shared-cache problem. (check-in: 828958ff77 user: drh tags: trunk)
16:43
Add some assert() statements to verify, where possible, that BtShared.db is set correctly. (Closed-Leaf check-in: 359277e0e5 user: dan tags: shared-cache-fix)
16:06
Have the vdbe layer call sqlite3BtreeEnter() on all b-trees in use from within sqlite3VdbeExec() even in SQLITE_THREADSAFE=0 builds. This ensures that BtShared.db is set correctly. (check-in: d0214602d4 user: dan tags: shared-cache-fix)
02:06
Add the "sqlite3 -sourceid" command in the TCL interface. Use that command and others to output additional information about the test configuration at the conclusion of a TCL test. (check-in: 4f80440bf5 user: drh tags: trunk)
2016-01-06
20:50
Merge updates from trunk. (check-in: 5cbab63756 user: mistachkin tags: altShellFix)
19:43
Fix a test script problem caused by a change in constraint handling within the core. (check-in: 625695b3d7 user: dan tags: fts5-offsets)
19:35
Merge latest trunk changes into this branch. (check-in: e7dcd01351 user: dan tags: fts5-offsets)
18:53
Fix an fts5 problem involving detail=none, "ORDER BY rowid DESC" and deleted items. Also add tests to verify that the documented operator precedences are correct. (check-in: 8d05cfd48d user: dan tags: fts5-offsets)
15:54
Disable the --limit-mem option on fuzzcheck unless the SQLITE_ENABLE_MEMSYS5 or SQLITE_ENABLE_MEMSYS3 compile-time options are used. (check-in: 55a11fd627 user: drh tags: trunk)
15:49
Merge changes for version 3.10.0. (check-in: e1d2ffc06d user: drh tags: begin-concurrent)
15:14
Merge changes for version 3.10.0. (check-in: fa4705c91f user: drh tags: sessions)
14:35
Merge all version 3.10.0 updates. (check-in: 77c28c2b2d user: drh tags: apple-osx)
11:01
Version 3.10.0 (check-in: fd0a50f079 user: drh tags: trunk, release, version-3.10.0)
10:17
Fix a problem with the xPhraseFirstColumn() API in detail=col mode. Remove some unused test code from fts5ac.test. (check-in: a4e55f73b3 user: dan tags: fts5-offsets)
2016-01-05
21:04
Rationalize and extend some fts5 test code. Fix bugs revealed by the same. (check-in: fd217fdb39 user: dan tags: fts5-offsets)
03:39
Always use -DSQLITE_ENABLE_MEMSYS5 for fuzzcheck so that the --limit-mem option will work. (check-in: a855697719 user: drh tags: trunk)
03:39
Another attempt to get reuse of excess opcode array space working correctly on all architectures and platforms. (check-in: 2f8583748a user: drh tags: trunk)
01:48
Permit the 'test_fs' test module to be compiled and used on MinGW. (check-in: ac27f38eef user: mistachkin tags: trunk)
2016-01-04
23:43
Fix a corner case in the opcode-array reuse logic where the number of bytes of reusable space might be computed to be a negative number, due to unusual system alignment restrictions and rounding error. (check-in: 1aa5301446 user: drh tags: trunk)
19:12
Fix an OOM handling problem in fts5 detail=none and detail=col modes. Also a bug in the xInst() API when used with detail=col and column filtering expressions. Update the matchinfo() test function so that 'b' is fast with detail=col tables. (check-in: ee38f9dff5 user: dan tags: fts5-offsets)
19:02
Merge in last-minute patches for the 3.10.0 beta. (check-in: c785cd7813 user: drh tags: sessions)
16:19
Update more fts5 tests to run in detail=none and detail=column modes as well as the default detail=full. (check-in: 3fcf3b1e24 user: dan tags: fts5-offsets)
13:06
Fix the conflict2.test module which was broken by check-in [e30062e9f6c]. (check-in: b779ca8a75 user: drh tags: trunk)
12:07
A new approach to very large sqlite3_mprintf() strings: Back out the [d655a665] check-in and instead make the size fields in StrAccum unsigned. Strings generated by sqlite3_mprintf() can now be as large as 2^31-1 bytes. (check-in: 7adb789f45 user: drh tags: trunk)
04:44
Improved comment on the vtabH-3.1 test. (check-in: 22abe08038 user: drh tags: trunk)
04:41
Adjust the vtabH.test module to ignore files in the root directory of Windows machines that contain the "$" character. (check-in: 73e3355004 user: drh tags: trunk)
04:28
Limit the length of sqlite3_mprintf() output to 2^30 bytes, even if SQLITE_MAX_LENGTH is set larger at compile-time. (check-in: d655a665ac user: drh tags: trunk)
03:48
Fix a harmless compiler warning. (check-in: 4b404a99aa user: drh tags: trunk)
01:08
Add releasetest.tcl cases for SQLITE_LIKE_DOESNT_MATCH_BLOB and for SQLITE_ENABLE_CURSOR_HINTS. (check-in: f300c35efa user: drh tags: trunk)
2016-01-03
18:59
Alternative to [76f5efa6], move definition of utf8_printf up. (check-in: 54c5522dda user: mistachkin tags: altShellFix)
18:07
Bug fix: the conflict resolution behavior for the implied NOT NULL constraint on the PRIMARY KEY of a WITHOUT ROWID table should be ABORT. (check-in: e30062e9f6 user: drh tags: trunk)
11:27
Fix a premature reference to utf8_printf in shell.c. (check-in: 76f5efa687 user: drh tags: trunk)
11:17
Add the number of cores used and the name of the host computer to the summary at the end of releasetest.tcl. (check-in: cd3ae0f14c user: drh tags: trunk)
2016-01-02
19:01
Changes to run many fts5 tests with detail=none and detail=col tables as well as the default detail=full. Also fixes for the bugs uncovered by running said tests. (check-in: 6322a1d984 user: dan tags: fts5-offsets)
05:00
Fix a (harmless) typo in an #ifdef for SQLITE_ENABLE_CURSOR_HINTS (check-in: 2047d2deab user: drh tags: trunk)
2016-01-01
16:42
Remember the size of the Vdbe.aOp[] array in bytes, to avoid unnecessary calls to sqlite3_msize(). (check-in: 3e852804c8 user: drh tags: trunk)
16:26
Avoid misaligned memory allocations on Sparc in sqlite3VdbeMakeReady(). This fixes a problem introduced by check-in [a9e819082b]. (check-in: a304e34675 user: drh tags: trunk)
14:14
Merge recent trunk enhancements. (check-in: 6bea792c3d user: drh tags: begin-concurrent)
13:31
Merge all recent trunk enhancements. (check-in: 5b700f313d user: drh tags: apple-osx)
13:25
Merge the latest enhancements from trunk. (check-in: c0be246a74 user: drh tags: sessions)
03:37
Fix an assert() that might be false for a corrupt database. (check-in: 68360cd221 user: drh tags: trunk)
00:15
Remove unreachable branches from the new JSON aggregate functions. (check-in: 6e30f8c6c3 user: drh tags: trunk)
2015-12-31
22:29
Fix the ieee754.test module so that it works both on systems that report infinity as "inf" and as "Inf". (check-in: d41d4d7396 user: drh tags: trunk)
19:06
In the shell, use utf8_printf() when any string formatting is present and raw_printf() otherwise. (check-in: 8cf01fff23 user: mistachkin tags: trunk)
19:04
Fix harmless compiler warning seen with MSVC. (check-in: 98ec778daa user: mistachkin tags: trunk)
18:39
Fix the fts5 integrity-check code so that it works with detail=none tables. (check-in: 3a1df69e58 user: dan tags: fts5-offsets)
17:36
Fix some problems with fts5 detail=none tables. Some still remain. (check-in: 6a6f7bc40d user: dan tags: fts5-offsets)
15:34
Fix harmless compiler warnings associated with SQLITE_ENABLE_HIDDEN_COLUMNS. (check-in: 9c392c1019 user: drh tags: trunk)
04:34
Small size and performance optimization to the VDBE comparison opcodes. (check-in: 7a0b9413fa user: drh tags: trunk)
2015-12-30
20:50
Use the OvflOffset() macro to try to remove some magic numbers from btree.c. (Leaf check-in: 1541607d45 user: drh tags: ovfloffset-macro)
19:58
Updates to fts5 to support detail=none mode. As of this commit, many cases are still broken. (check-in: ac8f4cf0ce user: dan tags: fts5-offsets)
18:18
Reduce the size of the CellInfo object from 32 to 24 bytes on 64-bit machines, for a small performance increase and library size reduction. (check-in: 6a4cfc7ab6 user: drh tags: trunk)
17:03
Enhance the command-line shell so that it can handle MBCS characters on input and output. (check-in: 3d81dfe3bc user: drh tags: trunk)
16:51
Changes to the way that the default BINARY collating sequence is recorded result in a slightly smaller and slightly faster executable. More work could be done to make this cleaner. (check-in: 2081d75767 user: drh tags: trunk)
15:18
Simplification to the xfer-optimization logic. (check-in: f35ba018da user: drh tags: trunk)
14:06
Remove unnecessary tests from the LIKE pattern matcher. Slightly faster and slightly smaller, and it should also now works with EBCDIC. (check-in: 0a99a8c4fa user: drh tags: trunk)
13:36
Enhance the command-line shell to handle MBCS characters on input and output. (Closed-Leaf check-in: a0a08b8c0b user: drh tags: mbcs-shell)
01:07
Add the json_group_array() and json_group_object() aggregate functions to the JSON1 extension. (check-in: 7f386a9332 user: drh tags: trunk)
2015-12-29
19:35
Add the xPhraseFirstColumn() and xPhraseNextColumn() API functions to fts5. For iterating through the set of columns that contain intances of a phrase. (check-in: 8c30605bcd user: dan tags: fts5-offsets)
2015-12-28
19:55
Change the name of the offsets=0 option to "detail=column". Have the xInst, xPhraseFirst and other API functions work by parsing the original text for detail=column tables. (check-in: 228b4d10e3 user: dan tags: fts5-offsets)
2015-12-24
14:53
Avoid a harmless compiler warning on systems where the byteorder cannot be determined at compile-time. (check-in: 7c7b7f2630 user: drh tags: trunk)
2015-12-23
16:42
Fix some harmless gcc compiler warnings. Mostly in fts5, but also two in the core code. (check-in: 5d44d4a6cf user: dan tags: trunk)
10:54
Enhance the 'utc' modifier on date/time functions so that if the LHS is already known to be in UTC, the modifier becomes a no-op. This is not an incompatibility because the behavior is documented as "undefined" in that scenario. (check-in: b910a3d537 user: drh tags: trunk)
2015-12-22
18:54
Updates so that fts5 API functions xInst, xPhraseFirst and xPhraseNext work with the offsets=0 option. (check-in: 69bffc1632 user: dan tags: fts5-offsets)
2015-12-21
18:45
Fix an fts5 integrity-check problem that affects offsets=0 tables with prefix indexes. (check-in: 609a0bc7f3 user: dan tags: fts5-offsets)
15:22
Ensure that the Expr objects that describe indexed expressions are not modified by code generation. Fix for an assert() problem found by Jon Metzman using AFL. (check-in: 34073ce87d user: drh tags: trunk)
2015-12-18
19:07
Fix a problem with prefix queries on fts5 offsets=0 tables. (check-in: ad0987d83c user: dan tags: fts5-offsets)
16:29
Micro-optimizations and comment fixes on the mem5.c memory allocator module. (check-in: 8bf5e056eb user: drh tags: trunk)
03:59
Reduce the size of the CellInfo object from 32 to 24 bytes on 64-bit machines. (Closed-Leaf check-in: 7850715406 user: drh tags: optimize-cellinfo)
2015-12-17
20:36
Add the "offsets=0" option to fts5, to create a smaller index without term offset information. A few things are currently broken on this branch. (check-in: 40b5bbf02a user: dan tags: fts5-offsets)
19:17
Make the VdbeCursor object even smaller. But the resulting library is bigger and slower than trunk. This branch is a failed experiment. (Leaf check-in: 896a06cc18 user: drh tags: optimize-vdbecursor)
17:30
Reduce the size of the VdbeCursor object by a pointer (the pBt pointer used for ephemeral tables). (check-in: 98b710c363 user: drh tags: optimize-vdbecursor)
14:18
Fix the spellfix1_scriptcode() function to ignore whitespace and punctuation, and to recognize hebrew and arabic scripts. (check-in: 7adfa4a579 user: drh tags: trunk)
13:28
Fixes for harmless compiler warnings. (check-in: 85ebd46c70 user: drh tags: trunk)
2015-12-16
23:30
Fix even more harmless compiler warnings. (Closed-Leaf check-in: 1d0e6aa119 user: mistachkin tags: msvcWarn)
22:06
Fix some more harmless compiler warnings. (check-in: 18f531e1cf user: mistachkin tags: msvcWarn)
21:09
Fix compiler warning seen with MSVC. (check-in: 18a4c0540b user: mistachkin tags: msvcWarn)
19:55
Merge recent enhancements from trunk. (check-in: cb22efaf50 user: drh tags: begin-concurrent)
19:47
Merge recent enhancements from trunk. (check-in: f6c9273cab user: drh tags: sessions)
13:07
Make greater use of the SQLITE_WITHIN macro. (check-in: f2fc3aede5 user: drh tags: trunk)
2015-12-15
19:32
Update the mkautoconfamal.sh script to make the building of the sqlite3-autoconf-VERSION.tar.gz package more orthodox. (check-in: 1928f8945b user: dan tags: trunk)
13:50
Add the SQLITE_OMIT_PARSER_TRACE compile-time option. (check-in: 2fda43e6e0 user: drh tags: trunk)
2015-12-14
19:42
Add a missing memAboutToChange() macro to vdbe.c, the lack of which was causing an assert() to fail incorrectly. Problem found by libfuzzer. (check-in: 1a24791109 user: dan tags: trunk)
2015-12-12
19:23
Update some stale comments in delete.c. No changes to code. (Leaf check-in: f59a33260c user: dan tags: onepass-delete-or)
17:31
Add further tests for the changes on this branch. Also fix a memory-leak that could follow a malloc failure. (check-in: 21526012c2 user: dan tags: onepass-delete-or)
2015-12-11
14:59
Add a new assert() statement to the snapshot-specific part of sqlite3WalBeginReadTrans(). (check-in: d8a12023be user: dan tags: trunk)
13:59
Merge recent changes from trunk. Also remove unused variables to permit compiling with -Werror. (check-in: 57b700baa6 user: drh tags: onepass-delete-or)
13:51
Simplified alignment constraints in the memory reuse logic of sqlite3VdbeMakeReady(). (check-in: e998513e44 user: drh tags: trunk)
12:53
Merge recent trunk enhancements, and in particular the snapshot interface. (check-in: 7e7b240645 user: drh tags: apple-osx)
12:44
Add the experimental snapshot interface. Because it is experimental, it is subject to change or removal at a later date. (check-in: 9b124a5a31 user: drh tags: trunk)
04:11
Fix a memory allocation bug introduced last week by check-in [a9e819082ba]. The bug only appears on systems where the size of a structure is not always a multiple of 8 - which in practice means only on 32-bit windows systems. (check-in: 96d3e99ffe user: drh tags: trunk)
03:27
Mention that the snapshot interfaces are only available if SQLite is compiled with SQLITE_ENABLE_SNAPSHOT. (Closed-Leaf check-in: 843c15a552 user: drh tags: snapshot-get)
03:20
Disable the snapshot test scripts if not compiled with SQLITE_ENABLE_SNAPSHOT. (check-in: 5fd008f043 user: drh tags: snapshot-get)
03:16
Fix a variable type mismatch problem in the snapshot logic. (check-in: 93fb8010e4 user: drh tags: snapshot-get)
01:22
Fix a bad assert related to snapshots. (check-in: 767ee30efa user: drh tags: snapshot-get)
2015-12-10
22:48
Snapshot documentation updates. Comment changes only - no changes to code. (check-in: ef51a398a0 user: drh tags: snapshot-get)
20:03
Update the sqlite3_snapshot_get() API so that if the caller does not have an open read transaction on the named database, one is automatically opened. (check-in: b9c90f1029 user: dan tags: snapshot-get)
19:44
Add tests to snapshot.test. (check-in: f3b743623a user: dan tags: snapshot-get)
19:11
Return SQLITE_BUSY (not SQLITE_BUSY_SNAPSHOT) if sqlite3_snapshot_open() fails to obtain the shared checkpointer lock. (check-in: 5343060bcc user: dan tags: snapshot-get)
18:06
Add tests to ensure that an sqlite3_snapshot_open() client cannot be tricked into reading a corrupt snapshot even if another process fails mid-checkpoint. (check-in: b908048b6c user: dan tags: snapshot-get)
17:59
Move pointer range comparisons into a macro, where they can be dealt with in a more portable way. (check-in: 05bc4f920c user: drh tags: trunk)
15:45
Have sqlite3_snapshot_open() avoid a race condition by taking a shared CHECKPOINTER lock while checking pInfo->nBackfillAttempted. (check-in: 8084eae0bc user: dan tags: snapshot-get)
15:09
Move pointer range comparisons into a macro, where they can be dealt with in a more portable way. (Closed-Leaf check-in: ad3124c834 user: drh tags: stdint.h)
03:16
Fix spacing typo in comment. No changes to code. (check-in: 3a18526fc2 user: mistachkin tags: snapshot-get)
02:15
Add the nBackfillAttempted field in formerly unused space in WalCkptInfo and use that field to close the race condition on opening a snapshot. (check-in: cb68e9d073 user: drh tags: snapshot-get)
2015-12-09
20:05
Update sqlite3_snapshot_open() to reduce the chances of reading a corrupt snapshot created by a checkpointer process exiting unexpectedly. (check-in: 7315f7cbf4 user: dan tags: snapshot-get)
17:45
Add extra test cases to delete4.test. (check-in: 571b64b923 user: dan tags: onepass-delete-or)
17:23
Further simplifications to the VDBE code generation logic that flow out of the previous check-in. (check-in: 6a5dfe85b5 user: drh tags: trunk)
16:26
Simplification of the DROP TRIGGER logic using sqlite3NestedParse() instead of hand-coded VDBE code. This is a manual cherry-pick of the key change from check-in [c80bbf14b365d]. (check-in: 8021b4c813 user: drh tags: trunk)
16:08
Fix a problem with the DROP TABLE command on this branch. (check-in: c80bbf14b3 user: dan tags: onepass-delete-or)
16:04
Merge unrelated fixes from trunk. (check-in: 362615b4df user: drh tags: snapshot-get)
10:06
Add simple tests and bugfixes for DELETE statements that qualify for the OR-optimization. (check-in: 10ca7357b2 user: dan tags: onepass-delete-or)
08:13
Merge latest trunk with this branch. (check-in: dc236f1118 user: dan tags: onepass-delete-or)
2015-12-08
19:50
Experimental optimization for DELETE statements with WHERE clauses that qualify for the OR-optimization. (check-in: d52376df53 user: dan tags: onepass-delete-or)
16:58
Changes to avoid undefined behavior in memset() and memcpy() and in the comparisons of pointers from different allocations. All problems are found by analysis tools - none have been seen in the wild. (check-in: 901d0b8f3b user: drh tags: trunk)
16:08
Avoid doing comparisons with pointers that might have been previously been passed to realloc() and/or free(). (check-in: f20396adb2 user: drh tags: trunk)
14:37
Avoid unnecessary work inside of verifyDbFile() in the unix VFS. (Closed-Leaf check-in: f3c0579e93 user: drh tags: unix-vfs-optimization)
04:18
Add a test case of the form "WHERE a<2 OR a<3" using PRAGMA count_changes. This test case was failing before the 3.9.0 release. (check-in: 177862c1d5 user: drh tags: trunk)
00:47
Update the TclKit download URL. (check-in: 07e5199c6f user: mistachkin tags: trunk)
2015-12-07
23:31
Update MSVC batch build tool to the latest Windows 10 SDK version. (check-in: 2ad5017190 user: mistachkin tags: trunk)
21:46
Add the ".changes ON|OFF" command to the sqlite3.exe command-line shell, for testing and verifying the sqlite3_changes() and sqlite3_total_changes() interfaces. (check-in: 9bbe1afc15 user: drh tags: trunk)
18:18
Fix the openDirectory() routine in the unix VFS so that it works for databases located in the root of the filesystem and for database files that have no pathname at all. (check-in: e7ae120d04 user: drh tags: trunk)
16:43
Changes to avoid undefined behavior detected by analysis tools - never observed in the wild. Later: This check-in introduces a bug, fixed at [a304e34675404aee]. (check-in: a9e819082b user: drh tags: trunk)
14:33
Add tests for snapshot_get(), _open() and _free(). (check-in: 502cc6f353 user: dan tags: snapshot-get)
2015-12-05
20:51
Add untested implementations of experimental APIs sqlite3_snapshot_get(), _open() and _free(). (check-in: 0715eb00aa user: dan tags: snapshot-get)
2015-12-04
13:44
Remove the dependence on "exec ls -U" from the vtabH.test module, as the -U option to "ls" is not universally available. (check-in: 4ecbc75b46 user: drh tags: trunk)
03:27
Prevent a segfault on Solaris in the test_fs.c due to differences in the definition of the dirent object. (check-in: 042738ad3b user: drh tags: trunk)
2015-12-03
22:33
Fix typos in requirements text and update requirements marks. No changes to code. (check-in: 8534a46c06 user: drh tags: trunk)
21:47
Improved OOM recovery in the SELECT code generator logic. (check-in: e6521a436d user: drh tags: trunk)
20:50
Make the SQLITE_ENABLE_8_3_NAMES compile-time option available to sqlite3_compileoption_used(). (check-in: 06338201f3 user: drh tags: trunk)
20:42
Cleaner code and additional comments on the handling of 8+3 filenames when trying to find the name of a database file based on its journal filename, in the unix VFS. (check-in: 9e489a71f2 user: drh tags: trunk)
13:43
Make the sqlite3_status64(), sqlite3_strlike(), and sqlite3_db_cacheflush() APIs available to loadable extensions. (check-in: a78e865607 user: drh tags: trunk)
12:01
Fix threadtest3 so that it builds using the autoconf build system. (check-in: d96de532cc user: dan tags: trunk)
11:51
Improve concurrency in test_multiplex.c. Add a switch to "threadtest3" allowing it to run using the multiplexor VFS. (check-in: 9d2c62b04e user: dan tags: trunk)
01:48
A unix VFS change replaces fsync() with fstat() when using SQLITE_NO_SYNC, so set PRAGMA synchronous=OFF in the sysfault-3 test to avoid erroneously causing errors in xSync. (check-in: 4f7f355021 user: drh tags: trunk)
2015-12-02
20:53
Merge recent enhancements from trunk. (check-in: 9130661a78 user: drh tags: begin-concurrent)
20:40
Merge recent enhancements from trunk. (check-in: d1a1278d7f user: drh tags: sessions)
20:22
Merge all recent trunk enhancements, especially the unix VFS changes. (check-in: e1fb33c7d2 user: drh tags: apple-osx)
19:46
Remove unreachable branches from the decltype computation logic in the query planner. (check-in: 4f2bcff94c user: drh tags: trunk)
18:59
Have the sqlite3_column_decltype() API report the declared types for the left-most SELECT statement in a compound SELECT. (check-in: 3e1d71fcaf user: dan tags: trunk)
17:40
Fix an incorrect, though harmless, assert() in the unix VFS. (check-in: 4692ae84f9 user: drh tags: trunk)
16:10
Remove more (dead) SQLITE_FCNTL_WAL_BLOCK logic from wal.c - code that was missed during the [e1d5320ca08933] check-in. (check-in: 58c15c6af9 user: drh tags: trunk)
15:44
Remove an unreachable branch from the unixMapfile() routine of the unix VFS. (check-in: b50f67bc46 user: drh tags: trunk)
13:11
Minor simplifications to the unix VFS. (check-in: 2f13c16b45 user: drh tags: trunk)
02:33
Change the SQLITE_NO_SYNC compile-time option to call fstat() in place of fsync() rather than being a total no-op. (check-in: f64ea8a052 user: drh tags: trunk)
02:08
Fix a (harmless) off-by-one error in the unix VFS logic that fsync()s a directory after deleting a file. (check-in: 3d02711a70 user: drh tags: trunk)
01:04
Simplification of the logic used to take the process-wide lock in the unix-excl VFS. (check-in: 73defd52bb user: drh tags: trunk)
00:05
Remove all traces of SQLITE_FCNTL_WAL_BLOCK from the unix VFS - that feature had been disabled for a long time and never actually worked. (check-in: e1d5320ca0 user: drh tags: trunk)
2015-12-01
22:09
Simplification to the posix_fallocate() replacement used for the SQLITE_FCNTL_SIZE_HINT file control in the unix VFS. (check-in: 74934d3f60 user: drh tags: trunk)
21:23
Add the SQLITE_LIKE_DOESNT_MATCH_BLOBS compile-time option. (check-in: 9e1d6d4c39 user: drh tags: trunk)
17:48
The test_fs.c test module now works on Windows. (check-in: e3d8628456 user: drh tags: trunk)
16:21
Simplification to the read and write primatives in the unix VFS. (check-in: 9eefa44979 user: drh tags: trunk)
2015-11-30
23:29
Add experimental support for the 'test_fs' test module on Win32. (Closed-Leaf check-in: f3ffb3aeea user: mistachkin tags: testFsWin32)
22:52
Add the SQLITE_PRINTF_PRECISION_LIMIT compile-time option. (check-in: ecad75d69e user: drh tags: trunk)
22:22
Fix a problem in xFullPathname for the unix VFS. The problem was found by Kostya Serebryany using libFuzzer. (check-in: bb1e2c4df0 user: drh tags: trunk)
20:36
The EOVERFLOW errors from fstat() is not possible unless SQLite has been compiled with SQLITE_DISABLE_LFS. (check-in: 8cfb7a50bb user: drh tags: trunk)
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: b8251065db user: dan tags: schemalint)
19:15
Fix the threadtest3 test program so that it works with VFSes that omit the xCurrentTime() method and supply only xCurrentTimeInt64(). (check-in: 3b155855f3 user: drh tags: trunk)
18:17
Fix the schemalint.tcl script to handle identifiers that require quoting. (check-in: 451e0fafbe user: dan tags: schemalint)
12:01
Add the "colUsed" field to the sqlite3_index_info structure passed to virtual table xBestIndex methods. To indicate the subset of the virtual table columns that may be required by the current scan. (check-in: 47f10b7e5d user: dan tags: trunk)
00:05
Simplifications to the locking logic in the unix-dotfile VFS. (check-in: 5838135258 user: drh tags: trunk)
2015-11-29
21:46
Fix the sqldiff utility program so that it works for schemas that have tables with zero-length column names. (check-in: 64263ccb8f user: drh tags: trunk)
2015-11-28
21:49
Improvements to temporary file creation logic in the unix VFS. (check-in: d6e177fd09 user: drh tags: trunk)
18:06
Add the SQLITE_FCNTL_VFS_POINTER file control which obtains a pointer to the top-level VFS in use by a database connection. (check-in: 7c6a809e25 user: drh tags: trunk)
17:38
Disable testing with SQLITE_USER_AUTHENTICATION as the makefiles are not set up to do that. (check-in: 14bbcdc64e user: drh tags: trunk)
2015-11-26
22:12
The first argument to SQLITE_CONFIG_PAGECACHE, SQLITE_CONFIG_SCRATCH, and SQLITE_CONFIG_HEAP must always be a pointer. (check-in: 5e14cadff0 user: drh tags: trunk)
19:33
Add the "colUsed" field to the sqlite3_index_info structure passed to virtual table xBestIndex methods. To indicate the subset of the virtual table columns that may be required by the current scan. (Closed-Leaf check-in: 116b206494 user: dan tags: vtab-colused)
15:51
Fix a problem with the userauth extension and no-authentication databases. Run the tests for this extension as part of the Debug-One module in releasetest.tcl. (check-in: 8b15621952 user: dan tags: trunk)
10:37
Simplify logic for syncing directories after creating or deleting a file in the unix VFS. (check-in: eb180b4f04 user: drh tags: trunk)
02:21
Small simplification to the xOpen method in the unix VFS. (check-in: 96e7d638ec user: drh tags: trunk)
2015-11-25
23:13
Simplify the temporary filename generator and the time-of-day functions in the unix VFS. (check-in: 6c5621ce1b user: drh tags: trunk)
18:40
Fix harmless compiler warnings in test_fs.c. Fix typos and clean up the text of the documentation for sqlite3_strglob() and sqlite3_strlike(). (check-in: 697b20534c user: drh tags: trunk)
18:07
Update test_fs.c to include a virtual table that reads a file-system hierarchy. Use it to further test GLOB and LIKE support for virtual tables. (check-in: 6ef6578c03 user: dan tags: trunk)
18:03
Make the xAccess method of the unix VFS smaller and faster. (check-in: 191aef986f user: drh tags: trunk)
15:15
Remove unused methods from the unix VFS. (check-in: 228bd15bbb user: drh tags: trunk)
14:00
Simplification of the error code translator in os_unix.c. Code cleanup only. The logic is unchanged. (check-in: 2a20f793fd user: drh tags: trunk)
11:56
Fix the fts5 "prefix=" option to match the documentation (space separated list, multiple prefix= options supported). The undocumented comma-separated format (compatible with fts4) still works. (check-in: 11eb8e877e user: dan tags: trunk)
01:57
Enhancement the virtual table interface to support LIKE, GLOB, and REGEXP operators. Also add the sqlite3_strlike() interface, which might be useful as part of the implementation of LIKE on some virtual tables. (check-in: a6bfd4692c user: drh tags: trunk)
2015-11-24
21:23
Add the sqlite3_strlike() interface, which might be useful for implementing LIKE operators on virtual tables. (Closed-Leaf check-in: e70ec71d68 user: drh tags: vtab-like-operator)
18:16
Fix a problem in whereexpr.c causing a crash while processing a user-function taht accepts zero arguments. (check-in: 069e51b19c user: dan tags: vtab-like-operator)
18:04
Fix harmless compiler warnings in the TCL test harness logic. (check-in: 2fba7a9656 user: drh tags: vtab-like-operator)
17:44
Merge latest trunk changes with this branch. (check-in: 99222bb3e5 user: dan tags: vtab-like-operator)
17:39
Add further tests and related fixes for GLOB/REGEXP/LIKE support in virtual tables. (check-in: c5e9fd0dc9 user: dan tags: vtab-like-operator)
16:40
Remove from os_unix.c pointless logic that tries to prevent a recurrence of a warning message that can only occur once. (check-in: 2025617707 user: drh tags: trunk)
15:12
Fix a comment typo in the unix VFS. No changes to code. (check-in: 32e138796c user: drh tags: trunk)
15:06
Make the geteuid() system call overloadable using xSetSystemCall() on the unix VFSes. (check-in: 6c2ddea65e user: drh tags: trunk)
03:50
Add a test case for the fix of check-in [19d9f9ce691963310] (check-in: 19a9c07b26 user: drh tags: trunk)
02:10
Remove an incorrect ALWAYS() macro. Fix for ticket [e5c6268dd807fa8950] - a problem introduced in SQLite 3.9.0 and found by libFuzzer. (check-in: 824ad96f72 user: drh tags: trunk)
01:17
Add a clarifying comment to the virtual table test module 'test8'. (check-in: e92f97a679 user: mistachkin tags: trunk)
00:49
Do not try to eliminate No-ops at the end of VDBE program as this can cause problems for some DISTINCT handling algorithms, and does not improve performance. This also fixes an assertion fault found by libFuzzer. (check-in: 19d9f9ce69 user: drh tags: trunk)
2015-11-23
21:09
Add experimental support for LIKE, GLOB and REGEXP to the virtual table interface. (check-in: 277a5b4027 user: dan tags: vtab-like-operator)
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: d3aa067c83 user: dan tags: schemalint)
17:14
Merge latest trunk changes with this branch. (check-in: 8f1ef0904d 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: b8f277c9b4 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: 60de5f2342 user: dan tags: trunk)
17:53
Add a new OP_BColumn opcode where the cursor is guaranteed to be of type CURTYPE_BTREE and is thus able to skip some checks and run slightly faster. (Leaf check-in: 093e0d10a8 user: drh tags: btree-column-opcode)
17:27
Fix over-length source code lines. No logic changes. (check-in: 198d191b2f 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: ff5716b89f user: drh tags: trunk)
2015-11-20
20:55
Add support for ORDER BY clauses to schemalint.tcl. (check-in: 93bdf70e85 user: dan tags: schemalint)
19:22
Refactor the VdbeCursor object. It is now slightly smaller and faster and is easier to understand. (check-in: 9b1d174d86 user: drh tags: trunk)
13:49
Merge all the latest enhancements and fixes from trunk. (check-in: 41c8b8e39b user: drh tags: begin-concurrent)
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: 35c7f6cba6 user: drh tags: trunk)
13:17
Enhancements to a comment in sqliteInt.h. No changes to code. (check-in: 5446ae64d7 user: drh tags: trunk)
2015-11-19
19:48
Merge the latest enhancements from trunk. (check-in: 2c9e5436bd user: drh tags: apple-osx)
19:40
Merge the latest enhancements from trunk. (check-in: 7d6cfc79e7 user: drh tags: sessions)
19:31
Merge the latest enhancements from trunk. (check-in: 8aede091c4 user: drh tags: lsm-vtab)
19:27
Work toward more flexible typing for keys and values. (check-in: 5c79f53131 user: drh tags: lsm-vtab)
18:11
Fix problems with the way the IsHiddenColumn() macro is defined. (check-in: 126b998cf1 user: drh tags: trunk)
18:09
Fix a problem with VACUUM and __hidden__ columns. (check-in: 13995756ad 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: 28df5dc4a9 user: drh tags: trunk)
16:46
Fix problems with INSERT INTO ... SELECT ... statements that write to tables with __hidden__ columns. (check-in: 59bd0ec7d4 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: 201ac6d449 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: 011904cad2 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: 5490646b2e 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: 3833cbac07 user: drh tags: trunk)
2015-11-18
21:22
Get the __hidden__ column mechanism working on views with INSTEAD OF triggers. (check-in: 20c1e9ce75 user: drh tags: hidden-columns-in-tables)
20:59
Add tests for views to hidden.test. (check-in: 27d4b6f575 user: dan tags: hidden-columns-in-tables)
20:57
Honor the "__hidden__" prefix on the columns of views. (check-in: 3071ba2bdb user: drh tags: hidden-columns-in-tables)
20:07
Add a test for the __hidden__ hack on this branch. (check-in: ebf4bbffec 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: 2dbffb3a3b 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: 4f521b5bb3 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: 67c5d3c646 user: dan tags: trunk)
19:17
Fix uninitialized variable in the command line shell. (check-in: dc2ac024d3 user: mistachkin tags: trunk)
19:16
Fix harmless compiler warning. (check-in: eea26b6cae user: mistachkin tags: trunk)
02:23
Basic functionality is now working. (check-in: aa129c51ec user: drh tags: lsm-vtab)
00:15
The virtual table compiles but does not work and is missing many features. This is an incremental check-in. (check-in: a32849d6bf user: drh tags: lsm-vtab)
2015-11-16
16:00
Import the LSM code from SQLite4 for use in an experimental virtual table. NB: This is a speculative experiment and could easily result in a dead-end branch. (check-in: 3d930501a2 user: drh tags: lsm-vtab)
15:28
Add testfixture command "vfs_current_time_int64". Returns the value returned by the xCurrentTimeInt64 method of the default VFS. (check-in: f79d5b1853 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: ad5fcaa583 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: 791761ebac 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: 9272426057 user: drh tags: trunk)
20:52
Use a hash table to improve the preformance of column name uniqueness checking. (check-in: 5b08f29f45 user: drh tags: trunk)
16:47
Use randomness to prevent slowness in the generated-column-name uniqueness checking. (check-in: 6266712968 user: drh tags: trunk)
2015-11-13
20:52
Fix a memory leak in the fuzzcheck utility. (check-in: dfd6d9f4fb 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: 499a02a343 user: dan tags: trunk)
13:15
Add the --transaction option to the sqldiff tool. (check-in: 8882d1f3ef 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: 6bb314a502 user: drh tags: trunk)
12:32
Disable two PRAGMA cache_spill tests when MEMORY_MANAGEMENT is enabled. (check-in: ebda77aad4 user: drh tags: trunk)
02:13
Merge fixes from trunk. (check-in: f9060b2a98 user: drh tags: apple-osx)
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: 367ec0db49 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: ee6f2feec7 user: drh tags: trunk)
22:15
Always parse the schema *before* running "PRAGMA cache_size", not after. (check-in: 12e7d9ec02 user: drh tags: trunk)
21:55
Import the test_sqllog.c enhancements from trunk. (check-in: 178da33909 user: drh tags: apple-osx)
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: 9d532fb50d 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: cab8126be9 user: dan tags: trunk)
16:51
Merge the latest enhancements from trunk, and in particular the "PRAGMA cache_spill=N" change. (check-in: e72331c719 user: drh tags: apple-osx)
16:44
Enhance the "PRAGMA cache_spill" statement to accept an integer argument which is the threshold at which spilling will begin. (check-in: f79d264db2 user: drh tags: trunk)
15:47
Test cases. Minor problems fixed. All appears to work now. (Closed-Leaf check-in: 9a431362dc user: drh tags: cache_spill=N)
15:04
Fix a #define in parse.y that disabled unused code in the generated parser. (check-in: f84e3085c8 user: drh tags: trunk)
14:57
First attempt at enhancing the "PRAGMA cache_spill" statement to accept a cache threashold size. (check-in: 549d42be0d user: drh tags: cache_spill=N)
2015-11-11
18:43
Fix missing word in a documentation comment. No changes to code. (check-in: ed24d30265 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: c6fa01c28e 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: 2518d5c971 user: drh tags: trunk)
2015-11-10
14:51
Improved output formatting for "PRAGMA parser_trace=ON;". (check-in: e43e1171fd user: drh tags: trunk)
14:27
Make the output of "PRAGMA parser_trace" go to stdout instead of stderr. (check-in: 1e4849911e 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: 5dcd212bf6 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: 0e7fb24ad3 user: drh tags: trunk)
12:31
Fix harmless compiler warnings in FTS5. (Closed-Leaf check-in: 09752e51a1 user: drh tags: parser-enhancements)
03:30
Performance enhancement to the tokenizer. (check-in: 6ea2df86c9 user: drh tags: parser-enhancements)
00:02
Remove an unused non-terminal from the grammar. (check-in: 3c37c52288 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: c4a7e93fca 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: 0a72991f4e 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: 0557a179f9 user: drh tags: trunk)
14:11
Size reduction and performance improvement in the stack-popping logic of the Lemon-generated parser. (check-in: 9748c48a4f user: drh tags: trunk)
12:47
Fix incorrect WHERE clause in sqldiff, as reported on the mailing list by Youcef Hilem. (check-in: e0ed4c3e37 user: drh tags: trunk)
12:44
Check in the cg_anno.tcl and run-speed-test.sh scripts, as an historical record. (check-in: 836418d3b7 user: drh tags: trunk)
12:33
Avoid unnecessary function prologues in the sqlite3VdbeAddOp3() routine. (check-in: 7c6a19ba9b user: drh tags: trunk)
02:08
Small size reduction and performance increase in the parser. (check-in: d62cd757a6 user: drh tags: trunk)
2015-11-07
18:32
Enhance the sqldiff utility to deal gracefully with ALTER TABLE ADD COLUMN. (check-in: 7ea036ac37 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: 088009efdd user: dan tags: trunk)
17:51
Add test cases for WITH clauses. (Closed-Leaf check-in: e7e65c7559 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: 028475cb17 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: 2040d88e87 user: drh tags: infinite-with-loop-bug)
01:57
Merge recent enhancements and fixes from trunk. (check-in: 5429f99b98 user: drh tags: apple-osx)
01:33
Merge recent enhancements and bug fixes from trunk. (check-in: 78bc42e664 user: drh tags: sessions)
01:19
The OPFLAG_SEEKEQ optimization is only applicable to equality comparisons against an index, not against a rowid table. (check-in: 0f5b147d1f user: drh tags: trunk)
00:51
Fix a harmless sanitizer warning in the ieee754 extension. (check-in: dd9a26ecde 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: d741e1ccdc 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: 46c36b1543 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: d421efbf9a user: drh tags: trunk)
19:53
Enforce consistent comparison results between integer and floating point values. Fix for ticket [38a97a87a6e4e83]. (check-in: 849e686da2 user: drh tags: trunk)
17:59
Merge the fixes and tests for the ieee754 extension. (Closed-Leaf check-in: 7a9988d38c 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: 8a171548e4 user: drh tags: hp-optimizer-fix)
17:01
Test cases for the ieee754 extension. (check-in: 840cbda886 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: a3f7614b20 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: 33e6606f5e user: dan tags: trunk)
04:14
More test cases for indexes on large numeric values. (check-in: c220741a62 user: drh tags: int-float-precision)
03:37
Some simple test cases from the mailing list. (check-in: 1d642b73f9 user: drh tags: int-float-precision)
01:04
Increase the precision of integer vs. floating-point comparisons. Candidate fix for ticket [38a97a87a6e4e8]. (check-in: cfcaa0ff27 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: 997ce6c90b user: drh tags: seekeq-experiment)
21:49
Fix typo in help information for an FTS5 script. (check-in: 777ae8007f 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: 32e31b9bc8 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: 445480095e 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: 8303e4cfed user: drh tags: trunk)
03:26
Remove #pragma that was used to work around an obsolete issue with MSVC 2012. (Closed-Leaf check-in: b9b22fae69 user: mistachkin tags: reoptimizeArm)
2015-11-04
22:31
Performance improvements in the getAndInitPage() routine of btree.c. (check-in: 2aa50f6f20 user: drh tags: trunk)
20:22
Rename the sqlite3PagerAcquire() function to sqlite3PagerGet(). The former macro called sqlite3PagerGet() has been removed. (check-in: 708253be34 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: 3fece5d02a user: drh tags: trunk)
13:03
Exclude cffault.test and symlink.test from the (incompatible) inmemory_journal permutation. (check-in: 4f16e9686d user: drh tags: trunk)
2015-11-03
23:39
Increase the fuzzcheck timeout when running valgrind. (check-in: a5816877bd user: drh tags: trunk)
19:13
In 'e_uri.test', make sure all created test database files get deleted. (check-in: 40c4f4a65e 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: d969792f34 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: b75107778f 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: e3de82919d user: drh tags: trunk)
06:23
Further enhancement and a bit of cleanup. (Closed-Leaf check-in: 0d8b59783e user: mistachkin tags: mp-releasetest)
02:47
Use the native name for the MSVC makefile as well. (check-in: e457c61564 user: mistachkin tags: mp-releasetest)
2015-11-02
23:29
Attempt to centralize and simplify the MSVC handling. (check-in: 4ae96d6dde user: mistachkin tags: mp-releasetest)
23:21
Fix the backcompat.test module so that it does not try to compare against itself on windows. (check-in: f625bce8b7 user: drh tags: mp-releasetest)
21:05
Get things working better on Windows with MSVC. (check-in: 22cc3e6c8e user: mistachkin tags: mp-releasetest)
20:52
Fix the --dryrun option on the releasetest.tcl script. (check-in: e565e02615 user: dan tags: mp-releasetest)
20:28
Fix releasetest.tcl so that it does not choke if a test fails so badly that there is no log file. Add the --jobs switch to the usage message. (check-in: 20e96f521f user: dan tags: mp-releasetest)
20:24
Fix releasetest.tcl so that output lines are less than 80 characters wide. (check-in: aef177fef0 user: dan tags: mp-releasetest)
18:57
Merge all recent enhancements and fixes from trunk. (check-in: 0546d1cd1a user: drh tags: sessions)
18:32
Add the "--jobs N" option to the releasetest.tcl script to allow tests to be run in parallel by N processes. N defaults to 1. (check-in: 3d29f912cb user: dan tags: mp-releasetest)
18:31
Version 3.9.2 (check-in: bda77dda96 user: drh tags: release, branch-3.9, version-3.9.2)
15:10
Merge latest trunk changes, including the follow-symlinks functionality and 3.9.2 bugfixes, into this branch. (check-in: 447521d747 user: dan tags: apple-osx)
15:08
On unix, if a file is opened via a symlink, create, read and write journal and wal files based on the name of the actual db file, not the symlink. (check-in: 6d5ce3ede4 user: dan tags: trunk)
11:19
When creating an automatic-index on a sub-query, add a unique integer to the end of each index key to ensure the entire key is unique. Fix for [8a2adec1]. (check-in: c0c4b6b396 user: drh tags: branch-3.9)
11:10
Aborted releaset of 3.9.2. (check-in: c33a275bf1 user: drh tags: branch-3.9)
2015-11-01
21:42
Increase the version number to 3.9.2. (check-in: 14bd4fbf31 user: drh tags: branch-3.9)
21:35
If a table-constraint PRIMARY KEY lists a single column in single-quotes and that column has type INTEGER, then make that column an integer primary key, for historical compatibility. Fix for ticket [ac661962a2aeab3c331]. (check-in: dab0e60768 user: drh tags: branch-3.9)
21:19
If a table-constraint PRIMARY KEY lists a single column in single-quotes and that column has type INTEGER, then make that column an integer primary key, for historical compatibility. Fix for ticket [ac661962a2aeab3c331]. (check-in: db319a035f user: drh tags: trunk)
2015-10-31
17:58
On unix, if a file is opened via a symlink, create, read and write journal and wal files based on the name of the actual db file, not the symlink. (Closed-Leaf check-in: c7c8105099 user: dan tags: follow-symlinks)
2015-10-30
20:54
Add mutex operations to test code in test3.c to avoid triggering assert() failures in certain configurations. (check-in: 9f19420b0a user: dan tags: trunk)
17:17
Merge the sqlite3_db_cacheflush() enhancements and other changes from trunk. (check-in: f2cde4cfc5 user: drh tags: begin-concurrent)
16:50
Merge all the latest enhancements from trunk. (check-in: 395a153ff7 user: drh tags: sessions)
16:37
Merge the 3.10.0 version number update from trunk. (check-in: 980d620743 user: drh tags: apple-osx)
16:36
Increase the version number to 3.10.0, due to the addition of the sqlite3_db_cacheflush() interface. (check-in: 7565b046ff user: drh tags: trunk)
16:23
Merge latest trunk changes, including sqlite3_db_cacheflush(), with this branch. (check-in: 6e4306efaf user: dan tags: apple-osx)
16:14
Add new API function sqlite3_db_cacheflush(). (check-in: ad80d30733 user: dan tags: trunk)
14:28
Return immediately if sqlite3PagerWrite() is called when the pager is in PAGER_ERROR state. (Closed-Leaf check-in: a6695b0084 user: dan tags: cacheflush)
14:25
Add the --enable-editline option to various autoconf scripts. (check-in: 866f027778 user: drh tags: trunk)
09:13
Test that calling sqlite3_db_cacheflush() does not interfere with savepoints. (check-in: 0e09e4a269 user: dan tags: cacheflush)
2015-10-29
21:11
Do not attempt to flush the pages of an in-memory database to disk if sqlite3_db_cacheflush() is called. (check-in: 9b79a39044 user: dan tags: cacheflush)
20:57
Add a test case that calls sqlite3_db_cacheflush() on an in-memory database. (check-in: f0cdfb547b user: dan tags: cacheflush)
18:16
Avoid automatically rolling back the transaction if an SQLITE_IOERR or SQLITE_FULL error occurs within sqlite3_db_cacheflush(). (check-in: 370b5d520c user: dan tags: cacheflush)
14:29
The optimization on this branch is logically incorrect. It changes the return value of "SELECT 0 OR 'xyzzy'" FROM 0 to 'xyzzy'. (Closed-Leaf check-in: a0c08d2689 user: drh tags: simplify-or-clause)
13:48
Fix uses of ctype functions (ex: isspace()) on signed characters in test programs and in some obscure extensions. No changes to the core. (check-in: 34eb6911af user: drh tags: trunk)
12:27
Apply optimizations to simplify OR clauses that contain constant terms. (check-in: d533e23f05 user: drh tags: simplify-or-clause)
01:11
Enhance comments in the MSVC batch build tool. (check-in: 2964ce2586 user: mistachkin tags: trunk)
2015-10-28
20:01
Make the internal sqlite3PExpr() interface responsive to the TKFLG_DONTFOLD flag on the operator parameter. (check-in: b10ab59fb8 user: drh tags: trunk)
19:46
Add experimental API sqlite3_db_cacheflush(). (check-in: 65b86dc1fa user: dan tags: cacheflush)
16:05
Factor out adding NOT expression nodes in the parser into a subroutine. (check-in: 0018541816 user: drh tags: trunk)
2015-10-27
20:04
Have contentless and external content fts5 tables ignore "OR REPLACE" conflict handling. (check-in: a85c2a4758 user: dan tags: trunk)
17:48
Fix problems with prefix queries in fts5. (check-in: 3b5758c647 user: dan tags: trunk)
13:35
Provide hints to the storage engine using the sqlite3BtreeCursorHint() interface when compiling with SQLITE_ENABLE_CURSOR_HINTS. (check-in: 45d3539e15 user: drh tags: trunk)
13:24
Split out sqlite3BtreeCursorHintFlags() from sqlite3BtreeCursorHint() the interface for improved performance. (Closed-Leaf check-in: b3ec9a0d62 user: drh tags: cursor-hints)
2015-10-26
20:50
Merge latest trunk changes, including the SQLITE_IOERR_AUTH error code, with this branch. (check-in: bc195e1cd9 user: dan tags: apple-osx)
20:39
Add new extended error code SQLITE_IOERR_AUTH. (check-in: b4e70dd08e user: dan tags: trunk)
20:11
Merge the BTREE_FORDELETE enhancement with this branch. (check-in: 20da0849ce user: dan tags: cursor-hints)
18:51
Merge in all trunk changes prior to the BTREE_FORDELETE enhancement. (check-in: 53d5a4add6 user: drh tags: cursor-hints)
18:01
Capture BTREE_FORDELETE test cases that were mistakenly omitted from the previous merge. (check-in: de6972515f user: drh tags: trunk)
17:50
Provide the BTREE_FORDELETE flag to sqlite3BtreeCursor() if the cursor will be used only for deletions and seeking. (check-in: 871b1c78bc user: drh tags: trunk)
16:34
Fix an uninitialized variable problem in the test code added by the previous commit. (Closed-Leaf check-in: 7849662ef9 user: dan tags: btree-fordelete-flag)
16:31
Test that the binary record "0x01 0x00" is interpreted by OP_Column as a vector of NULL (or default) values. (check-in: 5bdc3c82bd user: dan tags: btree-fordelete-flag)
14:54
Fix a C99-ism and a harmless compiler warning. (check-in: 138783b553 user: drh tags: trunk)
14:41
When compiling with SQLITE_HAS_CODEC, honor the hexkey= query parameter on URI pathnames in sqlite3_open_v2(). (check-in: e0ce3fc089 user: drh tags: trunk)
12:55
Remove an unreachable branch in malloc.c. (check-in: a36b7fe923 user: drh tags: trunk)
2015-10-24
20:31
When creating an automatic-index on a sub-query, add a unique integer to the end of each index key to ensure the entire key is unique. Fix for [8a2adec1]. (check-in: bfea226d0d user: dan tags: trunk)
2015-10-23
11:50
Remove an unused #define from whereInt.h. Add comments describing the new sqlite3BtreeCursor() flags. (check-in: 4c0ba8be43 user: dan tags: btree-fordelete-flag)
2015-10-22
20:54
Modifications to pass a flag to internal routine sqlite3BtreeCursor() when a cursor that is used solely for deleting b-tree entries, or for obtaining the components of keys to delete from other b-trees, is opened. (check-in: cdc92919e6 user: dan tags: btree-fordelete-flag)
18:06
Alternate compiler warning fix for sqlite3StatusHighwater. (check-in: 4315d20200 user: mistachkin tags: trunk)
2015-10-21
22:08
Fix harmless compiler warnings in FTS5. (check-in: aa4e01ea1a user: mistachkin tags: trunk)
22:07
Fix compilation of 'testfixture' with MSVC when the FTS5 and JSON1 extensions are enabled. (check-in: e31aa97a92 user: mistachkin tags: trunk)
20:56
Remove some branches made unreachable by recent changes from fts5. (check-in: ae350bfbfd user: dan tags: trunk)
20:07
Minor optimization for fts5 queries. (check-in: 363b36d50b user: dan tags: trunk)
08:26
Add extra debugging function to test_rbu.c. Enhance the documentation for sqlite3rbu_db() to define the validity of the returned database handles. (check-in: b9c4aa5211 user: dan tags: trunk)
2015-10-20
23:40
Fix compiler warnings. (Closed-Leaf check-in: 12e869bbac user: mistachkin tags: noWarn)
23:27
Fix harmless compiler warnings in FTS5. (check-in: 0a903ec26b user: mistachkin tags: trunk)
21:05
More optimizations for fts5 prefix queries. (check-in: b8fb263ed1 user: dan tags: trunk)
19:55
Fix #line directives added to generated file fts5.c. (check-in: 1f5f5804cd user: dan tags: trunk)
15:49
Initialize variables in the fts5 integrity-check code to avoid compiler warnings. (check-in: e979e2ccca user: dan tags: trunk)
2015-10-19
20:49
Another optimization for fts5 prefix (and other) queries. (check-in: 60a8bde055 user: dan tags: trunk)
17:43
Another tweak to improve performance of fts5 prefix queries. (check-in: 69be427c86 user: dan tags: trunk)
15:59
Fix a problem in the fts5txt2db.tcl script causing it to fail when creating tables with more than 8 columns. (check-in: 68ee426a64 user: dan tags: trunk)
2015-10-17
20:34
Add tests to cover new branches added to the fts5 code by the previous commit. (check-in: cf618334a8 user: dan tags: trunk)
19:49
Handle equality and range constraints on the "term" column of fts5vocab tables. Also have the same module report columns using names instead of indexes. (check-in: 6020d96ab4 user: dan tags: trunk)
01:00
Change the code generator for UPDATE to generate code in an order that might run more efficiently in many cases. (Leaf check-in: c6239bf943 user: drh tags: improved-update)
2015-10-16
23:55
Fix a comment in expr.c and add a CORRUPT_DB to an assert() in btree.c. (check-in: 0df371d1a5 user: drh tags: trunk)
20:55
Merge the 3.9.1 updates from trunk. (check-in: bf866e6c0d user: drh tags: begin-concurrent)
20:53
Merge recent enhancements from trunk. Version now 3.9.1. (check-in: 26fa091d68 user: drh tags: cursor-hints)
20:52
Merge the 3.9.1 changes. (check-in: dd07688d3a user: drh tags: apple-osx)
20:20
Merge the version 3.9.1 updates. (check-in: 2bbb9595cc user: drh tags: sessions)
20:13
Enhancements to the MSVC makefile. (check-in: 39e8a5d93f user: mistachkin tags: trunk)
20:12
Merge the 3.9.1 changes into trunk. (This only updates the version number and configure script since all the other changes in 3.9.1 were cherrypicked from trunk.) (check-in: eb2317429f user: drh tags: trunk)
17:31
Version 3.9.1 (check-in: 767c1727fe user: drh tags: release, branch-3.9, version-3.9.1)
15:56
Cherrypick the json form-feed fix, and other #ifdef and build script changes to address minor issues that came to light after the 3.9.0 release. Update the version number to 3.9.1. No logic changes except for the form-feed bug-fix in json1 (ticket [57eec374ae1d0a1d4a]). (check-in: 746fcd2fd4 user: drh tags: branch-3.9)
15:42
Fix the fuzzershell utility program so that it compiles with the amalgamation that includes JSON1 support. (check-in: d6fc616e4c user: drh tags: trunk)
15:35
Fix the JSON1 extension so that it does not depend on isdigit() and strtod() from the standard library when compiled into SQLite as part of the amalgamation. (check-in: bc9a9a60c3 user: drh tags: trunk)
15:16
Form-feed is not valid whitespace for json. Fix for ticket [57eec374ae1d0a1d] (check-in: 28957d6359 user: drh tags: trunk)
14:54
Have the sqlite3VdbeSerialType() function go ahead and compute the serial length as well, since it is always needed. This avoids unnecessary calls to sqlite3VdbeSerialTypeLen(). (check-in: 2ad72be124 user: drh tags: trunk)
14:23
Use a lookup table to compute the content length for serial types less than 128, for a 1.2% performance improvement. (check-in: 3395724814 user: drh tags: trunk)
13:50
Simplify the OP_Column logic slightly. One very small performance improvement added. (check-in: 0114b45dc2 user: drh tags: trunk)
12:53
OP_Column optimization: Do not check for an oversize row header unless the row header size is larger than the content available on the local page. (check-in: 8125b74cb4 user: drh tags: trunk)
12:39
Improved header comment on the tool/vdbe_profile.tcl script. No changes to code. (check-in: b17ad8fc04 user: drh tags: trunk)
03:34
Whenever two or more OP_Column opcodes on the same cursor occur in succession, try to reordering them so that the one that extracts the right-most column is first, so that it will warm up the row cache for all those that follow. This gives a small performance boost. (Leaf check-in: 08e8f04d12 user: drh tags: reorder-column-opcodes)
2015-10-15
21:30
Performance optimization for the OP_Column opcode. (check-in: 076be5474d user: drh tags: trunk)
21:13
Merge updates from trunk. (Leaf check-in: 4049368008 user: mistachkin tags: mutexInitIsInitReCheck)
21:12
Merge updates from trunk. (Leaf check-in: a447cf90dd user: mistachkin tags: mutexInitSimpleCmpSwap)
20:17
Experiments with an OP_Unpack opcode that extracts multiple columns from a record without caching. (Leaf check-in: 39ae92f5c6 user: drh tags: unpack-opcode)
19:21
Enhance the use of the column cache for UPDATE statements, making them more efficient for the case where a column is modified to be an expression of other unmodified columns. (check-in: 871e091df6 user: drh tags: trunk)
18:04
Add the OP_IntCopy opcode - an optimized version of OP_SCopy that only works for integer values. (check-in: 3a2f73a492 user: drh tags: trunk)
17:31
Optimization to the out2Prerelease() helper routine in the VDBE engine. (check-in: 79298fe8c4 user: drh tags: trunk)
17:21
Remove a superfluous conditional from the memory allocation initialization. (check-in: 9ccf8f8d35 user: drh tags: trunk)
16:20
Performance optimizations to the sqlite3MallocSize() by requiring the argument to always be non-NULL. (check-in: cb65989b07 user: drh tags: trunk)
15:28
Change sqlite3StatusSet() into sqlite3StatusHighwater() so that only the highwater mark is recorded. This gives a small size reduction and performance improvement. (check-in: 6422d223dd user: drh tags: trunk)
12:06
Make sure sqlite.h is not #included by itself. (check-in: a61880c223 user: drh tags: trunk)
07:44
Merge in the 3.9.0 changes from trunk. (check-in: 5c3a2a6ed6 user: drh tags: begin-concurrent)
2015-10-14
23:04
In the MSVC makefile, add LIBTCLPATH variable to make it easier to run tests when the Tcl library is not already present in the PATH. (check-in: 54127602b9 user: mistachkin tags: trunk)
22:46
In the MSVC makefile, make sure LDFLAGS is used for the tool executables as well. (check-in: 0a17ee49c6 user: mistachkin tags: trunk)
21:08
Tests and minor fixes to improve coverage of FTS5 code. (check-in: f4de6d450e user: dan tags: trunk)
20:34
Fix harmless compiler warnings. (check-in: 1c46c194a2 user: mistachkin tags: trunk)
20:09
Merge in all the 3.9.0 updates from trunk. (check-in: 2944414934 user: drh tags: cursor-hints)
20:03
Update makefiles to remove all uses of "awk" - to make building SQLite easier on Windows systems. The only requirements now are tclsh, a C compiler, and common file utilities. (check-in: 4bd0d43db7 user: drh tags: trunk)
20:01
Enable cross-compiling the various tool EXEs with MSVC. (check-in: 7d77233389 user: mistachkin tags: trunk)
19:52
Fixes to the JSON1 extension and its use by fuzzcheck to avoid problems when building DLLs. (check-in: 01d3ee7bbe user: drh tags: trunk)
19:44
Fix fuzzcheck.c so that it assumes that JSON1 is already compiled in and does not need to be initialized further. (Closed-Leaf check-in: ec00395835 user: drh tags: dll-build-fix)
18:45
Avoid exporting sqlite3_json_init() from amalgamation builds. (check-in: 8463f7e790 user: dan tags: dll-build-fix)
12:29
Version 3.9.0 (check-in: a721fc0d89 user: drh tags: trunk, release, version-3.9.0)
10:56
Add the missing 'extern "C" {...}' blocks to fts5.h and sqlite3rbu.h. (check-in: 47a2ce97d5 user: dan tags: trunk)
2015-10-13
20:42
Merge in the final few changes before the 3.9.0 release. (check-in: e1afdbb501 user: drh tags: sessions)
17:49
Merge 3.9.0 prerelease changes into the apple-osx branch. (check-in: 1900ce011c user: drh tags: apple-osx)
2015-10-12
22:31
Remove the unused fts5ExprColsetTest() routine. (check-in: 9ecafc0c94 user: drh tags: trunk)
22:20
Fix a couple harmless compiler warnings. (check-in: 7f896a971c user: mistachkin tags: trunk)
19:12
Further tweaks to improve fts5 prefix query performance. (check-in: 1c20c1c28b user: dan tags: trunk)
04:56
Change all references to 3.8.12 into 3.9.0. Comment changes only - no changes to code. (check-in: 6f2858f681 user: drh tags: trunk)
03:56
Remove AWK requirement from the MSVC batch build tool. (Closed-Leaf check-in: 6d9cdb931c user: mistachkin tags: omit-awk)
03:44
The TclKit batch tool should not download the TclKit SDK when the TCLKIT_NOSDK environment variable is set. (check-in: 7c5d583bac user: mistachkin tags: omit-awk)
2015-10-11
20:39
Detect and report circularly defined views even if the views have the columns defined in the CREATE VIEW statement. (check-in: 9ab9c8c6d7 user: drh tags: trunk)
20:08
Remove an unreachable branch in the query flattener substitution logic. (check-in: 46ee3453a3 user: drh tags: trunk)
19:46
Improved substitution logic in the query flattener. Saves code space, and (more importantly) works correctly with table-valued functions. (check-in: 3d0bd95e97 user: drh tags: trunk)
2015-10-10
23:39
Enhance TclKit batch tool (and MSVC makefile) to support targets that require the Tcl stub library. (check-in: bc6223b1d6 user: mistachkin tags: omit-awk)
20:35
Pull in the latest 3.9.0 tweaks from trunk. (check-in: ed174ccf0a user: drh tags: sessions)
16:41
Work around a "security feature" bug in memcpy() on OpenBSD. (check-in: fab6f09044 user: drh tags: trunk)
15:57
Remove another instance of strcpy() from FTS5, to mollify OpenBSD. (check-in: 35e6248abb user: drh tags: trunk)
15:11
Omit the use of strcpy() in FTS5 since OpenBSD hates strcpy(). (check-in: bc24a5bbfd user: drh tags: trunk)
14:41
Compiler warning fixes: Rename some local variables from "j1" to avoid a name collision with the j1() bessel function in the math library. Omit a dummy initializer that gcc 4.6.3 does not like. (check-in: 9ddef84d43 user: drh tags: trunk)
14:00
Add some #ifdef-ery to json1.c to avoid a duplicate typedef when used in the amalgamation, since some compilers become upset over duplicate typedefs. (check-in: de28acd42f user: drh tags: trunk)
02:06
Remove a couple superfluous double quotes in the MSVC makefile. (check-in: 0f9e205b28 user: mistachkin tags: omit-awk)
01:55
Fix typo in the MSVC makefile. Replace remaining uses of AWK in the MSVC makefile with a Tcl script. (check-in: f8c2193b64 user: mistachkin tags: omit-awk)
00:53
More fine-tuning to the new TclKit tools. (check-in: 43addd8aa0 user: mistachkin tags: omit-awk)
2015-10-09
20:40
The previous fix to JSON1 was not complete. A few more tweaks are needed for correct handling of all oversized integers. (check-in: 4a47f01778 user: drh tags: trunk)
18:48
Tweak batch tool added in the previous check-in to permit the base URI to be overridden. (check-in: 1d2f82df67 user: mistachkin tags: omit-awk)
18:21
Fix the JSON1 extension so that it renders integers outside the range of -9223372036854775808 to +9223372036854775807 as floating-point numbers. (check-in: ae736e35fb user: drh tags: trunk)
17:54
Remove fts5 sources from TESTSRC2 in main.mk as there is no SQLITE_TEST code in said files. (check-in: c1840639b8 user: dan tags: trunk)
17:36
Add tool capable of downloading a TclKit (and its associated SDK) on Windows. (check-in: 50673ddaf8 user: mistachkin tags: omit-awk)
17:28
Merge all changes through the first 3.9.0 beta from trunk. (check-in: 1ccae39b8a user: drh tags: apple-osx)
15:29
Merge the version 3.9.0 changes and the incorporation of JSON1 and FTS5 into the amalgamation from trunk. (check-in: c1d96fb654 user: drh tags: sessions)
14:37
Add --enable-fts5 and --enable-json1 options to the amalgamation autoconf package. (check-in: 8a4e19888f user: dan tags: trunk)
14:23
In the MSVC makefile, adjust the names of two nmake variables for consistency. (check-in: 92aa4b6b6f user: mistachkin tags: trunk)
13:42
Change the version number of the next release to 3.9.0. (check-in: aa8fdadf2d user: drh tags: trunk)
13:39
Add the JSON1 and FTS5 extensions to the amalgamation. Add new options to ./configure: --enable-json1 and --enable-fts5. (check-in: 1eb7699331 user: drh tags: trunk)
13:29
Fix a typo in the MSVC Makefile (Closed-Leaf check-in: c8a1208238 user: drh tags: amalg-json1-fts5)
12:48
Add configure script options --enable-fts5 and --enable-json1. Automatically search for -lm when using --enable-fts5. (check-in: a0c44f1d46 user: drh tags: amalg-json1-fts5)
11:09
Makefile and fts5 changes so that fts5 works with main.mk. Still does not work with Makefile.in. (check-in: 6ebac32d83 user: dan tags: amalg-json1-fts5)
01:42
Trying to get FTS5 tests to build and run using main.mk. Not yet working. (check-in: 206174f9b1 user: drh tags: amalg-json1-fts5)
2015-10-08
23:37
Json1 tests are working. Builds without FTS5 enabled. Still some problems building with FTS5. (check-in: 2928f8e87d user: drh tags: amalg-json1-fts5)
21:02
Remove calls to "load_static_extension" from fts5 test scripts. (check-in: 53dd7c4c65 user: dan tags: amalg-json1-fts5)
21:00
Further tweaks to main.mk so that fts5 builds as part of testfixture. (check-in: 97e11b79a5 user: dan tags: amalg-json1-fts5)
20:40
Fix further fts5 compilation issues. (check-in: 0d7f301fb0 user: dan tags: amalg-json1-fts5)
20:28
Fix two more warnings in fts5 code. (check-in: 5343e601fb user: dan tags: amalg-json1-fts5)
20:11
Fix a couple of errors in fts5 compilation. This branch still does not build with -Wall -Werror. (check-in: e9e76e1281 user: dan tags: amalg-json1-fts5)
19:29
First attempt to add json1 and fts5 to the amalgamation. This check-in does not compile. (check-in: d820a1bd1b user: drh tags: amalg-json1-fts5)
17:35
In the RBU extension, use MoveFile() instead of rename() on Windows CE. (check-in: df9ef61f1b user: mistachkin tags: trunk)
14:55
Merge the 3.8.12 beta changes from trunk. (check-in: 35b1b8d4b9 user: drh tags: sessions)
02:44
Remove two unused lines of code - discovered by scan-build. (check-in: 77b707b774 user: drh tags: trunk)
2015-10-07
19:06
Further optimizations for fts5 prefix queries without a prefix index. (check-in: 83dc1ff7fa user: dan tags: trunk)
17:06
Fix harmless compiler warning in FTS5. (check-in: 13adcd038f user: mistachkin tags: trunk)
17:01
Allow the subsitute character (codepoint 26 - 0x1A) to appear in fts5 barewords. (check-in: baec1b96cb user: dan tags: trunk)
16:14
Adjustments to spellfix2.test so that it works reliably on mac. (check-in: d591e860d3 user: drh tags: trunk)
13:24
Add tests for fts5 phrase queries with column filters. (check-in: f20f9f813f user: dan tags: trunk)
12:36
Convert the tool/tostr.awk script into tool/tostr.tcl. Remove two obsolete Makefiles. Purge NAWK from the configure script and from unix makefiles. There are still two uses of NAWK in Makefile.msc. (check-in: 5b67752153 user: drh tags: omit-awk)
12:21
Change the addopcodes.awk script into tool/addopcodes.tcl. (check-in: 8bbf37142e user: drh tags: omit-awk)
12:11
Convert the mkopcodec.awk script into tool/mkopcodec.tcl. (check-in: 1506cb33fc user: drh tags: omit-awk)
09:02
Add further tests for fts5 prefix queries. (check-in: accdc98b12 user: dan tags: trunk)
04:20
Fix a typo in the previous check-in. (check-in: 80027709c3 user: mistachkin tags: trunk)
03:07
When running tests on Tcl 8.6 under Windows, skip tests 'uri-1.12.*' due to a change in Tcl behavior related to NTFS ADS (alternate data streams). (check-in: 8a0a2aa5a6 user: mistachkin tags: trunk)
02:52
Change mkopcodeh.awk into tool/mkopcodeh.tcl. (check-in: ed0ebc460b user: drh tags: omit-awk)
00:35
Remove three obsolete and unused files from tool/ (check-in: 0abd65294e user: drh tags: trunk)
2015-10-06
21:49
Fix typo in comments. No changes to code. (check-in: a05f903c64 user: mistachkin tags: trunk)
21:07
Simplifications to the VDBE bytecode that handles LIMIT and OFFSET. (check-in: 041df7c2f1 user: drh tags: trunk)
20:53
Optimizations for fts5 expressions that filter on column. More still to come. (check-in: bf1607ac15 user: dan tags: trunk)
17:27
Fix the LIMIT and OFFSET handling for UNION ALL queries that contain a subquery with ORDER BY on the right-hand side. Fix for ticket [b65cb2c8d91f668584]. (check-in: 4b63136435 user: drh tags: trunk)
01:44
Adjustments to sqlite3MemoryBarrier() when compiling with MSVC and/or WinCE. (check-in: 3168326ebf user: mistachkin tags: trunk)
2015-10-05
19:41
Improve performance of prefix queries without a prefix index on fts5 tables. (check-in: f2f0184e9e user: dan tags: trunk)
15:39
Update fts3 so that expressions to the left and right of a NOT operator are balanced. This prevents relatively small expressions (a dozen terms or so) that are children of NOT operators from triggering the "expression tree is too large" error. (check-in: d6b66cd7b8 user: dan tags: trunk)
11:57
Add fts5txt2db.tcl, a tool for creating sample fts4/5 databases from text files. (check-in: 44f1ce30d1 user: dan tags: trunk)
2015-10-03
15:38
Update fts5 to support the table function syntax. "... FROM fts5_tbl WHERE fts5_tbl MATCH ?1 AND rank MATCH ?1" can now be written "FROM fts5_tbl(?1, ?2)". (check-in: 41d17d9e24 user: dan tags: trunk)
12:23
Add tests for the rtree module to verify that attempts to insert non-integer primary key values or non-numeric dimensions into an rtree table are handled correctly. (check-in: f653fce908 user: dan tags: trunk)
2015-10-02
20:04
Update fts5 to avoid using a statement journal for UPDATE and DELETE operations that affect at most a single row. (check-in: 5c83b9db46 user: dan tags: trunk)
2015-10-01
18:31
Fix an fts3 bug causing NEAR queries on uncommitted data to malfunction. (check-in: 6f90839e91 user: dan tags: trunk)
16:35
Changes to the sesssions module ensure that tables appear within changesets and patchsets in the same order that they were attached to the sessions object. (check-in: 7695890230 user: dan tags: sessions)
2015-09-30
14:50
Merge recent enhancements from trunk, and especially the fix for ticket [1b266395d6bc10]. (check-in: b2face9aa9 user: drh tags: sessions)
14:30
Add a corrupt database to test/fuzzdata3.db to validate the previous check-in. (check-in: e796c0efb6 user: drh tags: trunk)
14:19
Fix an assert() in btree.c that is only true for non-corrupt databases. (check-in: 29f7227ff1 user: drh tags: trunk)
12:59
Clear the BTCF_ValidNKey flag when putting a cursor into REQUIRESEEK state. Fix for [1b266395]. (check-in: a6d5e4e869 user: dan tags: trunk)
11:19
Improve error handling in shell command ".tables". (check-in: 31a91ee7d3 user: dan tags: trunk)
2015-09-29
17:51
This condition was not always true after all.....

Change an always-true condition in the virtual table transaction interface into an assert(). (Closed-Leaf check-in: 3e15dea55c user: drh tags: mistake)

17:20
Use symbolic names XN_ROWID and XN_EXPR in place of the (-1) and (-2) magic numbers in Index.aiColumn[]. Add asserts to help verify that Index.aiColumn[] is always used correctly. Fix one place in FK processing where Index.aiColumn[] was not being used correctly. (check-in: 7d272aa62c user: drh tags: trunk)
16:47
Add the sqlite3_index_info.idxFlags field, allowing xBestIndex() implementations to specify to SQLite that a strategy may visit at most one row. Add support for this to fts3/4. Omit the statement journal from virtual table UPDATE and DELETE operations that are guaranteed not to affect more than one row. (check-in: a1d08fd3d0 user: dan tags: trunk)
16:41
Ensure that the xSavepoint() virtual table method is correctly invoked if there are already open savepoints (or statement transactions) the first time a virtual table is written within a transaction. (check-in: 77948b5ece user: dan tags: trunk)
15:50
Remove dead code, replacing with assert() statements that make sure the code really was dead. (Closed-Leaf check-in: 0e317dda5d user: drh tags: vtab-onepass)
13:25
Create the sqlite3IsToplevel(Parse*) interface to check to see if a top-level VDBE is being coded (versus a trigger) and use that interface. (check-in: 59662cd2b6 user: drh tags: vtab-onepass)
12:32
Fix compiler warnings. (check-in: d1a0783854 user: drh tags: vtab-onepass)
12:19
Fix an off-by-one error in test function fts5_decode(). (check-in: 3a9f076250 user: dan tags: trunk)
11:59
Merge latest trunk change into this branch. (check-in: b519c0d67a user: dan tags: vtab-onepass)
11:57
Change the name of the new sqlite3_index_info.flags field to "idxFlags". Add documentation for the same to sqlite.h.in. (check-in: f61203bc0f user: dan tags: vtab-onepass)
10:11
Add tests for fts3 and onepass update/delete operations. Also fix a problem with onepass updates that do not affect any rows. (check-in: 820c804468 user: dan tags: vtab-onepass)
2015-09-28
23:45
Avoid unnecessary cursors and seeking when running a DELETE against a WITHOUT ROWID table. (Leaf check-in: 70ec88b299 user: drh tags: delete-without-rowid-opt)
20:03
Also allow UPDATE on virtual tables to use the onepass strategy. (check-in: 1aa27d706d user: dan tags: vtab-onepass)
17:05
Extra information provided by .wheretrace on input flags to the query planner and on the result of sqlite3WhereOkOnePass(). (check-in: c5566bb39c user: drh tags: trunk)
15:23
Update fts3 to use the onepass strategy for delete operations. (check-in: fffab4f70f user: dan tags: vtab-onepass)
15:20
Changes to allow DELETE operations on virtual tables to use the onepass strategy under some circumstances. (check-in: e73f919fae user: dan tags: vtab-onepass)
15:08
Add test cases to the ONEPASS optimization corruption problem fixed by the previous check-in. (check-in: 5c14d44705 user: drh tags: trunk)
14:40
Fix a database corruption bug caused by the ONEPASS optimization added in check-in [8b93cc5937000535]. Bug detected (prior to release) by sqllogictest. Test cases to follow. (check-in: 9d057f5221 user: drh tags: trunk)
2015-09-26
17:44
Enable adding JSON1 by appending the json1.c source file to the amalgamation and compiling with -DSQLITE_ENABLE_JSON1 (check-in: 33404b2029 user: drh tags: trunk)
11:15
Fix a memory leak that can occur following a syntax error in CREATE VIEW. (check-in: f4704035a6 user: drh tags: trunk)
03:31
Fix the title of the documentation on sqlite3_value_subtype(). This is a comment change only. (check-in: b790235424 user: drh tags: trunk)
03:23
Expand the header comment to clarify the purpose for the sqlite3MemoryBarrier() function. (check-in: b89495ae09 user: drh tags: trunk)
01:28
Remove an assert in the windows worker-thread logic that can fail in a race condition. (check-in: d7bfb96092 user: drh tags: trunk)
2015-09-25
23:40
Fix threads.c so that setting sqlite3FaultSim(200) using the SQLITE_TESTCTRL_FAULT_INSTALL callback causes both unix and windows worker threads to be sequential and deterministic, so that they can be tested reliably. (check-in: 2d867c054d user: drh tags: trunk)
20:49
Fix PRAGMA integrity_check so that it works with a UNIQUE index over expressions. (check-in: 113181cec4 user: drh tags: trunk)
20:18
Fix a faulty assert() on the benign-malloc controller callback in test_malloc.c. (Leaf check-in: 64f2cb8dd2 user: drh tags: malloc-testing)
16:29
Disable the SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS mechanism and replace it with SQLITE_TESTCTRL_BENIGN_MALLOC_CTRL, which gives better control. (check-in: 2c57b2f386 user: drh tags: malloc-testing)
13:42
Report an error if the number of named columns in a VIEW is different from the number of result columns in the SELECT statement that implements the VIEW. (check-in: 6e4ac0be2d user: drh tags: trunk)
01:09
Fix a problem computing affinities for indexes during skip-scan code generation when SQLITE_ENABLE_STAT4 is on. Bug introduced by check-in [1ee089a72d789002]. (check-in: 1350dd42d0 user: drh tags: trunk)
2015-09-24
18:47
Enhance the query planner so that it is able to use indexed expressions to help fulfill an ORDER BY clause. (check-in: 668fc1ebaf user: drh tags: trunk)
17:38
Fix over-length source code lines in where.c. No logic changes. (check-in: 1c8c5380a8 user: drh tags: trunk)
15:17
Merge all recent trunk enhancements and fixes into the begin-concurrent branch. (check-in: c63c1e15f8 user: drh tags: begin-concurrent)
15:06
Merge trunk changes into the cursor-hints branch. (check-in: fbe637620f user: drh tags: cursor-hints)
14:43
Merge recent trunk enhancements into the apple-osx branch. (check-in: 4dd06d8ba1 user: drh tags: apple-osx)
14:26
Merge all the latest trunk enhancements into the sessions branch. (check-in: c91065f8ed user: drh tags: sessions)
12:40
Strengthen the implementations of xShmMemoryBarrier on both the unix and windows VFSes, so that they likely work even if SQLITE_THREADSAFE=0 is used. (check-in: c6ab807b72 user: drh tags: trunk)
12:19
Make sure joins work correctly when both sides of the join are connected using indexed expressions. (check-in: c2fcb03299 user: drh tags: trunk)
11:26
Correctly handle the case of a WHERE-clause term with indexed expressions on both sides of the == sign. (check-in: d9b716a6bd user: drh tags: trunk)
11:06
Fix a JSON1 test case so that it works on builds that omit virtual tables. (check-in: a4444c0f66 user: drh tags: trunk)
01:40
Another (smaller) performance optimization for the JSON parser. (check-in: c43daa8c78 user: drh tags: trunk)
01:06
Performance optimizations on the JSON parser. (check-in: 7dd4b07a42 user: drh tags: trunk)
2015-09-23
19:17
Take care that the number of reserved bits per page is consistent between the source and destination databases when doing the back-copy on a VACUUM. (check-in: 5b61b72f54 user: drh tags: trunk)
16:35
Merge updates from trunk. (check-in: 0a75ebd23e user: mistachkin tags: mutexInitIsInitReCheck)
16:33
Correct superfluous whitespace difference. No functional changes. (check-in: 8d69983dc2 user: mistachkin tags: mutexInitSimpleCmpSwap)
16:24
Simplify thread-safety of mutex initialization. (check-in: da0587c522 user: mistachkin tags: mutexInitSimpleCmpSwap)
15:54
Merge updates from trunk. (Closed-Leaf check-in: 6b85f8cd4d user: mistachkin tags: mutexInitCmpSwap)
11:59
Capture AFL-generated fuzz tests for json1.c into the test/fuzzdata4.db file. (check-in: 10a214fdb3 user: drh tags: trunk)
01:10
Do not allow a comma at the end of a JSON array or object. (check-in: 7c7a3f3e9b user: drh tags: trunk)
2015-09-22
18:51
Add the --export-sql and --export-db options to the fuzzcheck utility program. (check-in: 760af44551 user: drh tags: trunk)
17:46
Fix a typo in the --help screen of the fuzzcheck utility. (check-in: b6ae61fe3b user: drh tags: trunk)
01:15
Futher simplifications to json1.c. Also an obscure bug-fix in the initial output of json_tree() when using a path to an object contained within an array. (check-in: fcb1e327a6 user: drh tags: trunk)
00:21
Fix json_set() so that it can overwrite a value that was previously overwritten during the same call. (check-in: 0f16041647 user: drh tags: trunk)
2015-09-21
23:53
For MSVC, have the 'sqlite3.c' target depend on 'sqlite3ext.h' as well as other targets may depend on this behavior (e.g. extensions). (check-in: 737ac3faf4 user: mistachkin tags: trunk)
23:49
Fix compilation under older versions of MSVC. (check-in: 17150ada14 user: mistachkin tags: trunk)
22:53
Simplifications to the json1.c logic. (check-in: 1646a2bd85 user: drh tags: trunk)
2015-09-20
22:57
Fix an overly-strict assert() in the btree logic. (check-in: 825ce3201d user: drh tags: trunk)
2015-09-19
20:27
Do not allow table-valued function syntax to be used on a view. (check-in: 97cfe346e1 user: drh tags: trunk)
19:36
Add the --disable-lookaside option to the fuzzershell utility program. (check-in: 0b04374449 user: drh tags: trunk)
18:54
Fix a memory leak in json1.c that could occur after misuse of json_object(). (check-in: 394b81b11f user: drh tags: trunk)
18:11
Add an assert() statement to delete.c. (check-in: 40fce67ecf user: dan tags: trunk)
18:08
Fix compiler warnings. (check-in: 5c31ee62a1 user: drh tags: trunk)
16:51
Add json1.c to the fuzzer test shells. (check-in: 809d67b611 user: drh tags: trunk)
16:45
Adjust Makefiles to use SQLITE_CORE when statically linking json1.c into test shells. (Closed-Leaf check-in: 91682ac39e user: drh tags: json-fuzz)
14:57
Adjust fuzzershell so that it adds the json1 extension separately for each no connection. (check-in: ca2d1e9036 user: drh tags: json-fuzz)
14:32
Include json1.c in fuzzcheck and fuzzershell. (check-in: c4b68eff7f user: drh tags: json-fuzz)
12:04
Fix a documentation typo in sqlite3_bind_parameter_index(). No code changes. (check-in: 650605a820 user: drh tags: trunk)
11:57
Fix an off-by-one error (really off-by-2 in this case) in the buffer resize logic of json1. (check-in: d2a027372a user: drh tags: trunk)
03:07
Do not allow rowid in a UNIQUE or PRIMARY KEY constraint. (This restores the same behavior exhibited by all prior releases.) (check-in: b1278301e3 user: drh tags: trunk)
2015-09-18
18:09
Fix a crash that can occur with a skip-scan on an index with expressions when SQLITE_ENABLE_EXPLAIN_COMMENTS is defined. (check-in: 25f34cb9b5 user: drh tags: trunk)
15:38
Adjustments to the spellfix2.test module so that it works reliably on windows. (check-in: 09a313fb7f user: drh tags: trunk)
15:35
Adjust two test cases so that they conform to the current code. (check-in: 228e3d7c8f user: drh tags: trunk)
15:13
Fix sqlilimits.test module so that it knows that the SELECT in a CREATE VIEW is not checked until the view is actually used. (check-in: acf5d87f94 user: drh tags: trunk)
14:45
Ensure that "PRAGMA integrity_check" reports an error if the free-list count header field contains a value smaller than the actual number of pages on the database free-list. (check-in: 26f64986d1 user: dan tags: trunk)
14:42
Fix the orderby9.test case so that it works with 32-bit versions of TCL (check-in: 4b6af77430 user: drh tags: trunk)
14:22
Remove a test made obsolete by the ONEPASS DELETE optimization. (check-in: c88b62c28c user: drh tags: trunk)
2015-09-17
17:21
Avoid passing (signed char) values directly to isspace(), isalnum() or isdigit() in json1.c. Cast the value to (unsigned char) first. (check-in: 6713e35b8a user: dan tags: trunk)
09:48
Fix a crash in FTS5 caused by specifying NULL as the rhs of a MATCH operator. (check-in: e8ed62f82e user: dan tags: trunk)
2015-09-16
17:46
Add a "flush" to force incremental output to releasetest-out.txt while running the test/releasetest.tcl. script. (check-in: 0f3de2d337 user: drh tags: trunk)
12:31
Fix typo in fts5.h. (check-in: 07721c6c24 user: dan tags: trunk)
2015-09-15
19:16
Merge enhancements from trunk. (check-in: fc4d1de8ae user: drh tags: begin-concurrent)
17:31
Merge enhancements from trunk. (check-in: 66fe068326 user: drh tags: cursor-hints)
17:20
Merge trunk enhancements into the apple-osx branch. (check-in: f12b8a0f79 user: drh tags: apple-osx)
15:55
Merge the latest trunk enhancements with this branch. (check-in: b7469c44be user: dan tags: sessions)
14:39
Add test cases to cover fts5 integrity-check code. (check-in: 1d018c35b9 user: dan tags: trunk)
13:42
Reformat some code to make it easier to merge with sessions. No logic changes. (check-in: eade355faf user: drh tags: trunk)
11:58
Fix a problem with fts5 "ORDER BY rowid DESC" queries and large terms. (check-in: b26d8f79c6 user: dan tags: trunk)
2015-09-14
22:54
Remove a comment that is no longer accurate. (check-in: cf114c1895 user: mistachkin tags: mutexInitIsInitReCheck)
22:53
Merge updates from trunk. (check-in: 25c157714d user: mistachkin tags: mutexInitIsInitReCheck)
22:52
Re-check sqlite3GlobalConfig.isInit after the mutex subsystem has been initialized. (check-in: fea8c0b281 user: mistachkin tags: mutexInitIsInitReCheck)
19:51
Improve test coverage of fts5_index.c. (check-in: c1f76686ce user: dan tags: trunk)
19:26
Testability improvements for the ONEPASS_MULTI enhancement. (check-in: d2df93f26f user: drh tags: trunk)
14:49
Fix a typo in an SQLITE_USER_AUTHENTICATION macro. (check-in: 379455af9f user: drh tags: trunk)
14:45
Use symbolic names ONEPASS_OFF, ONEPASS_SINGLE, and ONEPASS_MULTI for the various modes of the one-pass optimization. (check-in: 16e56bdade user: drh tags: trunk)
14:08
Fix a compiler warning and providing missing VdbeCoverage() calls. (check-in: 2edd2e5edd user: drh tags: trunk)
11:09
Use a single-pass approach for DELETE statements on non-virtual tables that do not require trigger or foreign key processing. (check-in: 8b93cc5937 user: dan tags: trunk)
10:47
Merge the latest trunk enhancements. (check-in: 22ce9218fb user: drh tags: sessions)
09:23
Avoid calling sqlite3VdbeCursorMoveto() from more than one point in vdbe.c. Doing so prevents it from being inlined as part of OP_Column. (Closed-Leaf check-in: 166d5af891 user: dan tags: onepass-delete)
2015-09-13
20:15
Add static VFS mutexes to the primary header file comments. (check-in: 9a867d9fbe user: mistachkin tags: trunk)
18:45
Experimental changes to avoid recusrively calling xMutexInit. (check-in: c9400ff167 user: mistachkin tags: mutexInitCmpSwap)
18:43
Merge updates from trunk. (check-in: b42c2e2076 user: mistachkin tags: mutexInitCmpSwap)
2015-09-12
19:50
Fix compiler warnings in delete.c. (check-in: 0a4d285e18 user: dan tags: onepass-delete)
19:27
Fix API documentation typos. Emphasize that the sqlite3_config() routine is not threadsafe. (check-in: 786333e05a user: drh tags: trunk)
19:26
Experimental change to use a single-pass approach for DELETE statements on non-virtual tables that do not fire triggers or require foriegn-key processing. (check-in: eaeb2b80f6 user: dan tags: onepass-delete)
18:58
Merge updates from trunk. (check-in: d8051f611a user: mistachkin tags: mutexInitCmpSwap)
18:57
Import common changes from the mutex initialization branch. (check-in: 334720c017 user: mistachkin tags: trunk)
16:59
Merge updates from trunk. (check-in: 4859778900 user: mistachkin tags: mutexInitCmpSwap)
04:22
Fix comments. (check-in: de3fa51e93 user: mistachkin tags: mutexInitCmpSwap)
04:19
Specifying an invalid mutex implementation (via SQLITE_CONFIG_MUTEX) should cause the default one to be used instead. (check-in: 1a97bc81cc user: mistachkin tags: mutexInitCmpSwap)
03:40
Clarify the new mutex implementation reset logic in sqlite3_shutdown(). (check-in: f9a034834e user: mistachkin tags: mutexInitCmpSwap)
03:35
Add more asserts to the mutex subsystem. (check-in: 7562f1fbed user: mistachkin tags: mutexInitCmpSwap)
01:17
Fix typo in the Win32 implementation of sqlite3CompareAndSwap. (check-in: 31a26a1dd7 user: mistachkin tags: mutexInitCmpSwap)
2015-09-11
23:24
Make sure that the mutex implementation can be altered after calling sqlite3_shutdown(). (check-in: dc2cf89743 user: mistachkin tags: mutexInitCmpSwap)
20:54
Update evidence marks due to wording changes in requirements text. No changes to code. (check-in: 86781093bd user: drh tags: trunk)
18:05
Fix harmless compiler warnings. (check-in: bfc7b84b76 user: mistachkin tags: trunk)
15:32
More test cases in test/json102.test corresponding to new examples in the json1 documentation. (check-in: f599a42e19 user: drh tags: trunk)
14:15
Fix some compiler warnings in fts5 code. (check-in: 0dc436116e user: dan tags: trunk)
05:06
Enhance mutex initialization to prevent possible race conditions between sqlite3_initialize() and sqlite3_config(). Also, re-check sqlite3GlobalConfig.isInit after the mutex subsystem has been initialized. (check-in: f6a8f57795 user: mistachkin tags: mutexInitCmpSwap)
01:22
Updates to the sqlite3_value_subtype() and sqlite3_result_subtype() documentation and to test cases for json1 dealing with those interfaces. (check-in: d6cadbe9fe user: drh tags: trunk)
00:26
Add new interfaces sqlite3_value_subtype() and sqlite3_result_subtype(). Update the json1.c extension to take advantages of those interfaces to avoid the goofy '$$' path syntax and to allow nested calls to json_array() and json_object() that work as expected. (check-in: db4152aef2 user: drh tags: trunk)
00:06
Take out the goofy '$$' path syntax. Instead, use subtypes to communicate when a string is JSON. Add the json() function that validates and minifies the JSON and sets the appropriate subtype. (Closed-Leaf check-in: 8a80d6459e user: drh tags: subtypes)
2015-09-10
20:40
Make the sqlite3_value_subtype() and sqlite3_result_subtype() interfaces available to loadable extensions. (check-in: c6fca0be11 user: drh tags: subtypes)
20:34
Experimental implementation of sqlite3_result_subtype() and sqlite3_value_subtype() interfaces. (check-in: 7b5be299c6 user: drh tags: subtypes)
19:22
Fix a potential NULL pointer deref in the testing logic of pcache1. NB: The -DSQLITE_TEST compile-time option is needed to hit the problem. (check-in: f5580f0853 user: drh tags: trunk)
17:23
Modify the fts5 leaf page format to permit faster seek operations. This is a file-format change. Any existing databases can be upgraded by running the fts5 'rebuild' command. (check-in: 0c0c4ae971 user: dan tags: trunk)
17:20
Create separate "path" and "root" columns in the json_each() and json_tree() virtual tables. "Root" is the 2nd parameter and is fixed. "Path" varies as json_tree() walks the hierarchy. (check-in: 127cce3eb9 user: drh tags: trunk)
16:39
Increment the fts5 version value to indicate that the on-disk format has changed. (Closed-Leaf check-in: 99de5e3613 user: dan tags: fts5-incompatible)
16:19
Fix a segfault in fts5 that could occur if the database contents were corrupt. (check-in: 4931e37da4 user: dan tags: fts5-incompatible)
15:52
Merge latest changes from trunk. Including fts5_expr.c fixes. (check-in: 716e7e7477 user: dan tags: fts5-incompatible)
15:49
Update description of on-disk format in fts5_index.c. (check-in: 85aac7b8b6 user: dan tags: fts5-incompatible)
15:24
Make the sqlite3ext.h header file responsive to -DSQLITE_OMIT_LOAD_EXTENSION. (check-in: 47a46a9fa4 user: drh tags: trunk)
15:22
Disable tests for json_each() and json_tree() on builds where virtual tables are not supported (check-in: bb8ee3b140 user: drh tags: trunk)
15:20
Fix the --help option on test/releasetest.tcl. Also fix the final error count so that it includes a count of subtest crashes. (check-in: 9ecf684dfe user: drh tags: trunk)
10:40
Revert an accidentally committed makefile change. (check-in: 402704b13f user: dan tags: fts5-incompatible)
10:01
Fix an fts5 problem that could occur if a term and the first associated rowid are on different leaf pages. (check-in: ffe2796ac9 user: dan tags: fts5-incompatible)
05:40
Change the array of 16-bit offsets at the end of each page to an array of varints. (check-in: fab245bea4 user: dan tags: fts5-incompatible)
04:17
Attempt to declare sqlite3MemoryBarrier() correctly for all possible build configurations. (check-in: da8a288f8e user: drh tags: trunk)
03:29
Fix the json_tree() scan for the case when a path is supplied. Add new json1 test cases. (check-in: 6adc7de76a user: drh tags: trunk)
01:22
No-op the sqlite3_memory_alarm() interface in a different way, that does not break legacy memory behavior. This is a re-do of check-in [5d3f5df4da9f40d5]. (check-in: 8250e2a487 user: drh tags: trunk)
2015-09-09
23:54
Fix harmless compiler warning in FTS5. (check-in: 86146a731d user: mistachkin tags: trunk)
19:44
Fix an assert() enabled by SQLITE_ENABLE_EXPENSIVE_ASSERT in wal.c. (check-in: 8d2ed150a7 user: dan tags: trunk)
19:27
Fix a possible NULL pointer deref when using SQLITE_ENABLE_MEMORY_MANAGEMENT. (check-in: 89bfdbfe94 user: drh tags: trunk)
17:23
Fix harmless compiler warning. (check-in: 280fd3a482 user: mistachkin tags: trunk)
17:17
Fix harmless compiler warnings in FTS5. (check-in: 2cdb18778f user: mistachkin tags: trunk)
13:28
When running a CREATE TABLE AS, make the initial temporary sqlite_master entry for the new table a real record rather than a NULL, in case the query after the AS actually tries to read the sqlite_master table. Fix for ticket [acd12990885d9276]. (check-in: 4a18d8bd4c user: drh tags: trunk)
08:15
Fix a bug in preprocessor macros within fts5_main.c. (check-in: 0eb2b9521f user: dan tags: fts5-incompatible)
2015-09-08
21:16
Remove an unused local variable from Lemon. (check-in: fe9ffe5eed user: drh tags: trunk)
21:12
Enhance the DBSTAT virtual table with a new hidden table "schema" that if set will cause the table to report on the specified schema rather than on "main". Also: Fix a faulty assert in sqlite3_context_db_handle(). (check-in: 6beb512c7a user: drh tags: trunk)
20:26
Eponymous virtual tables exist in the "main" schema only. Enforce this rule. (check-in: 06f90bb274 user: drh tags: trunk)
19:55
Remove the 0x00 terminators from the end of fts5 doclists stored on disk. (check-in: 00d990061d user: dan tags: fts5-incompatible)
17:31
Fix the help message that sqlite3_analyzer.exe generates for invalid arguments. (check-in: 33a14e7be1 user: drh tags: trunk)
2015-09-07
23:40
Minor tweaks to Lemon. (check-in: 986677224a user: drh tags: trunk)
20:22
Merge parser enhancements and other improvements and bug fixes from trunk. (check-in: 9cf3e51bcc user: drh tags: begin-concurrent)
20:11
Enhance the Lemon parser generator to add SHIFTREDUCE states that reduce the sizes of some of the parser tables. (check-in: 99b992fa84 user: drh tags: trunk)
20:02
Fix an unreachable branch in the new parse automaton. (Closed-Leaf check-in: e9d604b430 user: drh tags: lemon-update)
19:52
Change the parser engine so that it (once again) waits for a lookahead token before reducing, even in a SHIFTREDUCE action. (check-in: 2c17a13583 user: drh tags: lemon-update)
18:23
For the Lemon-generated parser, add a new action type SHIFTREDUCE and use it to further compress the parser tables and improve parser performance. (check-in: 531c3974b3 user: drh tags: lemon-update)
14:22
In the "parse.out" output file from Lemon, show addition the complete text of rules on reduce actions. (check-in: b6ffb7e471 user: drh tags: trunk)
08:14
Use macros to make the code in fts5_index.c easier to read. (check-in: 67ff5ae813 user: dan tags: fts5-incompatible)
02:23
Improved "Parser Statistics" output (the -s option) for the Lemon parser generator. (check-in: 809503e4ef user: drh tags: trunk)
2015-09-06
10:31
Improved memory barrier that should work with MinGW on older versions of Windows. (check-in: 47dc24bd1e user: drh tags: trunk)
02:51
Add a memory barrier to the mutex initialization logic, try to work around an issue reported by WebKit. (check-in: 11a9a786ec user: drh tags: trunk)
2015-09-05
22:36
Omit all use of Expr nodes for TK_AS, as those nodes no longer served a useful purpose and in fact interferred with the query planner. (check-in: 7ab0b258ea user: drh tags: trunk)
19:52
Experiment with a different fts5 leaf page format that allows faster seeks. (check-in: a1f4c3b543 user: dan tags: fts5-incompatible)
19:21
Fix an unreachable conditional in the WHERE clause analysis logic. (check-in: 24924a5819 user: drh tags: trunk)
19:07
Get STAT4 range scan estimates work again when the bounds are determined by date/time functions. (check-in: d2761357a0 user: drh tags: trunk)
2015-09-04
18:03
Fix over-length source code lines in Lemon. (check-in: 1efece95ff user: drh tags: trunk)
17:32
Add support for CREATE INDEX statements that use deterministic expressions rather than only column names. (check-in: 2131a5ca53 user: drh tags: trunk)
17:22
Merge the latest trunk changes, and especially the fix for allowing strings as identifiers in CREATE INDEX statements. (check-in: a9b84885aa user: drh tags: begin-concurrent)
16:39
Remove the EXCLUSIVE and CONCURRENT tokens from the tokenizer. Let the BEGIN statement be followed by an ID, but throw a syntax error if the ID is anything other than EXCLUSIVE or CONCURRENT. (check-in: c0bf92eca4 user: drh tags: begin-concurrent)
13:02
Merge trunk enhancements, and espeically the fix for allowing strings as column identifers in CREATE INDEX statements. (Closed-Leaf check-in: 5ff8552938 user: drh tags: index-expr)
12:54
Continue to support the (broken) legacy syntax of allowing strings for column names in CREATE INDEX statements and in UNIQUE and PRIMARY KEY constraints. (check-in: 3d3df79bfa user: drh tags: trunk)
11:13
Enhance showfts5.tcl so that it can optionally display the number of terms in each segment. (check-in: d648ddd93d user: dan tags: trunk)
10:31
Modify the fts5 custom tokenizer interface to permit synonym support. The fts5_api.iVersion value is now set to 2. Existing fts5 custom tokenizers (if there are such things) will need to be updated to use the new api version. (check-in: 0b7e4ab8ab user: dan tags: trunk)
10:24
Merge latest trunk changes. (Closed-Leaf check-in: 443a5eb8e1 user: dan tags: fts5-incompatible)
04:31
Simplification of the LRU list handling in pcache1. (check-in: 05a3a2cd14 user: drh tags: trunk)
2015-09-03
20:52
Merge performance enhancements from trunk. This branch now runs (slightly) faster than the 3.8.11.1 release, though still slightly slower than trunk. (check-in: c490bfb150 user: drh tags: begin-concurrent)
20:43
Change the pcache module to keep track of the total number of references to all pages rather than the number of pages references, for a performance improvement and size reduction. (check-in: f00a9e1e99 user: drh tags: trunk)
19:48
Rearrange code in fts5_expr.c so that synonym support does not slow down the common case. (check-in: 801882817f user: dan tags: fts5-incompatible)
18:57
Merge enhancements from trunk. (check-in: 4b49fe9969 user: dan tags: fts5-incompatible)
18:20
A simple optimization and size reduction in sqlite3PagerAcquire(). (check-in: 618d8dd4ff user: drh tags: trunk)
18:05
Add documentation for fts5 synonym support. (check-in: 58aa1f4359 user: dan tags: fts5-incompatible)
17:54
Change the Pager.hasBeenUsed flag into Pager.hasHeldSharedLock in order to take it off the critical path in sqlite3PagerAcquire(). (check-in: b79096be7c user: drh tags: trunk)
15:37
Add tests to improve coverage of fts5_varint.c. (check-in: 89f24f31a8 user: dan tags: fts5-incompatible)
15:17
Changes from ENABLE_CONCURRENT (default off) to OMIT_CONCURRENT (default on). This is not a clear-cut decision and might be changed back. (check-in: f8ae9bfd05 user: drh tags: begin-concurrent)
14:48
Merge recent trunk enhancements. (check-in: 6a513c0585 user: drh tags: sessions)
14:39
Merge enhancements from trunk. (check-in: 25ee3000e9 user: drh tags: cursor-hints)
14:31
Merge enhancements from trunk. (check-in: d01658adf8 user: drh tags: apple-osx)
14:22
Remove some more code from fts5_index.c by consolidating similar functions. (check-in: 59ae30b97b user: dan tags: fts5-incompatible)
14:18
Merge enhancements from trunk. (check-in: 1ab10cbf27 user: drh tags: index-expr)
14:04
Merge trunk optimizations. (check-in: 71e7299e8d user: drh tags: begin-concurrent)
13:46
Add the sqlite3VdbeLoadString() and sqlite3VdbeMultiLoad() routines to help with code generation, especially on PRAGMAs. Rename sqlite3VdbeAddGoto() to just sqlite3VdbeGoto(). (check-in: 847387ec8e user: drh tags: trunk)
11:17
Remove dead code from fts5_index.c. (check-in: 8a0a9b01e7 user: dan tags: fts5-incompatible)
11:00
Fix the fts5 integrity-check so that it works with columnsize=0 tables. (check-in: 11b887b15e user: dan tags: fts5-incompatible)
10:27
Fix a memory leak in fts5_expr.c. (check-in: 399932a181 user: dan tags: fts5-incompatible)
04:28
Factor out and simplify code in pragma.c for pragmas that return a single row with a single column that is an integer or text value. (check-in: d7f4bdf594 user: drh tags: trunk)
03:29
For PRAGMAs, factor out the code that sets the result set column names into a subroutine. (check-in: 0ea6e5c9fc user: drh tags: trunk)
2015-09-02
21:00
Optimizations to the printf formatter. (check-in: a3b35ddeca user: drh tags: trunk)
19:48
Further tests to raise coverage of fts5 synonym code to 100%. Fix a dropped error code in the same. (check-in: bdedd838bb user: dan tags: fts5-incompatible)
18:56
Fix an issue with fts5 synonyms and NEAR(...) queries. (check-in: f2e590700d user: dan tags: fts5-incompatible)
18:40
Add and use the sqlite3VdbeChangeOpcode() routine. Simplify the implementation of the other sqlite3VdbeChange*() routines. (check-in: 0a5b00e493 user: drh tags: trunk)
18:19
Add the sqlite3VdbeAddGoto(v,i) routine as a shorthand for sqlite3VdbeAddOp2(v,OP_Goto,0,i). (check-in: be78f413df user: drh tags: trunk)
17:55
Change sqlite3_sql() so that it always returns the SQL text of the prepared statement, if the text is available, even if the the prepared statement was generated using sqlite3_prepare() instead of sqlite3_prepare_v2(). Also include some minor comment fixes and code simplifications. (check-in: 2f5472cfda user: drh tags: trunk)
17:34
Fix a problem with fts5 synonyms and phrase queries. Also fix an OOM handling bug in fts5. (check-in: a4c35fa2c9 user: dan tags: fts5-incompatible)
16:51
Small simplification to the EXPLAIN QUERY PLAN logic. (check-in: d1592d201a user: drh tags: trunk)
15:37
Use sqlite3XPrintf() instead of sqlite3StrAccumAppend() in a few places for better performance and a smaller footprint. (check-in: 82355e4108 user: drh tags: trunk)
14:56
The sqlite3_memory_alarm() interface has been deprecated and undocumented for almost 8 years (since version 3.5.3). Change it into a no-op. (check-in: 5d3f5df4da user: drh tags: trunk)
14:17
Fix a problem handling OOM conditions within fts5 queries that feature synonyms. (check-in: 11fa980897 user: dan tags: fts5-incompatible)
12:52
This change is not correct for the boundary case of nCellKey==0. Was: Small performance gain and size reduction in sqlite3VdbeIdxKeyCompare(). (Closed-Leaf check-in: 6e0298cdcb user: drh tags: mistake)
08:22
Fix a problem with fts5 synonyms and the xQueryPhrase() auxiliary function API. (check-in: cf3e45e76d user: dan tags: fts5-incompatible)
2015-09-01
23:51
Very minor optimizations in the unix VFS. (check-in: 6db3ff45bc user: drh tags: trunk)
22:29
Performance improvement in sqlite3VarintLen(). (check-in: adf9fefb00 user: drh tags: trunk)
20:09
Small size reduction and performance increase in sqlite3DbMallocSize(). (check-in: 8a80967f84 user: drh tags: trunk)
19:51
Reduce the number of calls to sqlite3BeginBenignMalloc(). (check-in: 0bee658366 user: drh tags: trunk)
18:52
Merge recent enhancements from trunk. (check-in: cb77236673 user: drh tags: sessions)
18:44
Fix a problem that occurs when more than 4 synonyms for a term appear within a single row. (check-in: cd359550bd user: dan tags: fts5-incompatible)
18:40
Merge the latest trunk enhancements. (check-in: 4af79477fd user: drh tags: apple-osx)
18:31
Merge enhancements from trunk. (check-in: 29570a6048 user: drh tags: cursor-hints)
18:08
Add tests for fts5 synonyms implemented by adding extra terms to queries. And fixes for the same. (check-in: dbcb73802b user: dan tags: fts5-incompatible)
18:01
Merge the latest trunk enhancements. (check-in: 3dea047465 user: drh tags: begin-concurrent)
17:48
Fixes so that it builds without warnings both with and without SQLITE_ENABLE_CONCURRENT. (check-in: 5ed2a445a1 user: drh tags: begin-concurrent)
13:17
Rename SQLITE_FUNC_VARYING to SQLITE_FUNC_SLOCHNG - a more descriptive name for what that bit means. (check-in: ff5137a6dd user: drh tags: index-expr)
00:42
Remove unreachable branches. (check-in: fd4da2318c user: drh tags: index-expr)
2015-08-31
23:09
Fix a bug in error reporting when a UNIQUE index on expressions fails its uniqueness test. (check-in: 5a2c0e90a1 user: drh tags: index-expr)
21:16
Not only date/time functions, but also functions like sqlite_version() and changes() need to be prohibited from use inside of indexes. (check-in: 4871313039 user: drh tags: index-expr)
20:06
Begin changes to allow synonym support by adding multiple terms to a query (an alternative to adding multiple terms to the FTS index). (check-in: ad7feaed4c user: dan tags: fts5-incompatible)
19:38
Always assume that indexed expressions can generate a NULL. Get indexed expressions working for the case of two or more expressions in the same index. (check-in: cc60321a67 user: drh tags: index-expr)
18:13
Case should not be significant when comparing function names. (check-in: e2f1caf117 user: drh tags: index-expr)
17:34
Make the distinction between truly deterministic functions and date/time functions which only return the same answer for a single query. Only truly deterministic functions are allowed in indexes. Add new expression index test cases. (check-in: c77554b5c4 user: drh tags: index-expr)
15:58
Improved analysis and usage of indexed expressions in the query planner. (check-in: f889369638 user: drh tags: index-expr)
14:27
Merge the latest enhancements from trunk. (check-in: 7bde6d4d8c user: drh tags: index-expr)
2015-08-29
19:41
Enhance the json_extract() function so that if given multiple PATH arguments it will return a JSON array with all of the answers. Also update comments within the json1 extension to reflect stricter interpretation of JSON and PATH arguments. (check-in: 1da60c3dda user: drh tags: trunk)
19:03
Link the json1 extension into the command-line shell by default. (check-in: 2e8e239cec user: drh tags: trunk)
18:46
Add a test for an fts5 tokenizer that supports synonyms by adding multiple entries to the fts index. (check-in: 98d07d16ca user: dan tags: fts5-incompatible)
18:30
New test cases for the json1 extension. (check-in: daff4832af user: drh tags: trunk)
17:22
Fix the build with -DSQLITE_OMIT_VIRTUALTABLE. (check-in: 752918def7 user: drh tags: trunk)
16:02
Do not consider an empty string to be valid JSON. Add some additional JSON test cases. (check-in: fd19ff029f user: drh tags: trunk)
15:44
Another change to the fts5 tokenizer API. (check-in: fc71868496 user: dan tags: fts5-incompatible)
00:54
Change the json1.c module so that it throws an error if any of the JSON selector paths are malformed. (check-in: 3aa0855fd4 user: drh tags: trunk)
2015-08-28
20:07
Back out the json_check() routine. Instead, throw an error if the input to a json function (other than json_valid()) is not valid JSON. (check-in: dc9ce7b18c user: drh tags: trunk)
19:56
Change the fts5 tokenizer API to allow more than one token to occupy a single position within a document. (check-in: 90b85b42f2 user: dan tags: fts5-incompatible)
16:41
Fix compiler warnings in rbu code. (check-in: 0fdc36fe35 user: dan tags: trunk)
16:18
When searching the wal file for a frame, do not search that part that was already checkpointed when the transaction was opened. (check-in: a84cf4f5d3 user: dan tags: trunk)
15:50
Merge latest trunk into this branch. (Closed-Leaf check-in: ab93024da7 user: dan tags: wal-read-change)
15:35
Fix a potential segfault in the VFS logic that checks for fail renames out from under SQLite. (check-in: 650111f667 user: drh tags: apple-osx)
13:27
Disable the read-only WAL-mode database tests on the apple-osx branch because read-only WAL-mode databases are specifically disallowed by Apple-specific changes. (check-in: bd911496cb user: drh tags: apple-osx)
09:27
Merge latest trunk changes with this branch. (check-in: 57bc0194f4 user: dan tags: begin-concurrent)
03:48
Add the json_check() function, which returns its argument if the argument is well-formed JSON or which throws an error otherwise. (check-in: 64abb65d4d user: drh tags: trunk)
03:33
Enhance the json_insert(), json_replace(), and json_set() functions with the ability to add JSON instead of text if the argument is text and if the PATH begins with '$$' instead of just '$'. (check-in: 44f103d886 user: drh tags: trunk)
02:12
Merge trunk enhancements into the apple-osx branch. Most tests works, but there are yet a few issues to be resolved. (check-in: da8646582a user: drh tags: apple-osx)
2015-08-27
23:42
Fix the OR-optimization so that it always ignores subplans that do not use an index. (check-in: cf452028d1 user: drh tags: index-expr)
23:18
Fix the OR-optimization so that it always ignores subplans that do not use an index. (check-in: 66f92a1686 user: drh tags: trunk)
20:33
Fix EXPLAIN QUERY PLAN output for indexed-expressions. Fix another obscure fault in the WHERE term scanner. (check-in: 73d361ce9e user: drh tags: index-expr)
19:57
Add header comments for new methods in pager.c. (check-in: 437c7e219d user: dan tags: begin-concurrent)
19:56
Fix problems in the indexed-expression handling in the optimizer. (check-in: 0337501769 user: drh tags: index-expr)
19:22
Add test cases for concurrent transactions and long-lived SELECT statements. (check-in: fd4798cb7a user: dan tags: begin-concurrent)
18:24
Activate the ability to use expressions in indexes in a query. There are some test failures, but mostly this seems to work. (check-in: 42f93f582e user: drh tags: index-expr)
17:42
Fix a problem whereby concurrent transactions would not consider pages read by the transaction before the first write statement. (check-in: fc17f73170 user: dan tags: begin-concurrent)
16:07
Merge changes from trunk. (check-in: c80e9e8e8c user: drh tags: index-expr)
15:58
Adjustments to the WHERE term scanning, to better handle scanning terms of an index. (check-in: 5611130a59 user: drh tags: index-expr)
2015-08-26
21:08
Reduce the size of the WhereScan object by 24 bytes while also clarifying its operation. (check-in: cbc3c9a8bf user: drh tags: trunk)
18:54
Fix an assert() in pager.c that could fail in a concurrent transaction. (check-in: 69394ddaa2 user: dan tags: begin-concurrent)
18:04
Merge enhancements from trunk. (check-in: ec6ddb3d48 user: drh tags: index-expr)
18:02
Fix a problem allowing some conflicting transactions to be committed. (check-in: a0566382d5 user: dan tags: begin-concurrent)
14:01
Evaluate expressions only once when the same expression is used in both the result set and in the ORDER BY clause. (check-in: c2f3bbad77 user: drh tags: trunk)
11:40
Refactor With.a.zErr into With.a.zCteErr. No logic changes. (check-in: 58ba73630e user: drh tags: trunk)
11:34
Update the TreeView output for compound SELECT statements so that all entries are shown vertically aligned rather than each successive entry being indented. (check-in: 65a8918776 user: drh tags: trunk)
2015-08-25
19:42
Move sqlite3IndexColumnAffinity() inside of SQLITE_ENABLE_STAT3_OR_STAT4. (check-in: b3732a4e1b user: drh tags: trunk)
19:24
Merge trunk enhancements. (check-in: e8b02902c4 user: drh tags: index-expr)
19:20
Use the sqlite3IndexColumnAffinity() routine to quickly and correctly find the affinity of an index column. (check-in: 1ee089a72d user: drh tags: trunk)
19:10
Add miscellaneous test cases for concurrent transactions. (check-in: 779b1d0e17 user: dan tags: begin-concurrent)
17:16
If "PRAGMA integrity_check" is run while the database is being written by a CONCURRENT transaction, do not consider unreferenced pages to be an error. They may be part of the free-page list, which is not visible at the b-tree layer when running a CONCURRENT transaction. (check-in: f32b57b493 user: dan tags: begin-concurrent)
16:57
Add code to maintain indexes with expression arguments across DELETE, INSERT, and UPDATE statements. Legacy tests pass, but the new code paths are still largely untested. The query planner currently makes no effort to use expression indexes. (check-in: efaabdb716 user: drh tags: index-expr)
16:01
Test that if a corrupt wal-index header is encountered when attempting to commit a concurrent transaction, SQLITE_BUSY_SNAPSHOT is returned to the caller. (check-in: c746e0bd20 user: dan tags: begin-concurrent)
14:37
Fix a segfault that could occur following an OOM condition in the concurrent transaction code. (check-in: 231b588022 user: dan tags: begin-concurrent)
11:16
Merge latest trunk changes with this branch. (check-in: 3e7d6dd62d user: dan tags: begin-concurrent)
00:34
Fix a memory leak that might occur when compiling with SQLITE_OMIT_CHECK. (check-in: 8f1d9f1f30 user: drh tags: trunk)
00:27
Changes toward being able to process indexes on expressions. Not there yet - this check-in is just movement in that direction. Some tests are failing. (check-in: 0ad0f8d77d user: drh tags: index-expr)
2015-08-24
22:06
Remove duplicated line of code. (check-in: 47280f2a2b user: mistachkin tags: begin-concurrent)
20:54
Remove some redundant code: Call sqlite3ResolveExprListNames() rather than calling sqlite3ResolveExprNames() in a loop - in two places. (check-in: bdaf66465b user: drh tags: trunk)
20:21
Enhances the parser so that it accepts arbitrary expressions for the arguments of an index, though the code generator still rejects everything other than simple column names. The sqlite3RestrictColumnListSyntax() routine is removed since that feature is now handled by the parser. (check-in: bed42116ad user: drh tags: trunk)
19:56
Change "BEGIN UNLOCKED" to "BEGIN CONCURRENT". (check-in: ba1ab858e2 user: dan tags: begin-concurrent)
19:08
Fix handling of attempts to modify the database schema, application_id or user_version within an UNLOCKED transaction. (check-in: 5b9f272113 user: dan tags: begin-concurrent)
17:42
Enhance the CREATE VIEW syntax so that the names of columns of the view can be specified after the view name. (check-in: d794b34da6 user: drh tags: trunk)
17:18
Enhancements to the batch build tool for MSVC. (check-in: a1ae20cd97 user: mistachkin tags: trunk)
16:00
Fix compilation without SQLITE_ENABLE_UNLOCKED. Also other code organization issues. (check-in: 0411355754 user: dan tags: begin-concurrent)
15:39
Disallow the use of COLLATE clauses and the ASC and DESC keywords within foreign key constraints and in the argument list to common table expressions. (check-in: 83cbc4d876 user: drh tags: trunk)
12:42
Improvements to JSON string dequoting. (check-in: 196d66d34d user: drh tags: trunk)
10:05
Consolidate two blocks of similar code in btreeFixUnlocked(). (check-in: 701302b4bd user: dan tags: begin-concurrent)
06:44
Merge trunk changes with this branch. (check-in: 876810c28b user: dan tags: begin-concurrent)
06:43
Fix another problem involving unlocked transactions and wal-file restarts. (check-in: 4460764ea8 user: dan tags: begin-concurrent)
02:32
Fix corner-case problems in the type and atom columns of json_each() and json_tree(). (check-in: f0aba0e120 user: drh tags: trunk)
2015-08-23
20:48
Fix a comment typo on sqlite3ExprAlloc(). No code changes. (check-in: 518d6220a1 user: drh tags: trunk)
20:44
Fix minor glitches in the json1.c extension, mostly having to do with OOM behavior. (check-in: cc5204149c user: drh tags: trunk)
02:42
Fixes to json_each() and json_tree(). Improved json_parse() debugging output. (check-in: fc1b24f316 user: drh tags: trunk)
2015-08-22
20:32
Fix a problem to do with detecting unlocked transaction conflicts if another client restarts the wal while the transaction is running. (check-in: e3968b2562 user: dan tags: begin-concurrent)
19:39
Add the json_valid() function to the json1.c extension. Fix various minor problems in the json1.c extension. (check-in: 380a97345b user: drh tags: trunk)
17:28
Add further tests for deferred page allocation. And fixes for the same. (check-in: ed0a31be72 user: dan tags: begin-concurrent)
07:56
Merge further trunk changes. (check-in: c2327a3b8e user: dan tags: begin-concurrent)
07:55
Merge trunk changes into this branch. (check-in: 9021f7369f user: dan tags: begin-concurrent)
03:05
Fix a couple instances of OOM handling in the json extension. (check-in: 213a6c5ccb user: drh tags: trunk)
01:32
Do not apply the WHERE-clause pushdown optimization to terms that originate in the ON or USING clause of a LEFT JOIN. Fix for ticket [c2a19d81652f40568c]. (check-in: 351bc22fa9 user: drh tags: trunk)
2015-08-21
20:43
Add extension functions for processing JSON. (check-in: 178f9a352c user: drh tags: trunk)
20:37
Fixes for compiler warnings and errors in the makefiles. Rename the one test script to json101.test. (Closed-Leaf check-in: 9ff6ccde5f user: drh tags: json)
20:12
Change the name of the json loadable extension to "json1.c", in anticipation of having future major changes to the interface. (check-in: d0d4bec9e3 user: drh tags: json)
20:11
Fix many minor issues in the unlocked transaction code. (check-in: 53aaeea6c9 user: dan tags: begin-concurrent)
20:02
Add the fullkey column to both json_each() and json_tree(). (check-in: 15dd99431e user: drh tags: json)
19:56
Merge header file fixes from trunk. (check-in: 7c2713e98f user: drh tags: json)
19:53
Add a missing #define for sqlite3_vsnprintf to sqlite3ext.h. (check-in: da3c9df09c user: drh tags: trunk)
18:55
When committing an UNLOCKED transaction, try to move pages allocated at the end of the file to free slots within the file (like an incremental-vacuum operation does). (check-in: 069679162d user: dan tags: begin-concurrent)
17:57
Fix a problem with UNLOCKED transactions that free pages allocated within the same transaction. (check-in: 227bb8a181 user: dan tags: begin-concurrent)
17:39
Reserve the SQLITE_IOERR_VNODE error code name. (check-in: 53b593fcae user: drh tags: trunk)
17:33
Add the json_tree() virtual table. (check-in: 08c36e45f0 user: drh tags: json)
17:16
Merge in trunk fixes for table-valued functions. (check-in: 67375f32d9 user: drh tags: json)
17:14
Fix a corner-case bug in table-valued functions. Update the generate_series() virtual table to increase the performance estimate penalty for being underspecified. (check-in: 552bc9cb88 user: drh tags: trunk)
16:22
Merge trunk changes with this branch. (check-in: deaf3b1856 user: dan tags: begin-concurrent)
14:21
Add extra tests and a fix for rollbacks of UNLOCKED transactions. (check-in: 82cd837e72 user: dan tags: begin-concurrent)
12:37
Fix typo in comment. No changes to code. (check-in: 7b8d17dd84 user: drh tags: trunk)
2015-08-20
23:54
Merge recent trunk enhancements, include table-valued functions. (check-in: e9196d5666 user: drh tags: sessions)
23:45
Merge recent enhancements from trunk, including table-valued expressions. (check-in: b9927c876c user: drh tags: cursor-hints)
23:39
Merge the latest changes from trunk, including the table-valued function implementation. (check-in: 10c444322f user: drh tags: json)
23:33
Compiler-warning fixes in the sqldiff.exe utility. (check-in: 64d13339d4 user: drh tags: trunk)
23:28
Fix a couple C99-isms that cause compile errors on MSVC. (check-in: bc577fe6cb user: drh tags: trunk)
23:21
Fix corner-case memory management issues in table-valued functions. Change virtual table handling so that if xDestroy is missing the table is eponymous only even if xCreate is present. (check-in: 774e6a14b1 user: drh tags: trunk)
21:14
Skip calling the virtual table xDestroy method when it is null. (check-in: b73ad305a6 user: mistachkin tags: trunk)
21:09
Fix compiler warnings in the sqldiff tool seen with MSVC. (Closed-Leaf check-in: 072279d458 user: mistachkin tags: msvcWarn)
20:25
Fix a problem causing corruption when an UNLOCKED transaction is rolled back. (check-in: 7c36147846 user: dan tags: begin-concurrent)
20:21
Fix stray variable declaration for C89. (check-in: 17eb7f18cb user: mistachkin tags: trunk)
20:13
Correctly handle empty function argument lists on table-valued functions. (check-in: a7acc7878b user: drh tags: trunk)
19:55
Add support for table-valued functions in the FROM clause implemented as virtual tables. (check-in: 9b718b06b1 user: drh tags: trunk)
18:28
Prevent the series.c extension from loading on older versions of SQLite that do not support xCreate==NULL. (Closed-Leaf check-in: 3efc79427e user: drh tags: table-valued-functions)
17:18
Make SQLITE_BUSY_SNAPSHOT and SQLITE_BUSY_RECOVERY retryable, just as a plain SQLITE_BUSY is. (check-in: fd13dd950d user: drh tags: trunk)
16:16
Fix a typo in series.c. (check-in: 23db7f50f1 user: dan tags: table-valued-functions)
2015-08-19
23:02
Fix the path lookup for objects so that it can handle quoted identifier names and non-alphanumerics in the identifier. (check-in: 87f5873004 user: drh tags: json)
22:47
Add the json_each(JSON,PATH) table-valued-function. (check-in: 3335ac17bb user: drh tags: json)
20:27
When committing an unlocked transaction, relocate newly allocated database pages within the file to avoid conflicting with committed transactions. There are lots of things still to fix in this code. (check-in: 3bbc31d515 user: dan tags: begin-concurrent)
19:26
Merge the table-valued-function rowid fix. (check-in: a06a6392bd user: drh tags: json)
19:01
Fix eponymous virtual tables so that they do not automatically make the first column the rowid. Enhance the generate_series virtual table to support rowid. (check-in: a325a08599 user: drh tags: table-valued-functions)
18:31
Merge support for table-valued functions. (check-in: 96a5d44d9f user: drh tags: json)
18:19
Improved comments on the generate_series virtual table. Test cases for ORDER BY rowid DESC with generate_series. (check-in: fef44c37f3 user: drh tags: table-valued-functions)
17:11
A list of arguments following a table name translates into equality constraints against hidden columns in that table. (check-in: 40e12cfe4c user: drh tags: table-valued-functions)
15:20
Minor refactor of the SrcList object so that it is able to hold the argument list to a table-valued-function in the FROM clause. (check-in: b919376147 user: drh tags: table-valued-functions)
13:54
Virtual table modules with a null xCreate method act as eponymous-only modules - they cannot be used in a CREATE VIRTUAL TABLE statement. Add the series.c extension that implements a postgres-like generate_series virtual table to demonstrate this capability. (check-in: c58426dbd5 user: drh tags: table-valued-functions)
12:52
Merge changes from trunk. (check-in: dddd792ded user: drh tags: table-valued-functions)
12:45
Simplification to error handling in addModuleArgument() in the virtual table processing. (check-in: c573b0a1aa user: drh tags: trunk)
08:34
When updating a zipvfs database with RBU, set journal_mode=off to prevent the upper-level pager from creating a large temporary file. (check-in: dec14a3980 user: dan tags: trunk)
02:32
Initial implementation of eponymous virtual table instances. (check-in: c1f43a7799 user: drh tags: table-valued-functions)
2015-08-18
19:09
Add test file spellfix2.test, which should have been checked in some time ago. (check-in: 8599402092 user: dan tags: trunk)
16:32
Fix harmless compiler warning in FTS5. (check-in: 02448a9fcc user: mistachkin tags: trunk)
15:58
Provide hints for all terms in a range constraint if there are any equality terms anywhere in the constraint. Range constraint terms are only omitted for a pure range constraint with no equality prefix. (check-in: b5897bc0f0 user: drh tags: cursor-hints)
12:59
Comment clarification. No changes to code. (check-in: 71a966952c user: drh tags: json)
02:28
Initial implementation of json_set() and json_insert(). (check-in: 4aa49656d9 user: drh tags: json)
2015-08-17
21:22
Initial implementation of json_replace(). (check-in: 3c4bee65d9 user: drh tags: json)
20:14
Add an initial implementation for json_remove(). (check-in: 2a8267209d user: drh tags: json)
17:19
Avoid generating hints using constraints that are also used to initialize the cursor, since presumably the cursor already knows about those constraints. (check-in: 142b048ac7 user: drh tags: cursor-hints)
15:17
Initial implementation for json_array_length(), json_extract(), and json_type(). (check-in: 3998320451 user: drh tags: json)
11:28
Abandon the JSONB format for now. (We may return to it in the future.) Add a function to render a JSON parse. (check-in: 9703c0aa18 user: drh tags: json)
2015-08-15
21:29
Fix off-by-one error when parsing primitive JSON types "true", "false", and "null". (check-in: 42c15c1e36 user: drh tags: json)
21:25
Add a prototype JSON parser. (check-in: 789ba48700 user: drh tags: json)
18:16
Handle writes to auto-vacuum databases within UNLOCKED transactions in the same way as for non-UNLOCKED transactions. (check-in: de1ea450db user: dan tags: begin-concurrent)
16:32
Minor fix to the display of oversized KeyInfo structures in the P4 operand of Open opcodes in EXPLAIN output. (check-in: f65a9b4ab2 user: drh tags: trunk)
00:51
Change the display of the P4 operand of CursorHint in EXPLAIN output to function notation. (check-in: bee73d429c user: drh tags: cursor-hints)
2015-08-14
23:57
Always provide the BTREE_BULKLOAD hint, even when SQLITE_ENABLE_CURSOR_HINTS is not defined, as that hint gives a 4% performance increase. (check-in: 83a844357e user: drh tags: cursor-hints)
20:08
Updated testing of cursor-hints. Remove the test_cursorhint.c file and associated logic in the core and do tests based purely on the newly enhanced EXPLAIN output. (check-in: bf383e665a user: drh tags: cursor-hints)
18:50
Fix the cursor hint mechanism so that it does the right thing for indexed lookups. (check-in: 581e3d4988 user: drh tags: cursor-hints)
15:05
Refactor the sqlite3BtreeCursorHint() interface for improved maintainability. (check-in: fc3fb5cd0d user: drh tags: cursor-hints)
12:53
Duplicate the output of releasetest.tcl into releasetest-out.txt (check-in: 5e06a9c186 user: drh tags: trunk)
01:03
Fix the CursorHint so that it includes the scan boundary constraints. On the expression text for the CursorHint opcode, show rowid correctly. (check-in: f0d428d13a user: drh tags: cursor-hints)
2015-08-13
21:43
Convert the hint expression of the CursorHint opcode into a string for display by EXPLAIN. (Leaf check-in: 12640cb222 user: drh tags: cursor-hints-displayP4)
21:38
Fix a harmless compiler warning. (check-in: 608ab4ac19 user: drh tags: cursor-hints)
21:32
Convert the hint expression of the CursorHint opcode into a string for display by EXPLAIN. (check-in: 2068847187 user: drh tags: cursor-hints)
20:34
Fix a bug in sqlite3ExprContainsSubquery(). (check-in: be254715b5 user: drh tags: cursor-hints)
20:23
When searching the wal file for a frame, do not search that part that was already checkpointed when the snapshot being read was at the head of the wal file. (check-in: 90760e7232 user: dan tags: wal-read-change)
20:07
Merge in all the trunk changes from the previous year. This breaks the cursor-hint mechanism, but provides a baseline for trouble-shooting. (check-in: 82a7a61bc0 user: drh tags: cursor-hints)
18:26
Add the sqlite3rbu_savestate() function to the rbu extension. To force rbu to save its state to disk without closing the sqlite3rbu* handle. (check-in: 851a875ad6 user: dan tags: trunk)
13:54
Experimental code (untested) for a JSONB datatype. (check-in: e3596ac7b1 user: drh tags: json)
11:46
Avoid invoking system call unlink() directly from RBU code. Use the xDelete method of the default VFS instead. (check-in: ee966af8ff user: dan tags: trunk)
2015-08-12
19:42
Avoid reading frames that have already been checkpointed from the wal file. (check-in: 5669ac4a40 user: dan tags: wal-read-change)
17:23
Add the json_object() function. (check-in: 414a95f3b7 user: drh tags: json)
16:49
Begin adding an extension that provides JSON SQL functions. (check-in: dde8afdd8d user: drh tags: json)
15:36
Minor optimization for fts5 API xInst(). (check-in: efb7c9c5d0 user: dan tags: trunk)
12:11
Add the xPhraseFirst() and xPhraseNext() fts5 APIs, for faster iteration through a single phrases position list. Also optimize xInst() and xInstCount() a bit. (check-in: f768243527 user: dan tags: trunk)
2015-08-11
18:18
Fix the retry mechanism on file locks. (check-in: 600df309fc user: drh tags: apple-osx)
14:25
Merge fixes from the fts5NoWarn branch. (check-in: 61cb2fc6c1 user: dan tags: trunk)
13:41
Add some extra timestamps to the experimental log output. (Leaf check-in: b09e3ea7b8 user: dan tags: experimentalIoLog)
10:59
Add a tcl interface for the experimental logging functionality. (check-in: e844304de7 user: dan tags: experimentalIoLog)
01:45
Two more places where logging of freelist trunk pages is needed. (check-in: 56ff336e0a user: drh tags: experimentalIoLog)
2015-08-10
20:53
Record when an allocated page is taken from the freelist trunk. (check-in: bb5d7782bd user: drh tags: experimentalIoLog)
20:22
Add the sqlite3_experimental_log_open() interface. This is for diagnostic use only and is not intended to ever go on trunk. (check-in: ac5d2e9d76 user: drh tags: experimentalIoLog)
2015-08-08
23:30
Fix compiler warnings and remove unreachable code. (check-in: fd5608fb20 user: drh tags: trunk)
23:23
Fix an assert() that was in the wrong spot. (Closed-Leaf check-in: 962b6cd6bb user: drh tags: warnings)
22:47
Fix compiler warnings and remove unreachable code. (check-in: be190fe782 user: drh tags: warnings)
15:13
Update RBU to avoid repreparing a statement immediately after it is prepared. (check-in: 1d75a41bb2 user: dan tags: trunk)
2015-08-07
20:57
Enhance the query planner so that it is able to use partial indexes that use AND-connected terms in the WHERE clause. (check-in: 065765902d user: drh tags: trunk)
20:06
Add a specially formatted comment to shell.c to make it easier for scripts to edit. No code changes. (check-in: 6d47b35ad1 user: dan tags: trunk)
09:42
Within a write-transaction on a wal database in mmap mode, check the page-cache for an entry before the wal file. This can be faster if the wal file is very large. (Leaf check-in: 3a82c8e6cb user: dan tags: mmap-wal-bigtrans)
2015-08-06
12:54
increase the version number to 3.8.12 (check-in: e596a6b63f user: drh tags: trunk)
03:19
Fix harmless compiler warnings in FTS5 code. (Closed-Leaf check-in: 0ddb2532b2 user: mistachkin tags: fts5NoWarn)
03:09
Fix duplicate test numbering in the FTS5 matchinfo tests. (check-in: 483ebe8989 user: mistachkin tags: trunk)
2015-08-05
19:35
Add tests for the matchinfo-like test function. Fix problems found in test and fts5 code by doing so. (check-in: 9e3aafe44a user: dan tags: trunk)
15:29
Update the spellfix virtual table extension so that an explicit "top = ?" constraint works even if there is also a "distance < ?" or "distance <= ?" constraint. (check-in: 0888838371 user: dan tags: trunk)
08:01
Fix some problems in test code detected by cppcheck. (check-in: c9ff4ca4a0 user: dan tags: trunk)
07:43
Remove all references to "docid" within fts5 source code and comments. Replace with "rowid". (check-in: dffd358f6c user: dan tags: trunk)
2015-08-04
20:29
Add new test file fts5_test_mi.c, containing an implementation of a function similar to FTS4 matchinfo() for FTS5. (check-in: 4f9520a9dc user: dan tags: trunk)
19:06
Improve the usage comment on sqlite3_analyzer: show the available switches. (check-in: 783f78e397 user: drh tags: trunk)
15:29
Update the [showdb] program so that the database file is read directly (bypassing the SQLite VFS) only if the --raw option is specified. Otherwise, it is read using the default VFS. Also, the URI syntax may be used on the command line to specify the name of the database file to examine, so an alternative VFS may be requested using a URI parameter. (check-in: e3c6d4b6e7 user: dan tags: trunk)
15:23
Update the [showdb] program so that the database file is read directly (bypassing the SQLite VFS) only if the --raw option is specified. Otherwise, it is read using the default VFS. An alternative VFS may be specified by specifying the database file to open using the URI syntax. (Closed-Leaf check-in: 9699e9bd9a user: dan tags: showdb-uri-option)
14:18
In the sqlite3_analyzer.exe utility, show the depth of each btree and report the average fanout of indexes and WITHOUT ROWID tables. (check-in: cd99777001 user: drh tags: trunk)
2015-08-03
17:03
Add the "--uri" option to utility program "showdb". This option causes showdb to use sqlite with the SQLITE_OPEN_URI option to open the database file, instead of opening it directly using the OS open() function. (check-in: 90e34d5119 user: dan tags: showdb-uri-option)
13:44
Allow a VIEW to reference undefined tables and functions when initially created. The error report is deferred until the VIEW is used. This allows views to be created before subviews and tables that the view references. (check-in: 70b57dafb3 user: drh tags: trunk)
2015-08-01
18:18
Add extra tests for RBU and FTS3/4. (check-in: 3419044967 user: dan tags: trunk)
2015-07-31
19:52
Add support for "fossil deltas" to RBU and "sqldiff --rbu". (check-in: e26ef165fe user: dan tags: trunk)
18:59
Fix the sqlite3_stmt_busy() interface so that it always returns FALSE after the statement has returned SQLITE_DONE, even for ROLLBACK statements. Clarify the documentation. (check-in: 047d3475e9 user: drh tags: trunk)
17:48
Remove a duplicate "typedef struct Fts5Global Fts5Global;" from fts5_main.c (duplicate is in fts5Int.h). (check-in: 54a771fe2c user: dan tags: trunk)
15:14
When building the VSIX package for UAP, omit the AppLocal suffix for the MSVC runtime library because it is no longer needed. (check-in: fee7ad73c1 user: mistachkin tags: trunk)
15:13
Fix a problem causing [sqldiff --rbu] to fail on tables for which all columns are part of the PRIMARY KEY. (check-in: 93449e7046 user: dan tags: trunk)
14:43
Fix a bug in the fts5 porter tokenizer preventing it from passing xCreate() arguments through to its parent tokenizer. (check-in: c3c672af97 user: dan tags: trunk)
2015-07-30
20:26
Add the --rbu switch to the "sqldiff" utility. (check-in: 098bea26da user: dan tags: trunk)
11:38
Allow RBU tables to be named "data[0-9]*_<target>" instead of strictly "data_<target>". Also update RBU so that it always processes data tables in order sorted by name. (check-in: 287aa30601 user: dan tags: trunk)
11:26
Return an error message (instead of segfaulting) if test function fts5_expr() is invoked with no arguments. (check-in: 8e818b8985 user: dan tags: trunk)
2015-07-29
22:38
Support building VSIX packages for UAP using Visual Studio 2015 and the Windows 10 SDK. (check-in: 96559adbf1 user: mistachkin tags: trunk)
22:37
Update Windows 10 SDK version for RTM. (Closed-Leaf check-in: 80ab338cc6 user: mistachkin tags: msvc2015)
21:47
Add SQLITE_DISABLE_INTRINSIC define to disable use of intrinsic functions (e.g. for certain older compilers and/or platforms). (check-in: f0075d735a user: mistachkin tags: trunk)
20:24
Fix the releasetest.tcl script so that it ignore cast overflow errors that recent versions of clang generate but which are unavoidable given the test input. (check-in: a0020c5785 user: drh tags: trunk)
20:00
Version 3.8.11.1 (check-in: cf538e2783 user: drh tags: trunk, release, version-3.8.11.1)
15:22
Restore an undocumented side-effect of PRAGMA cache_size: it forces the database schema to be parsed. Also increase the version number to 3.8.11.1. (check-in: e4628de3ce user: drh tags: trunk)
14:58
Update comments in fts5.h describing the xColumnCount() API function. (check-in: a623eb55d1 user: dan tags: trunk)
14:46
Increase the version number to 3.8.11.1 (Closed-Leaf check-in: 326d746dee user: drh tags: branch-3.8.11)
14:10
The "PRAGMA cache_size" reads the database schema, as it has done in all prior versions of SQLite. This side-effect of cache_size is undocumented, but apparently it does get used and its absence from 3.8.11 was causing problems. (check-in: 4489722a6b user: drh tags: branch-3.8.11)
12:14
Only allow UNLOCKED transactions to commit if none of the pages read by the transaction have been modified since it was opened. (check-in: 0b9718426e user: dan tags: begin-concurrent)
2015-07-28
19:35
Update batch build tool library paths for MSVC 2015. (check-in: d431d4e11a user: mistachkin tags: msvc2015)
18:53
Fix the xfer optimization for WITHOUT ROWID tables so that it correctly updates the change count returned by sqlite3_changes(). (check-in: eff43715d1 user: drh tags: trunk)
16:46
Add some test cases and fix some small problems with BEGIN UNLOCKED transactions. (check-in: 6da0e962ad user: dan tags: begin-concurrent)
2015-07-27
19:57
Clarification to the documentation for sqlite3_result_zeroblob64(). No changes to code. (check-in: c98175e900 user: drh tags: trunk)
19:31
Add an experimental "BEGIN UNLOCKED" command. (check-in: 8079421604 user: dan tags: begin-concurrent)
13:49
Version 3.8.11 (check-in: b8e92227a4 user: drh tags: trunk, release, version-3.8.11)
12:19
Merge the fts5-btree-index branch with this one. FTS5 changes only. (check-in: 9f1dcdc3e1 user: dan tags: trunk)
11:49
Bump the "version" field in the fts5 config table. (Closed-Leaf check-in: 92c9178933 user: dan tags: fts5-btree-index)
11:43
Minor tweak to the SQL schema used by fts5. (check-in: 427bf09ba4 user: dan tags: fts5-btree-index)
11:01
Remove a potentially undefined behaviour involving signed integers and bitshift operations from fts5_hash.c. (check-in: ad6286ab1f user: dan tags: fts5-btree-index)
10:46
Merge latest trunk changes with this branch. (check-in: 5ec933c257 user: dan tags: fts5-btree-index)
2015-07-25
19:26
Remove a duplicated "if" condition from fts3.c. (check-in: ee348b1275 user: dan tags: trunk)
14:26
Fix the rowallock.test script so that it works with builds that do not support mmap mode. (check-in: 7efed5786b user: dan tags: trunk)
14:12
Fix the wal3.test module so that it works with the memsubsys1 permutation. (check-in: af85b01d93 user: drh tags: trunk)
12:03
Fix a test script problem in memsubsys2.test. (check-in: 70885729b7 user: dan tags: trunk)
03:10
Disable the page cache bulk allocation for the shrink.test and wal.test modules. (check-in: 3418f1f165 user: drh tags: trunk)
2015-07-24
23:28
Fix the zeroblob.test script so that it works even on builds where the SQLITE_MAX_LENGTH has been raised to 2147483645. (check-in: db12914981 user: drh tags: trunk)
22:21
Merge test improvements and minor fixes from trunk. (check-in: 0298a9a780 user: drh tags: sessions)
21:19
Enable the RBU extension to compile cleanly on Windows using MSVC. (check-in: cca79fdc3d user: mistachkin tags: trunk)
20:43
For Windows CE, a different header is required for the byteswap intrinsics. (check-in: 2d572b8cdc user: mistachkin tags: trunk)
20:34
Fix warnings in fts5 code. (check-in: bd4f156d07 user: dan tags: trunk)
19:56
Fix the pragma2.test module so that it works with SQLITE_ENABLE_MEMORY_MANAGEMENT. (check-in: de281a4fac user: drh tags: trunk)
18:58
Allow the RBU module to read data from appropriately named SQL views created within the RBU database. (check-in: 45c6a760ca user: dan tags: trunk)
18:22
Fix a test script bug introduced by [562687d9]. (check-in: a343745d99 user: dan tags: trunk)
17:36
Add the sqlite3_bind_zeroblob64() API. (check-in: 1997ee548b user: dan tags: trunk)
17:26
New makefile target "fastfuzztest" runs the same tests as "fuzztest" but with a 100M memory size limit. This more than doubles the speed. The original unlimited "fuzztest" is still run on a "fulltest". (check-in: cfeb1b1c29 user: drh tags: trunk)
17:14
Fix compiler warnings. Get the new sqlite3_result_zeroblob64() working on loadable extensions. (check-in: f8991e6f72 user: drh tags: trunk)
16:24
Add the sqlite3_result_zeroblob64() API. Use it in the SQL zeroblob() function. (check-in: c6445b9fb4 user: dan tags: trunk)
15:49
More robust handling of zeroblob() with oversized arguments. Fix fuzzcheck so that it can be run with limited heap memory. (check-in: 4e3e516a42 user: drh tags: trunk)
14:17
Modify a few test scripts to avoid leaving the sqlite3Config structure in a non-default state. (check-in: 562687d9f5 user: dan tags: trunk)
00:02
Update RBU description comment in the header file. No changes to code. (check-in: 119883a21b user: mistachkin tags: trunk)
2015-07-23
21:59
Merge all changes in the latest 3.8.11 beta into the sessions branch. Changes include the rename of OTA to RBU, the WITHOUT-ROWID-OR-Skipscan fix, and improvements to pcache1. (check-in: 7f0ee77062 user: drh tags: sessions)
20:44
Change the name of the OTA extension to RBU: Resumable Bulk Update. (check-in: 017c5019e1 user: drh tags: trunk)
17:16
When SQLITE_OMIT_LOOKASIDE is set, do not allocate any lookaside memory since it will never be used. (check-in: 0ffd499f23 user: drh tags: trunk)
16:39
The sqlite3ExprCodeGetColumn() is not guaranteed to put the result in the register requested. Fix the skip-scan code generator for WITHOUT ROWID tables so that it always checks the register and copies the result if it lands in the wrong register. Fix for ticket [8fd39115d8f46ece70e7d4b3]. (check-in: 793e206f90 user: drh tags: trunk)
2015-07-21
19:22
Fix harmless compiler warning in MSVC 2015. (check-in: 01c8b9ccfa user: mistachkin tags: trunk)
2015-07-19
19:53
Cleanup the 'config.h' file in the appropriate distclean targets. (check-in: e0a9978077 user: mistachkin tags: trunk)
2015-07-17
12:42
More adjustments to the malloc5.test module so that it works correctly with the new pcache1 bulk allocation. (check-in: 2a7b3a440f user: drh tags: trunk)
01:16
Avoid a harmless compiler warning. (check-in: 2288842b8f user: drh tags: trunk)
2015-07-16
20:24
Merge trunk changes, including fixes for compiler warnings in fts5 code, with this branch. (check-in: 7190d79ba4 user: dan tags: fts5-btree-index)
20:17
Fix compiler warnings in fts5 code. (check-in: e9bf275cd9 user: dan tags: trunk)
18:37
Fix harmless compiler warnings. (check-in: 9a592cf91c user: drh tags: trunk)
18:18
Defer the bulk pcache1 memory allocation until the first page allocation request. Limit the size of the pcache1 bulk allocation to the cache_size setting. Deallocate the bulk allocation on a sqlite3_db_release_memory() request, if the bulk allocation is completely unused. (check-in: b79a4affe4 user: drh tags: trunk)
17:29
Fix compilation issues with SQLITE_OMIT_COMPOUND_SELECT defined. (check-in: 9c39d46445 user: mistachkin tags: trunk)
2015-07-15
23:15
Enable memory-mapped I/O on FreeBSD and DragonFly. (check-in: 2cdd647951 user: drh tags: trunk)
21:00
Make the debugging line numbers in the amalgamation more accurate. (check-in: 3b34e95ca8 user: mistachkin tags: trunk)
19:46
Use a WITHOUT ROWID table to index fts5 btree leaves. This is faster to query and only slightly larger than storing btree nodes within an intkey table. (check-in: 862418e350 user: dan tags: fts5-btree-index)
18:35
Fix some harmless compiler warnings. (check-in: 110cd84f5e user: drh tags: trunk)
18:04
Attempt to fix harmless warnings generated by GCC and Clang runtime analyzers. (check-in: b522c95ddc user: drh tags: trunk)
13:56
Fix the fuzz3.test script so that it works with the new bulk pagecache allocation feature. (check-in: 829a2dbaf1 user: drh tags: trunk)
2015-07-14
22:43
Amplify the comment on renderLogMsg() that explains the problems associated with calling sqlite3_log() from deep within the memory allocator. (check-in: a73d7128fb user: drh tags: trunk)
21:56
Further refine FTS5 cleanup in Makefiles. (check-in: b53a95063c user: mistachkin tags: trunk)
21:56
Skip trying to include 'intrin.h' when compiling for WinCE with MSVC. (check-in: 6db90ca2b4 user: mistachkin tags: trunk)
17:18
Fix some harmless compiler warnings. (check-in: 3de030c904 user: mistachkin tags: trunk)
15:39
Merge trunk changes, including the addition of FTS5 and pcache1 performance enhancements. (check-in: db4cbefb86 user: drh tags: sessions)
14:48
Always invoke the profile callback even if the statement does not run to completion. (check-in: 202479aa0a user: drh tags: trunk)
00:36
Refine cleaning of FTS5 files by Makefile targets. (check-in: e548d77b3c user: mistachkin tags: trunk)
2015-07-13
23:55
Fix the origination date on the loadfts.c utility program. (check-in: 5c76c062c0 user: drh tags: trunk)
18:01
Fix the header comment on the loadfts.c utility program. (check-in: 955ad4ae19 user: drh tags: trunk)
2015-07-10
17:55
Fix inconsistencies in formatting of fts5 docs. (check-in: 5fb4c77163 user: dan tags: trunk)
2015-07-09
20:46
Improve the performance of docid merges in fts5. (check-in: b2de77a01c user: dan tags: trunk)
19:02
Reduce the number of calls to malloc() made by fts5. (check-in: 898618ccf6 user: dan tags: trunk)
2015-07-08
17:59
Fix two problems that could cause fts3 auxiliary functions to occasionally misbehave if used with match expressions that contain both OR and NEAR. (check-in: 372c1db247 user: dan tags: trunk)
16:22
Enhance the pcache1 page cache so that it tries to allocate a block of SQLITE_DEFAULT_PCACHE_INITSZ pages from malloc() on startup, and uses those preallocated pages when possible rather than going to malloc() for each individual page. About a 5% performance increase for some workloads. (check-in: 5348ffc3fd user: drh tags: trunk)
14:13
Comment fix. No changes to code. (Closed-Leaf check-in: c1e2ed0ef4 user: drh tags: pcache-bulk-local)
13:40
Do not do the bulk pcache1 allocations if SQLITE_CONFIG_PAGECACHE specifies a global page cache buffer. (check-in: 75d98dae67 user: drh tags: pcache-bulk-local)
12:25
Early detection of file corruption in a debugging routine, before the invalid data can cause problems. (check-in: b27a47fef9 user: drh tags: trunk)
01:22
Avoid left-shifting bits into the sign of a signed integer, as such behavior is technically undefined. (check-in: 9417b4021b user: drh tags: pcache-bulk-local)
2015-07-07
21:14
Add a compile-time constant for configuring the default pagecache setup. (check-in: ad5fdfbac8 user: drh tags: pcache-bulk-local)
19:35
Merge the Fts5MultiSegIter and Fts5IndexIter objects. (check-in: 6ace73541a user: dan tags: trunk)
19:07
Add a test case to verify that "PRAGMA data_version" works as expected when an OTA client writes to the database. (check-in: 6441f2dc9e user: dan tags: trunk)
15:14
No need to test sqlite3GlobalConfig.bCoreMutex when SQLITE_THREADSAFE==0. (check-in: 26db0fee06 user: drh tags: pcache-bulk-local)
14:06
Simplify the page recycling condition in pcache1. Fix test cases to work with the latest changes. (check-in: 5b60df5503 user: drh tags: pcache-bulk-local)
08:29
Further optimizations for fts5 b-tree seeks. (check-in: f37899686c user: dan tags: trunk)
2015-07-06
20:57
A unified cache is now only used for SQLITE_ENABLE_MEMORY_MANAGEMENT, or if SQLITE_CONFIG_PAGECACHE defines a shared start-time page cache buffer and the application is single-threaded. (check-in: d5ff1d6905 user: drh tags: pcache-bulk-local)
20:27
Speed up seek operations on fts5 b-tree structures. (check-in: 7b7da1eb43 user: dan tags: trunk)
18:54
Enhance separate pcache1 to allocate a block of pages from heap on startup, if possible, for a 5.2% performance improvement. (check-in: aa7341c873 user: drh tags: pcache-bulk-local)
2015-07-05
22:15
Do not allow recursive CTEs that use aggregate queries in the recursive part. (check-in: 6d2999afbc user: drh tags: trunk)
2015-07-04
18:44
Optimize seek operations on fts5 b-trees. (check-in: 8cf02090ce user: dan tags: trunk)
18:15
Preserve the number of requested PAGECACHE pages even if the memory pointer or size is zero. Enhance the pcache1.c header comment to explain the memory layout of a page cache line. (check-in: dacb2a615c user: drh tags: trunk)
15:35
Fix a problem in the fts5 integrity-check. (check-in: 4e473559c9 user: dan tags: trunk)
11:14
Do not preserve the btreeInitPage() results in PRAGMA integrity_check if there were cell sizing errors because PRAGMA cell_size_check was turned off during the btreeInitPage() call. (check-in: 743bf1f184 user: drh tags: trunk)
00:04
Sync up Makefile clean targets for FTS5. (check-in: 43ead44ef6 user: mistachkin tags: trunk)
2015-07-03
23:29
Correction to check-in [1025873fdf], tighten up the number of static test mutexes. (check-in: 4e515897af user: mistachkin tags: trunk)
23:12
Update clean target in MSVC makefile. (check-in: e6c03e7201 user: mistachkin tags: trunk)
23:11
Enhance mutex testing to include APP and VFS static mutexes. (check-in: 1025873fdf user: mistachkin tags: trunk)
21:38
Add static mutexes for use by the built-in / third-party VFSs and use the built-in VFS mutex where appropriate. (check-in: b202e2a1d7 user: mistachkin tags: trunk)
20:47
Rework the Fts5MultiSegIter structure a bit to make it more efficient. (check-in: 0778825d0e user: dan tags: trunk)
19:13
Speed up eof checks on fts5 cursors. (check-in: 3df4af5d8c user: dan tags: trunk)
17:54
Enable use of the __builtin_bswap32() only with GCC 4.3 and higher. (check-in: 030f60a7ba user: mistachkin tags: trunk)
17:14
Avoid freeing the array of instance matches each time the fts5 xNext() method is called. (check-in: b9b0c1e50d user: dan tags: trunk)
14:34
New command-line options for speedtest1: --multithread, --nomemstat, --serialized, and --singlethread (check-in: 2b7567229e user: drh tags: trunk)
2015-07-02
20:12
Copy fts5.h into the build directory as part of building fts5.c. Also remove code to edit fts5parse.c from various Makefiles and add it to mkfts5c.tcl. (check-in: 4d8f03dc7b user: dan tags: trunk)
19:47
When doing coverage analysis of a btree page for pragma integrity_check, make the first entry (that covers the header, cell index, and gap) implied, for a performance boost and size reduction. (check-in: e53d497c2d user: drh tags: trunk)
18:52
Minor change to mkfts5c.tcl so that fts5.c can be used according to the instructions in loadext.html. (check-in: edbcccd349 user: dan tags: trunk)
18:47
Merge in the latest enhancements from trunks, especially the use of _byteswap_ulong() and similar intrinsics on MSVC. (check-in: 85ca4409bd user: drh tags: sessions)
18:16
Add fts5_source_id() SQL function, similar to sqlite_source_id(). (check-in: ec2573487c user: dan tags: trunk)
16:52
Fix harmless compiler warnings and one macro VVA_ONLY macro usage issue. (check-in: bcc8a75509 user: mistachkin tags: trunk)
16:50
Simplify FTS5 handling in the MSVC makefile. (check-in: f022e04343 user: mistachkin tags: trunk)
16:29
Fix a (harmless) shadowed local variable definition in the integrity_check logic. (check-in: 3a26a919fd user: drh tags: trunk)
16:17
Smaller and faster PRAGMA integrity_check that also does a better job of detecting errors. Some output text describing discovered file corruption has changed for clarity. (check-in: 251a7590ff user: drh tags: trunk)
15:52
Remove "#ifdef SQLITE_ENABLE_FTS5" from individual fts5 source files. Add a single "#if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_FTS5)" to fts5.c. (check-in: 7819002ed8 user: dan tags: trunk)
01:38
Add the --shrink-memory option to the speedtest1 test program. (check-in: c9ddbd8899 user: drh tags: trunk)
2015-07-01
19:59
Avoid create a stack from in sqlite3BackupUpdate() in the common case where the first argument is NULL. (check-in: 2a897b9e94 user: drh tags: trunk)
17:53
Simplification of PRAGMA integrity_check logic. Make sure that the depth of the right-most subtree is correct. Size reduction and performance increase, with no change in output. (check-in: 550705fcb6 user: drh tags: trunk)
17:13
Rework the PRAGMA integrity_check logic. Simplify the checkTreePage() routine and clean up the error messages generated. (Closed-Leaf check-in: 1c52212369 user: drh tags: integrity-check-refactor)
04:08
Fix some harmless compiler warnings. (check-in: 307195c870 user: drh tags: trunk)
01:31
Change integrity_check to analyze the cells of a page in reverse order, as this will tend to insert the cells into the analysis heap in increasing order by address, which is the most efficient way to load a min-heap. (check-in: 59ad912c4c user: drh tags: trunk)
2015-06-30
17:28
Make use of the _byteswap_ushort() and _byteswap_ulong() compiler intrinsics for MSVC, when available. (check-in: fe144dd73f user: mistachkin tags: trunk)
16:29
Merge all the latest enhancements from trunk. This merge include FTS5 and a number of notable performance enhancements. (check-in: 39936b33b0 user: drh tags: sessions)
15:10
Make use of built-in bswap32() and bswap16() functions in GCC/Clang for a significant performance improvement there. (check-in: 8bfcda3d10 user: drh tags: trunk)
14:01
Only use __builtin_bswap16() with GCC 4.8 and later. (Closed-Leaf check-in: ce8177e3e6 user: drh tags: bswap-functions)
13:28
Remove the use of htonl() in the previous check-in due to linkage issues. Add the get2byteAligned() macro and use it for access to the cell offsets on btree pages for about a 1% performance gain. (check-in: 79ff36b717 user: drh tags: bswap-functions)
12:47
Make use of htonl() and __builtin_bswap32() for faster implementations of sqlite3Get4byte() and sqlite3Put4byte(). (check-in: bc27ebd7f7 user: drh tags: bswap-functions)
11:07
Change an unreachable branch into an assert() in sqlite3PagerAcquire() and optimize sqlite3PcacheOpenSavepoint() by factoring out rarely used code into a subroutine. (check-in: b406b20ecd user: drh tags: trunk)
03:57
Optimization to the sqlite3PcacheFetch() logic. (check-in: d9a0481ce0 user: drh tags: trunk)
03:34
Put all variable declarations for sqlite3PagerWrite() at the beginning of the block. Syntax only - no logic changes. (check-in: a0fa6b3ba5 user: drh tags: trunk)
03:18
Implement sqlite3Strlen30() using strlen() from the C library. (check-in: 8001aa52bd user: drh tags: trunk)
03:13
Change sqlite3ApiExit() so that its first argument is never NULL. (check-in: 791b706ec6 user: drh tags: trunk)
02:47
Put BtCursor objects on a singly-linked list instead of a doubly-linked list. Add the BTCF_Multiple flag. Only invoke saveAllCursors() when using a cursor that has BTCF_Multiple set. (check-in: 429ccef2b3 user: drh tags: trunk)
01:25
Convert several 5-year-old and older NEVER() macros into assert(). (check-in: ed54c14ea8 user: drh tags: trunk)
2015-06-29
23:01
From sqlite3BtreeInsert(), bypass the btreeMoveto() routine for table inserts and go directly to sqlite3BtreeMovetoUnpacked(). (check-in: 53fe685d56 user: drh tags: trunk)
20:53
Add a bypass path in sqlite3PagerWrite() for pages with the PGHDR_WRITEABLE bit set, for about a 1% performance increase. (check-in: ba425a6abb user: drh tags: trunk)
19:08
Combine subjRequiresPage() and subjournalPage() into a single subjournalPageIfRequired() routine. (check-in: 3b65eb56c4 user: drh tags: trunk)
18:29
Add the PGHDR_WRITEABLE bit for PgHdr.flags which is used to distinguish between pages that are on the dirty list and pages that are safe to modify. (check-in: 7c4ef7b7c8 user: drh tags: trunk)
18:14
Fix over-length source code lines in pager.c. (check-in: 14de3d3926 user: drh tags: trunk)
15:41
Fix minor problems in the ota demo application. (check-in: 6aaaec6e63 user: dan tags: trunk)
14:11
Simplifications and performance improvement in pager_write(). (check-in: ab7aeeead3 user: drh tags: trunk)
04:21
Add the new PGHDR_CLEAN bit to PgHdr.flags in pcache.c. This bit is always the opposite of PGHDR_DIRTY. Use the extra bit to avoid a comparison for a small performance boost. (check-in: 8619fc346d user: drh tags: trunk)
03:28
Very small size reduction and performance increase in sqlite3BitvecTest(). (check-in: 9b3a7281bd user: drh tags: trunk)
00:52
Move an assert() and testcase() into their correct position within getAndInitPage(). (check-in: 18115164e1 user: drh tags: trunk)
00:21
Use tail recursion in pcache1Unpin() to get a small size reduction and speed improvement. (check-in: fde70472ae user: drh tags: trunk)
2015-06-28
17:33
Comment typo fix and minor cleanup in the pager. No logic changes. (check-in: 94ef170128 user: drh tags: trunk)
02:58
Avoid unnecessary calls to sqlite3VdbeSerialTypeLen() for integer serial types, for a small size reduction and a speed increase. (check-in: 9cd30d33b1 user: drh tags: trunk)
2015-06-27
23:55
Make greater use of BtCursor.curIntKey. (check-in: 63998471d0 user: drh tags: trunk)
22:49
Add the BtCursor.curIntKey field and use it for a small size reduction and performance boost. (check-in: 4a17df139a user: drh tags: trunk)
20:55
Enhancements to the previous check-in to make it a little smaller and faster. (check-in: 291d9e0c32 user: drh tags: trunk)
19:45
Performance improvements in moveToChild() by shifting some work over to getAndInitPage(). Net improvement is about 800K cycles at cost of 30 bytes. (check-in: 1956a4ce8e user: drh tags: trunk)
15:51
Manually inline the call from getAndInitPage() to btreeGetPage() for a savings of 2.5 million cycles at a cost of less than 100 bytes. (check-in: 7f65b96b40 user: drh tags: trunk)
14:59
Add releasePageNotNull() as an alternative to releasePage() when the argument is guaranteed to be non-NULL, and use it for a small performance gain. (check-in: 9383a68870 user: drh tags: trunk)
03:58
Add the Mempage.aDataOfst field and use it in sqlite3BtreeMovetoUnpacked() for about a 2 million cycle gain. (check-in: bee94dc351 user: drh tags: trunk)
2015-06-26
20:45
Treat compilation of FTS5 for the loadable extension specially with MSVC. (check-in: 7c610276bb user: mistachkin tags: trunk)
20:25
Merge fts5 branch into trunk. (check-in: d27d9965b5 user: dan tags: trunk)
20:14
Merge latest trunk with this branch. (Closed-Leaf check-in: 8671b9e137 user: dan tags: fts5)
20:13
Remove unnecessary lines from fts3.h and main.mk. (check-in: c1b268ced3 user: dan tags: fts5)
20:08
Fix a segfault that could follow an OOM error in fts5. (check-in: 713239b8cf user: dan tags: fts5)
19:43
Small size reduction and performance increase on the OP_IdxInsert opcode. (check-in: b6bedc2e9c user: drh tags: trunk)
19:33
Merge latest trunk changes with this branch. (check-in: 2a1af0f29e user: dan tags: fts5)
18:50
Fix some cases in the fts5 code where a corrupt database could cause a buffer overread. (check-in: 360c57bbb8 user: dan tags: fts5)
18:47
Further optimization of SQL function dispatch. Improvements to opcode documentation. (check-in: eaddbf296a user: drh tags: trunk)
18:16
Cache the sqlite3_context structure in the P4 operand of VDBE programs for faster SQL function dispatch. (check-in: 2abc44eb3b user: drh tags: trunk)
17:10
Merge changes to get FTS5 working with MSVC. (check-in: 954231d29d user: mistachkin tags: fts5)
16:55
Merge upstream changes. Get the test fixture working with FTS5. Fix compiler warnings. (Closed-Leaf check-in: bfcd16089c user: mistachkin tags: fts5Msvc)
16:42
Remove fts5 initialization code from core file main.c. (check-in: c91a93b343 user: dan tags: fts5)
16:17
Add FTS5 DLL target for MSVC. (check-in: be85b82499 user: mistachkin tags: fts5Msvc)
13:31
Cache the most recently sqlite3_context used by OP_Function and reuse it on subsequent calls, if appropriate. This gives a noticable performance boost. (Closed-Leaf check-in: 2f31bdd1b2 user: drh tags: function-ctx-cache)
04:34
Initial changes to get FTS5 working with MSVC. (check-in: ef2052f81e user: mistachkin tags: fts5Msvc)
03:12
Fix harmless compiler warning in assert statement. (check-in: 7097716cae user: mistachkin tags: trunk)
02:41
Simplify the pcache by not keeping continuous track of page 1 but instead just loading page 1 on the rare occasions when it is actually needed. (check-in: 015302f15e user: drh tags: trunk)
2015-06-25
23:52
Optimization to sqlite3_value_bytes() for the common case that does not require a data transformation. (check-in: 8d79f3a144 user: drh tags: trunk)
20:36
Fix Makefile.in to account for recent changes. Update fts5 test scripts so that they do not run if SQLITE_ENABLE_FTS5 is not defined. (check-in: 3175220747 user: dan tags: fts5)
20:16
Merge latest trunk changes into this branch. (check-in: fcd8f7ce60 user: dan tags: fts5)
20:10
Add a script to combine all fts5 code into a single file - fts5.c - that can be used to build an SQLite loadable extension. (check-in: 46e86b0637 user: dan tags: fts5)
19:53
Simplifications and performance improvements in insertCell(). (check-in: 7d02e6c992 user: drh tags: trunk)
18:36
More simplifications and performance improvements to cell allocation logic associated with allocateSpace(). (check-in: 78da0f69cb user: drh tags: trunk)
16:01
Reorder the terms of a conditional for a small performance gain. (check-in: d67b0ed105 user: drh tags: trunk)
15:44
Merge all the latest enhancements from trunk. (check-in: 924f471291 user: drh tags: sessions)
15:21
Remove a NEVER() that is in fact reachable. (check-in: f824e66b0d user: drh tags: trunk)
15:04
Minor optimization to allocateSpace(). (check-in: d007bc339b user: drh tags: trunk)
13:03
Enhance the Btree object to remember whether or not it is holding an Incrblob cursor. Use this knowledge to improve performance in the common case where it does not. (check-in: 476b11563c user: drh tags: trunk)
02:26
Remove a line of code that doesn't do any useful work. (check-in: 3ee888beb9 user: drh tags: trunk)
02:25
Increase the default timeout on fuzzcheck to 120 seconds - sufficient for running under valgrind on a slow workstation. (check-in: fad0eacc64 user: drh tags: trunk)
2015-06-24
23:44
Add the --timeout option to fuzzcheck. (check-in: a8f4f7fa99 user: drh tags: trunk)
23:17
Fix fuzzcheck so that it works with SQLITE_OMIT_PROGRESS_CALLBACK. (check-in: 7a9c4eb30e user: drh tags: trunk)
18:22
Add "ON CONFLICT" handling to the spellfix module. (check-in: 07937a81c6 user: drh tags: trunk)
17:21
Add "ON CONFLICT" handling to the spellfix module. (Closed-Leaf check-in: 1d04def785 user: dan tags: spellfix-constraints)
14:45
In the fuzzcheck test program, use the progress handler to limit the number of VDBE cycles to avoid getting stuck if the SQL under test contains an infinite CTE loop. Add the --limit-vdbe command-line option. (check-in: fbf9c4325e user: drh tags: trunk)
14:36
Fix the progress handler so that it does not fire too soon during an sqlite3_step() call other than the first. (check-in: b41ef5d6db user: drh tags: trunk)
13:32
Fix a harmless compiler warning. (check-in: 3b6fa95eeb user: drh tags: trunk)
13:25
Rig the fuzzcheck test program so that it times out after 10 seconds in case of an infinite loop in the test case. (check-in: 659cfc9d1e user: drh tags: trunk)
13:05
Update the database fuzz test cases to cover all recent findings. (check-in: 47ba7d96b1 user: drh tags: trunk)
12:44
Add the --rebuild object to fuzzcheck. (check-in: db87664a22 user: drh tags: trunk)
12:24
Prevent an infinite loop while searching a corrupt freelist. (check-in: 4e5424fe89 user: drh tags: trunk)
12:07
Strengthen the new balance_nonroot() code against various corrupt database problems. (check-in: 5ba9834320 user: drh tags: trunk)
10:46
Adjustment to a malloc test so that it accepts a narrow range of values to account for variations in malloc subsystems. (check-in: e0195070f8 user: drh tags: trunk)
01:07
Remove an invalid NEVER() and add a test case to cover it. (check-in: 14b73d2015 user: drh tags: trunk)
00:05
Performance optimization on balance_nonroot() and related routines. 2.6% faster overall with a size increase of less than 750 bytes. (check-in: 25131e7062 user: drh tags: trunk)
2015-06-23
23:31
Mark some branches as unreachable after the recent change that recognizes mismatch result set sizes on compound SELECT statements sooner. (check-in: c8d1f305b6 user: drh tags: trunk)
21:35
Testability improvement. (Closed-Leaf check-in: eed6a33145 user: drh tags: btree-opt2)
18:47
Improve test coverage of fts5. (check-in: df5ccea80e user: dan tags: fts5)
18:24
Multiple overflow cells are always adjacent and sequential. Exploit this invariant for a small size reduction and performance increase and add assert()s to prove the invariant. (check-in: f77f2f48f4 user: drh tags: btree-opt2)
17:09
Faster loading of cell pointers into the b.apCell array in balance_nonroot. (check-in: fda89b0512 user: drh tags: btree-opt2)
16:00
Avoid unnecessary cachedCellSize() calls in the cell partition adjustment phase of balance_nonroot(). (check-in: 6319ee1256 user: drh tags: btree-opt2)
15:36
Change pageInsertArray() and pageFreeArray() so that they use the CellArray object and compute cell sizes as needed, resulting in smaller and faster code. (check-in: f7f4181811 user: drh tags: btree-opt2)
15:06
Merge latest trunk changes with this branch. Add tests for columnsize=0. (check-in: ef44c71a22 user: dan tags: fts5)
14:49
Improvements to the way balance_nonroot() constructs the b.apCell array of pointers to cells. (check-in: ee44bb25b2 user: drh tags: btree-opt2)
13:02
Merge the compound SELECT operator fix from trunk. (check-in: a7be554f4b user: drh tags: btree-opt2)
12:19
Test that the left and right sides of a compound SELECT operator have the same number of expressions in the expanded expression list before beginning to generate code. (check-in: 4df852ce26 user: dan tags: trunk)
02:37
Avoid computing cell sizes in balance_nonroot() until they are really needed. This gives an overall 1.7% performance gain for about 1000 extra bytes of code space. (check-in: 43844537e8 user: drh tags: btree-opt2)
2015-06-22
20:02
Change the way that balance_nonroot() partitions cells between the sibling pages such that a scan of the cell size array is not required. (check-in: 1687287151 user: drh tags: btree-opt2)
2015-06-20
18:13
Split out all four cases of cellSizePtr() into different methods, each optimized for the specific page type. This gives a 0.36% performance increase at a cost of about 300 bytes of code. (Leaf check-in: 522502ec18 user: drh tags: btree-opt)
14:11
Update the fuzztest data using the latest test vectors discovered by AFL. (check-in: b97f9cf73e user: drh tags: trunk)
13:18
Make sure that the likelihood() function does not mess up generation of result-set code when it is used (inappropropriately) in a result-set expression. (check-in: 7cdbae625e user: drh tags: trunk)
2015-06-19
20:31
Performance improvements in btreeParseCell() by inlining the varint decoder. (check-in: 172a864d14 user: drh tags: trunk)
20:08
Fix corner cases involving corrupt varint values in record headers. (Closed-Leaf check-in: 3189116b42 user: drh tags: btree-opt)
18:24
Performance improvements in btreeParseCell() by inlining the varint decoder. (check-in: faab0ed928 user: drh tags: btree-opt)
17:19
Add the MemPage.xParseCell method and provide various implementations (variations on the former btreeParseCellPtr()) depending on the page type. (check-in: 41d03d883c user: drh tags: trunk)
15:07
Make cellSizePtr() a method on the MemPage object, with alternative implementations depending on the page type. This results is a small performance improvement and size reduction. (check-in: 02f7e9d7d7 user: drh tags: trunk)
2015-06-18
15:26
Further #ifdef changes in speedtest1.c in order to support SQLite back to version 3.3.9 and perhaps even earlier. (check-in: 9246eca54a user: drh tags: trunk)
14:32
Pervent the likelihood() function from moving ON clause terms of a LEFT JOIN into the WHERE clause. Fix for ticket [5f60b11fc8e23490e2] (check-in: ed96e14adc user: drh tags: trunk)
14:09
Show the values of Expr.flag in the AST of ".selecttrace" (check-in: a84d1004cb user: drh tags: trunk)
12:37
Add #ifdefs to some features speedtest1.c so that it compiles with older versions of SQLite, going back to version 3.5.1. (check-in: f50dd154d3 user: drh tags: trunk)
2015-06-17
23:28
Performance improvement in sqlite3VdbeMemShallowCopy() for the common case where the receiver does not require prior resource deallocation. (check-in: d718ea36dc user: drh tags: trunk)
19:06
Use 'binary' mode for popen with MSVC. (Closed-Leaf check-in: 7b84641e55 user: mistachkin tags: popenMsvc)
18:57
Improve spacing and comment style for the shell. No changes to code. (check-in: 5b547da00d user: mistachkin tags: trunk)
18:24
Improved comments on the fuzzcheck.c test program. No changes to code. (check-in: a7e27d1928 user: drh tags: trunk)
18:18
Merge all recent enhancements and fixes from trunk. (check-in: 199bfb67fd user: drh tags: sessions)
17:08
Fix a uninitialized variable use in the command-line shell when the ".open" command is invoked without any arguments. (check-in: fc4f4d1ecc user: drh tags: trunk)
13:20
Performance optimization and comment fixes for the LIKE and GLOB operators. (check-in: c89d772628 user: drh tags: trunk)
02:11
Make getCellInfo() a real function instead of a macro, for a size reduction and a 0.2% performance gain. (check-in: 55c393ea14 user: drh tags: trunk)
01:31
Optimizations to two VDBE accessory routines for a 0.2% performance increase. (check-in: 66d033b9c9 user: drh tags: trunk)
2015-06-16
16:39
Ensure that the CREATE TABLE AS statement correctly undoes partial changes to the sqlite_master table if the SELECT on the right-hand side aborts with an error. Fix for ticket [873cae2b6e25b] (check-in: 400e025e7c user: drh tags: trunk)
2015-06-15
16:40
Adjust ICU tests to account for recent changes in the official Unicode definition of whitespace. (check-in: 0816525386 user: drh tags: trunk)
16:09
Fix a harmless comment typo. No code changes. (check-in: ae68765218 user: drh tags: trunk)
14:43
Fix harmless compiler warnings. (check-in: b0badb9902 user: drh tags: trunk)
12:58
Improved detection of database corruption in freeSpace(). (check-in: 29bcb56887 user: drh tags: trunk)
10:49
Comment typo fix. No code changes. (check-in: 17f185adb9 user: drh tags: trunk)
2015-06-13
19:05
Added test cases based on Bruce Momjian's talk on SQL NULLs. (Leaf check-in: 68c168b5e5 user: drh tags: is-distinct-from)
11:48
Add the IS DISTINCT FROM and IS NOT DISTINCT FROM operators. (check-in: 0be4478209 user: drh tags: is-distinct-from)
11:19
Omit mutex calls in pcache1 when the mutex is NULL, for a significant performance improvement. (check-in: caf8f574e5 user: drh tags: trunk)
11:10
Avoid unnecessary mutex usage in pcache1, for a significant speedup. (Closed-Leaf check-in: dcf4fb8d76 user: drh tags: faster-pcache1-fetch)
2015-06-12
13:49
Add a fast-path implementation of pcache1Fetch() for the common case of separate caches that do not use a mutex. (check-in: 760700edb3 user: drh tags: faster-pcache1-fetch)
13:04
Minor performance optimization in pcache1.c. (check-in: 2e8ad2ead9 user: drh tags: trunk)
12:54
Add the OP_ColumnsUsed opcode (when compiled with SQLITE_ENABLE_COLUMN_USED_MASK) as a hint to the b-tree layer as to which columns of a btree cursor will be used. (check-in: 711a176cbf user: drh tags: trunk)
2015-06-11
18:01
Merge recent trunk enhancements and fixes. (check-in: c39cb0e257 user: drh tags: sessions)
17:58
Merge trunk fixes. (Leaf check-in: 1df8cbbea6 user: drh tags: view-optimization)
17:26
Add the sqlite3changegroup_xxx() APIs to the sessions module. For combining multiple changesets or patchsets. (check-in: 0c1a901cd6 user: dan tags: sessions)
14:19
Remove stray outputs from the test suite. (check-in: afc6db9b10 user: drh tags: trunk)
13:58
When generating code for partial indexes, be sure not to modify the index condition expression in the schema. (check-in: e63d01c69c user: drh tags: trunk)
2015-06-10
23:02
More test output refinements. (Closed-Leaf check-in: e64a568179 user: mistachkin tags: testerOutput)
22:51
Remove possibly stray output from various tests. (check-in: f38e0be56f user: mistachkin tags: testerOutput)
22:03
Fix minor typo in the quicktest MSVC makefile target. (check-in: 75b65f9d49 user: mistachkin tags: trunk)
20:00
Merge enhancements from trunk. (check-in: 0e23a079bd user: drh tags: view-optimization)
18:53
"test" targets on all makefiles use --verbose=file --output=test-out.txt. Add the new "quicktest" target to all makefiles - designed to run in under three minutes. The --quick option on releasetest.tcl now uses quicktest. (check-in: 6ddef2ad35 user: drh tags: trunk)
17:20
Resolve FROM-clause subqueries after query planning instead of before. Greatly reduce the estimated cost of automatic indexes for VIEWs and ephemeral tables since performance problems there cannot be mitigated via a CREATE INDEX. (check-in: a1eaf1718e user: drh tags: view-optimization)
14:27
Avoid passing constraints that are unusable due to LEFT or CROSS joins to virtual table xBestIndex() methods. (check-in: 7b446771ca user: dan tags: trunk)
10:45
Fix the fts5 xRename() method. (check-in: 0f7fd51325 user: dan tags: fts5)
2015-06-09
20:58
Add the "columnsize=" option to fts5, similar to fts4's "matchinfo=fts3". (check-in: aa12f9d9b7 user: dan tags: fts5)
15:58
Add the --output=$file and --verbose=(0|1|file) options to tester.tcl. (check-in: f7b2c70362 user: dan tags: trunk)
10:58
Remove some repeated lines of source code. Probably introduced by careless cut'n'pasting. (Closed-Leaf check-in: a34cd71c8a user: dan tags: vtab-left-join)
2015-06-08
22:59
Code refactoring to try to shift FROM-clause subquery manifesting until after the query planner runs. Except this does not currently work because the query planner needs an estimated of the number of rows in the manifested table. Work in progress. (check-in: cabf218716 user: drh tags: view-optimization)
19:15
Add the valgrindfuzz target to unix makefile. (check-in: e62aed01f1 user: drh tags: trunk)
18:48
If a query contains "FROM t1 LEFT JOIN t2, t3, t4", ensure that tables t3 and t4 are not scanned before t2. The trunk already does this. (check-in: 0d9edfab9f user: dan tags: vtab-left-join)
18:05
Avoid passing constraints that are unusable due to LEFT or CROSS joins to virtual table xBestIndex() methods. (check-in: 80ee56dda7 user: dan tags: vtab-left-join)
17:42
Fix typo in comment. No changes to code. (check-in: e49c291735 user: mistachkin tags: trunk)
17:40
Split out some source code into new files: wherecode.c, whereexpr.c, and treeview.c. Other minor refactoring changes. (check-in: 50f336818c user: drh tags: trunk)
15:08
Factor out the TreeView parse tree printing module into a separate file. (check-in: c32ce54ca4 user: drh tags: view-optimization)
14:23
Split more subfunctions of where.c out into a new whereexpr.c source file, for improved maintainability. (check-in: 46ef95c108 user: drh tags: view-optimization)
2015-06-06
20:12
Split out the bulk of the actual VDBE code generation logic from where.c into a new file, leaving behind the analysis logic. This makes the original where.c smaller and hopefully easier to edit. (check-in: faa0e420e9 user: drh tags: view-optimization)
19:23
Fix a comment in fts5.h. (check-in: e964b58774 user: dan tags: fts5)
18:30
Code simplifications in select.c and where.c. (check-in: 4f20ac90bc user: drh tags: view-optimization)
16:28
Fix handling of fts5 rowid constraints in the absence of a MATCH clause. Add tests to cover recently added branches. (check-in: 3a9cb64813 user: dan tags: fts5)
00:18
Minor cleanup of the sqlite3Select() procedure. (check-in: f4c90d06bb user: drh tags: view-optimization)
2015-06-05
22:33
Split FROM-clause subquery flattening and code generation into separate loops. (check-in: be8e3fc70e user: drh tags: view-optimization)
20:27
Provide one final Select tree dump prior to WHERE clause analysis when ".selecttrace 0x400" tracing bit is set with SELECTTRACE_ENABLED. Analysis and debug changes only - normal builds are unaffected. (check-in: 283bf0b64d user: drh tags: trunk)
19:05
Make use of range constraints on the rowid field of an fts5 table in full-text queries. (check-in: 32cbc0ed36 user: dan tags: fts5)
15:59
Add a new opcode to the VDBE that gives the b-tree a hint about the set of columns in a table or index that are actually used by the query. (Closed-Leaf check-in: f167bba446 user: drh tags: column-usage-hint)
2015-06-04
12:08
Change the name of SrcList.a[].zIndex to the more descriptive SrcList.a[0].zIndexedBy. (check-in: 6a9cf06337 user: drh tags: trunk)
2015-06-03
11:23
Fix an fts5 problem in extracting columns from position lists containing large varints. (check-in: 4ea015ab98 user: dan tags: fts5)
2015-06-02
19:38
Change the fts5 multi-column syntax to use parenthesis instead of square brackets. (check-in: ab85a6fc4f user: dan tags: fts5)
19:36
Always check for cell overflow before returning a slot from the pageFindSlot routine in btree.c. (check-in: 9f035c45a4 user: drh tags: trunk)
18:09
For FROM-clause subqueries that cannot be flattened, try to push relevant WHERE clause terms of the outer query down into the subquery in order to help the subquery run faster and/or use less memory. Call this the "WHERE-clause push-down optimization". Do not confuse this with the completely different MySQL push-down optimization. (check-in: 6df18e949d user: drh tags: trunk)
18:07
Merge latest trunk changes with this branch. (check-in: c9ffda4abb user: dan tags: fts5)
17:57
Reimplement [ec69e09a] so that each call to the xNext() method does not involve two iterations of the match expression tree (only one). (check-in: 80fe305b3e user: dan tags: fts5)
17:25
Add test cases for type affinity rules. (check-in: 9678646d9a user: drh tags: trunk)
16:19
Rename SQLITE_AFF_NONE to SQLITE_AFF_BLOB to avoid confusion with "no affinity". (check-in: 29ad9e9173 user: drh tags: trunk)
16:09
Add the built-in affinity() SQL function. This turns out to be not as useful as originally envisioned, so abandon it on a branch. (Leaf check-in: 80889306bf user: drh tags: affinity-func)
15:32
Rename SQLITE_AFF_NONE to SQLITE_AFF_BLOB. (Closed-Leaf check-in: bce3f04186 user: drh tags: blob-affinity-rename)
14:02
Fix a faulty assert() in btree.c. Update the database fuzz test file with new test cases. (check-in: 4e621af134 user: drh tags: trunk)
09:20
Add the "finish_test" command to the end of new test script sessionE.test. (check-in: fb39140707 user: dan tags: sessions)
09:19
Modify the sessions module to ignore all operations on tables with no primary keys as documented. (check-in: bdaf9575cd user: dan tags: sessions)
2015-06-01
20:28
For FROM-clause subqueries that cannot be flattened, try to push WHERE clause terms of the outer query down into the subquery in order to help the subquery run faster and/or use less memory. (Closed-Leaf check-in: 297fae7551 user: drh tags: subquery-opt)
19:17
Improve performance of the fts5 AND operator. (check-in: b43e9a5b7a user: dan tags: fts5)
18:13
Corrections to comments in expr.c. No code changes. (check-in: f925389eaf user: drh tags: trunk)
17:32
Break out the query flattener into a separate source-code file. (Closed-Leaf check-in: e3fa8b936b user: drh tags: flattener-in-new-file)
11:10
Typo fixes and additional background information in README.md. (check-in: 9b8e5823bc user: drh tags: trunk)
09:15
Change fts5 expression processing to avoid linear scans of long doclists caused by phrases that match specific columns only. (check-in: ec69e09a55 user: dan tags: fts5)
2015-05-30
22:57
Updates to configure.ac to help it find where the TCL libraries hidden on Ubuntu 14.04. (check-in: c864ff912d user: drh tags: trunk)
22:05
Fix minor typo in comment. No changes to code. (check-in: 73fc058b3a user: mistachkin tags: trunk)
11:49
Remove the "#include sqlite3Int.h" from fts5Int.h. (check-in: e008c3c8e2 user: dan tags: fts5)
2015-05-29
19:04
Import recent enhancements from trunk. (check-in: 54bec164eb user: drh tags: sessions)
19:00
Add extra tests and fixes for multi-column matches. (check-in: ae6794ffa2 user: dan tags: fts5)
18:42
Ensure that allocateBtreePage() always clears the MemPage pointer when it fails due to an I/O or memory allocation error. (check-in: 09a38bf665 user: drh tags: trunk)
17:51
Move two unreachable conditionals inside of NEVER() or assert(). (check-in: db4e9728fa user: drh tags: trunk)
17:13
Remove a corruption test in balance_nonroot that is superceded by a prior better check. (check-in: 00693682d8 user: drh tags: trunk)
15:55
Add syntax to fts5 used to specify that a phrase or NEAR group should match a subset of columns. For example "[col1 col2 ...] : <phrase>". (check-in: 0fc0ea2092 user: dan tags: fts5)
15:15
Omit the rowallock.test script (Read-Only WAL lock) from the inmemory_journal permutation. (check-in: d21db33089 user: drh tags: trunk)
14:47
Add support for automatic indexes on FROM-clause subqueries that are implemented via co-routine. (check-in: 020b8b106f user: drh tags: trunk)
14:36
Add some extra source-code comments and a test case. (Closed-Leaf check-in: 6d410442fb user: drh tags: coroutine-autoindex)
13:55
An attempt to allow automatic index creation on subqueries accessed via co-routine. (check-in: 521345add6 user: drh tags: coroutine-autoindex)
01:35
Using "SELECT ALL" instead of just "SELECT" on a query that uses a single unflattenable subquery or view in its FROM clause will force the subquery to be manifested into a temporary table rather than run incrementally using a co-routine. This is a stop-gap means of controlling the decision to manifest while we try to work out a better to make that decision automatically. (check-in: a29e117d7e user: drh tags: trunk)
2015-05-28
19:57
Optimizations for fts5 queries that match against a specific column. (check-in: b29ac50af0 user: dan tags: fts5)
15:14
Added comments and testcase() macros to error cases in the btree search. (check-in: 7da7dc714b user: drh tags: trunk)
14:37
Remove some dead code from fts5. Add auxiliary function api tests to the same. (check-in: 0f9df202cc user: dan tags: fts5)
11:23
Earlier detection of incompatible sibling pages in balance_nonroot. (check-in: 60a09f17d8 user: drh tags: trunk)
03:45
Add new test cases to the fuzzdata3.db set of database fuzz tests. (check-in: 467b13a401 user: drh tags: trunk)
03:28
Add the btreeGetUnusedPage() routine to btree.c, and use it to detect content pages on the freelist and to cause that condition to trigger an SQLITE_CORRUPT. (check-in: fe15d1f703 user: drh tags: trunk)
00:54
Do not attempt to take any write lock on a read-only database on Windows. (check-in: a47ff0cdab user: drh tags: trunk)
2015-05-27
19:35
The fuzzoomtest makefile target is no longer supported, so update releasetest.tcl accordingly. (check-in: 06959d4ada user: drh tags: trunk)
18:19
Fix a minor and harmless memory leak in fuzzcheck. Adjust the makefiles to run fuzzcheck with --quiet on valgrind tests. (check-in: 8bfe834432 user: drh tags: trunk)
18:13
All bytes of a page are initialized, even bytes that follow a 2-byte cell on a malformed page. (check-in: 7373a004ed user: drh tags: trunk)
15:42
A different approach to preventing buffer overreads when comparing a vector of values with a corrupt index record that spans at least one overflow page. (check-in: 95eaa49f4e user: drh tags: trunk)
15:10
Disallow the use of "rowid" in CTEs - it has never worked correctly and it makes no sense, so we might as well make it an explicit error. Also: add the PRAGMA cell_size_check=ON command. (check-in: 19e2cebc12 user: drh tags: trunk)
14:21
A different approach to preventing buffer overreads when comparing a vector of values with a corrupt index record that spans at least one overflow page. (Closed-Leaf check-in: 7e9e1b6123 user: dan tags: avoid-buffer-overread)
13:06
CTEs have never had working rowids. So disallow the use of the "rowid" column within CTEs. (Closed-Leaf check-in: 0055df0445 user: drh tags: no-rowid-in-cte)
03:46
Add the "PRAGMA cell_size_check=ON" command. (Closed-Leaf check-in: 2ead43f074 user: drh tags: cell-size-check-pragma)
2015-05-26
20:31
Avoid a buffer overread when comparing against a corrupt record that spans at least one overflow page. (check-in: 62a5b3633a user: dan tags: trunk)
20:07
Avoid branching on an uninitalized variable when comparing SQL values with the undefined serial types 10 and 11 (which only appear in corrupt databases). (check-in: b4a45d3b78 user: dan tags: trunk)
19:08
The "make fuzztest" target now uses fuzzcheck instead of fuzzershell. Test data is added for database fuzz testing. (check-in: 5e3e410bf4 user: drh tags: trunk)
19:01
Merge accidental fork. (Closed-Leaf check-in: e85628e34a user: dan tags: test-using-fuzzcheck)
18:58
Fix a one-byte buffer overread that may follow a syntax error while preparing an SQL statement. (check-in: 075003930d user: dan tags: test-using-fuzzcheck)
18:58
Fix fuzzcheck so that it responds correctly to the TEST_FAILURE environment variable. (check-in: 76770c9e06 user: drh tags: test-using-fuzzcheck)
18:22
Simplifications and minor optimizations to fts5 prefix queries that cannot use a prefix index. (check-in: aef89d9f6a user: dan tags: fts5)
18:15
The "make fuzztest" target now uses fuzzcheck instead of fuzzershell. (check-in: 4a5f6f1f01 user: drh tags: test-using-fuzzcheck)
17:57
Enhance fuzzcheck with the ability to store descriptions in each source database and to run multiple source databases in a single invocation. (check-in: 193364c81c user: drh tags: trunk)
17:33
Add a cast to one side of the test added by [97806a78] in order to avoid a signed/unsigned comparison warning. (check-in: 5b46d2a78a user: dan tags: trunk)
17:29
Avoid using a zero-sized array within a struct in fts3 code. (check-in: b05cae36ce user: dan tags: trunk)
16:12
Fix another bug in the in-memory VFS for fuzzcheck. (check-in: 16878a314b user: drh tags: trunk)
14:57
Update test cases in corruptI.test so that they work with both SQLITE_ENABLE_OVERSIZE_CELL_CHECK and SQLITE_DEFAULT_AUTOVACUUM builds. (check-in: 22a1466378 user: dan tags: trunk)
12:18
Return SQLITE_CORRUPT to the user if an attempt is made to add database page 1 to the free page list. (check-in: 68876003f9 user: dan tags: trunk)
11:53
Fix a problem with ignoring UNIQUE constraints on WITHOUT ROWID tables rendered redundant by the PRIMARY KEY. (check-in: 3b936913f3 user: dan tags: trunk)
03:31
Silence harmless compiler warnings when building the command line utilities with MSVC. (check-in: d26060c468 user: mistachkin tags: trunk)
03:24
Add fuzzcheck to makefile clean targets. Also, for consistency, replace a few tabs with spaces. (check-in: eda2a43750 user: mistachkin tags: trunk)
00:28
Add the --result-trace option to fuzzcheck, and other interface enhancements. (check-in: c415bb7bbf user: drh tags: trunk)
2015-05-25
23:14
Fix an important bug in the xRead method of the in-memory VFS for fuzzcheck. (check-in: 58cd40e89f user: drh tags: trunk)
22:38
Add the fuzzcheck test program. (check-in: 341cb6abe7 user: drh tags: trunk)
22:29
Add fuzzcheck to all makefiles and fix compiler warnings. (Closed-Leaf check-in: 7b3d21906a user: drh tags: fuzzcheck)
22:18
Merge in trunk fixes. (check-in: c71c2e1a99 user: drh tags: fuzzcheck)
22:17
Improved tracing capabilities in fuzzcheck. (check-in: 864bfdbfe7 user: drh tags: fuzzcheck)
21:59
Add the --native-vfs option on fuzzcheck. (check-in: 12e95e3f17 user: drh tags: fuzzcheck)
20:04
Fix a case of a corrupt database causing SQLite to read from up to 4 bytes before the start of a memory allocation. (check-in: 7d2c4f7b66 user: dan tags: trunk)
19:37
Merge the btree fixes out of trunk. (check-in: f3cd8cecf4 user: drh tags: fuzzcheck)
19:35
Add the --dbid and --sqlid parameters to fuzzcheck. Other fuzzcheck fixes. (check-in: 75ec9299fa user: drh tags: fuzzcheck)
19:24
Have the b-tree layer return SQLITE_CORRUPT to any attempt to open a cursor with a root page number less than 1. (check-in: aa18c8e9d1 user: dan tags: trunk)
18:48
First code for a new utility program to rerun checks on a large number of fuzzer-generated test cases. (check-in: c5b4e36352 user: drh tags: fuzzcheck)
18:47
Fix a couple of btree asserts that would fail when encountering 32-bit rollover in cell payload size fields (cell payloads this large always indicate corruption). (check-in: 8fa0937a2f user: dan tags: trunk)
17:07
Fix a case where database corruption may cause SQLite to write past the end of a buffer. (check-in: 97806a7814 user: dan tags: trunk)
15:03
Fix an assert() in btree routine freeSpace() that may be false if the database is corrupt. (check-in: 00a473c561 user: dan tags: trunk)
11:46
Avoid redundant loads from the %_data table in the fts5 code. (check-in: 02069782f8 user: dan tags: fts5)
10:57
Fix an fts4 matchinf() problem triggered by deferred tokens that are part of phrases that are part of AND expressions. (check-in: f1e942a1dd user: dan tags: trunk)
10:29
Fix an obsolete comment - no changes to code. (check-in: 4e4228c47f user: drh tags: trunk)
09:33
Remove an incorrect and pointless assert(). (check-in: 8c3929bd42 user: drh tags: trunk)
2015-05-24
21:46
The assert() changes removed in the previous check-in are needed after all. (check-in: 336fccc84c user: drh tags: trunk)
21:09
Better detection of corruption in allocateSpace() in btree.c. (check-in: bf7bb53ee2 user: drh tags: trunk)
10:18
Detect database corruption in the modifyPagePointer() routine and abort. (check-in: 4f0bba42f9 user: drh tags: trunk)
2015-05-23
19:53
Instead of early detection of corruption in balance_nonroot, simply ignore the error, as it is harmless and exceedingly uncommon. (check-in: 7bbf9b3cd6 user: drh tags: trunk)
19:29
Earlier detection of a specific kind of corruption in the balance_nonroot() routine. (check-in: ee6dc9913a user: drh tags: trunk)
15:43
Avoid making redundant copies of position-lists within the fts5 code. (check-in: 5165de548b user: dan tags: fts5)
02:44
Minor documentation improvements. No changes to code. (check-in: e446d9ce00 user: drh tags: trunk)
2015-05-22
23:51
Merge bug fixes from trunk. (check-in: 519054bb72 user: drh tags: sessions)
23:50
Improved error messages in fuzzershell when unable to open the database. (check-in: c404fcace8 user: drh tags: trunk)
23:45
Fix a bug in fuzzershell caused by an uninitialized local variable. (check-in: 745deab87a user: drh tags: trunk)
23:39
Fix another bad assert() in btree - one that can be false on a corrupt database file. (check-in: 89f0bbfde4 user: drh tags: trunk)
23:26
Merge enhancements from trunk, including the new sqlite3_value_dup() API and the addition of the apSqlParam field in the sqlite3_rtree_query_info object of R-Tree. (check-in: cdc0ca6fb3 user: drh tags: sessions)
23:17
Fix incorrect validation of the size of the BLOB returned by a geometry function on the RHS of a MATCH operator in RTree. The old code worked for 64-bit systems (by chance) but fails on 32-bit. (check-in: 10cc44f5a6 user: drh tags: trunk)
21:12
Add the sqlite3_value_dup() and sqlite3_value_free() interfaces. Use these interfaces to enhance R-Tree to add the sqlite3_rtree_query_info.apSqlParam field. (check-in: c1814242e6 user: drh tags: trunk)
21:04
Make sure sqlite3_value_dup() works correctly even for sqlite3_value objects that are marked SQLITE_STATIC. (Closed-Leaf check-in: f332ffc39b user: drh tags: value-dup)
19:55
Fix minor issues with the sqlite3_value_dup() interface. (check-in: 95edcf5010 user: drh tags: value-dup)
18:40
Update with fixes and enhancements from trunk. (check-in: 9605d008f5 user: drh tags: value-dup)
17:29
The SRT_Table type for the SelectDest object is now just an SRT_EphemTab for which the ephemeral table has already been allocated. (check-in: b9727e6bbf user: drh tags: trunk)
16:08
Have r-tree prefer to use the constraint "col MATCH ?" over "rowid = ?". (check-in: b9fb95194d user: dan tags: trunk)
13:09
Fix two faulty assert statements discovered by fuzzing. (check-in: 799817bfb2 user: drh tags: trunk)
12:37
Fix an assert in btree.c that can be false when using a corrupted database file. (check-in: a6eb2a3935 user: drh tags: trunk)
11:38
Add the --database option to the fuzzershell test program. (check-in: c6d5512f4b user: drh tags: trunk)
07:44
Increase test coverage of fts5_vocab.c. (check-in: 065ab83a6c user: dan tags: fts5)
06:08
Improve test coverage of fts5_unicode2.c. (check-in: fea8a4db9d user: dan tags: fts5)
2015-05-21
20:26
Have r-tree prefer to use the constraint "col MATCH ?" over "rowid = ?". drh added later: All changes on this branch have been cherrypicked to trunk and will be merged into sessions from trunk. So this branch can close. (Closed-Leaf check-in: b9e45596d8 user: dan tags: sessions-value-dup)
17:24
Prevent a virtual table from being destroyed while it is in use. Also: replace Vdbe.inVtabMethod with sqlite3.nVDestroy. Simplify the EXPLAIN output for P4.pVtab to only show the sqlite3_vtab pointer. Cherrypick of [cbeb9a1aed8c]. (check-in: b3bb660af9 user: dan tags: branch-3.8.6)
17:21
Avoid ever writing before the start of an allocated buffer in the DIRECT_OVERFLOW_READ code. Fix for [e3a290961a6]. Cherrypick of [c3c15d20c691]. (check-in: 31b13eb528 user: dan tags: branch-3.8.6)
02:24
Silently ignore any attempt to add a prefix index for prefixes zero bytes in size to an fts3/4 table. Or any prefix index size so large that it overflows a 32-bit signed integer. Cherrypick [ad4b19d2ac0889a] (check-in: 000197cc4e user: drh tags: branch-3.7.11)
02:20
Ensure that tables names are dequoted exactly once by the trigger logic. Cherrypick [59e92bd9521f1e8] and [9d887b92f8086961e]. (check-in: 9e3f64a4f4 user: drh tags: branch-3.7.11)
02:07
When parsing the schema, ignore any SQL that does not begin with "CREATE". Cherrypick of [d3c00d61581c] with additional changes. (check-in: 09784f376b user: drh tags: branch-3.7.11)
01:04
Do not allow virtual table constructors to be called recursively. Cherrypick [0a72726da21581ab] (check-in: 0f0694e424 user: drh tags: branch-3.7.11)
00:50
Add the ".open" command to the command-line shell. Cherrypick from [21eccb919441]. (check-in: a71e2a72c5 user: drh tags: branch-3.7.11)
2015-05-20
22:01
Add the sqlite3_value_dup() and sqlite3_value_free() interfaces and use those to add the sqlite3_rtree_query_info.apSqlParam field to the query callback in R-Tree. (check-in: 2007391cec user: drh tags: sessions-value-dup)
21:28
Add the sqlite3_value_dup() and sqlite3_value_free() interfaces. Use these interfaces to enhance R-Tree to add the sqlite3_rtree_query_info.apSqlParam field. (check-in: a7ee40c4fc user: drh tags: value-dup)
20:50
Fix a problem in test file e_reindex.test. Cherrypick of [5b3de9390f2f]. (check-in: 80633682d7 user: dan tags: branch-3.8.6)
20:34
Fix a problem causing the fts3 integrity-check to fail if run inside a transaction. Cherrypick of [3b925189a75e]. (check-in: 7d7d633c71 user: dan tags: branch-3.8.6)
20:30
Ensure that tables names are dequoted exactly once by the trigger and FK logic. Cherrypick of [59e92bd9521f] and [9d887b92f808]. (check-in: bd357739d7 user: dan tags: branch-3.8.6)
20:27
Fix an obscure problem with "INSERT INTO tbl(cols) SELECT" statements where the SELECT is a compound with an ORDER BY and "cols" is a strict subset of tbl's columns. Cherrypick of [718d5d0eab04]. (check-in: 3cd2b77221 user: dan tags: branch-3.8.6)
20:24
Fix a potential NULL pointer deference on a corrupt database schema. Cherrypick of [dc61b292d8ea]. (check-in: 7f3943fb01 user: dan tags: branch-3.8.6)
20:21
Fix a bug caused by cherrypicking from a branch that assumes sqlite3_stricmp() can handle NULL arguments. (check-in: 2c649cdf7e user: dan tags: branch-3.8.6)
19:57
When parsing the schema, ignore any SQL that does not begin with "CREATE". Cherrypick of [d3c00d61581c]. (check-in: 0da229b81a user: dan tags: branch-3.8.6)
19:53
Detect and report oversized records constructed from multiple zeroblobs. Cherrypick of [9e139afd9211]. (check-in: 4a08f6b8bb user: dan tags: branch-3.8.6)
19:50
Do not allow virtual table constructors to be called recursively. Cherrypick of [0a72726da215] (check-in: 023a29baf0 user: dan tags: branch-3.8.6)
19:48
Avoid signed integer overflow when converting oversized in-line integer widths and precisions in printf(). Cherrypick of [c494171f77dc], [5ce4e7d7651e], [95625ef3adc3] and [8e4ac2ce2441]. (check-in: b330c7ff6f user: dan tags: branch-3.8.6)
19:44
Ensure that comparison operators do not mess up the MEM_Dyn flag on registers when reverting affinity changes. Cherrypick of [02e3c88fbf6a]. (check-in: 4125477e63 user: dan tags: branch-3.8.6)
19:34
Fix a problem causing collation sequence names to be dequoted multiple times under some circumstances. Cherrypick of [eddc05e7bb31]. (check-in: fc1a4f293c user: dan tags: branch-3.8.6)
19:32
Silently ignore any attempt to add a prefix index for prefixes zero bytes in size to an fts3/4 table. Or any prefix index size so large that it overflows a 32-bit signed integer. Cherrypick of [ad4b19d2ac0889a2]. (check-in: ff7be4db84 user: dan tags: branch-3.8.6)
18:17
Version 3.8.10.2 (check-in: 2ef4f3a5b1 user: drh tags: release, version-3.8.10.2, branch-3.8.10)
17:36
Fix the initialization logic in CREATE TABLE AS so that the correct affinities are applied to all values being inserted into the new table, even if the RHS is a compound SELECT. Fix for ticket [f2ad7de056ab1dc9200]. (check-in: 6a0cf3ce9e user: drh tags: trunk)
17:25
Add a test case to verify that CREATE TABLE AS does not store INT values in TEXT columns. Ticket [f2ad7de056ab1dc92]. (Closed-Leaf check-in: 0e45e8f157 user: drh tags: create-table-as-type-fix)
17:18
Simplification of the initialization code for CREATE TABLE AS. (check-in: 937f659e89 user: drh tags: create-table-as-type-fix)
15:51
A proposed fix for the problem of CREATE TABLE AS generating a table that has INTEGER values in a TEXT column. Ticket [f2ad7de056ab1dc92]. (check-in: d5e2c1fc76 user: drh tags: create-table-as-type-fix)
09:27
Improve test coverage of fts5_tokenize.c. (check-in: 0e91a6a520 user: dan tags: fts5)
00:15
Fix handling of queries with VALUES on the left and UNION ALL SELECT on the right and a LIMIT clause. (check-in: c403502cdc user: drh tags: trunk)
2015-05-19
23:56
Enhance the selecttrace display by showing Select.selFlags. (check-in: 45d3893c61 user: drh tags: trunk)
23:04
Merge the Makefile.msc fix and the compiler warning fix from trunk. Also fix another compiler warning in sqlite3session_diff(). (check-in: 7530e1bf55 user: drh tags: sessions)
22:56
Fix the MSVC makefile so that it works with OTA. Fix a harmless compiler warning in FTS3. (check-in: c7b1664530 user: drh tags: trunk)
22:42
Merge recent trunk changes, include the R-Tree enhancement that allows 8-byte BLOB arguments to geometry functions, and the fix for the TEXT affinity problem that could cause corrupt indexes. (check-in: 0a0de8b72c user: drh tags: sessions)
22:20
Allow R-Tree geometry functions to take 8-byte BLOB arguments which are passed directly through to the underlying callback, and which can be used to pass pointers into the callback. (check-in: b271ed5653 user: drh tags: trunk)
19:52
Ensure that when the VM applies TEXT affinity to a value it discards any existing REAL or INTEGER value. Fix for [34cd55d6]. Increase the version number to 3.8.10.2. (check-in: 40f67265c4 user: drh tags: branch-3.8.10)
19:44
Ensure that when the VM applies TEXT affinity to a value it discards any existing REAL or INTEGER value. Fix for [34cd55d6]. (check-in: f5d0ce8079 user: dan tags: trunk)
19:37
Add tests for fts5 tokenizers. (check-in: 4f90ba20e2 user: dan tags: fts5)
17:48
Remove the sqlite3ota_open_v2() API. Add a new parameter to sqlite3ota_open() instead. (check-in: c74e0bc481 user: dan tags: trunk)
16:50
Merge the ota-update branch with trunk. (check-in: 08e2864ed7 user: dan tags: trunk)
16:26
Add a comment for SQLITE_FCNTL_OTA to sqlite.h.in. (Closed-Leaf check-in: efa20f8e41 user: dan tags: ota-update)
16:22
Allow OTA update state data to be stored in a database separate from the OTA update database. (check-in: 5af8db56af user: dan tags: ota-update)
14:14
Merge latest trunk changes with this branch. (check-in: 6055a6725c user: dan tags: ota-update)
11:38
Update Makefile.in so that the amalgamation files built by "make sqlite3.c" include fts5. (check-in: 2870a80593 user: dan tags: fts5)
11:32
Fix a memory leak that could follow an OOM condition in fts5. (check-in: de9f8ef6eb user: dan tags: fts5)
2015-05-18
20:34
Improve test coverage of fts5_storage.c. (check-in: 4dfe2e5871 user: dan tags: fts5)
18:24
Fix a bug in test script fts5fault4.test. (check-in: a508059305 user: dan tags: fts5)
18:03
Add a test for an untested branch in fts5_expr.c. (check-in: ce08206b5c user: dan tags: fts5)
17:50
Improve test coverage of fts5_config.c. (check-in: 47dbfadb99 user: dan tags: fts5)
12:28
Transitive constraints should only work if operands have compatible affinities and collating sequences. (check-in: 5df4056448 user: drh tags: trunk)
12:18
Use an ALWAY() on conditionals in the transitive constraint logic that are always true as far as we know. (Closed-Leaf check-in: 204e567f68 user: drh tags: transitive-constraints)
11:34
Refinements to the determination of when an A==B term is an equivalence. Add test cases. (check-in: 6bfaf525ca user: drh tags: transitive-constraints)
04:24
Make a hard copy of the results of a subquery lest the result of the subquery be referenced after a change to the table that generated the subquery result. (check-in: 9c0d80907b user: drh tags: trunk)
2015-05-16
20:51
Further restrictions on the use of the transitive property in WHERE clauses. (check-in: 8c886c43ff user: drh tags: transitive-constraints)
20:04
Further test coverage improvements for fts5. (check-in: 927d9a64e1 user: dan tags: fts5)
19:17
Fix the transitive constraint processing to only allow transitivity if the operands of the == or IS operator have compatible affinities. (check-in: a46a247fbc user: drh tags: transitive-constraints)
18:31
Fix a typo in a comment. No changes to code. (check-in: ee4b74250a user: drh tags: trunk)
03:41
Improve the clean target in the MSVC makefile. (check-in: 2c1039d454 user: mistachkin tags: trunk)
2015-05-15
22:20
Update the README.md file at the top of the repository so that the homepage of Git mirrors of SQLite direct users to the official repository. (check-in: 08f11980ef user: drh tags: trunk)
20:14
Minor coding style change, adjust new local variable casing for consistency. (check-in: 1a4628c66c user: mistachkin tags: trunk)
19:59
Do not assume that "col IS ?" matches at most a single row of a UNIQUE column unless the column is also NOT NULL. (check-in: e038ce8955 user: dan tags: trunk)
18:13
Improve test coverage of fts5_index.c. (check-in: 7aea8c6d99 user: dan tags: fts5)
12:18
Add test cases. And some fixes. (check-in: adee788586 user: dan tags: fts5)
04:13
Simplifications to error message processing. Fix a possible problem in error message formatting when vacuuming a database with a corrupt schema. (check-in: 56ef98a047 user: drh tags: trunk)
2015-05-14
15:39
Increase the version number to 3.8.11. Upgrade autoconf from 2.62 to 2.69. (check-in: be438d049d user: drh tags: trunk)
15:17
Merge in the IS-operator enhancements and other recent changes from trunk. (check-in: 4f9229445c user: drh tags: sessions)
14:32
The IS operator can now use indexes the same as the == operator. (check-in: 3428043cd0 user: drh tags: trunk)
14:03
A few more test cases for the IS operator. (Closed-Leaf check-in: f397c8622a user: drh tags: index-is-operator)
13:41
More test cases. Remove some invalid testcase() macros. Rearrange some code for improved testability. (check-in: b3676377b2 user: drh tags: index-is-operator)
13:18
Add testcase() macros. Get transitive WHERE clause constraints on IS operators working again. (check-in: d195d4a65d user: drh tags: index-is-operator)
09:53
Merge changes from the index-is-operator branch into this one. Drop the partial support added for IS on this branch by [52e73eec]. (check-in: 16ab9cafd0 user: dan tags: ota-update)
08:58
Merge latest trunk changes with this branch. (check-in: 299ed55c90 user: dan tags: ota-update)
01:05
A new implementation of indexing with the IS operator that works correctly when the IS operator is in the WHERE clause and the operands are from opposite sides of a LEFT JOIN. (check-in: 4541688b3f user: drh tags: index-is-operator)
2015-05-13
19:33
Simplified implementation of indexing with the IS operator. (check-in: 95b1f9bf14 user: drh tags: index-is-operator)
18:12
Merge latest trunk changes with this branch. (check-in: b5f0e8c5b4 user: dan tags: fts5)
17:54
Add testcase() macros and comments and a few test-cases. (check-in: 24263d08b1 user: drh tags: index-is-operator)
17:15
Change fts5 doclist-index structures to be trees instead of flat lists. This only makes a difference for databases that contain millions of instances of the same token. (check-in: aa34bf666c user: dan tags: fts5)
15:24
An early attempt to get indexes to work with the IS operator. This code passes tests, but much more testing is needed to verify that it works on all corner cases. (check-in: 6f7f1673d0 user: drh tags: index-is-operator)
04:52
Merge updates from trunk. (Leaf check-in: 10ee36d012 user: mistachkin tags: get-trace)
04:50
Enhancements to the MSVC makefile. (check-in: 59e3e9e764 user: mistachkin tags: trunk)
2015-05-12
23:33
Use the database mutex where applicable. (check-in: 28cfdabc47 user: mistachkin tags: get-trace)
23:31
Fix a couple of typos in comments. (check-in: e908365fae user: mistachkin tags: get-trace)
23:28
Improve API armor integration. Fix harmless compiler warnings. (check-in: fbf29b453f user: mistachkin tags: get-trace)
23:20
Modify the new functions to make them return a standard return code. (check-in: 02f694d5ba user: mistachkin tags: get-trace)
21:27
Experimental API extension for recovering the current trace and profile callbacks on a database connection. (check-in: 9de33768ff user: drh tags: get-trace)
19:53
Fix typo in Win32 VFS code enabled when the SQLITE_WIN32_USE_UUID compile-time option is used. (check-in: b33f1bacfd user: mistachkin tags: trunk)
19:10
Attempt to get DBSTAT to compile without warnings across all build configurations. (check-in: c3cbe3b06e user: drh tags: trunk)
14:22
Fix a compiler warning when building with tclsqlite3.c and without SQLITE_ENABLE_DBSTAT_VTAB. (check-in: aad3ff257a user: drh tags: trunk)
13:32
Improvements to documentation of the sqlite3_column_xxxxx() interfaces. No code changes. (check-in: f1aa951a33 user: drh tags: trunk)
12:24
Try to get recent sqlite3_analyzer and sqldiff tests working for all tested combinations of compile-time options, especially SQLITE_OMIT_VIRTUALTABLE and SQLITE_OMIT_LOAD_EXTENSION. (check-in: 07c7d3925c user: drh tags: trunk)
00:46
Fix sqldiff.exe so that it always runs in single-thread mode. (check-in: c223910e72 user: drh tags: trunk)
2015-05-11
19:01
Add new fts3 matchinfo option 'b'. Also optimize existing option 'y'. (check-in: 2e7679a1df user: dan tags: trunk)
18:48
Add missing "finish_test" commands to the end of the two new test scripts for sqlite3_analyzer and sqldiff. (check-in: 1d5e72b1c4 user: drh tags: trunk)
18:46
Merge latest trunk changes into this branch. (Closed-Leaf check-in: 82e5a6e088 user: dan tags: fts3-matchinfo-y)
17:46
Test cases for sqlite3_analyzer and sqldiff. Fix a problem with sqlite3_analyzer related to the renaming of the initialization routine. (check-in: 85a4a46c3b user: drh tags: trunk)
16:27
Fix minor Makefile typos. Improve consistency of MSVC makefile. Add new targets to clean. (check-in: f84fbe9899 user: mistachkin tags: trunk)
12:15
Build the sqlite3_analyzer.exe and sqldiff.exe programs on "make test" and "make smoketest" and other similar test targets. (check-in: 1b83f2e7dd user: drh tags: trunk)
11:59
Revamp the way the DBSTAT virtual table is registered. (check-in: 4e6520159e user: drh tags: trunk)
06:22
Change autoconf/Makefile.am to avoid building target sqlite3.o as part of both the shared library and shell tool. Doing so causes problems for parallel builds. (check-in: 85bfa9a67f user: dan tags: trunk)
2015-05-10
02:01
Fix the sqlite3_memory_used() and sqlite3_memory_highwater() interfaces so that they really do provide a 64-bit answer. (check-in: 8a0d5d5e9a user: drh tags: trunk)
2015-05-09
18:28
Allow the fts5vocab table to optionally provide data on a per-column basis. (check-in: 3922276135 user: dan tags: fts5)
12:14
Version 3.8.10.1 (check-in: 05b4b1f2a9 user: drh tags: trunk, release, version-3.8.10.1)
10:27
Bump the version number to 3.8.10.1 (check-in: 9c6bf0c186 user: drh tags: trunk)
2015-05-08
20:21
Add the fts5vocab module, for direct access to the fts5 index. (check-in: 6bf93e3b56 user: dan tags: fts5)
09:21
Improve the error message returned by FTS5 if it encounters an unknown file format. (check-in: f369caec14 user: dan tags: fts5)
01:04
Fix harmless compiler warning with MSVC. (check-in: 902d0cb8e3 user: mistachkin tags: trunk)
00:58
Remove a couple stray test breakpoint calls. (check-in: 2860cebeea user: mistachkin tags: trunk)
2015-05-07
20:26
Add an entry to sqlite3_compileoption_used() for SQLITE_ENABLE_DBSTAT_VTAB. (check-in: 480b4cb042 user: drh tags: trunk)
19:29
Change to storing all keys in a single merge-tree structure instead of one main structure and a separate one for each prefix index. This is a file-format change. Also introduce a mechanism for managing file-format changes. (check-in: a684b5e2d9 user: dan tags: fts5)
18:29
Testing improvements and corner-case bug fixes for the dbstat virtual table. (check-in: d51ce53932 user: drh tags: trunk)
14:41
Enhance the dbstat virtual table with the ability to analyze ATTACHed databases. (check-in: 25ec09400b user: drh tags: trunk)
12:29
Merge in the 3.8.10 release changes. (check-in: 0404ef885e user: drh tags: sessions)
11:53
Version 3.8.10 (check-in: cf975957b9 user: drh tags: trunk, release, version-3.8.10)
00:09
Remove a faulty assert() statement. (check-in: 5f2539da8c user: drh tags: trunk)
2015-05-06
18:15
Merge latest trunk changes with this branch. (check-in: 8a13e1fdbe user: dan tags: fts3-matchinfo-y)
17:51
Remove some dead code from fts3_snippet.c. (check-in: 46b2d3cef5 user: dan tags: fts3-matchinfo-y)
17:41
More optimization for the 'y' and 'b' matchinfo directives. (check-in: 8c5b9fedfc user: dan tags: fts3-matchinfo-y)
14:18
Have the autoconf package build the shell tool with SQLite linked in statically. (check-in: 31834c3aa7 user: dan tags: trunk)
08:43
Further optimizations for the 'y' and 'b' matchinfo operators. (check-in: fbd038bb57 user: dan tags: fts3-matchinfo-y)
2015-05-05
20:39
Add the fts3 matchinfo 'b' flag. (check-in: b9b77972d8 user: dan tags: fts3-matchinfo-y)
19:37
Optimizations for the matchinfo() function, particularly the 'y' flag. (check-in: dddd7e1829 user: dan tags: fts3-matchinfo-y)
18:52
Remove four lines of superfluous code identified by clang scan-build. (check-in: 04afa3febe user: drh tags: trunk)
17:12
Merge all trunk enhancements and fixes into the sessions branch. (check-in: de7083cfe2 user: drh tags: sessions)
16:57
Fix a minor coding inefficiency found during pre-release inspection. (check-in: cc50883d67 user: drh tags: trunk)
11:08
Add #ifdef statements to test_blob.c so that it will build with SQLITE_OMIT_INCRBLOB. (check-in: b8f090e65d user: drh tags: trunk)
10:46
Spell SQLITE_OMIT_VIRTUALTABLE correctly in a #if in dbstat.c. (check-in: d2cb1becc0 user: drh tags: trunk)
10:03
Fix a faulty assert() in the btree part of the "PRAGMA page_size = ?" code. (check-in: 90b197489a user: dan tags: trunk)
01:09
Fix a problem in Makefile.in that only comes up on Windows with MinGW. (check-in: 5f3cd68b3e user: drh tags: trunk)
00:48
Fix #ifdef problem in tclsqlite.c. (check-in: fe723bb5d5 user: drh tags: trunk)
2015-05-04
20:25
Automatically enable the dbstat virtual table on all new database connections with the SQLITE_ENABLE_DBSTAT_VTAB compile-time option is used. (check-in: 1c9c6eaa9f user: drh tags: trunk)
19:13
In the command-line shell, and the ".binary" command and additional C-style backslash escapes. (check-in: 850c118666 user: drh tags: trunk)
19:06
Add the "dbstat" virtual table as a standard component in the SQLite amalgamation, though turned off unless compiled with SQLITE_ENABLE_DBSTAT_VTAB. (check-in: e752970590 user: drh tags: trunk)
18:31
Rename the test_stat.c source file to dbstat.c and rework the makefiles to make dbstat.c a first-class source module. (Closed-Leaf check-in: a24480a474 user: drh tags: dbstat-in-amalgamation)
17:06
Include the "dbstat" virtual table in the amalgamation. (check-in: fc6504aa8c user: drh tags: dbstat-in-amalgamation)
16:09
Fix a faulty assert() in the SELECT code generator and add a test case to prevent regression. (check-in: 1421c8ffba user: drh tags: trunk)
15:04
Fix a bug in --changeset output for sqldiff.exe for floating-point values. Also fix harmless compiler warnings in sqldiff.exe. (check-in: 9f428530f9 user: drh tags: trunk)
13:25
Add the --lib option to the sqldiff.exe command-line utility. (check-in: a117e8f6bd user: drh tags: trunk)
12:29
Add the 'y' flag to the fts3/4 matchinfo() function. (check-in: aef1e8f471 user: dan tags: trunk)
2015-05-02
20:35
Reorganize some of the fts5 expression parsing code. Improve test coverage of the same. (check-in: c4456dc5f5 user: dan tags: fts5)
19:54
Improvements to fuzzershell: Avoid excess memory allocations when loading many files. Show the total runtime on final output. Show individual filenames as they are processed even if they are single test-case files. (check-in: 34a722a2f3 user: drh tags: trunk)
18:25
Add the SQLITE_LIMIT_PRINTF_WIDTH setting for sqlite3_limit() and associated logic for preventing DOS attacks using printf() with oversized widths or precisions. (Leaf check-in: f8b159794c user: drh tags: limit-printf-width)
17:40
Add the ".limit" command to the command-line shell. (check-in: 803cb60e75 user: drh tags: trunk)
12:40
Reorganize some multi-threaded code in vdbesort.c so that full MC/DC test coverage does not depend on the outcome of a race condition. (check-in: 78c7ec9593 user: dan tags: trunk)
11:45
Cleanup of the sqlite3StrAccumInit() function. No functionality changes. (check-in: 7952c32268 user: drh tags: trunk)
09:44
Add the experimental matchinfo 'y' flag to fts3/4. (Closed-Leaf check-in: 92941609af user: dan tags: fts3-matchinfo-y)
2015-05-01
20:38
Further improvements to test coverage of fts5 code. (check-in: d4331943df user: dan tags: fts5)
20:34
Enhance the fuzzershell --uniquecases option to output results in order of increasing runtime and to include the runtime in the comment separator of the output. (check-in: 04630b989d user: drh tags: trunk)
19:21
Enhance fuzzershell to accept multiple input files. Add the test/fuzzdata2.txt fuzz test content. (check-in: ab5523aafe user: drh tags: trunk)
18:00
Fix an assert in RTREE that would fire if the rtree table is misdeclared. (check-in: 9a45409cc4 user: drh tags: trunk)
16:57
Fix an assert() failure caused by setting "PRAGMA journal_mode=off" on an database in exclusive-mode that has already opened the journal file. (check-in: 40db3e4012 user: dan tags: trunk)
15:25
Remove obselete comment text from the description of the Table object. No changes to code. (check-in: 6566b72a9c user: drh tags: trunk)
14:07
Use the sqlite3Fts3ErrMsg() function to set error message text in FTS3, and to ensure that error messages are not overwritten and thus leaked. (check-in: 605347e087 user: drh tags: trunk)
12:14
Improve test coverage of fts5.c. (check-in: add4f4681c user: dan tags: fts5)
2015-04-30
20:35
Enhance the CLI to initialize the dbstat virtual table if compiled using SQLITE_ENABLE_STAT_VTAB. (check-in: 822dfc0017 user: drh tags: trunk)
20:33
Fix a harmless comment typo. (check-in: 012a0c4e84 user: drh tags: trunk)
20:26
Avoid dropping an error code in test function sqlite3_dbstat_register(). (check-in: 9a9f633f03 user: dan tags: trunk)
13:06
Modify the mkfuzzdata1.tcl script so that it retains the culled test vectors in the tmp2 subdirectory. (check-in: 431a958f3b user: drh tags: trunk)
12:31
Fix signed/unsigned comparison compiler warnings. Add the SQLITE_OMIT_RANDOMNESS compile-time option to cause the PRNG to be seeded identically on every run, for testing purposes. (check-in: 93ce2bca70 user: drh tags: trunk)
2015-04-29
20:54
Improve fts5 tests. (check-in: c1f07a3aa9 user: dan tags: fts5)
16:50
Use sqlite3_malloc64() in place of sqlite3_malloc() internally. (check-in: 48f553b05c user: drh tags: trunk)
00:35
Improved support for OSTRACE on Windows. (check-in: ca43812bde user: drh tags: trunk)
2015-04-28
23:34
Revise when the sqlite3ErrName() function is defined. (Closed-Leaf check-in: 9e593fb3db user: mistachkin tags: winTest)
20:24
Fix an fts5 bug in handling writes while there are active cursors. (check-in: 07f7095539 user: dan tags: fts5)
18:35
Improve coverage of fts5 tests. (check-in: 8e8136f2dc user: dan tags: fts5)
14:49
Update the test/fuzzdata1.txt file with the latest cases discovered by AFL. (check-in: f2063f5320 user: drh tags: trunk)
14:07
Fix an assert() failure that could occur if the internal sqlite3_rename_parent() SQL scalar function was invoked directly. (check-in: 36e5152618 user: dan tags: trunk)
14:00
Fix sqlite3VdbeMakeWritable() to always clear the MEM_Ephem flag. Change the OP_Move opcode to always deephemeralize moved content. (check-in: fbb0672718 user: drh tags: trunk)
13:11
Oops - the deephemerialization needs to occur before the move, not after. Was: Rather than try to keep track of the parent of an ephermeral register when the register moves, just deephemeralize all registers touched by the OP_Move opcode. (Closed-Leaf check-in: 091cfe8e0a user: drh tags: mistake)
12:44
Shift the Mem.pScopyFrom pointer in the correct direction in OP_Move. Fix for a defective check-in [a2135ad13049] and ticket [d6352363751]. Debugging code only - does not affect normal operation. (check-in: add4e043b3 user: drh tags: trunk)
12:27
Add code to the shell to optionally initialize the dbstat virtual table. (Closed-Leaf check-in: 7ed86dd3b8 user: drh tags: stat-vtab-in-shell)
01:28
Fix comment typos. No code changes. (check-in: 60174cf572 user: drh tags: trunk)
00:53
Add a TCL script that can be run to generate the fuzzdata1.txt file. (check-in: fdc79fd14a user: drh tags: trunk)
2015-04-27
19:53
Add fault-injection tests for the code in test_stat.c. (check-in: ea5e0b74c9 user: dan tags: trunk)
16:21
Change the fts5 content= option so that it matches fts5 columns with the underlying table columns by name, not by their position within the CREATE TABLE statement. (check-in: e38e2bb637 user: dan tags: fts5)
15:08
Update the fuzzer test data after having run it through afl-cmin to remove redundant test cases. (check-in: 8134d41b96 user: drh tags: trunk)
11:31
Further tests for fts5. (check-in: ffeb3ef3cf user: dan tags: fts5)
2015-04-25
20:29
Improve coverage of fts5_index.c slightly. (check-in: e5aaa01306 user: dan tags: fts5)
18:56
Add tests for fts5. (check-in: e748651c94 user: dan tags: fts5)
18:39
Fix compiler warnings in sqldiff. (check-in: 5f48d6f6c0 user: drh tags: trunk)
17:45
Update the AFL fuzzer data with newly discovered paths. (check-in: d98219805d user: drh tags: trunk)
16:39
Fuzzershell: change the error summary output to work with releasetest.tcl. Reduce the maximum number of OOM interations. (check-in: f5e6c4b28d user: drh tags: trunk)
13:39
Add the fuzzoomtest target to the makefiles. Invoke fuzzoomtest from releasetest.tcl. (check-in: f60657c2ae user: drh tags: trunk)
12:20
Fix an obscure memory leak that could follow an OOM in where.c. (check-in: 08ec9f2f5a user: dan tags: trunk)
11:35
In fuzzershell: (1) comment fixes. (2) Set and clear g.zTestName[] correctly. (3) Use the value in g.zTestName[] in error messages. (check-in: b7394755fa user: drh tags: trunk)
11:19
In the fuzzershell, always invoke the trace and log callbacks even if output is suppressed. Keep track of the current test name in a global variable for simplified debugging. (check-in: 3045f45481 user: drh tags: trunk)
00:32
Do not send the extra ";" and "\000" tokens to the parser if a prior error has occurred. (check-in: 9aa70ddf2c user: drh tags: trunk)
00:20
Add fflush() calls to fuzzershell to keep stderr and stdout synchronized. (check-in: 2b98a25237 user: drh tags: trunk)
2015-04-24
23:45
Add the --oom option to fuzzershell. (check-in: 14a9e4a377 user: drh tags: trunk)
20:18
Merge latest trunk changes with this branch. (check-in: 1c78d8920f user: dan tags: fts5)
19:41
Add the "unindexed" column option to fts5. (check-in: 8630996134 user: dan tags: fts5)
18:31
Fix fuzzershell so that it works with SQLITE_OMIT_TRACE. (check-in: dc88fe7e64 user: drh tags: trunk)
17:50
Add the --with-tcl=DIR option to the test/releasetest.tcl script. (check-in: 4dda916a57 user: drh tags: trunk)
16:53
Run fuzzershell as part of the valgrindtest makefile target. (check-in: 0bb96a037b user: drh tags: trunk)
16:16
Add the fuzztest target to the MSVC makefile. (check-in: 98edc6152c user: drh tags: trunk)
16:09
Add AFL-generated test cases in the test/fuzzdata1.txt file. Automatically run fuzzershell against those cases on a "make test". (check-in: 627ea83c26 user: drh tags: trunk)
15:56
Add extra tests for corrupt database handling in fts5. (check-in: 41449f7a0b user: dan tags: fts5)
14:47
Add the --unique-cases option to fuzzershell. (check-in: 7cb718491b user: drh tags: trunk)
13:00
Fuzzershell enhancements: (1) Add the --verbose and --quiet flags (2) Show percentage complete and final test count for multi-test inputs (3) Omit trace and result logs unless the --verbose flag is used. (check-in: ed202ffac2 user: drh tags: trunk)
06:02
Fix an fts5 build problem in main.mk. (check-in: 60045cedef user: dan tags: fts5)
2015-04-23
19:38
Fix a problem in the "ota" utility program causing it to crash if SQLite failed to open the target database. (check-in: a1a2b4a2ef user: dan tags: ota-update)
19:32
Merge latest trunk changes into this branch. (check-in: 1506e99eca user: dan tags: ota-update)
19:18
Fix a performance problem in calls to sqlite3ota_close() made after the OTA update has been completely applied and checkpointed. (check-in: fa62093b25 user: dan tags: ota-update)
18:14
Have OTA maintain a small LRU cache of UPDATE statements. This reduces the amount of time it spends compiling UPDATE if a single data_xxx table contains many different ota_control strings. (check-in: baee3556ea user: dan tags: ota-update)
17:22
Modify the sqlite3session_diff() API so that tables with no PRIMARY KEYs are ignored. This matches the other sessions APIs. Also change sqlite3session_diff() so that it returns SQLITE_SCHEMA, instead of SQLITE_ERROR, if the tables being compared do not have compatible schemas. (check-in: aada0ad08e user: dan tags: sessions)
15:03
Fix the error message returned by sqlite3session_diff() for tables with no PRIMARY KEY. (check-in: 4d34a3d40d user: dan tags: sessions)
14:40
Fix a performance problem in sqlite3session_diff(). (check-in: ea400eca31 user: dan tags: sessions)
13:49
Merge the latest trunk enhancements and fixes into the sessions branch. (check-in: 4e5f17d189 user: drh tags: sessions)
13:37
Fix a faulty assert() in the "AS" alias resolution logic of the parser. (check-in: b5e4360283 user: drh tags: trunk)
13:00
Improvement to "ID" formatting on the ".selecttrace 0x1ff" debugging function. (check-in: 01c50cee37 user: drh tags: trunk)
11:52
Fix a problem causing the fts3 integrity-check to fail if run inside a transaction. (check-in: 3b925189a7 user: dan tags: trunk)
2015-04-22
20:58
Add extra OOM tests for fts5. (check-in: 2dd59b5762 user: dan tags: fts5)
20:14
Fix problems with doclist-indexes involving very large rowids. (check-in: 1e5994097e user: dan tags: fts5)
14:41
Prototype for an sqlite3_db_log() interface. (Leaf check-in: 658e20f554 user: drh tags: sqlite3_db_log)
13:16
Improved filtering of input for fuzzershell for modes other than generic. (check-in: 025e8370dd user: drh tags: trunk)
11:34
Add comments related to database locking to sqlite3ota.h. (check-in: 77242965e7 user: dan tags: ota-update)
11:16
Change the printf, strftime, and glob modes of fuzzershell so that they reject all inputs that do not start with a string literal followed by a comma. This helps the fuzzer focus in on the kinds of behavior those modes are intended to test. (check-in: 1cceefa7c6 user: drh tags: trunk)
09:40
Update this branch with latest trunk changes. (check-in: 9797482ded user: dan tags: fts5)
01:33
When compiling for UAP, link against the new minimal MSVC runtime. (check-in: 2cb945116e user: mistachkin tags: trunk)
2015-04-21
20:13
Fix a problem in fts5fault1.test. (check-in: a21d60cb2a user: dan tags: fts5)
19:07
Fix an fts5 problem with large deletes. (check-in: e50e8031d6 user: dan tags: fts5)
17:17
Alternative fix for the double-initialization of type and collating sequence problem that leaves the estimated table size intact. (check-in: 623ddbdbf4 user: drh tags: trunk)
17:07
Make sure the datatype and collating sequence of transients tables are not initialized more than once. Otherwise a memory leak results. (check-in: 9e6beda2c8 user: drh tags: trunk)
16:38
Ensure that tables names are dequoted exactly once by the trigger logic. (check-in: 9d887b92f8 user: dan tags: trunk)
16:09
Fix a memory leak in the SELECT code generator tracing logic (code that is omitted in non-debugging builds). (check-in: b623ebd859 user: drh tags: trunk)
15:49
Fix an obscure problem with "INSERT INTO tbl(cols) SELECT" statements where the SELECT is a compound with an ORDER BY and "cols" is a strict subset of tbl's columns. (check-in: 718d5d0eab user: dan tags: trunk)
15:35
Add a comment to sqlite3ota.h. No code changes. (check-in: 352fa09efd user: dan tags: ota-update)
15:16
Change an assert() in the aggregate query code generator into a testcase(). (check-in: d1e6bc918b user: drh tags: trunk)
12:06
Fix an fts4 problem to do with the handling of phrases that contain zero tokens. (check-in: caba5be0b2 user: dan tags: trunk)
03:13
Fix some identifier name de-quoting issues in the foreign key and trigger logic. (check-in: 59e92bd952 user: drh tags: trunk)
02:17
Test case for the previous check-in. (check-in: a526f58bc9 user: drh tags: trunk)
02:12
Make sure the whereSplit() routine in the query planner is not confused by the likely() operator. (check-in: 588db14ffb user: drh tags: trunk)
00:23
Enable compilation and VSIX package creation with the Visual Studio 2015 CTP. (check-in: 03b725a768 user: mistachkin tags: trunk)
2015-04-20
23:53
Merge updates from trunk. (Closed-Leaf check-in: 583a79a04a user: mistachkin tags: vsix2015)
22:36
Add the --mode option to fuzzershell. (check-in: b940b0fa6c user: drh tags: trunk)
18:58
Many new configuration options for fuzzershell. (check-in: 41c9543916 user: drh tags: trunk)
18:48
Fix some fts5 problems with very large position lists. (check-in: 2ea8f9cbe6 user: dan tags: fts5)
15:13
Fix a memory leak caused by duplicate entries in the sqlite_stat1 table. (check-in: 2f58c8c972 user: dan tags: trunk)
13:59
Fix an obscure memory leak in sqlite3Stat4ProbeFree() (check-in: c72abbe2c1 user: drh tags: trunk)
12:50
Enhance fuzzershell to support multiple blocks of SQL, each run in its own private in-memory database. (check-in: ab0a96ca73 user: drh tags: trunk)
01:32
Merge all recent trunk enhancements and fixes into the sessions branch. (check-in: b8ef1cdee3 user: drh tags: sessions)
01:25
Merge all recent trunk enhancements and fixes into the apple-osx branch. (check-in: 74b7bf1744 user: drh tags: apple-osx)
01:13
Add an ALWAYS() around a new branch that was made unreachable by an even newer change. (check-in: 592c010478 user: drh tags: trunk)
2015-04-19
23:48
Fix another harmless compiler warning. (check-in: 5ae853aaeb user: mistachkin tags: vsix2015)
23:40
Merge updates from trunk. (check-in: 59d1a3bb60 user: mistachkin tags: vsix2015)
23:39
Modify the 'mkvsix' tool itself to support the Visual Studio 2015 CTP. (check-in: e0b7a191f3 user: mistachkin tags: vsix2015)
23:11
Fix an off-by-one assert() in the virtual table argument tokenizer. (check-in: c83052e48b user: drh tags: trunk)
22:41
Fix a broken assert() and comparison for INSERT INTO ... SELECT when the SELECT uses an unknown collating sequence. (check-in: e73ac0cbac user: drh tags: trunk)
22:31
Silently ignore parser stack overflow when parsing a malformed schema in PRAGMA writable_schema mode. (check-in: 2cb37b959c user: drh tags: trunk)
21:59
Fix another assert() that is not true if the database schema is corrupt. (check-in: bc97cec633 user: drh tags: trunk)
21:43
Fix harmless compiler warnings seen with MSVC 2015. (check-in: d05becd873 user: mistachkin tags: vsix2015)
20:39
Fix a faulty assert in the schema parsing logic. (check-in: b1ed949584 user: drh tags: trunk)
19:53
Document the NMAKE_ARGS environment variable as well. (check-in: 977fd39c15 user: mistachkin tags: vsix2015)
19:21
Fix a potential NULL pointer deference on a corrupt database schema. (check-in: dc61b292d8 user: drh tags: trunk)
18:58
Improve documentation and comments in the MSVC batch build tool. (check-in: ca64ef0798 user: mistachkin tags: vsix2015)
18:32
Bring comments on the INSERT code generator up-to-date. Fix the INSERT code generator so that it correctly handles inserts from a SELECT into a virtual table with non-terminal hidden columns. (check-in: 4ac81fac6c user: drh tags: trunk)
06:18
Work in progress on making VSIX packages for the Visual Studio 2015 CTP. (check-in: 8469d651a0 user: mistachkin tags: vsix2015)
2015-04-18
19:20
The sqlite3_trace() callback does not try to expand parameters in statements that have no parameter. (check-in: 917e3c3629 user: drh tags: trunk)
17:43
Fix an incorrect assert() statement in the CREATE INDEX code generator. (check-in: 2eed41fda0 user: drh tags: trunk)
16:25
Ensure that if a "ROLLBACK TO" statement is used to rollback (but not close) theoutermost transaction, the xRollbackTo() method of any virtual tables involved in the transaction is invoked. (check-in: e98d481d84 user: dan tags: trunk)
04:45
Disregard leading zeros when converting strings to 32-bit integers. (check-in: 691cc201e1 user: drh tags: trunk)
00:22
Fix an incorrect assert() in the sqlite3_trace() logic. (check-in: eabde33997 user: drh tags: trunk)
2015-04-17
20:51
Fix a problem affecting some fts3 UPDATE and DELETE statements on order=DESC tables. (check-in: 284c1623f8 user: dan tags: trunk)
19:41
In the expression-tree comparison routine, do not compiler Expr.iColumn and Expr.iTable for TK_STRING expressions. (check-in: b67bb16c72 user: drh tags: trunk)
18:52
Always resolve symbols in all ORDER BY clauses of a compound-SELECT, even illegal ORDER BY clauses. (check-in: 6c39ef73d5 user: drh tags: trunk)
18:22
Remove unnecessary parser error count increments. Let the sqlite3ErrorMsg() take care of doing that. (check-in: 3f3b0f683a user: drh tags: trunk)
17:00
Ensure that filenames passed to the VFS xOpen() function are terminated by 2 '\0' bytes. (check-in: 66eff473c3 user: dan tags: ota-update)
16:29
Fix a memory leak in sqlite3ota.c that can follow an OOM error. (check-in: c3dc15e717 user: dan tags: ota-update)
16:12
Remove an ALWAYS() that turns out to be false when there is a semantic error on a compound SELECT. (check-in: ad67a67c03 user: drh tags: trunk)
15:58
Ensure that semantic SQL errors are always reported back up to the syntax parser. Also: Improve the defense against invalid PRAGMA synchronous settings. (check-in: 7aeade9a07 user: drh tags: trunk)
15:16
Fix a faulty assert() in sqlite3SelectNew(). (check-in: 620d19c3b4 user: drh tags: trunk)
14:30
Add the tool/fuzzershell.c utility program. (check-in: db8d9af4d0 user: drh tags: trunk)
12:16
Fix the header comment on the sqldiff utility program. No code changes. (check-in: b355ca3a3f user: drh tags: trunk)
11:31
Hold the database mutex for the duration of sqlite3session_diff(). (check-in: 6f33050115 user: dan tags: sessions)
08:36
Have OTA always specify SQLITE_CONFIG_URI when opening databases. Fix a test issue causing otacrash.test to fail. (check-in: 0d0e5ec064 user: dan tags: ota-update)
2015-04-16
23:04
Restrict the scope of a local-use function in the parser. (check-in: cd6598f474 user: drh tags: trunk)
21:57
Use a heap rather than a bitmap for cell coverage and overlap testing on btree pages in PRAGMA integrity_check. (check-in: e94b2ef224 user: drh tags: trunk)
20:27
Fix a couple of unreachable branches. (check-in: 8f391dffcf user: drh tags: trunk)
20:10
Fix a boundry-value condition in the phrase poslist extractor of FTS3/4. (check-in: 55d10baf0b user: drh tags: trunk)
18:49
Be sure to release any xShmLock locks held when closing an OTA handle. (check-in: d0fba72a47 user: dan tags: ota-update)
18:11
Make sure all cursors are closed when returning from a VDBE subprogram that implements a foreign-key construct. (check-in: d04d354d8e user: drh tags: trunk)
17:31
Fix the VDBE so that it always uses the original opcode for profiling and debugging even after the pOp pointer has been updated due to a jump. (check-in: 647495cf12 user: drh tags: trunk)
16:27
Restore SQLITE_FORCE_OS_TRACE to the MSVC makefile, which was removed during a merge. (check-in: c37f4d492f user: mistachkin tags: winTest)
16:22
Fix a faulty assert() in the compound-SELECT code generator. (check-in: 10715b05f2 user: drh tags: trunk)
16:04
Silently ignore requests to change the PRAGMA synchronous setting to an illegal integer value, rather than raising an assertion. (check-in: e0a88176fc user: drh tags: trunk)
15:47
Make sure errors in coding triggers are propagated back up to the parser. (check-in: 928f973ca9 user: drh tags: trunk)
15:05
Add the --backslash option to the command-line shell for testing purposes. (check-in: dd96211e80 user: drh tags: trunk)
14:33
Fix a faulty assert() in the compound select code generator. (check-in: 9d336be1b1 user: drh tags: trunk)
14:33
Fix a mismatched printf() argument and format specifier. Add ota files to Makefile.in. (check-in: 5db810a88d user: dan tags: ota-update)
14:13
Improvements to the way VALUES clauses are parsed. (check-in: ec5a493ad2 user: drh tags: trunk)
13:52
Fix a stray backslash character in a printf format string in sessionDiffFindModified() (check-in: abb192a1d7 user: drh tags: sessions)
12:12
Fix the corruptC.test module due to a change in error message text. (check-in: 7c0deed257 user: drh tags: trunk)
12:09
Checked in the wrong fix. (Closed-Leaf check-in: 4b0f44848d user: drh tags: mistake)
11:56
Use a heap instead of a bitmap for cell overlap and coverage testing of btree pages in PRAGMA integrity_check. (Closed-Leaf check-in: 5619c959bf user: drh tags: integrity-check-heap)
10:55
Avoid attempting to rename the *-oal file while it is still open. (check-in: 658c3b0c80 user: dan tags: ota-update)
08:54
Fix a problem in test file e_reindex.test. (check-in: 5b3de9390f user: dan tags: trunk)
07:19
Ensure the sqlite3Select() routine always returns non-zero if an error has occurred. (check-in: b51028ed2f user: dan tags: trunk)
04:20
Merge updates from trunk. (Closed-Leaf check-in: 22827542a5 user: mistachkin tags: expShell)
03:56
Move OSTRACE defines so they are visible to all source files that need them. (check-in: 72485c97c6 user: mistachkin tags: winTest)
03:37
Make sure the sqlite3DebugPrintf() function is defined for OSTRACE as well. (check-in: ae5af70427 user: mistachkin tags: winTest)
03:24
Merge updates from trunk. Make OSTRACE changes work on Linux. (check-in: cd1542664e user: mistachkin tags: winTest)
00:26
When parsing the schema, ignore any SQL that does not begin with "CREATE". (check-in: d3c00d6158 user: drh tags: trunk)
2015-04-15
19:25
Fix a potential one-byte buffer overread in the command-line shell. (check-in: e018f4bf1f user: drh tags: trunk)
19:13
Add the BtCursor.pPage field which is the current page to which the cursor points, for a very small performance gain. (Leaf check-in: a200e1eae9 user: drh tags: btree-current-page-cache)
18:49
Logically store updates as (insert+delete) within the FTS tree. This allows keys to be annihilated more quickly under some circumstances. (check-in: 50fae1f000 user: dan tags: fts5)
17:26
Prevent the fetchPayload() routine from reporting a cell size that extends off the end of the page on a pathologically corrupted database file. (check-in: f71053cf65 user: drh tags: trunk)
16:01
Fix a problem preventing doclist indexes from being loaded. (check-in: b29109a083 user: dan tags: fts5)
15:29
Enhance the showdb utility program so that it can read the last partial page of a truncated database file. (check-in: 61d72e1791 user: drh tags: trunk)
14:52
Add the --msvc command-line option to the releasetest.tcl script. This is only a partial merge from the winTest branch as the OS_TRACE changes are omitted. (check-in: b8768f124e user: drh tags: trunk)
14:26
Merge all recent trunk enhancements and fixes into the ota-update branch. (check-in: 9bd3e4453d user: drh tags: ota-update)
14:14
Merge all recent trunk fixes and enhancements into the sessions branch. (check-in: e65e65f9bc user: drh tags: sessions)
13:51
Merge recent trunk fixes and enhancements into the apple-osx branch. (check-in: bfc7142ad2 user: drh tags: apple-osx)
09:16
Remove an incorrect assert() statement from sqlite3Fts3Dequote(). (check-in: bd06eeb8d0 user: dan tags: trunk)
08:37
Remove a branch that became unreachable due to one of the earlier check-ins today. (check-in: fa0956edf8 user: drh tags: trunk)
08:20
Fix a problem causing an assert() to fail if a snippet containing 0 tokens was requested from fts3. (check-in: eafd0a1e3f user: dan tags: trunk)
07:57
Fix the error message generator for illegal token errors so that it does not leak memory if it immediately follows another erroneous SQL statement. (check-in: 3576973f8b user: drh tags: trunk)
07:34
Remove an incorrect ALWAYS() from the automatic index generator. (check-in: eeb4bd06bf user: drh tags: trunk)
07:19
Remove an incorrect ALWAYS() from the table_info pragma. (check-in: 0e087c0183 user: drh tags: trunk)
07:10
Change the multiSelectOrderBy() routine to return non-zero if there has been any prior error. (check-in: 14784c317b user: drh tags: trunk)
06:45
Fix a faulty assert() statement in the name resolver associated with the optimization that converts compound selects with ORDER BY COLLATE into subqueries. (check-in: c72324ef92 user: drh tags: trunk)
05:57
Correctly handle COLLATE operators applied to COLLATE operators in an ORDER BY clause. (check-in: 9e1f837b08 user: drh tags: trunk)
05:38
Fix a faulty assert() in the sqlite3StrAccumAppend() routine. (check-in: 998cfdb8dc user: drh tags: trunk)
05:31
Correctly deal with an unknown collating sequence on an indexed DISTINCT query. (check-in: a0b6e2fed3 user: drh tags: trunk)
05:20
When adding the implied "LIMIT 1" to the end of a scalar subquery, make sure that subquery is not a VALUES-only query as such queries cannot deal with LIMIT clauses. (check-in: 7c27310bdf user: drh tags: trunk)
04:51
When doing the (dubious) conversion of double-quoted identifier into string literal for MySQL compatibility, be sure to also clear the iTable value from the Expr entry to avoid an assert. (check-in: d7211b6810 user: drh tags: trunk)
04:20
Add a test case for what was formerly thought to be an unreachable condition: when the LHS of an OR operator contains an error and the RHS contains an IN operator. (check-in: 3872742591 user: drh tags: trunk)
04:10
An oversize hex literal can cause a parsing error while generating code for constants that are factored out of the main body of the VDBE program. So allow for that case. (check-in: a084690b4f user: drh tags: trunk)
2015-04-14
20:15
Begin changing fts5 to use a delete flag so that delete markers may be annihilated more quickly. (check-in: 9341c070bb user: dan tags: fts5)
19:01
Add the --summary option to the sqldiff command-line tool. (check-in: 88b22761c5 user: drh tags: trunk)
15:14
Update API documentation to identify many functions as methods on objects. No changes to code. (check-in: b549cbcee1 user: drh tags: trunk)
2015-04-13
23:11
Merge all recent trunk enhances into the apple-osx branch. (check-in: e709d3b4e7 user: drh tags: apple-osx)
23:05
Add #ifdef magic for HAVE_GETHOSTUUID so that the build will hopefully now work on more verions of MacOS with SQLITE_ENABLE_LOCKING_STYLE turned on. (check-in: 211411d02c user: drh tags: trunk)
22:26
On a DETACH statement, keep all schemas intact except fo the one that is being detached, and thus avoid unnecessary schema reparsing. (check-in: 661db19b34 user: drh tags: trunk)
21:39
Omit the "pc" or "program counter" variable from the VDBE loop for 0.6% performance increase. (check-in: d2f10c41a8 user: drh tags: trunk)
19:14
Remove the out2-prerelease VDBE opcode property and its associated code, for a 0.5% performance improvement. (check-in: e29c7f2c91 user: drh tags: trunk)
17:43
Add a comment to wal.c to explain why a race condition is safe. (check-in: bc33af8664 user: dan tags: trunk)
14:44
Remove a faulty assert() from the btree balancing logic. (check-in: d06669d968 user: drh tags: trunk)
14:08
Test that if the definition of a collation sequence is changed and VACUUM run, the new database contains records sorted in the (new) correct order. (check-in: ce6eaac10a user: dan tags: trunk)
14:03
Remove an unreachable branch from the VACUUM logic. (check-in: 65ace4b062 user: drh tags: trunk)
12:45
Remove an unreachable branch from the vdbeSorterCompareInt() routine. (check-in: f666ef0686 user: drh tags: trunk)
2015-04-12
21:28
Update the version number to 3.8.10 because of the new sort optimizations from check-in [79326d6eec]. (check-in: bd2cfa1d72 user: drh tags: trunk)
17:35
Fix a problem with a stale Select.pWith pointer when a CTE is used together with a compound query and an ORDER BY clause. (check-in: 9a453f52a2 user: drh tags: trunk)
01:33
Merge all recent trunk enhancements into the sessions branch. (check-in: 5f14f34f07 user: drh tags: sessions)
01:22
Avoid problems when a query has a GROUP BY and an ORDER BY but no FROM clause. (check-in: e527d96a1e user: drh tags: trunk)
2015-04-11
20:44
Optimizations for VACUUM, CREATE INDEX and some cases of ORDER BY. (check-in: 79326d6eec user: dan tags: trunk)
20:20
Fix a problem with sorting large amounts of partially ordered data. (check-in: acca97efda user: dan tags: trunk)
18:45
Merge latest trunk changes with this branch. (Closed-Leaf check-in: cf7590f607 user: dan tags: sorter-opt)
18:25
Have fts5 integrity check verify that prefix indexes contain the same values as returned by prefix queries on the main terms index. (check-in: bdb8e82ab6 user: dan tags: fts5)
17:09
Merge the sessions-diff branch with this one. (check-in: 805baa57e5 user: dan tags: sessions)
16:23
Improve fts5 integrity-check so that it checks that DESC queries return the same as ASC. Change the poslist format slightly to make room for a delete-flag. (check-in: 49c1e74522 user: dan tags: fts5)
13:49
Add the --changeset option to the sqldiff utility program, for generating a sessions changeset file instead of an SQL diff. (check-in: f9a3a8391c user: drh tags: trunk)
13:48
The --changeset option now appears to be working. (Closed-Leaf check-in: 1a2e280392 user: drh tags: sqldiff-changeset)
12:07
First complete attempt to generate a working changeset. Still contains bugs. (check-in: 5611fa9bd5 user: drh tags: sqldiff-changeset)
11:53
Update tests in whereD.test to account for the change in the previous commit. (check-in: da49700ca1 user: dan tags: trunk)
11:44
Do not assume an index contains unique entries unless it is declared UNIQUE and NOT NULL is specified for all columns. Fix for [7b4fee9f6c]. (check-in: e3b1f62551 user: dan tags: trunk)
02:08
Detect and report oversized records constructed from multiple zeroblobs. (check-in: 9e139afd92 user: drh tags: trunk)
2015-04-10
21:16
Minor build enhancements for MSVC. (check-in: 40c417a7ef user: mistachkin tags: trunk)
19:41
Work toward adding the --changeset option to the sqldiff utility program. Changes are incomplete. This is an incremental check-in. (check-in: 463e38d765 user: drh tags: sqldiff-changeset)
16:05
In sqlite3_declare_vtab(), avoid accessing the database structure until after the "api-armour" safety-check has completed and the db mutex has been obtained. (check-in: 860e4f8a94 user: dan tags: trunk)
12:04
Fix foreign key CASCADE for cases where the parent key is an INTEGER PRIMARY KEY and the parent table contains other columns named "rowid", "_rowid_", and "oid". (check-in: ed3cbaab6a user: drh tags: trunk)
08:28
Update this branch with the latest changes from sorter-opt. (Leaf check-in: 08c0b19b89 user: dan tags: insert-select-opt)
08:20
Update this branch with latest trunk changes. (check-in: 60be9c1c1a user: dan tags: sorter-opt)
07:55
Do not allow virtual table constructors to be called recursively. (check-in: 0a72726da2 user: dan tags: trunk)
2015-04-09
19:39
Fix incorrect column names in UPDATE statements generated by the sqldiff utility. (check-in: ee53b46011 user: drh tags: trunk)
19:19
Updates to comments describing the changeset and patchset formats. (check-in: 5342f721e8 user: dan tags: sessions)
18:14
Add the --primarykey option to the sqldiff tool, which causes it to use the schema-defined PRIMARY KEY. (check-in: 5063f9070a user: drh tags: trunk)
16:30
Remove two pointless assert() statements. This should silence harmless compiler warnings reported at https://bugzilla.mozilla.org/show_bug.cgi?id=1152845 (check-in: 83b342a44f user: drh tags: trunk)
13:40
Fix comment typos in the sqldiff.c utility program. (check-in: 32ab2bb990 user: drh tags: trunk)
13:34
Add the "sqldiff" utility program. (check-in: 88da5bf5d2 user: drh tags: trunk)
11:24
Remove a variable initializion to silence a harmless compiler warning. (check-in: 79861adbef user: drh tags: trunk)
2015-04-08
16:43
Fix problems in the sessions module causing it to produce spurious SQLITE_NOMEM errors when handling SQL text or blob values zero bytes in size. (check-in: b9459d5980 user: dan tags: sessions)
16:01
Add experimental API sqlite3session_diff(). (Closed-Leaf check-in: c4340b2ea2 user: dan tags: sessions-diff)
14:01
Merge all changes for version 3.8.9 into the ota-update branch. (check-in: ec9d907a57 user: drh tags: ota-update)
12:47
Merge in all version 3.8.9 changes from trunk. (check-in: 301218704c user: drh tags: apple-osx)
12:16
Version 3.8.9 (check-in: 8a8ffc862e user: drh tags: trunk, release, version-3.8.9)
2015-04-07
23:10
Merge printf() width and precision overflow fixes from trunk. (check-in: aeca95ac77 user: drh tags: sessions)
21:18
Merge updates from trunk. (check-in: c458db41bb user: mistachkin tags: expShell)
21:17
Correct typo in new test numbering. (check-in: d176c9fa4c user: mistachkin tags: expShell)
21:16
Enhance the shell export to support emitting column names in 'insert' mode when headers are enabled. (check-in: 6e504cd00b user: mistachkin tags: expShell)
15:39
Avoid signed integer overflow when converting oversized in-line integer widths and precisions in printf(). (check-in: 8e4ac2ce24 user: drh tags: trunk)
14:38
Another change to avoid a problem caused by integer overflow in the printf() code. (check-in: 95625ef3ad user: dan tags: trunk)
13:28
Further changes to guard against integer overflow in the width and precision of printf() arguments. (check-in: 5ce4e7d765 user: drh tags: trunk)
12:41
Guard against excessive width and precision in floating-point conversions in the printf routines. (check-in: c494171f77 user: drh tags: trunk)
2015-04-06
22:05
Detect and suppress an endless loops in clearDatabasePage() that might result from a corrupt database file. This is an edited cherry-pick from [30011ad2f55c] and [395bb3e677a]. (Leaf check-in: e5f5ef008d user: drh tags: apple-osx-385)
12:08
Merge obscure problem fixes from trunk. (check-in: 271c110bcf user: drh tags: sessions)
11:04
Fix a problem with fts3 prefix terms within phrase queries on "order=DESC" tables with a mix of negative and positive rowids. (check-in: 3ad829e50f user: dan tags: trunk)
09:05
Fix a problem with fts3 prefix terms within phrase queries on "order=DESC" tables with a mix of negative and positive rowids. (Closed-Leaf check-in: 0cdf502885 user: dan tags: fts3-prefix-query-fix)
2015-04-04
16:49
Fix a problem with resolving ORDER BY clauses that feature COLLATE clauses attached to compound SELECT statements. (check-in: edc1de2a58 user: dan tags: trunk)
16:43
Fix a problem with resolving ORDER BY clauses that feature COLLATE clauses attached to compound SELECT statements. (Closed-Leaf check-in: 427b50fba7 user: dan tags: compound-order-by-fix)
00:02
Enhance the 'releasetest.tcl' tool to support MSVC. (check-in: f664bfdc82 user: mistachkin tags: winTest)
2015-04-03
20:33
Disable the SQLITE_FCNTL_WAL_BLOCK feature for now. It needs more work and is not yet ready for release. (check-in: 4ae9a3acc4 user: drh tags: trunk)
18:33
Add source code to the "showlocks" utility program in the tool/ subdirectory. (check-in: 6868cc66d2 user: drh tags: trunk)
2015-04-02
17:46
Fix build with OSTRACE enabled on Windows when building using separate source files. (check-in: 5f6e35802f user: mistachkin tags: winTest)
15:24
Disable e_walauto.test on OpenBSD, as it requires a coherent cache. (check-in: 9070122708 user: dan tags: trunk)
09:06
Fix a problem in vdbesort.c to do with caching unpacked records. (check-in: 80a0053950 user: dan tags: sorter-opt)
2015-04-01
18:22
Merge latest trunk changes with this branch. (check-in: 4621b2eef8 user: dan tags: sorter-opt)
18:20
When vacuuming an index that uses no collations other than BINARY, assume that the order of index entries will not be changed by the VACUUM. (check-in: e403460b96 user: dan tags: sorter-opt)
16:39
Merge recent enhancements from trunk. (check-in: aea439bdc6 user: drh tags: sessions)
16:18
Reduce the CPU used by CREATE INDEX statements by taking better advantage of the fact that keys are inserted in sorted order. (check-in: 592cdc5d72 user: dan tags: sorter-opt)
16:13
Merge all recent trunk fixes and enhancements into the apple-osx branch. (check-in: 71b6f507f1 user: drh tags: apple-osx)
13:21
Improved detection and suppression of endless loops in clearDatabasePage(). (check-in: 30011ad2f5 user: drh tags: trunk)
01:26
The build is still broken. Multiple definitions of sqlite3OSTrace when compiled using separate source files. (check-in: 5c965a71b9 user: drh tags: winTest)
2015-03-31
19:40
On windows, flush the mapping view when syncing content to disk. (check-in: a828e73dc1 user: drh tags: trunk)
19:17
Set the winShm.id member when it is going to be traced. (check-in: fa7916b67e user: mistachkin tags: winTest)
19:06
Build fixes for OSTRACE enhancements. (check-in: f79c236fc5 user: mistachkin tags: winTest)
18:18
Path portability enhancements for mptester.exe. (check-in: c8694657bd user: drh tags: winTest)
18:05
Add the "mptest" target to main.mk. Change TRUNCATE and PERSIST to DELETE for mptest.c on Windows because of problems trying to delete the journal. (check-in: ea697e6d9f user: drh tags: trunk)
17:58
Path handling portability enhancements for mptester. (check-in: da49634b33 user: mistachkin tags: winTest)
17:45
Testing enhancements on Windows. (check-in: 9cc70eee2e user: mistachkin tags: winTest)
17:32
Change the sqlite3_log() message generated on a retry after delay in os_win to be an SQLITE_NOTICE instead of SQLITE_IOERR. (check-in: 5d533eee04 user: drh tags: trunk)
17:01
Fix configure.ac and Makefile.in so that they generate pkgIndex.tcl correctly. (check-in: 3deff25249 user: drh tags: trunk)
16:42
Minor tweaks to the MSVC Makefile. (check-in: 7244ea59ed user: mistachkin tags: trunk)
16:33
Handle very large URI pathnames for in-memory shared-cache databases. (check-in: 586a94e85b user: drh tags: trunk)
15:15
Fix harmless compiler warnings in lemon.c (check-in: bbe7dcda68 user: drh tags: trunk)
14:31
Fix the corruptJ.test case so that it works with and without SQLITE_SECURE_DELETE. (check-in: 0c0ecfd685 user: drh tags: trunk)
14:18
Additional logging information output by mptester. (check-in: 0cbbf6e457 user: drh tags: trunk)
13:46
Add the "mptest" target to Makefile.msc (check-in: 1e814e0bd1 user: drh tags: trunk)
11:42
Ensure that comparison operators do not mess up the MEM_Dyn flag on registers when reverting affinity changes. (check-in: 02e3c88fbf user: drh tags: trunk)
00:10
Merge all recent trunk enhancements and fixes into the sessions branch. (check-in: df94e61f93 user: drh tags: sessions)
2015-03-30
23:52
Merge the latest trunk enhancements, and especially the fix for the infinite loop on a DROP TABLE in a corrupt database, into the apple-osx branch. (check-in: 4d42bf5e18 user: drh tags: apple-osx)
23:43
Prevent a possible infinite loop when trying to DROP a table from a corrupt database. (check-in: 395bb3e677 user: drh tags: trunk)
15:45
Merge sorter optimizations with this branch. (check-in: 9bf1cfb4d9 user: dan tags: insert-select-opt)
12:06
Improve performance of multi-field sorts where the first field has a low cardinality. (check-in: 601e7b6b8e user: dan tags: sorter-opt)
09:58
Remove some unnecessary code from vdbesort.c. (check-in: b58191e917 user: dan tags: sorter-opt)
2015-03-28
19:56
Further optimizations for sorting records that begin with integer or text values. (check-in: 24fe9f25d6 user: dan tags: sorter-opt)
2015-03-27
18:22
Merge updates from trunk. (Closed-Leaf check-in: 45acf6a851 user: mistachkin tags: winViewFlush)
18:20
Enhancements to OSTRACE usage in the Win32 VFS. (check-in: ab5800291e user: mistachkin tags: trunk)
02:27
Fix the ".testctrl imposter" command in the command-line shell to be consistent in error reporting and results with the other .testctrl commands. (check-in: 0ec08ba8a0 user: drh tags: trunk)
00:21
Using MSVC, get the sqlite3IoTrace variable working with the USE_STDCALL and/or DYNAMIC_SHELL options. (check-in: fe976c9130 user: mistachkin tags: trunk)
00:19
In the MSVC Makefile, make the DYNAMIC_SHELL option work without USE_STDCALL. (check-in: 25b46a9c7e user: mistachkin tags: trunk)
2015-03-26
23:36
When syncing a memory mapped file on Windows, flush the mapped view as well. (check-in: df204049b9 user: mistachkin tags: winViewFlush)
18:24
Revise Win32 locking test to account for recent log message changes. (check-in: 1bc76339e8 user: mistachkin tags: trunk)
17:04
Avoid leaving the malloc subsystem in a partially initialized state if the low-level initialization callback fails. (check-in: 3e872011ff user: drh tags: trunk)
15:27
Provide source code line numbers for errors in the Windows VFS generated by the winLogIoerr() routine. (check-in: b5da0d93cd user: drh tags: trunk)
14:29
Fix a harmless compiler warning in FTS3. (check-in: 1688f60c08 user: drh tags: trunk)
12:38
Merge sorter optimization into this branch. (check-in: aeb8e9a9f2 user: dan tags: insert-select-opt)
11:55
Optimize cases where all the sorter is sorting a set of records that all begin with integer values, or that all begin with text values to be compared using BINARY. (check-in: ce5ad17c25 user: dan tags: sorter-opt)
2015-03-25
18:29
Change an unreachable branch into an assert(). (check-in: fb076b28c3 user: drh tags: trunk)
17:35
Fix the saveCursorPosition() routine in btree.c so that it works correctly for a eState=CURSOR_SKIPNEXT cursor. (check-in: 37866b4d48 user: drh tags: trunk)
15:23
Extend [52e73eec] so that the IS optimization may be used on primary keys with more than 3 columns. (check-in: 4e8796af7d user: dan tags: ota-update)
13:06
Reactivate an older assert() (adding an "|| CORRUPT_DB" term) and add a new assert() in btree.c. (check-in: 1e96520ac1 user: drh tags: trunk)
12:05
Add two new assert()s to the sqlite3BtreeDataSize() method. (check-in: 42d1793d65 user: drh tags: trunk)
00:09
Backport the 'stdcall' related enhancements from trunk. (Leaf check-in: cbb93d1aa1 user: mistachkin tags: stdcall-3.8.8)
2015-03-24
22:00
Add SQLITE_STDCALL and SQLITE_CDECL macros on public function definitions. (check-in: cae3239aa5 user: mistachkin tags: trunk)
21:54
Further simplifications to the amalgamation builder. (Closed-Leaf check-in: e826cd7db6 user: drh tags: stdcall)
21:52
Update the 'mksqlite3c-noext' tool as well. (check-in: a532256688 user: mistachkin tags: stdcall)
21:34
Fix a couple comment typos in a tool script. No changes to code. (check-in: 83421af670 user: mistachkin tags: trunk)
21:27
Add SQLITE_STDCALL and SQLITE_CDECL macros on public function definitions. (check-in: 242f09d4d1 user: mistachkin tags: stdcall)
19:43
Update this branch with latest trunk changes. (check-in: 3ccd64eff7 user: dan tags: insert-select-opt)
19:02
Merge all recent trunk enhancements into the sessions branch. (check-in: 54aaa6f29a user: drh tags: sessions)
18:49
Merge the latest trunk enhancements into the apple-osx branch. (check-in: a2bd81e575 user: drh tags: apple-osx)
18:21
Merge the latest trunk changes into this branch. (check-in: 9d9b6c883b user: dan tags: ota-update)
18:19
Suppress a compiler warning that was appearing with SQLITE_THREADSAFE=0. (check-in: 436314b572 user: drh tags: trunk)
18:03
When the OTA module updates or deletes a row, save only those fields that are part of an index or primary key to the ota update database. (check-in: 6326fd3249 user: dan tags: ota-update)
16:43
Prevent a virtual table from being destroyed while it is in use. Also: replace Vdbe.inVtabMethod with sqlite3.nVDestroy. Simplify the EXPLAIN output for P4.pVtab to only show the sqlite3_vtab pointer. (check-in: cbeb9a1aed user: drh tags: trunk)
14:57
Add tests to check that attempting to DROP a virtual table while it is use does not cause problems. (Closed-Leaf check-in: 5ee625b198 user: dan tags: nVDestroy)
14:57
Simplify the EXPLAIN output of virtual table P4 parameters to only show the pointer to the sqlite3_vtab object and omit the sqlite3_module object. (Closed-Leaf check-in: 85610bbbc6 user: drh tags: nVDestroy)
14:05
More defenses against virtual table being deleted out from under a running statement. (check-in: 116c998230 user: drh tags: nVDestroy)
13:32
Prevent a virtual table from being destroyed while it is in use. (check-in: fba674c083 user: drh tags: nVDestroy)
12:51
Replace the Vdbe.inVtabMethod field with the sqlite3.nVDestroy counter. (check-in: 9faefb9627 user: drh tags: nVDestroy)
2015-03-23
21:32
Disable loadable extensions in the command-line shell on VxWorks user-space. (check-in: 0ee2d38deb user: drh tags: trunk)
19:55
Track total memory usage using a 64-bit integer on 64-bit systems. Add the sqlite3_status64() interface. Make the sqlite3_status() and sqlite3_status64() interfaces atomic using mutexes and verify correct mutex operation using assert() statements. (check-in: 6fc4e79a23 user: drh tags: trunk)
19:16
Fix a non-C89 variable declaration that causes problems for MSVC. (Closed-Leaf check-in: 3de085eab2 user: drh tags: status64)
19:03
Fix datetype size asserts in btree.c. (check-in: ff4812d0e8 user: drh tags: trunk)
18:52
Add the SQLITE_PTRSIZE macro. Use it to help sqlite3_status() run faster on 32-bit systems. (check-in: c742bd6047 user: drh tags: status64)
17:25
Add the sqlite3_status64() interface. Make the new interface and the legacy sqlite3_status() both atomic and threadsafe. Check threadsafety using assert()s. (check-in: 1ce8e8fa4b user: drh tags: status64)
17:10
Fix a broken assert() in the ota module. (check-in: 858de8a5e7 user: dan tags: ota-update)
14:39
Set the OPFLAG_SEEKRESULT correctly in "INSERT INTO ... SELECT" statements. (check-in: 6f7d999585 user: dan tags: insert-select-opt)
2015-03-22
10:23
Fix a potential NULL pointer dereference following a syntax error. (check-in: 8d27e3e16a user: drh tags: trunk)
2015-03-21
23:38
Fix harmless compiler warnings with MSVC when assert() and SQLITE_MEMDEBUG are both enabled. (check-in: 9513dbd486 user: mistachkin tags: trunk)
22:23
Add more comments to the MSVC batch build tool. (check-in: 03522da378 user: mistachkin tags: trunk)
22:13
Increase the debugging level for the debug configuration in the MSVC batch build tool. (check-in: 041484ff91 user: mistachkin tags: trunk)
20:59
Do not invoke a C preprocessor macro with an empty argument, as (reportedly) some versions of GCC are unable to deal with that. (check-in: de9da317d4 user: drh tags: trunk)
20:50
Add a missing "int" on a constant declaration. (check-in: 235157de51 user: drh tags: trunk)
19:35
Avoid a segfault if NULL is passed as the first argument to SQL scalar function fts3_tokenizer(). (check-in: 6d0989695b user: dan tags: trunk)
17:00
Merge all recent trunk enhancements and especially the blocking WAL-lock fix into the apple-osx branch. (check-in: 9f1f8b331e user: drh tags: apple-osx)
16:40
Change walblock.test to block an external process for 10 seconds, not 5. 5 seconds is not long enough to tell the difference between a blocking lock and a series of retries. (check-in: 717335fcdb user: dan tags: trunk)
16:36
Fix the blocking WAL lock so that it works and so that it compiles on a Mac. (check-in: 67d69d21de user: drh tags: trunk)
15:45
Merge trunk changes with this branch. (check-in: 142743918f user: dan tags: fts5)
15:37
When scanning the full-text index as part of the fts5 integrity-check, also run a point query for every term and verify that these results are consistent with those found by the linear scan. (check-in: ce972f6aab user: dan tags: fts5)
15:26
Do not use sorters for INSERT statements that insert multiple rows using the VALUES clause. (check-in: 93e28ea1ef user: dan tags: insert-select-opt)
15:04
Merge latest trunk changes with this branch. (check-in: 9affe7f3f9 user: dan tags: insert-select-opt)
12:25
Remove an unreachable branch from the OP_VCreate opcode (merge accidental fork in trunk). (check-in: 2fbfec62fc user: dan tags: trunk)
12:22
Avoid an integer overflow in fts3 causing gcc 4.7.1 with -O2 to behave counter-intuitively (perhaps because the behaviour is undefined). Add an "ifcapable trace" to a test in shell4.test. (check-in: e3e2346496 user: dan tags: trunk)
12:22
Remove an unreachable branch from the OP_VCreate opcode. (check-in: 5fca41a381 user: drh tags: trunk)
10:53
Add a missing "ifcapable fts3" to a test case in vtab2.test. (check-in: d845b0f690 user: dan tags: trunk)
07:16
Merge recent trunk changes with this branch. (check-in: 35eef4ddd5 user: dan tags: insert-select-opt)
07:03
Disable the sorter optimization used by INSERT INTO SELECT statements if the statement explicitly specifies REPLACE, IGNORE or FAIL conflict handling. (check-in: d421594297 user: dan tags: insert-select-opt)
03:18
Correctly detect the error of having a "*" wildcard on a SELECT without a FROM clause on the left-hand side of a recursive CTE. (check-in: b11d1793a0 user: drh tags: trunk)
02:58
If a column is both UNIQUE and a PRIMARY KEY, make sure the PRIMARY KEY designation takes precedence. (check-in: d871a79217 user: drh tags: trunk)
02:34
Merge updates from trunk. (check-in: 441a00e70d user: mistachkin tags: expShell)
02:25
Remove superfluous define from the MSVC makefile. (check-in: 880d2513a0 user: mistachkin tags: trunk)
02:22
Improvements to the MSVC build. Fix harmless compiler warnings. Enable use of 'stdcall'. (check-in: 737630b873 user: mistachkin tags: trunk)
2015-03-20
20:30
Where possible insert the set of new keys for each index in sorted order within "INSERT INTO ... SELECT" statements. (check-in: 0a7f2051b2 user: dan tags: insert-select-opt)
16:54
Provide the BTREE_SEEK_EQ hint to the b-tree layer. (check-in: 3c367004da user: drh tags: trunk)
16:34
Fix to get SQLITE_SMALL_STACK working correctly again after the previous change. (Closed-Leaf check-in: 78df0ce13d user: drh tags: seek-eq)
14:57
Provide the BTREE_SEEK_EQ hint to the b-tree layer. (check-in: e750830f1e user: drh tags: seek-eq)
08:43
Fix a problem causing collation sequence names to be dequoted multiple times under some circumstances. (check-in: eddc05e7bb user: dan tags: trunk)
2015-03-19
20:09
If a virtual table is created with a malformed UTF8 name in a UTF16 database, make sure that does not cause problems. (check-in: b74cb0a92b user: drh tags: trunk)
19:59
Fix a crash that can occur following an OOM condition within a CREATE VIRTUAL TABLE statement on a utf-16 database. (Closed-Leaf check-in: 9453e7da04 user: dan tags: malformed-vtab-name)
18:56
Fix a problem with creating virtual table with names specified using malformed utf-8 within utf-16 databases. (check-in: 9969cff2d0 user: dan tags: malformed-vtab-name)
16:25
Fix an FTS3/4 problem with handling empty tokenizer declarations (e.g. "CREATE VIRTUAL TABLE t(tokenize=);"). (check-in: 26d2def8a5 user: dan tags: trunk)
15:52
Silently ignore any attempt to add a prefix index for prefixes zero bytes in size to an fts3/4 table. Or any prefix index size so large that it overflows a 32-bit signed integer. (check-in: ad4b19d2ac user: dan tags: trunk)
15:04
Add an assert() to check that the database mutex is held in sqlite3BtreeLeave(). (check-in: 31f54d7b07 user: dan tags: trunk)
14:48
Fix typo in shell error message. (check-in: 775a02d597 user: mistachkin tags: trunk)
14:46
Merge updates from trunk. (check-in: 3e363f4056 user: mistachkin tags: expShell)
13:30
Fix a bug in error handling in the ".trace" command of the command-line shell. (check-in: 6a48b5d794 user: drh tags: trunk)
2015-03-18
20:03
Allow whereShortCut() to use the PRIMARY KEY index of a WITHOUT ROWID table to optimize a vector of "IS" operators in a WHERE clause. (check-in: 52e73eeca0 user: dan tags: ota-update)
19:04
Clarify that OTA is unable to update or delete rows with NULL values in primary key fields. (check-in: 2e7c1e0a0d user: dan tags: ota-update)
16:00
Add another sqlite3FaultSim() to the multi-threaded sorter logic to improve testability. (check-in: 49ea2cded4 user: drh tags: trunk)
2015-03-17
20:39
Clarify the documentation on sqlite3_errcode(). No changes to code. (check-in: 2c0e0d87fb user: drh tags: trunk)
18:54
Merge all recent trunk enhancements into the sessions branch. (check-in: 1d1c57c356 user: drh tags: sessions)
18:35
Merge all recent trunk changes, and in particular the blocking WAL lock change, into the apple-osx branch. (check-in: 8abbeadbc0 user: drh tags: apple-osx)
17:08
Also merge the WAL blocking lock tests that were somehow missed on the previous check-in. (check-in: 7214dab744 user: drh tags: trunk)
16:59
Transient locks in WAL mode can now block in order to resolve priority inversions. (check-in: ec2f46de53 user: drh tags: trunk)
16:01
Add a test for the change on this branch. (Closed-Leaf check-in: e22dde187e user: dan tags: wal-blocking-lock)
2015-03-16
20:40
Make SQLite slightly more likely to use an auto-index within a sub-query. (check-in: ab832336f4 user: dan tags: trunk)
18:08
Fix typo of test prefix in the new WHERE test file. (check-in: 34779c528f user: mistachkin tags: trunk)
17:48
When the WHERE clause contains two OR-connected terms with identical operands but different operators, try to combine them into a single term. Example: (X=A OR X>A) becomes (X>=A). (check-in: 8bdda827a3 user: drh tags: trunk)
17:07
Modify the fts3query.test script so that it works even when testfixture is built using a version of TCL that is unable to sort the integer -9223372036854775808 (check-in: f61fd24b4d user: drh tags: trunk)
16:44
When deleting the master journal to commit a multi-database transaction, do not sync the directory if PRAGMA synchronous=OFF for all participating database files. (check-in: 018d767140 user: drh tags: trunk)
16:28
When estimating the number of rows visited by a range scan for which the keys consist of more than one field, consider prefixes of stat4 samples as well as the full samples. This generates more accurate estimates. (check-in: 3e0590dee0 user: dan tags: trunk)
13:48
Use #ifdef to omit code that is only used for STAT3 and STAT4. (check-in: f2c9c5b57b user: drh tags: trunk)
13:12
Improved comments. No code changes. (Closed-Leaf check-in: 23f71a2638 user: drh tags: combine-disjuncts)
12:13
When a WHERE clause contains disjuncts with the same operands, try to combine them into a single operator. Example: (x=A OR x>A) becomes (x>=A). (check-in: 7a3097689d user: drh tags: combine-disjuncts)
09:21
Another test case for the planner change on this branch. (Closed-Leaf check-in: f2207a0691 user: dan tags: stat4-change)
2015-03-14
18:59
When estimating the number of rows visited by a range scan for which the keys consist of more than one field, consider prefixes of stat4 samples as well as the full samples. (check-in: e1caf93c9a user: dan tags: stat4-change)
2015-03-13
15:44
Add tests to ensure "PRAGMA incremental_vacuum" and "PRAGMA auto_vacuum = incremental" handle corrupt databases correctly. (check-in: 1c2166cb2a user: dan tags: trunk)
08:31
Extra tests for commit [0f250957]. (check-in: 5aa522dcb9 user: dan tags: trunk)
00:11
Remove debugging logic accidently included in the previous check-in. (check-in: 2887fb38ff user: drh tags: trunk)
2015-03-12
23:48
Fix the "now" option for date-time functions for cases when STAT4 is disabled. (check-in: 3ac1f6a3cf user: drh tags: trunk)
21:22
When STAT4 is enabled, allow probes of the STAT4 table using the value of constant functions computed at compile-time. (check-in: 0f250957cd user: drh tags: trunk)
21:02
Always disallow functions as the DEFAULT of a column. Add assert()s and (Closed-Leaf check-in: a991bb1a9e user: drh tags: stat4-function)
19:12
Disable multiplexing of master-journal files in the test_multiplex.c module. (check-in: b8684df395 user: dan tags: trunk)
18:38
If an error occurs in the compile-time evaluation of an application-defined function, then propagate back out the exact error code, not just the generic SQLITE_ERROR. (check-in: 93f42586cc user: drh tags: stat4-function)
06:46
The valueFromFunction() routine is better able to handle OOM errors. Omit unreachable branches. (check-in: 8fb6bd9be5 user: drh tags: stat4-function)
05:08
Improve the text on one of the opcode documentation comments in vdbe.c. (check-in: 08958f5797 user: drh tags: trunk)
2015-03-11
20:59
Allow the default value for columns added using ALTER TABLE ADD COLUMN to be a function in existing schemas loaded from disk. But prevent this version of SQLite from being used to create such a column. (check-in: ff868e22ca user: dan tags: stat4-function)
20:06
Allow the query planner to evaluate deterministic scalar SQL functions used in WHERE constraints if all arguments are SQL literals in order to compare the results with sqlite_stat4 sample data. (check-in: b7f1fc26d2 user: dan tags: stat4-function)
14:51
Add an optimization to the fts5 unicode tokenizer code. (check-in: f5db489250 user: dan tags: fts5)
14:34
Expand the multi-process test cases to repeat each case 20 times and to repeat tests using different journal modes. (check-in: a2715b049a user: drh tags: trunk)
2015-03-10
20:22
Arrange for some of the transient locks in WAL mode to block, as a single to the OS to fix priority inversions. (check-in: c6e6d5f4e0 user: drh tags: wal-blocking-lock)
19:24
Avoid redundant string comparisons while merging fts5 segment b-trees. (check-in: 5c46820d9b user: dan tags: fts5)
15:34
Fix an incrblob2 test case so that it works on 32-bit systems. (check-in: 8d0b11c96e user: drh tags: trunk)
13:50
Revise test cases in malloc5.test to accommodate varying allocation sizes returned by some system malloc() implementations. (check-in: fbae6bafd7 user: drh tags: trunk)
2015-03-09
13:24
Merge recent trunk enhancements into the ota-update branch. (check-in: 5489cb6892 user: drh tags: ota-update)
13:18
Merge recent trunk enhancements into the apple-osx branch. (check-in: 5e04eec88e user: drh tags: apple-osx)
13:07
Merge recent trunk enhancements into the sessions branch. (check-in: 68c8937e83 user: drh tags: sessions)
13:01
Fix the LIKE optimization so that it works even if there are additional range contraints on the column that is subject to the LIKE or GLOB. (check-in: 984c3fd526 user: drh tags: trunk)
12:11
Always use LIKE optimization range constraints in pairs. (Closed-Leaf check-in: 0e02dc94fd user: drh tags: like-opt-fix)
10:40
Increase the version number to 3.8.9 (check-in: e5da5e7d5d user: drh tags: trunk)
2015-03-07
20:32
Fix another problem with the LIKE optimization. (check-in: 465bfc72d2 user: drh tags: like-opt-fix)
15:46
Fix some compiler warnings caused by signed/unsigned pointer conversions. (check-in: cccee7b5b1 user: dan tags: fts5)
13:56
Fix the LIKE optimization so that it finds BLOB entries in addition to text entries. Ticket [05f43be8fdda9f]. (check-in: 74cb0b032f user: drh tags: trunk)
12:58
New test cases for LIKE and GLOB with BLOB left-hand side values. (Closed-Leaf check-in: 50fa3c5fae user: drh tags: like-opt-fix)
11:50
Fix the bm25() function so that it multiplies scores by -1 before returning them. This means better matches have a lower numerical score, so "ORDER BY rank" (not "ORDER BY rank DESC") does what you want. (check-in: 3ee7b5a9f9 user: dan tags: fts5)
03:02
Remove some code that is commented out. (check-in: 55ff429177 user: drh tags: like-opt-fix)
02:51
Fix problems with reverse order sorting and indexes in the LIKE optimization. (check-in: 564b8fe794 user: drh tags: like-opt-fix)
00:57
Refactor some jump opcodes in the VDBE. Add JumpZeroIncr and DecrJumpZero. Fix the LIKE optimization to work with DESC sort order. (check-in: 26cb5145bf user: drh tags: like-opt-fix)
2015-03-06
20:49
Test cases added. Comments fixed. Proposed solution for ticket [05f43be8fdda9fbd9]. (check-in: 6b993bd540 user: drh tags: like-opt-fix)
19:47
Fix the LIKE optimization even when comparing mixed-case BLOBs. (check-in: a58aafdb4e user: drh tags: like-opt-fix)
16:45
The LIKE optimization must be applied twice, once for strings and a second time for BLOBs. Ticket [05f43be8fdda9f]. This check-in is a proof-of-concept of how that might be done. (check-in: 5757e803cb user: drh tags: like-opt-fix)
04:37
Clearification of some documentation text. Added requirements marks. (check-in: 8c1e85aab9 user: drh tags: trunk)
03:31
Clarification of documentation on sqlite3_backup. (check-in: 31d5e9b42e user: drh tags: trunk)
2015-03-05
16:21
Fix some problems with OTA and empty target databases, or target databases with the wrong set of tables. Also add SQLITE_FCNTL_VFSNAME support to the OTA VFS. (check-in: 46119e8d8e user: dan tags: ota-update)
15:34
New test cases and requirements marks for PRAGMA index_info, index_xinfo, and index_list. (check-in: e5b13634d9 user: drh tags: trunk)
14:29
Revert "PRAGMA index_info" to output only three columns, for complete compatibility with prior versions. The new "PRAGMA index_xinfo" can be used to get the extra information in 4th, 5th, and 6th columns. (check-in: fc543c2c5c user: drh tags: trunk)
14:07
Add comments to sqlite3ota.h to make it clear that passing NULL in place of a parent VFS name to sqlite3ota_create_vfs() causes the new VFS to use the system default as its parent. (check-in: 158c1a4881 user: dan tags: ota-update)
13:43
Fix a typo in sqlite3ota.h. (check-in: 04087dec4c user: dan tags: ota-update)
01:29
New requirements marks on compound SELECT statements. (check-in: e7991bc510 user: drh tags: trunk)
2015-03-04
23:14
New requirements marks on INSERT and INDEXED BY and on some sqlite3_config() options. (check-in: c298ea0bd9 user: drh tags: trunk)
20:18
Fix harmless compiler warning. (check-in: 580dae4615 user: mistachkin tags: trunk)
15:35
Refinement to the wording of the documentation on depreciated functions. (check-in: 04a59d6f7e user: drh tags: trunk)
15:25
Remove a surplus </dl> mark in the documentation. No changes to code. (check-in: 5450e4650b user: drh tags: trunk)
08:29
Fix a couple of build problems. (check-in: a5d5468c05 user: dan tags: fts5)
2015-03-03
20:42
Clean up #ifdef logic dealing with VxWorks in os_unix.c. On VxWorks, automatically use posix advisory locking if it is available or fall back to named semaphore locking if not. (check-in: ac8c7ca3db user: drh tags: trunk)
19:56
Fix compiler warnings when compiling under VxWorks 7. (check-in: 55c21521a6 user: drh tags: trunk)
16:58
Enhance SQLITE_ALLOW_URI_AUTHORITITY to elide //localhost/ and to deal with dodgy URIs that contain too many "/" characters. (check-in: 39b566a2d0 user: drh tags: trunk)
14:00
Fix over-length source code lines in the main.c source file. (check-in: debba6f161 user: drh tags: trunk)
2015-03-02
22:06
Changes so that the amalgamation and the command-line shell build without modifications on VxWorks 7. Still gives a few compiler warnings, and still mostly untested on that platform. (check-in: 7d92f1f11e user: drh tags: trunk)
17:25
Ensure that automatic indexes are *not* considered when doing the the subqueries of the OR-optimization. (check-in: 17890292cf user: drh tags: trunk)
2015-02-28
14:03
In the command-line shell, the inability to read ~/.sqliterc is no longer a fatal error. A warning is issued, but processing continues. (check-in: 6bf6246306 user: drh tags: trunk)
01:04
More test cases and requirements marks for pragmas. (check-in: fc51037cd9 user: drh tags: trunk)
2015-02-27
21:53
Remove all references to SQLITE_DEFAULT_TEMP_CACHE_SIZE. Add requirements marks related to cache_size changing. (check-in: 766ad65025 user: drh tags: trunk)
20:28
New requirements marks and a few new test cases to go with them. No changes to code. (check-in: 8c2b29d9ac user: drh tags: trunk)
19:40
Merge updates from trunk. (check-in: acf7684323 user: mistachkin tags: expShell)
09:41
Further minor optimizations to flushing fts5 data to disk. (check-in: a07dcca9ef user: dan tags: fts5)
07:23
Fix suffix and prefix compression of terms in top-level fts5 segments. And a crash that could follow an OOM condition. (check-in: bb104b3646 user: dan tags: fts5)
00:33
Add a couple of requirements marks. (check-in: d70b0fd4c9 user: drh tags: trunk)
2015-02-26
21:04
Fix potential memory leaks in the misc 'compress' extension. (check-in: 3bc34fd427 user: mistachkin tags: trunk)
20:49
Optimize copying data from fts5 in-memory hash tables to top level segments. (check-in: 8e3ca6323a user: dan tags: fts5)
16:40
Update a requirements mark to reflect a change of wording in the documentation. No changes to code. (check-in: 3038d0169b user: drh tags: trunk)
16:32
Fix a real bug (in test code) that was introduced while trying to eliminate harmless compiler warnings from OpenBSD (see check-in [10321910990195878c]). (check-in: a62ba58c73 user: drh tags: trunk)
14:54
Fix an fts5 bug in large incremental merges. (check-in: 208e3cb6b6 user: dan tags: fts5)
14:27
In the command-line shell, change the units on the ".width" directive from bytes to characters. (Leaf check-in: b1a9e2916f user: drh tags: cli-char-width)
02:33
Simplifications to the description of the nByte parameter to sqlite3_prepare() and friends. (check-in: 4bee8295e3 user: drh tags: trunk)
2015-02-25
19:24
Instead of the 4-byte fields, use regular varints for the poslist-size field in fts5_hash.c. (check-in: 7eb022d7e5 user: dan tags: fts5)
14:25
Make sure the sqlite3_mutex.id field is initialized in the Win32 mutex implementation, even when SQLITE_DEBUG is turned off. (check-in: 6d132e7a22 user: drh tags: trunk)
14:09
Merge the latest trunk fixes and enhancements into the apple-osx branch. (check-in: ba8294e2f7 user: drh tags: apple-osx)
14:02
Merge the latest trunk fixes into the sessions branch. (check-in: 131a2d3116 user: drh tags: sessions)
13:48
Add support for the linenoise command-line editing library in shell.c. (check-in: 03bbb94719 user: drh tags: trunk)
13:29
Version 3.8.8.3 (Leaf check-in: 9d6c1880fb user: drh tags: release, version-3.8.8.3, branch-3.8.8)
12:52
Add support for linenoise to shell.c. (check-in: ec27ab0eb3 user: dan tags: branch-3.8.8)
10:54
Add support for linenoise to shell.c. (Closed-Leaf check-in: f7f2598c37 user: dan tags: linenoise)
01:06
When cleaning with MSVC, prevent superfluous output regarding 'missing' files and directories. (check-in: 034c16bd24 user: mistachkin tags: trunk)
00:24
Remove an always-false conditional from constructAutomaticIndex(). Put an assert() in its place to prove that the conditional is always false. (check-in: 3af300bf6f user: drh tags: trunk)
2015-02-24
20:12
Make sure partial indexes are not qualified incorrectly by a constraint that is inside the ON clause of a LEFT JOIN. Fix for ticket [2326c258d02ead33]. Cherry-pick from [491cfe9b3f87f]. (check-in: 9d94ac6a8b user: drh tags: branch-3.8.8)
20:10
Prevent partial indexes on the table on the left hand side of a LEFT JOIN from being incorrectly qualified by a constraint in the ON clause of the join. This relaxes the rule introduced by the previous commit (as the partial indexes on the table on the rhs of the LEFT JOIN may now be qualified by terms within the ON clause). (check-in: 1d6fb43a57 user: dan tags: trunk)
20:04
Make sure partial indexes are not qualified incorrectly by a constraint that is inside the ON clause of a LEFT JOIN. Fix for ticket [2326c258d02ead33]. (check-in: 491cfe9b3f user: drh tags: trunk)
18:39
More test cases to help ensure that partial indexes do not get used if their qualifing constraint is inside the ON clause of a LEFT JOIN. (Closed-Leaf check-in: c6399958a1 user: drh tags: tkt-2326c258)
16:48
This additional fix prevents a partial index from being qualified for use if the constraint that qualifies the partial index is part of the ON clause of a LEFT JOIN. (check-in: 1a1516e4da user: drh tags: tkt-2326c258)
16:22
Increase the version number to 3.8.8.3 (check-in: a92afe7d8c user: drh tags: branch-3.8.8)
16:05
Make sure partial automatic indexes are not based on terms in the ON clause of a LEFT JOIN. Fix for ticket [2326c258d02ead3]. UPDATE: This fix does not work where the partial index is a named index. (check-in: c0f4e308a5 user: drh tags: tkt-2326c258)
2015-02-23
20:09
Fix building with ENABLE_OTA and OMIT_LOAD_EXTENSION. (check-in: d6d21ff552 user: dan tags: ota-update)
16:17
Merge latest trunk changes with this branch. (check-in: e5ca79d2d3 user: dan tags: ota-update)
15:41
Change SQLITE_FCNTL_ZIPVFS_PAGER to SQLITE_FCNTL_ZIPVFS. (check-in: f7865b9428 user: dan tags: ota-update)
15:02
Update the sqlite3ota_db() API to account for the fact that each OTA handle now uses two SQLite database handles. (check-in: ef08ecceb7 user: dan tags: ota-update)
12:22
Improve tests for resuming ota updates following power failures. Fix a problem revealed by the same. (check-in: 1cb675e539 user: dan tags: ota-update)
2015-02-21
20:08
Fix some problems with resuming ota updates if saving the state is interrupted by a power failure or system crash. (check-in: 6d5ed70d0d user: dan tags: ota-update)
15:42
Update document on sqlite3_mprintf() and related functions. Discuss the %w format and point out that obscure ANSI-C formats are not supported. No changes to code. (check-in: f8917ba4d9 user: drh tags: trunk)
15:13
Merge all recent trunk changes into the sessions branch. (check-in: f36bb5fa5c user: drh tags: sessions)
01:03
Merge trunk changes into the apple-osx branch. (check-in: 3896e23373 user: drh tags: apple-osx)
00:56
Fix a compiler warning associated with USE_PREAD64. (check-in: c299e55a66 user: drh tags: trunk)
00:49
Fix over-length source code lines in os_unix.c. (check-in: 7560a9fa50 user: drh tags: trunk)
00:19
Keep track of the optimal number of reserved bytes (by looking at reserve byte requests in calls to sqlite3BtreeSetPageSize()) and then change the reserve byte count to the optimal when doing a VACUUM or when using the backup API. (check-in: 28c2b72628 user: drh tags: trunk)
2015-02-20
14:36
Add some missing comments and fix other minor code issues in sqlite3ota.c. (check-in: 718fd8b673 user: dan tags: ota-update)
2015-02-19
19:59
Ensure the mutex used to protect the linked list of all main database files opened by a single ota vfs is allocated. (check-in: 9c8682d665 user: dan tags: ota-update)
18:06
Update various documentation comments in sqlite3ota.c and sqlite3ota.h. (check-in: 60e0a46b82 user: dan tags: ota-update)
17:16
Fix errors in the EBCDIC upper-case to lower-case translation table. (check-in: 905009f672 user: drh tags: trunk)
16:12
Remove a redundant call to statfs() in the xOpen() method of the unix VFS. Also fix an unused local variable warning. (check-in: 8215727dda user: drh tags: trunk)
15:56
Incremental merge to prevent a huge pileup of merge conflicts resulting from editing the same code in two different branches. (check-in: 82c4c4e248 user: drh tags: apple-osx)
14:41
Merge latest trunk changes with this branch. (check-in: 6f5888a5e4 user: dan tags: ota-update)
13:36
Add tests for a couple of previously untested branches in the ota code. (check-in: a3c1bc5d5e user: dan tags: ota-update)
02:43
Move the os_unix.c file closer to trunk. (check-in: 57d7024007 user: drh tags: apple-osx)
02:43
Move the os_unix.c file closer to apple-osx. (check-in: 81f242e338 user: drh tags: trunk)
00:29
First small steps toward brining trunk and apple-osx closer together. (check-in: 28284ccc0d user: drh tags: trunk)
2015-02-18
20:17
Add new file ota12.test, containing tests for applying ota updates to live databases with other active reader/writer clients. (check-in: 0864d127fe user: dan tags: ota-update)
20:16
Add ota tests to increase code coverage. Fix some minor issues in error handling within the ota code. (check-in: 2b10c5d2b8 user: dan tags: ota-update)
17:40
Fix a problem with OTA updates in the presence of database readers. (check-in: 144bb29ffc user: dan tags: ota-update)
2015-02-17
20:49
Improve test coverage of ota code a bit. (check-in: a438fa6c9a user: dan tags: ota-update)
2015-02-16
21:13
Add extra tests and fixes for ota. (check-in: e0b7151962 user: dan tags: ota-update)
11:48
Add further tests and fixes for ota. (check-in: 62dc1fffc3 user: dan tags: ota-update)
06:27
Move tcl test code from sqlite3ota.c to new file ext/ota/test_ota.c. (check-in: f20779a6e8 user: dan tags: ota-update)
2015-02-14
18:58
Change the way the "incremental checkpoint" function of OTA works in order to reduce the effect on the SQLite core code. (check-in: b64a11a754 user: dan tags: ota-update)
2015-02-13
16:42
Enhancements to SQLITE_ENABLE_API_ARMOR merged from trunk. (check-in: 5147b94ae6 user: drh tags: apple-osx)
16:36
Improvements to SQLITE_ENABLE_API_ARMOR. (check-in: 823ad40ccb user: drh tags: trunk)
12:13
Merge all recent trunk fixes and enhancements into the apple-osx branch. (check-in: b2449d6776 user: drh tags: apple-osx)
12:05
Make sure the prepared statement auto-resets on extended error codes of SQLITE_BUSY and SQLITE_LOCKED even when compiled using SQLITE_OMIT_AUTORESET. (check-in: 3c6ca41487 user: drh tags: trunk)
2015-02-12
22:45
For the shell '.import' command, make sure the last column value present is considered before NULL filling any missing ones. (check-in: 9c5bcad1f7 user: mistachkin tags: trunk)
17:15
Improve the performance of fts3/4 queries that use the OR operator and at least one auxiliary fts function. Cherrypick of [245e8730451f]. (check-in: b20824628f user: dan tags: branch-3.8.8)
2015-02-11
17:05
Merge the ota-update-no-pager_ota_mode branch into this one. (check-in: 71887cd9b3 user: dan tags: ota-update)
16:54
Merge latest trunk changes with this branch. (Closed-Leaf check-in: 0b63e8dcba user: dan tags: ota-update-no-pager_ota_mode)
16:25
Ensure that an error is reported if an attempt is made to update a wal mode database via ota. (check-in: 6fc5d4d26a user: dan tags: ota-update-no-pager_ota_mode)
2015-02-10
20:00
Further tweaks to work with zipvfs. (check-in: 0f152416be user: dan tags: ota-update-no-pager_ota_mode)
17:08
Add documentation and test cases for sqlite3ota_create_vfs(). Also code to detect errors in zipvfs/ota setup. (check-in: e729668168 user: dan tags: ota-update-no-pager_ota_mode)
2015-02-09
20:07
Add the sqlite3ota_create_vfs() and sqlite3ota_destroy_vfs() functions. (check-in: 96443ecb69 user: dan tags: ota-update-no-pager_ota_mode)
18:28
Propagate COLLATE operators upward through function calls and CASE operations. And do not flatten an aggregate subquery into a query that uses other subqueries. Fixes for tickets [ca0d20b6cdddec5] and [2f7170d73bf9], respectively. (check-in: 24e78b8d65 user: drh tags: trunk)
17:46
Fix WITHOUT ROWID table handing in sqlite3_analyzer. (check-in: 937e0fe700 user: dan tags: trunk)
16:34
Add test cases for the query flattener fix for ticket [2f7170d73bf9abf8]. (Closed-Leaf check-in: dd8f7f7511 user: drh tags: tkt-2f7170d7)
16:09
Propagate the COLLATE operator upward through function calls. Initial fix for ticket [ca0d20b6cdddec5e8]. (check-in: c053448a55 user: drh tags: tkt-2f7170d7)
15:21
Disable the query flattener for aggregate subqueries if the parent query uses other subqueries in its result set or WHERE clause or ORDER BY clause. Preliminary fix for ticket [2f7170d73bf9abf8]. However it still contains a defect similar to the COLLATE problem of [ca0d20b6cddd]. (check-in: 0b7d65e3fd user: drh tags: tkt-2f7170d7)
14:07
Rename the internal "EP_Constant" bitmask to a less misleading "EP_ConstFunc". (check-in: 4ef7ceced2 user: drh tags: trunk)
13:42
In selecttrace 0x100 mode, show the parse tree after name resolution instead of before flattening, so that it is always seen even if flattening does not occur. Also: add the hex pointer value to the top of each SELECT tree. (check-in: aa093fef2d user: drh tags: trunk)
11:54
In selecttrace mode 0x100, show a complete parse-tree both before and after query flattening. This is a change to debugging code only. (check-in: b3c6b8a3c1 user: drh tags: trunk)
10:20
Fix over-length source code lines in resolver.c. No logic changes. (check-in: c12edb8507 user: drh tags: trunk)
2015-02-07
20:20
Add comments to explain the role of the ota vfs. (check-in: 7bb633639d user: dan tags: ota-update-no-pager_ota_mode)
19:17
Remove "PRAGMA pager_ota_mode". (check-in: 8ac58e4678 user: dan tags: ota-update-no-pager_ota_mode)
15:30
Merge increment blob I/O fixes from trunk. (check-in: 292cf68b4c user: drh tags: apple-osx)
15:16
Fix potential 32-bit integer overflow problems on the offset and length parameters to sqlite3_blob_read() and sqlite3_blob_write(). For sqlite3_blob_open(), make sure the *ppBlob return parameter is zeroed if the interface fails with SQLITE_MISUSE. (check-in: 5df02f50f8 user: drh tags: trunk)
2015-02-06
16:03
Merge all recent trunk enhancements into the apple-osx branch. (check-in: 44711921fe user: drh tags: apple-osx)
15:40
Merge all the latest enhancements from trunk. (check-in: ae7eef117f user: drh tags: sessions)
15:03
Merge the command-line shell enhancements from trunk. (check-in: c3931db560 user: drh tags: ota-update)
14:51
Change the name of ".info" to ".dbinfo" and add an optional second argument which is the ATTACH-ed DB about which information is provided. Provide ".indexes" as an alternative name to the legacy ".indices" command. (check-in: 0f65a7e2e0 user: drh tags: trunk)
14:19
Add the ".info" command to the shell. (check-in: 0a3100a7f2 user: drh tags: trunk)
01:07
Add the index_xinfo pragma which gives information about the fields that reference the table PRIMARY KEY in addition to the index key fields. Add extra columns "desc", "coll", and "key" to the index_info and index_xinfo pragmas. Add the "origin" and "partial" columns to the index_list pragma. (check-in: 2743846cdb user: drh tags: trunk)
00:31
Revise the way that the index structure for a WITHOUT ROWID table is discovered. (check-in: 7f10a0eaf1 user: drh tags: ota-update)
2015-02-05
17:46
Change a comment in sqlite3ota.h to make it clear that it is not possible to insert a NULL value into an INTEGER PRIMARY KEY column using ota. (check-in: a5e86bea4a user: dan tags: ota-update)
17:36
Prevent ota updates from violating NOT NULL constraints. Add a comment to the "limitations" section of sqlite3ota.h saying that CHECK constraints are not enforced. (check-in: 74e073dd60 user: dan tags: ota-update)
01:49
Figure out the primary-key type of a table using queries of sqlite_master and the table_info and index_list pragmas, obviating the need for SQLITE_TESTCTRL_TBLTYPE. (check-in: 50ecdfc443 user: drh tags: ota-update)
2015-02-04
23:51
Merge all changes from index_xinfo, including the move of the pragma table into the separate pragma.h file. (check-in: 21e95d28a5 user: drh tags: ota-update)
23:13
Merge all recent trunk changes, including the movement of the pragma table into the separate pragma.h header file. (Closed-Leaf check-in: 3af19f8444 user: drh tags: index_xinfo)
20:56
Fix a missing mutex in SQLITE_TESTCTRL_IMPOSTER. (check-in: 71691c4be5 user: drh tags: trunk)
19:20
Fix the error messages returned by ota if an update violates a unique constraint. (check-in: c4845a3b59 user: dan tags: ota-update)
16:32
Avoid a linear scan of the entire table when ota updates or deletes a row from a table with an external primary key index. (check-in: 1db198ccca user: dan tags: ota-update)
11:08
Fix a memory leak that could follow an OOM error in ota. (check-in: 0d5415f264 user: dan tags: ota-update)
2015-02-03
19:20
Fix a typo in the --help output for speedtest1. Fix a dependency error in the Makefile.in for speedtest1. (check-in: f30a057aee user: drh tags: trunk)
18:43
Fix some problems surrounding WITHOUT ROWID tables with DESC primary key indexes . (check-in: a21fefb79a user: dan tags: ota-update)
15:56
Remove "PRAGMA ota_mode". (check-in: 1c111447a0 user: dan tags: ota-update)
2015-02-02
22:19
Add an experimental pragma "PRAGMA preload;" that preloads the pcache with the entire database file. (Leaf check-in: 6dca23e64e user: drh tags: preload-pragma)
21:34
Break out the (script-generated) pragma parsing tables into a separate file, pragma.h, to make editing easier. (check-in: 32c0325bcb user: drh tags: trunk)
11:58
Ensure generated header file fts5parse.h is included in sqlite3.c. (check-in: bc7be2fcfd user: dan tags: fts5)
11:32
Fix some problems with building fts5 and fts3 together using the amalgamation. (check-in: fb10bbb9f9 user: dan tags: fts5)
09:40
Merge latest trunk changes with this branch. (check-in: 76212f2c9a user: dan tags: fts5)
2015-01-31
20:42
Have ota use imposter tables to write to indexes instead of the sqlite3_index_writer() interface. The error handling in this version is broken in a few small ways. (check-in: cdaeab467f user: dan tags: ota-update)
15:23
Minor optimizations to fts5 writes. (check-in: 1fffe51fa9 user: dan tags: fts5)
02:34
Merge in support for the index_xinfo pragma. (check-in: f9b6dc7702 user: drh tags: ota-update)
02:00
Add the "index_xinfo" pragma. Add new columns to the "index_info" and "index_list" pragmas. (check-in: 30f51d7b3b user: drh tags: index_xinfo)
2015-01-30
21:00
Merge the SQLITE_TESTCTRL_IMPOSTER changes from trunk. (check-in: 3ed6eb2fab user: drh tags: ota-update)
20:59
Change SQLITE_TESTCTRL_INITMODE to SQLITE_TESTCTRL_IMPOSTER. Revise the order of parameters. Give it the ability to reset the schema parse table so that imposter tables can be erased. (check-in: 42d5601739 user: drh tags: trunk)
16:36
Merge all recent trunk changes, and especially the SQLITE_TESTCTRL_INITMODE enhancement. (check-in: 36436dde74 user: drh tags: ota-update)
15:52
Added SQLITE_TESTCTRL_INITMODE for improved testability. (check-in: 98e029134d user: drh tags: trunk)
15:40
Add a few simple test cases for SQLITE_TESTCTRL_INITMODE - cases which also test PRAGMA integrity_check. (Closed-Leaf check-in: 3a6e2afe40 user: drh tags: initmode-testctrl)
14:30
Version 3.8.8.2 (check-in: 7757fc7212 user: drh tags: release, version-3.8.8.2, branch-3.8.8)
2015-01-29
20:59
Fix some problems with transactions that both read and write an fts5 table. (check-in: 0e225b1535 user: dan tags: fts5)
20:01
Bump the version number to 3.8.8.2 (check-in: 65bfbbb416 user: drh tags: branch-3.8.8)
19:59
Ensure that "PRAGMA wal_checkpoint = TRUNCATE|FULL|RESTART" block on other connections and truncate the wal file as required even if the entire wal file has already been checkpointed. Cherry-pick from trunk. (check-in: 18610617af user: drh tags: branch-3.8.8)
19:27
Fix some duplicated test names. (check-in: 1797158db2 user: mistachkin tags: trunk)
19:12
Ensure that "PRAGMA wal_checkpoint = TRUNCATE|FULL|RESTART" block on other connections and truncate the wal file as required even if the entire wal file has already been checkpointed. (check-in: 53429689d4 user: dan tags: trunk)
18:38
Split up the SRC variable in Makefile.msc to avoid over-long cmd.exe commands when TOP is set to a long pathname. (check-in: 7d70ac65c1 user: drh tags: trunk)
17:54
Add the INITMODE test-control. (check-in: 5940af8e78 user: drh tags: initmode-testctrl)
15:53
Improvements to the DELETE code generator for the one-pass case. Avoid some OP_Goto instructions. Read content from the index cursor if the index cursor is valid and was used to locate the row that is to be deleted. (Closed-Leaf check-in: 58cc257aeb user: drh tags: one-writable-btree)
14:48
Avoid overlength command lines in Makefile.msc when using TOP= with a large directory name. (check-in: 0cdd59bf36 user: drh tags: one-writable-btree)
11:52
Optimize range constraints on the rowid column of fts3/4 tables even if there is no MATCH clause in the query. (check-in: 85dc12625d user: dan tags: trunk)
02:26
Experimental sqlite_db_config() setting to disable writing to all btrees except for one btree with a particular root page. (check-in: 2305411097 user: drh tags: one-writable-btree)
2015-01-28
20:37
Add missing VdbeCoverage() macros to the sqlite3_index_writer() implementation. (check-in: 6f8cda26e9 user: drh tags: ota-update)
15:30
When a "full", "restart" or "truncate" checkpoint is attempted, return SQLITE_BUSY if a reader prevents the checkpointer from copying any frames at all into the database file. (check-in: f270004016 user: dan tags: ota-update)
12:27
Correctly detect errors returned by walCheckpointStart() due to OOM. (check-in: 8e878c2023 user: drh tags: ota-update)
12:00
Merge in all changes from trunk. (check-in: 17c69be805 user: drh tags: ota-update)
2015-01-27
21:24
Fix harmless compiler warnings. (check-in: e7d2ec048c user: mistachkin tags: trunk)
20:41
Fix a problem with fts5 doclist-indexes that occured if the first rowid of the first non-term page of a doclist is zero. (check-in: f704bc059e user: dan tags: fts5)
19:01
Fix a bug in the fts3 snippet() function causing it to omit leading separator characters from snippets that begin with the first token in a column. (check-in: adc9283dd9 user: dan tags: trunk)
18:43
Improve the performance of fts3/4 queries that use the OR operator and at least one auxiliary fts function. (check-in: 245e873045 user: dan tags: trunk)
13:17
Fix a (almost always harmless) read past the end of a memory allocation that comes about because the Expr.pTab field is checked on an EXPR_REDUCEDSIZE Expr object before checking the Expr.op field to know that the Expr.pTab field is meaningless. (check-in: e098de6910 user: drh tags: trunk)
2015-01-25
20:19
The va_list argument cannot take on a NULL value and cannot be compared with NULL on some platforms (ex: ARM). So do not attempt to do so. (check-in: 1964e656b4 user: drh tags: trunk)
2015-01-24
19:57
Have fts5 store rowids in ascending order. Query speed is virtually the same regardless of rowid order, and ascending order makes some insert optimizations easier. (check-in: 5206ca6005 user: dan tags: fts5)
12:12
In the command-line shell, make sure stderr is unbuffered so that it automatically flushes. This has always been the case already for unix and on Windows when the output is a console, but apparently was not the case on Windows when the output was a pipe. (check-in: 2a9ea9b4a7 user: drh tags: trunk)
2015-01-23
17:43
Fix compression of keys stored on internal segment b-tree nodes by fts5. (check-in: 51444f67c0 user: dan tags: fts5)
06:50
Remove some redundant code from fts5. (check-in: 939b7a5de2 user: dan tags: fts5)
2015-01-22
19:13
Add further tests and fixes for fts5. (check-in: 5b29589715 user: dan tags: fts5)
12:00
Make sure errors in the FROM clause of a SELECT cause analysis to abort and unwind the stack before those errors have a chance to mischief in the "*" column-name wildcard expander. Fix for ticket [32b63d542433ca67]. (check-in: 9e6eae660a user: drh tags: trunk)
11:29
Change the undocumented ".selecttrace" command in the shell to accept an integer bitmask rather than a boolean. (check-in: bd63bf882c user: drh tags: trunk)
2015-01-21
20:30
Further tests and fixes for fts5. (check-in: c020a291ed user: dan tags: fts5)
18:23
Fix an fts5 issue with loading doclist-indexes for a term that is the last thing on its leaf page. (check-in: e0d614425f user: dan tags: fts5)
17:20
Merge trunk changes with this branch. (check-in: f8699a1a3b user: dan tags: fts5)
17:00
Fix an assert() that may fail following an OOM error. (check-in: 5f592359d6 user: dan tags: trunk)
16:10
Add further tests for fts5 backend. (check-in: 09dabb3b9e user: dan tags: fts5)
06:36
Merge latest trunk changes with this branch. (check-in: b3348b1e07 user: dan tags: fts5)
00:51
Fix harmless compiler warning seen with MSVC. (check-in: 78c2e62bb4 user: mistachkin tags: trunk)
00:48
Enhancements to entropy generation for the Win32 VFS. (check-in: 26190b3c63 user: mistachkin tags: trunk)
2015-01-20
20:34
Add extra fault injection tests to fts5. (check-in: f45a0dc0a8 user: dan tags: fts5)
16:51
Version 3.8.8.1 (check-in: f73337e3e2 user: drh tags: release, version-3.8.8.1, branch-3.8.8)
03:04
Fix another instance of an incorrect value for KeyInfo.nXField on a sorting index. Ticket [f97c4637102a3ae72b79]. (check-in: 0077f64510 user: drh tags: trunk)
02:51
Change the version number to 3.8.8.1 (check-in: c75555a354 user: drh tags: branch-3.8.8)
02:50
Fix another instance of an incorrect value for KeyInfo.nXField on a sorting index. More changes for ticket [f97c4637102a3ae72b79]. (check-in: dc711db44e user: drh tags: branch-3.8.8)
2015-01-19
21:38
Ensure that the KeyInfo.nXField value for ephemeral tables used to implement ORDER BY or GROUP BY clauses is set correctly, so that the sqlite3VdbeFindCompare() routine can choose the correct comparison function. Add assert() statements to the high-speed comparison functions to detect cases where they are inappropriately chosen. Fix for ticket [f97c4637102a3ae72b7911]. (check-in: 59e592f67f user: drh tags: branch-3.8.8)
21:36
Ensure that the KeyInfo.nXField value for ephemeral tables used to implement ORDER BY or GROUP BY clauses is set correctly, so that the sqlite3VdbeFindCompare() routine can choose the correct comparison function. Add assert() statements to the high-speed comparison functions to detect cases where they are inappropriately chosen. Fix for ticket [f97c4637102a3ae72b7911]. (check-in: f7201bb0cd user: drh tags: trunk)
21:27
Improve precision of the new test case by removing a superfluous carriage-return from the shell command input. (check-in: 913c41b2cd user: mistachkin tags: expShell)
21:11
Add comments and improve the new test case. (check-in: 4ec2aeadf9 user: mistachkin tags: expShell)
21:10
There are asserts in place now that will prevent a recurrence of ticket [f97c4637102a3ae7]. Nevertheless, it is good to add some test cases as well. (Closed-Leaf check-in: e02959b9a0 user: drh tags: tkt-f97c4637)
20:59
Make sure that the KeyInfo.nXField value of ephermeral tables used for ORDER BY and GROUP BY is set correctly, so that the correct comparison function can be choosen by sqlite3VdbeFindCompare(). (check-in: c16bae5e69 user: drh tags: tkt-f97c4637)
20:57
Fix the assert() of the previous check-in so that it works even when compiled without SQLITE_DEBUG. (check-in: 38868f845e user: drh tags: tkt-f97c4637)
20:22
Remove a shell function that is now superfluous. (check-in: d8564f70e6 user: mistachkin tags: expShell)
20:19
Merge updates from trunk. (check-in: d9f4035b38 user: mistachkin tags: expShell)
20:05
Fix compilation on Cygwin when SQLITE_MAX_WORKER_THREADS is greater than zero. (check-in: 2037442c58 user: mistachkin tags: trunk)
19:48
An alternative way of implementing the assert() that verifies the relative values of KeyInfo.nField+KeyInfo.nXField and the number of columns in a record. This version of the assert() only fires when the high-speed comparison routines are used - which is to say it only fires when the constraint actually matters. (check-in: bf744b4908 user: drh tags: tkt-f97c4637)
19:21
An alternative way of fixing the key comparison bug of ticket [f97c4637102a3ae72b]. (Closed-Leaf check-in: e41376cf08 user: drh tags: alt1-tkt-f97c4637)
18:18
Strengthen the KeyInfo number-of-columns assert() added by the previous check-in. (Closed-Leaf check-in: d0971b7913 user: drh tags: tkt-f97c4637)
17:28
Add an assert() to verify that the nField+nXField values of a KeyInfo object are never less then the number of columns in a row for a non-corrupt database. This assert() currently fails, which is the root of the problem with ticket [f97c4637102a3ae72b]. (check-in: 083f523d2f user: drh tags: tkt-f97c4637)
15:05
Enhance the command-line shell with the ability to set the SQLITE_TESTCTRL_NEVER_CORRUPT flag using: ".testctrl never_corrupt 1". (check-in: 824328f983 user: drh tags: trunk)
11:15
Handle the case where a tokenizer determines that there are zero tokens in an fts5 query term. (check-in: 75f3d17f86 user: dan tags: fts5)
07:42
Merge updates from trunk. (check-in: c7167f88ec user: mistachkin tags: expShell)
00:35
Eliminate all use of sprintf(), strcpy() and strcat() from test logic because OpenBSD hates those functions. (check-in: 1032191099 user: drh tags: trunk)
2015-01-18
20:30
Set binary mode for output on Windows when writing a quoted string that might contain newline characters. (check-in: 7096e6c06d user: drh tags: trunk)
09:02
Modify the new shell test case to work on non-Windows platforms as well. (check-in: f362c5d9d1 user: mistachkin tags: expShell)
05:35
Some experimental command line shell input/output enhancements. (check-in: 25e99f3fe5 user: mistachkin tags: expShell)
01:50
Set the command-line shell stdin to binary mode on windows. (check-in: 80541e8b94 user: drh tags: trunk)
2015-01-17
20:01
Ensure an up to date copy of the fts5 configuration has been loaded into memory before attempting to modify the same configuration. (check-in: f30afd209a user: dan tags: fts5)
17:48
Improve the performance of the fts5 porter tokenizer implementation. (check-in: 96ea600440 user: dan tags: fts5)
15:26
Fix a harmless compiler warning the VFS for Windows. (check-in: ceac571f53 user: drh tags: trunk)
2015-01-16
19:35
Fix harmless compiler warning. (Closed-Leaf check-in: cab46fb737 user: mistachkin tags: msvcWarn)
12:44
Merge all 3.8.8 changes into the sessions branch. (check-in: bebd131a35 user: drh tags: sessions)
12:24
Merge the 3.8.8 release changes from trunk. (check-in: 518621f8dc user: drh tags: apple-osx)
12:08
Version 3.8.8 (check-in: 7d68a42fac user: drh tags: trunk, release, version-3.8.8)
2015-01-15
17:38
Fix the spelling of "malloc_usable_size" in configure and configure.ac. (check-in: 8f45217cba user: drh tags: trunk)
15:47
Makefile enhancements: (1) Rename autoconf/tea/configure.in to autoconf/tea/configure.ac so that it works with the latest versions of autoconf. (2) Add the "amalgamation-tarball" targets to Makefile.in and main.mk (renamed from "dist" in the latter case). (3) Update the README.first file in autoconf/ (4) The TOP macro in Makefile.in is now an absolute rather than a relative path. (check-in: 3bafeec934 user: drh tags: trunk)
2015-01-14
17:16
Merge trunk 3.8.8 beta changes into the sessions branch (check-in: 0ba124540b user: drh tags: sessions)
2015-01-13
21:26
Simplify some code in rtree, to avoid confusing the optimizer in GCC on some macs: gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00). Prior to these changes, compiling with -O3 would cause incorrect code to be generated. The change to the nodeGetCell() routine is key. The other changes are merely cosmetic details discovered while bug hunting. (check-in: 882181ff9d user: drh tags: trunk)
17:25
Fix prefix indexes so that they work in characters, not bytes. (check-in: af8d43a4a0 user: dan tags: fts5)
01:12
Fix the e_walauto.test test module so that it works on both little-endian and big-ending machines. (check-in: 5682db7b87 user: drh tags: trunk)
2015-01-12
21:43
Fix harmless compiler warnings when using -W4 with MSVC. (check-in: e693e11d1b user: mistachkin tags: trunk)
20:25
Fix harmless compiler warning in an assert() statement. (Closed-Leaf check-in: bdbeed01dd user: mistachkin tags: msvcW4)
20:20
Add two more classes of harmless MSVC compiler warnings. (check-in: de30d5b053 user: mistachkin tags: msvcW4)
19:59
Silence some harmless uninitialized local variable warnings. (check-in: 44375a34e5 user: mistachkin tags: msvcW4)
19:49
Harmless compiler warning fixes for 'testfixture' and the miscellaneous extensions when built with the MSVC makefile. (check-in: 923fd66031 user: mistachkin tags: msvcW4)
18:52
Merge updates from trunk. (check-in: ca5f2c5452 user: mistachkin tags: msvcW4)
18:52
Get things compiling cleanly with MSVC and W4. (check-in: c8725fa5fa user: mistachkin tags: msvcW4)
18:38
Fix some harmless compiler warnings. (check-in: 2b8eecbfe7 user: mistachkin tags: msvcW4)
18:27
Fix comments and add another disabled warning for MSVC. (check-in: 43b6b4cc05 user: mistachkin tags: msvcW4)
18:02
Work in progress on fixing harmless compiler warnings when using -W4 and MSVC. (check-in: 856dd245ce user: mistachkin tags: msvcW4)
17:58
Optimize the unicode61 tokenizer so that it handles ascii text faster. Make it the default tokenizer. Change the name of the simple tokenizer to "ascii". (check-in: f22dbccad9 user: dan tags: fts5)
17:56
Add an assert() in order to calm a scan-build warning. (check-in: 11e81ac2a7 user: drh tags: trunk)
2015-01-10
20:34
Fix some documentation issues in fts5. (check-in: 512e1bdb40 user: dan tags: fts5)
18:22
Add detection of the isnan() library function to the configure script. Make the code responsive to the HAVE_ISNAN configuration option. (check-in: 46f3aba269 user: drh tags: trunk)
18:02
Make use of the fdatasync() interface if the HAVE_FDATASYNC macro is true. (check-in: 694228e463 user: drh tags: trunk)
16:49
Improvements to compile-time-option hygiene. Use "#if OPTION" instead of "#ifdef OPTION" in cases where that makes sense, so that -DOPTION=0 will work. Add the "Have-Not" configuration in releasetest.tcl which disables all of the "HAVE_component" compile-time options. (check-in: 9e92a5ed5a user: drh tags: trunk)
15:21
Add the ability to put comments in the Config and Platform setup sections of the releasetest.tcl script. (check-in: d6f8c899d8 user: drh tags: trunk)
14:27
Autoconf configure script updates: (1) remove the long-obsolete --enable-cross-thread-connections option. (2) remove the --with-hints= options. (3) Extension loading is enabled by default. (4) Check for strchrnull() (5) Update the --help text. (check-in: 5004063ce4 user: drh tags: trunk)
2015-01-09
21:54
Change the testfixture binary so that it explicitly enabled core files on a crash (on unix). Add a test case to verify that this works. (check-in: 90f422ed81 user: drh tags: trunk)
20:00
Add SQLITE_ENABLE_STMT_SCANSTATUS to the Update-Delete-Limit configuration in the releasetest.tcl script. (check-in: c70d5edaf6 user: drh tags: trunk)
19:45
Remove an unused preprocessor macro from pcache.c. (check-in: 88a7a96711 user: drh tags: trunk)
19:36
Improvements to the sqlite3_stmt_scanstatus() documentation. No changes to code. (check-in: 9309c9bc08 user: drh tags: trunk)
01:27
Fix three crash problems discovered by afl-fuzz. Ticket [a59ae93ee990a55]. (check-in: fe57886331 user: drh tags: trunk)
00:38
Add the "ascii" mode to the command-line shell. (check-in: e1518a9478 user: drh tags: trunk)
2015-01-08
22:08
Omit modules from the "valgrind" permutation that fork off separate processes. Also omit selectG.test because it is timing sensitive and valgrind is too slow to get the right answer. (check-in: 662932a69a user: drh tags: trunk)
20:06
Merge recent enhancements from trunk, including test scripts enhancements and the removal of limits on the number of terms in a VALUES clause. (check-in: 5a2dec55bf user: drh tags: sessions)
19:55
Merge the testing enhancements and the unlimited VALUES enhancement from trunk. (check-in: cc7808427f user: drh tags: apple-osx)
16:47
Try to fix up the "valgrindtest" target in Makefile.in so that it avoids misuse testing that can trigger false errors. (check-in: 50b5a8af84 user: drh tags: trunk)
02:28
Fix the extension tags on the "smoketest" makefile target for Windows. (check-in: 826fd311e7 user: drh tags: trunk)
02:15
In releasetest.tcl: (1) Add the Failure-Detection platform. (2) Re-add the --disable-shared argument on Default that was mistakenly removed by the previous commit. (3) Remove the -ftrapv tests, as we read that -ftrapv does not work in GCC. (check-in: 1f2fb77781 user: drh tags: trunk)
01:05
In releasetest.tcl: add options --veryquick and pass-through compiler optimization settings (ex: -O0). Collect the SQLite version number from the main.test output and show it during the summary report at the end. (check-in: e7e7bc1d9a user: drh tags: trunk)
2015-01-07
19:38
In releasetest.tcl, always use --disable-shared together with --disable-amalgamation because mingw generates a binary that crashes and cannot be debugged using gdb if you don't. (check-in: 1998243941 user: drh tags: trunk)
19:33
Add the fts5 'optimize' command. (check-in: e749be563d user: dan tags: fts5)
18:44
In releasetest.tcl, copy certain command-line arguments (-g, -D..., etc) down into each test run. (check-in: 889864b58a user: drh tags: trunk)
18:19
Modify the valgrind target to be consistent with regard to target suffixes. (check-in: dc4aa73212 user: mistachkin tags: trunk)
18:11
Fix threads-enabled builds on Windows when the amalgamation is not in use. (check-in: 9b92a4d2b6 user: mistachkin tags: trunk)
17:11
Add the 'rebuild' and 'delete-all' commands. (check-in: 0cb2fed525 user: dan tags: fts5)
14:41
In releasetest.tcl, change the --dryrun option to work as it does in multitest.tcl of TH3. Add the new --trace option that work like the --dryrun option used to work. Add the ability to specify additional configure-script options in the Config array, and create configurations that use --disable-shared and --disable-amalgamation for testing. (check-in: be17ef03f1 user: drh tags: trunk)
14:09
Add a valgrind test to the Linux-x86_64 platform in releasetest.tcl. (check-in: 4b6df03556 user: drh tags: trunk)
2015-01-06
21:31
Fix a problem in the unix implementation of FCNTL_SIZE_HINT on systems that do not support posix_fallocate(). (check-in: af20eae1e6 user: dan tags: trunk)
19:08
Remove the iPos parameter from the tokenizer callback. Fix the "tokenchars" and "separators" options on the simple tokenizer. (check-in: 65f0262fb8 user: dan tags: fts5)
16:53
Improved and more rigorous test of large VALUES clauses. (check-in: 6917d9f437 user: drh tags: trunk)
14:38
Further fixes and test cases related to external content tables. (check-in: ce6a899baf user: dan tags: fts5)
2015-01-05
20:41
Tests and fixes for fts5 external content tables. (check-in: 047aaf830d user: dan tags: fts5)
20:13
Enhance "INSERT INTO ... VALUES" so that the number of rows in the VALUES clause is not limited by SQLITE_LIMIT_COMPOUND_SELECT, and so that the stack depth is constant regardless of the number of rows in VALUES. (check-in: e1c4a359aa user: drh tags: trunk)
20:04
Avoid O(N*N) behavior with very long lists of VALUES. (Closed-Leaf check-in: ee30fb3521 user: drh tags: many-VALUEs)
19:16
Handle compound-select statements originating from VALUES clauses as a special case that does not use recursion. (check-in: 9ce9e43af3 user: drh tags: many-VALUEs)
16:27
Towards getting INSERT statements to except many VALUE terms (more than the limit imposed by SQLITE_LIMIT_COMPOUND_SELECT). This check-in segfaults on a stack overflow. And it is slow. (check-in: c9d65f739a user: drh tags: many-VALUEs)
15:48
Remove some needless recursion from compound SELECT processing. (check-in: fe677d13f0 user: drh tags: trunk)
2015-01-03
20:44
Add support for external content tables to fts5. (check-in: 17ef5b59f7 user: dan tags: fts5)
18:59
In releasetest.tcl, omit the CC=clang text from the label on Sanitize tests, so that the label fits on an 80-character line. (check-in: 23d4c07eb8 user: drh tags: trunk)
2015-01-02
21:54
Fix a harmless compiler warning. (check-in: e0de580726 user: drh tags: trunk)
20:06
Merge updates from trunk. (Closed-Leaf check-in: ea99f4b29a user: mistachkin tags: asciiMode)
19:17
Merge the latest changes from trunk into the apple-osx branch. (check-in: df3cdf9f06 user: drh tags: apple-osx)
15:55
Add the SQLITE_CONFIG_PMASZ start-time option. (check-in: acb0d1e832 user: drh tags: trunk)
14:55
Allow the rank column to be remapped on a per-query basis by including a term similar to "rank match 'bm25(10,2)'" in a where clause. (check-in: 1cd15a1759 user: dan tags: fts5)
2015-01-01
23:02
Add logic to releasetest.tcl that detects -fsanitize=undefined errors. Fix a few false-positivies that come up when running the sanitize=undefined test. (check-in: 2835e79a0a user: drh tags: trunk)
19:53
Add the ability to specify an alternative compiler (clang instead of gcc) on the default Makefile. Use this in releasetest.tcl to implement an -fsanitize=undefined test. (check-in: c55c05fe22 user: drh tags: trunk)
19:11
Enhance the "lemon" executable so that it ignores -f, -W, -O, and -I command-line options. This permits most of the same options that are passed to the compiler to also be harmlessly passed to lemon, and thus simplifies makefiles. (check-in: da408d128b user: drh tags: trunk)
18:54
Fix an error in the computation of the number of hours of runtime for individual test runs in the releasetest.tcl script. (check-in: e2b0ebe21c user: drh tags: trunk)
18:03
Merge latest trunk changes with this branch. (check-in: 4b3651677e user: dan tags: fts5)
16:47
Fix a harmless compiler warning in rtree. (check-in: 30891c6b8e user: drh tags: trunk)
16:46
Add a version of the unicode61 tokenizer to fts5. (check-in: d09f7800cf user: dan tags: fts5)
14:13
Fix two test cases in memsubsys1 so that they work with the mmap permutation. (check-in: 66269d0d8e user: drh tags: trunk)
14:06
Fix the fkey-7.1 test so that it sorts its answer and hence always gives the same answer. (check-in: 5830c557f7 user: drh tags: trunk)
2014-12-31
20:35
Fix to releasetest.tcl: When doing the secondary _debug runs, convert "fulltest" to just "test". (check-in: ec264bdee5 user: drh tags: trunk)
20:25
Adjust the memsubsys1-5.5 test case to avoid occasional false positives. (check-in: 432413187f user: drh tags: trunk)
20:19
Fix a floating-point round-off error problem in the percentile.test module. (check-in: 456948ea64 user: drh tags: trunk)
19:58
Disable the bigsort.test module on machine with less than 8GB of available RAM or machine, to avoid thrashing. (check-in: 9d4fe11641 user: drh tags: trunk)
18:55
Change threadtest3.c so that SQLITE_SCHEMA returns result in warnings not hard errors. Add the Darwin-x86_64 platform to releasetest.tcl. (check-in: b09a139c9e user: drh tags: trunk)
18:28
Update the command-line parsing for threadtest3 so that tests are run in the order they are specified on the command-line. (check-in: f489bc3116 user: drh tags: trunk)
18:25
Add a missing sqlite3_close() call to threadtest3.c. (check-in: a65a44f3ff user: dan tags: trunk)
18:10
Only run walthread5 once when running all tests in threadtest3. (check-in: ca2e4a5b22 user: drh tags: trunk)
18:08
Do run pragma3.test as part of the mmap permutation. As it works as of [cf48eb608a]. (check-in: 11057e2645 user: dan tags: trunk)
15:14
Change the width of output lines in releasetest.tcl from 70 to 79 characters. (check-in: a468d96700 user: drh tags: trunk)
14:27
Merge the fix to PRAGMA data_version and testing improvements from trunk. (check-in: 86e39123c1 user: drh tags: sessions)
14:18
Make sure PRAGMA data_version is updated even if the cache is empty when another connection changes the database. (check-in: cf48eb608a user: drh tags: trunk)
09:52
Do not run pragma3.test as part of the mmap permutation. (check-in: 9410101196 user: dan tags: trunk)
2014-12-30
20:40
Add the "mptester" tests to releasetest.tcl. (check-in: 93094a68d3 user: drh tags: trunk)
19:58
Ensure that when a file is extended using FCNTL_SIZE_HINT the last page is allocated on disk, even if the file will only use part of it. (check-in: c7f84717d6 user: dan tags: trunk)
19:26
Update the threadtest3 test program so that its output summary is compatible with releasetest.tcl. In threadtest3, do not record errors that contain the string "no such table" as being fatal errors, since they happen sometimes in a race condition in stress1. (check-in: 98cb56e240 user: drh tags: trunk)
18:07
Fix problems with the "inmemory_journal" permutation. (check-in: 79693f0412 user: dan tags: trunk)
14:40
If the sorter uses mmap'd temp files, ensure all pages of the temp file have been allocated before it is accessed. Otherwise, a disk-full condition might result in a SIGBUS exception. (check-in: 776648412c user: dan tags: trunk)
13:04
Make SQLITE_CONFIG_PCACHE_HDRSZ accurate (not an over-estimate) on 32-bit systems. (check-in: 340b347758 user: drh tags: trunk)
12:03
Change notify2.test to check that sqlite3_blocking_step() uses CPU more efficiently than sqlite3_step(), not that it results in greater overall throughput for any specific number of threads. (check-in: d904d29354 user: dan tags: trunk)
00:57
Round all object sizes that go into computing SQLITE_CONFIG_PCACHE_HDRSZ up to a multiple of 8 bytes. (check-in: b28ce75f2d user: drh tags: trunk)
2014-12-29
19:54
Fix the --dryrun option in releasetest.tcl. (check-in: 0f9e549643 user: drh tags: trunk)
15:59
Move all fts5 test files to new directory "ext/fts5/test". (check-in: 7f148edb30 user: dan tags: fts5)
12:02
Fix some recently added tests so that they work with SQLITE_DEFAULT_AUTOVACUUM=1. (check-in: ef0626ab20 user: dan tags: trunk)
11:50
Reinstate an assert() by adding an "|| CORRUPT_DB" term. (check-in: 95ce20348d user: drh tags: trunk)
11:24
Fixes to built-in tokenizers. (check-in: b33fe0dd89 user: dan tags: fts5)
02:55
Fix the "checksymbols" target in Makefile.in so that it actually works. Enhance the releasetest.tcl script to count the total number of tests run over all configurations. (check-in: 4eda1c7460 user: drh tags: trunk)
2014-12-28
22:10
Fix WITHOUT ROWID tables so that they correctly deal with PRIMARY KEYs that contain redundant columns. (check-in: 0dfef67570 user: drh tags: trunk)
2014-12-25
12:19
Update the SQLITE_CONFIG_PAGECACHE documentation so that the maximum page size is correctly stated to be 65536. (check-in: 3286424b4d user: drh tags: trunk)
2014-12-24
23:35
Fix the error counter in releasetest.tcl. And report the total time in HH:MM:SS instead of just seconds. (check-in: 6396f80462 user: drh tags: trunk)
18:11
Fix a failing assert() in balance_nonroot(). (check-in: e2e323145f user: dan tags: trunk)
17:17
When building the amalgamation with SQLITE_ENABLE_IOTRACE defined, do not mark symbol sqlite3IoTrace as static. (check-in: 5b7ca013b7 user: dan tags: trunk)
2014-12-23
21:17
Merge the new and improved releasetest.tcl script into trunk. Add a "make releasetest" target to the autoconf makefile. (check-in: 1deb00ec75 user: drh tags: trunk)
21:10
Remove 'threadtest' as a target on Windows, due to lack of pthreads. Also, change 'fulltest' to 'fulltestonly'. (Closed-Leaf check-in: a010c404b5 user: mistachkin tags: releasetest-refactor)
21:03
Fix typo in library object file name. (check-in: f49566a79d user: mistachkin tags: releasetest-refactor)
20:42
Permit sqlite3_shutdown() to be called with OMIT_WSD enabled and without having called sqlite3_initialize() first. (check-in: 3f7dbdb5df user: mistachkin tags: trunk)
20:41
In the releasetest.tcl script, show the test target for each configuration that is run. And show the time in HH:MM:SS. (check-in: 2295e9e0a2 user: drh tags: releasetest-refactor)
20:31
Add the threadtest target to Makefile.in. Add --enable-load-extension to the configure issued by releasetest.tcl. (check-in: cb128067fa user: drh tags: releasetest-refactor)
20:22
Draft of changes necessary to make releasetest work on Windows via MinGW. (check-in: af166c5c64 user: mistachkin tags: releasetest-refactor)
20:05
Fix a potential segfault following OOM error in the test harness. The SQLite core itself is not at fault. (check-in: 1bb26695ff user: drh tags: trunk)
19:52
Add the "checksymbols" target to Makefile.in (check-in: 5bd73dba5e user: drh tags: releasetest-refactor)
19:40
Rework the test/releasetest.tcl script so that it uses the autoconf makefile instead of the test/releasetest.mk makefile. Also add options like --dryrun and --buildonly. Omit the --makefile option and replace it with --srcdir with the default computed relative to the releasetest.tcl script itself. (check-in: 7c85e83115 user: drh tags: releasetest-refactor)
19:18
Fix the fts5 bm25() function so that it matches the documentation. (check-in: 1ac7a8d0af user: dan tags: fts5)
2014-12-22
22:02
Fix a typo in an evidence mark on a test script. No changes to code. (check-in: a08b0c7512 user: drh tags: trunk)
21:01
Fixes and simplifications for the snippet() and highlight() functions. (check-in: ca5d44042a user: dan tags: fts5)
18:48
Merge the PRAGMA data_version redefinition and other fixes from trunk. (check-in: 315243e49d user: drh tags: sessions)
18:41
Redefine the way PRAGMA data_version works: It continues to change when any other connection commits, including shared-cache connections, but does not change if the local connection commits. (check-in: 7a97826f33 user: drh tags: trunk)
2014-12-21
11:56
Fixes to the README.md file. No changes to code. (check-in: ef4b734d1f user: drh tags: trunk)
2014-12-20
22:21
Support manually disabling overlapped file I/O for Windows sub-platforms other than Windows CE. (check-in: b9330b887c user: mistachkin tags: trunk)
21:14
Minor fixes and enhancements to the SQLITE_ENABLE_API_ARMOR functionality. (check-in: cb3e4219ac user: mistachkin tags: trunk)
14:58
Merge the PRAGMA data_version command and the enhancements to FK query planning from trunk into the sessions branch. (check-in: d4f82af0a4 user: drh tags: sessions)
14:50
Add the "PRAGMA data_version" command for checking to see if a database has been modified. (check-in: de50f25ce3 user: drh tags: trunk)
14:34
Update the PRAGMA data_version command so that it reponse to changes made by a shared-cache database connection, and also to changes made by the same database connection. Add test cases to verify the new behavior. (Closed-Leaf check-in: 44ee538374 user: drh tags: data_version_pragma)
2014-12-19
22:20
Merge updates from trunk. (check-in: 555fb71f6c user: mistachkin tags: asciiMode)
20:53
Remove the fts5_test() aux function. Test aux functions using the tcl interface instead. (check-in: 67e3ffd950 user: dan tags: fts5)
20:27
Adding test cases for the "PRAGMA data_version" command. (check-in: c5fb7d6a10 user: drh tags: data_version_pragma)
19:28
Experimental "PRAGMA data_version" command for detecting when another process has changed the database file. (check-in: 43db1f44bc user: drh tags: data_version_pragma)
18:49
Simplify the implementation of the "header-value" pragmas (schema_version, user_version, freelist_count, and application_id) by making them more table-driven. (check-in: da27a09d1d user: drh tags: trunk)
2014-12-18
20:01
Fix a problem with prefix queries and the AND operator. (check-in: 38b3c65e3e user: dan tags: fts5)
18:25
Fix various problems in fts5 revealed by fault-injection tests. (check-in: e358c3de5c user: dan tags: fts5)
2014-12-17
15:03
Experimental opimizations to speed up FK constraint CASCADE and SET NULL action processing. (check-in: 8c5dd6cc25 user: dan tags: trunk)
14:38
Fix some comments in fkey.c. Add tests to fkey8.test. (Closed-Leaf check-in: 210cb2a6aa user: dan tags: experimental-fk-actions)
2014-12-16
20:13
Experimental opimizations to speed up FK constraint CASCADE and SET NULL action processing. Requires further testing. (check-in: 35a20a5f22 user: dan tags: experimental-fk-actions)
12:46
Fix the e_walauto.test script so that it works on windows. (check-in: 7d092ebb67 user: drh tags: trunk)
01:05
Merge threading fixes from trunk into the sessions branch. (check-in: 9817a2864e user: drh tags: sessions)
00:29
Merge latest fixes and enhancements from trunk into apple-osx. (check-in: 2c1d8ddab2 user: drh tags: apple-osx)
00:20
Enhanced "stress2" testing in the threadtest3.c test program. (check-in: ae43539e62 user: drh tags: trunk)
00:08
Make sure the sqlite3BtreeCount() routine does not leave index cursors in an inconsistent state, as doing so might result in an assertion fault inside of sqlite3BtreeKey() called from saveAllCursors() if content is deleted out from under the statement that issued the sqlite3BtreeCount() call. (check-in: 5b1b697040 user: drh tags: trunk)
2014-12-15
20:49
Changes to threadtest3 so that "stress2" is more similar to the SDS stress test. (Closed-Leaf check-in: 5648af96d8 user: dan tags: threadtest3)
16:27
Add new test file e_walauto.test. (check-in: 62ef45140c user: dan tags: trunk)
08:46
Fix errors in threadtest3 tests caused by earlier tests neglecting to close database handles. (check-in: 1d44f1b1a9 user: dan tags: trunk)
2014-12-13
17:41
Further enhancements to threadtest3 stress tests. (check-in: ba772cff60 user: dan tags: trunk)
2014-12-12
23:17
Add extra tests to threadtest4.c. Fix a benign data race accessing the text encoding using ENC(db). (check-in: d7bb7ea4ab user: drh tags: trunk)
16:39
Add extra tests to threadtest3. (check-in: f6bf86f907 user: dan tags: trunk)
01:27
Add new tests to the threadtest4.c program. Fix a long-standing data race in WAL mode for shared-cache. (check-in: d8d3e6d04c user: drh tags: trunk)
00:52
Remove the KeyInfo cache (for now - perhaps we will add it back in later - or maybe not since it provides negligible benefit but adds a lot of complexity and thread-safety risk). Add a mutex to ATTACH to deal with a data race. (check-in: 03c443eaf2 user: drh tags: trunk)
00:40
Make sure the Btree mutex is held when setting the locking mode and the secure delete flag when attaching a shared-cache database. (Closed-Leaf check-in: 6bef7ede2b user: drh tags: threadtest4)
00:26
Merge the cell overflow page number cache thread race fix from trunk. (check-in: cefad47ec2 user: drh tags: threadtest4)
00:20
Fix a bug in the threadtest4.c program. Remove the keyinfo cache as it provides minimal performance improvements, and then only at SQL preparation time, not at runtime, and it has problems with data races in shared-cache mode. We might later add the keyinfo cache back but only enable it when shared-cache mode is off. (check-in: b7489f9451 user: drh tags: threadtest4)
2014-12-11
19:29
Add the threadtest4.c test program. Not yet working. (check-in: ec3a74469c user: drh tags: threadtest4)
16:38
Fix a race condition to do with very large index keys in shared-cache mode. (check-in: fc157dd7f1 user: dan tags: trunk)
15:27
Fix a typo in the documentation for sqlite3_threadsafe(). (check-in: 258e747bb7 user: drh tags: trunk)
04:49
Update a comment. (check-in: e0e102a0bd user: mistachkin tags: asciiMode)
03:29
Rename a structure member to improve code clarity. (check-in: d48eda16ef user: mistachkin tags: asciiMode)
03:25
Remove an unused structure member. (check-in: d8404340cb user: mistachkin tags: asciiMode)
03:20
Further simplify shell mode changes. (check-in: cf9c6e7eea user: mistachkin tags: asciiMode)
03:12
Simplify and cleanup the implementation of the new ASCII mode for the shell. (check-in: 66a28f7aba user: mistachkin tags: asciiMode)
02:28
Merge updates from trunk. (check-in: 5b5d3e4d0d user: mistachkin tags: asciiMode)
2014-12-10
20:57
Fix a typo causing a test error in e_walhook.test. (check-in: d9f916ba09 user: dan tags: trunk)
20:29
Add new test file e_walhook.test. (check-in: 2eb6d3e4fb user: dan tags: trunk)
17:34
Revise mutex handling by the sqlite3_win32_reset_heap() function. (check-in: eacb3b7baa user: mistachkin tags: trunk)
04:58
Fix typos in the documentation for sqlite3_table_column_metadata(). No changes to code. (check-in: 3528f8dd39 user: drh tags: trunk)
2014-12-09
22:24
Fix the sqlite3_table_column_metadata() routine so that it gives the correct answer for the "rowid" column in a WITHOUT ROWID table. Enhance it so that it can be used to check for the existence of a table by setting the column name parameter to NULL. The routine is now included in the build by default, even without the SQLITE_ENABLE_COLUMN_METADATA compile-time option. (check-in: cf9be419a1 user: drh tags: trunk)
20:13
Add extra tests to e_walckpt.test. (check-in: 84f9581019 user: dan tags: trunk)
19:16
Lower the default SQLITE_SORTER_PMASZ value back to 10, where it has been for the past couple of releases. Applications that need a larger value can set one. (check-in: 1ba8911c18 user: drh tags: trunk)
19:07
Make the sqlite3_table_column_metadata() interface available by default and without requiring the SQLITE_ENABLE_COLUMN_METADATA compile-time option. Other sqlite3_column_* interfaces that have a run-time penalty even if they are unused still require the SQLITE_ENABLE_COLUMN_METADATA option at compile-time. (check-in: 4f7549ff92 user: drh tags: trunk)
15:12
Add the SQLITE_REVERSE_UNORDERED_SELECTS compile-time option that causes the "PRAGMA reverse_unordered_selects" setting to be on by default. (check-in: 75a803e694 user: drh tags: trunk)
15:01
Increase the default PMA size from 10 to 250 pages and provide the SQLITE_SORTER_PMASZ compile-time option to change this default. Add needed mutex call when clearing the KeyInfo cache in shared-cache mode. (check-in: 6e2da589ad user: drh tags: apple-osx)
14:54
Merge the KeyInfo cache mutex fix from trunk. (check-in: f0940c73bd user: drh tags: sessions)
14:42
Increase the default minimum PMA size for multi-threaded sorting from 10x the page size to 250x the page size. Provide the SQLITE_SORTER_PMASZ compile-time option to change this default. (check-in: b05340fe3c user: drh tags: trunk)
04:26
Fix harmless compiler warning. (check-in: e97b7a8b4d user: mistachkin tags: trunk)
01:34
Version 3.8.7.4 (Leaf check-in: f66f7a17b7 user: drh tags: release, version-3.8.7.4, branch-3.8.7)
2014-12-08
20:29
Add extra tests to e_walckpt.test. (check-in: d6832aa24c user: dan tags: trunk)
20:23
Add missing mutex calls around a call to sqlite3SchemaGet() within sqlite3_open(). (check-in: 266b3441c6 user: dan tags: branch-3.8.7)
20:20
Add missing mutex calls around a call to sqlite3SchemaGet() within sqlite3_open(). (check-in: 4541589954 user: dan tags: trunk)
18:08
Add a missing mutex around calls to clear the KeyInfo cache when closing a database connection. (check-in: 7047ce32a2 user: drh tags: trunk)
18:02
Increase the version number to 3.8.7.4. (check-in: 33c900279f user: drh tags: branch-3.8.7)
17:45
Add a missing mutex around calls to clear the KeyInfo cache when closing a database connection. (check-in: 3ddc7e4c77 user: drh tags: branch-3.8.7)
07:50
Update this branch with latest trunk changes. (check-in: 69a312ad3f user: dan tags: ota-update)
07:28
Update comments in sqlite3ota.h to remove the "must have PRIMARY KEY" restriction. (check-in: 088a41eb8c user: dan tags: ota-update)
07:22
Extra tests for the ota_rowid column. (check-in: 46069393b3 user: dan tags: ota-update)
2014-12-06
19:30
Allow the ota extension to write to tables with no PRIMARY KEY declaration. (check-in: ba59a7e2ba user: dan tags: ota-update)
14:56
Avoid accessing a single uninitialized byte when moving a rare 3-byte cell from an internal page to a leaf. This was not actually causing a problem, just a valgrind warning. (check-in: 6aeece19a2 user: dan tags: trunk)
02:05
Fix a (harmless) uninitialized variable reference in b-tree balancing for auto-vacuumed tables with overflow pages. (check-in: dd1dd4451f user: drh tags: trunk)
2014-12-05
22:29
Version 3.8.7.3 (check-in: 647e77e853 user: drh tags: release, version-3.8.7.3, branch-3.8.7)
21:18
Avoid a potential NULL pointer deference in the sqlite3_stmt_scanstatus() logic. (check-in: 42d44adc13 user: drh tags: trunk)
21:04
Fix a buffer overread that might occur in analyze.c if SQLITE_ENABLE_STAT4 was defined. (check-in: c1ae1268b9 user: dan tags: trunk)
20:46
Add new test file e_walckpt.test. Still some tests to come. (check-in: e4db3db3a6 user: dan tags: trunk)
20:43
Fix a buffer overread that might occur in analyze.c if SQLITE_ENABLE_STAT4 was defined. (check-in: 194c90db63 user: dan tags: branch-3.8.7)
20:16
Merge the shared-cache KeyInfo fix from trunk. (check-in: 8a9b43f930 user: drh tags: apple-osx)
20:05
Merge the fix for the shared-cache KeyInfo cache bug from trunk. (check-in: 5a73da6a30 user: drh tags: sessions)
19:50
Make sure the WhereTerm objects are fully zeroed when they are allocated. (check-in: fdb667335c user: drh tags: trunk)
15:31
The KeyInfo cache must be cleared before closing the btree, not after. Revised fix for ticket [e4a18565a36884b00edf]. (check-in: 7ed3346e8c user: drh tags: trunk)
15:25
The KeyInfo cache must be cleared before closing the btree, not after. Revised fix for ticket [e4a18565a36884b00edf]. (check-in: 48529508cf user: drh tags: branch-3.8.7)
14:54
Increase the version number to 3.8.7.3. (check-in: 9f7560bc45 user: drh tags: branch-3.8.7)
14:51
When closing a (shared-cache) database connection, be sure to clear out all KeyInfo objects cached on Index objects. Fix for ticket [e4a18565a36884b00edf]. (check-in: b7905b8c5f user: drh tags: branch-3.8.7)
14:44
When closing a (shared-cache) database connection, be sure to clear out all KeyInfo objects cached on Index objects. Fix for ticket [e4a18565a36884b00edf]. (check-in: adca7688de user: drh tags: trunk)
14:36
Add code to check the validity of CollSeq objects during runtime. This code was not able to detect anomalies such as came up as a result of ticket [e4a18565a36884b00edf66541f38c693827968ab] so it is put into a branch for historical reference, with the intent of leaving it out of trunk. (Closed-Leaf check-in: 68b23c3d41 user: drh tags: collseq-checking)
14:34
Improved comment on the sharedB.test test script. (Closed-Leaf check-in: 71f589e3f8 user: drh tags: fix-stale-keyinfo-cache)
14:07
Test case demonstrating the problem described by ticket [e4a18565a36884b00edf]. (check-in: ffea3e905a user: drh tags: fix-stale-keyinfo-cache)
05:38
When closing a (shared-cache) database connection, be sure to clear out all KeyInfo objects cached on Index objects. Proposed fix for ticket [e4a18565a36884b00edf]. (check-in: 651ed97de1 user: drh tags: fix-stale-keyinfo-cache)
00:49
Import compiler warning and autoconf makefile fixes from trunk. (check-in: 5437e0534a user: drh tags: apple-osx)
00:41
Import from trunk the fix the "test" target on the autoconf and MSVC makefiles and some minor compiler warning fixes. (check-in: c9f20eb2fb user: drh tags: sessions)
00:32
Fix compiler warnings. (check-in: e9955c0e14 user: drh tags: trunk)
00:17
Fix the autoconf and MSVC makefiles, which have been broken for nearly a month. :-( (check-in: 520c2b838d user: drh tags: trunk)
2014-12-04
23:42
Import from trunk support for SQLITE_CHECKPOINT_TRUNCATE and fixes for a couple of obscure bugs. (check-in: 463ad971d2 user: drh tags: apple-osx)
23:35
Incorporate the SQLITE_CHECKPOINT_TRUNCATE enhancement and a couple of obscure bug fixes from trunk. (check-in: 34ffa3b3c0 user: drh tags: sessions)
21:54
Make sure that a DISTINCT query with an ORDER BY works correctly even if it uses a descending index. Fix for ticket [c5ea805691bfc4204b1cb9e]. (check-in: 0d3aef97eb user: drh tags: trunk)
20:24
Performance enhancement for single-table queries with many OR-connected WHERE clause terms and multiple indexes with the same left-most columns. (check-in: 1461d543ac user: drh tags: trunk)
16:29
If a table is the right operand of a LEFT JOIN, then any column of that table can be NULL even if that column has a NOT NULL constraint. Fix for ticket [6f2222d550f5b0ee7ed]. (check-in: 5a80957b04 user: drh tags: branch-3.8.7)
16:27
If a table is the right operand of a LEFT JOIN, then any column of that table can be NULL even if that column has a NOT NULL constraint. Fix for ticket [6f2222d550f5b0ee7ed]. (check-in: 6f6fcbe473 user: drh tags: trunk)
15:02
Clarification of the meaning of the second parameter to the busy-handler callback. No changes to code. (check-in: 1e2bc484f8 user: drh tags: trunk)
14:01
Fix comment typos reported on the mailing list. No changes to code. (check-in: 93a71c9f05 user: drh tags: trunk)
04:50
Add an implementation mark and fix a comment describing the OP_Checkpoint opcode. (check-in: 7475b90c55 user: drh tags: trunk)
2014-12-03
19:25
Add evidence marks and assert()s used as evidence for checkpoint requirements. (check-in: b2da8afc76 user: drh tags: trunk)
19:08
Fix over-length comment lines in sqlite.h.in. No changes to code. (check-in: cbd357fd8c user: drh tags: trunk)
18:32
Simplify the sqlite3_wal_checkpoint() documentation. Add some source code evidence marks. (check-in: 026c44ff2c user: drh tags: trunk)
17:27
Begin testing fts5 OOM and IO error handling. (check-in: 2037dba62f user: dan tags: fts5)
16:30
Futher tweaks to the sqlite3_wal_checkpoint_v2() documentation. (check-in: 7d284d047b user: drh tags: trunk)
15:50
Updates to the documentation for sqlite3_wal_checkpoint_v2() and related interfaces, including adding many requirements marks. (check-in: 1e212d9899 user: drh tags: trunk)
2014-12-02
20:51
Add support for SQLITE_CHECKPOINT_TRUNCATE. (check-in: edda2b9e7a user: drh tags: trunk)
20:18
Add a configuration option to remap the "rank" column to an auxiliary fts5 function. (check-in: b5f5971283 user: dan tags: fts5)
19:35
When attempting to restart a wal file, make any required calls to sqlite3_randomness() before waiting on or checking for wal file readers. This restores the behaviour exhibited by the trunk. (Closed-Leaf check-in: 6ee08769f0 user: dan tags: checkpoint-truncate)
19:04
Add the SQLITE_CHECKPOINT_TRUNCATE option. (check-in: 8e20a43419 user: dan tags: checkpoint-truncate)
16:38
Merge all recent enhancements and bug fixes from trunk into the apple-osx branch. (check-in: 43c4ba26a2 user: drh tags: apple-osx)
16:31
Merge all recent fixes and enhancements from trunk into sessions. (check-in: 2617d93713 user: drh tags: sessions)
16:16
Convert two unreachable branches into assert() statements. (check-in: 61b31e7714 user: drh tags: trunk)
13:46
Work around overzealous NULL pointer checking in memcpy() and memset() for some systems. (check-in: 0d04f380e1 user: drh tags: trunk)
2014-12-01
20:05
Add code to parse a rank() function specification. And a tcl interface to add auxiliary functions to fts5. (check-in: 9c1697a2aa user: dan tags: fts5)
2014-11-28
20:01
Add a cookie mechanism to ensure that the %_config table is re-read as required. (check-in: bb4a37b53d user: dan tags: fts5)
13:35
Remove the ill-designed "-end" option from the command-line shell. Instead, allow multiple SQL or dot-commands as command-line arguments. Any -cmd commands are processed first, followed by other command-line arguments, for backwards compatibility. (check-in: 24fa2e9832 user: drh tags: trunk)
11:54
Add the -end option to the command-line shell, which forces it to exit after reading prior command-line options (presumably including one or more -cmd options) and without reading standard input. (check-in: b59397b1f1 user: drh tags: trunk)
2014-11-27
20:03
Add a %_config table to fts5. (check-in: 83491c5666 user: dan tags: fts5)
18:09
Update ota so that the hidden columns of virtual tables may be written. (check-in: ccee999649 user: dan tags: ota-update)
11:36
Fix a buffer overread during compilation of CREATE VIRTUAL TABLE statements that featured an explicit database name but no virtual table arguments. For example, "CREATE VIRTUAL TABLE main.ft USING fts4". (check-in: f095cde579 user: dan tags: trunk)
04:23
More test cases for the balancer. (check-in: 358ea818f7 user: drh tags: trunk)
03:46
Fix a problem in the new b-tree balancer that was causing corruption of the fragmentation count. (check-in: f242394e07 user: drh tags: trunk)
2014-11-25
18:59
Fix an integer overflow bug in vdbesort.c. (check-in: 6238271925 user: dan tags: trunk)
2014-11-24
16:24
Add the auxiliary highlight() function to fts5. (check-in: 059092379f user: dan tags: fts5)
2014-11-22
21:37
Always reinitialized the Index.bUnordered and Index.noSkipscan flags before rereading the sqlite_stat1 table, even if SQLITE_ENABLE_STAT4 is defined. (check-in: 1e1221fc48 user: drh tags: trunk)
19:52
Fix an error in the comments from the previous check-in. (check-in: 9660ce5418 user: drh tags: trunk)
18:50
Deploy heuristics (well-commented) to better estimate how much unindexed terms in the WHERE clause filter the number of output rows from a single table. (check-in: 221659945c user: drh tags: trunk)
16:14
Unintentional edits mistakenly checked in. Was: Remove an obsolete and incorrect comment from the whereLoopOutputAdjust() routine in the query planner. No changes to working code. (Closed-Leaf check-in: e1f893c606 user: drh tags: mistake)
12:22
Remove a redundant test case (probably a copy/paste error). Add an assert() to where.c to ensure that automatic indexes do not have there output row counts adjusted downward by supplementary constraints. (check-in: eea4793349 user: drh tags: trunk)
09:09
Add SQLITE_ENABLE_OTA pre-processor directives so that this branch may be compiled with or without OTA. (check-in: 600cefdd4d user: dan tags: ota-update)
2014-11-21
14:37
Merge latest trunk changes with this branch. (check-in: 7ef44c5b5b user: dan tags: ota-update)
11:22
Changes to comments in sqlite3ota.h. (check-in: 14139542b6 user: dan tags: ota-update)
10:46
Add support for updating virtual tables via ota. (check-in: 4dfcfe5439 user: dan tags: ota-update)
2014-11-20
23:21
Fix a typo in a requirements mark on the abs() SQL function. (check-in: b1e6c02f8b user: drh tags: trunk)
23:11
Fix a benign test error on PRAGMA collation_list introduced by a recent checkin. (check-in: 332cc9591d user: drh tags: trunk)
23:03
Updates to requirements tags on the mutex documentation. (check-in: fcf8b7e4c6 user: drh tags: trunk)
19:22
Add requirements marks on the built-in collating functions. (check-in: 4b608b62ac user: drh tags: trunk)
19:19
Add the "ota_delta()" feature for delta-compressed updates. (check-in: c64dcd1788 user: dan tags: ota-update)
17:37
Update the ota extension so that it can be used to update tables with external PRIMARY KEY indexes. (check-in: 55066a1171 user: dan tags: ota-update)
15:30
Ensure that when the number of cells on a page drops to zero that the freelist and fragment counter are both cleared. Also add evidence marks corresponding to file-format documentation. (check-in: ef9fbc08b0 user: drh tags: trunk)
15:11
Updates to support zipvfs in pass-through mode. (check-in: 556c3de53a user: dan tags: ota-update)
02:58
Fix the encoding of some integers to use the minimum amount of space: -128, -32768, -8388608, -217483648, and -140737488355328. (check-in: 2d7c8da5f1 user: drh tags: trunk)
02:18
Add some requirements marks to the record formatting logic. Comment changes only - the code is unaltered. (check-in: 9a9627e178 user: drh tags: trunk)
2014-11-19
16:36
Add new requirements marks associated with the file format documentation. No changes to code. (check-in: 6d00bcca6e user: drh tags: trunk)
14:31
Completely remove an assert() that had previously been commented out. (check-in: 89b3c1c455 user: drh tags: trunk)
14:05
Add an ALWAYS on an always-true branch in wal.c. Fix the ANALYZE command so that it resets the "unordered" and "noskipscan" flags on indices when reloading the sqlite_stat1 table. (check-in: 9ed97a85fe user: drh tags: trunk)
2014-11-18
21:54
Adding the "noskipscan" token to an sqlite_stat1.stat field prevents an index for being used with the skip-scan algorithm. (check-in: 4461bf045d user: drh tags: trunk)
21:45
Allow an automatic index to be used if the only uses of declared indexes for the same loop use the skip-scan algorithm. (check-in: c52f7971e9 user: drh tags: trunk)
21:27
Merge recent trunk enhancements. (check-in: ccb601f6df user: drh tags: apple-osx)
21:20
Merge recent trunk enhancements, including the read-after-ROLLBACK change and the addition of sqlite3_stmt_scanstatus() support, as well as various minor bug fixes. (check-in: f09055f3c4 user: drh tags: sessions)
20:57
Version 3.8.7.2. (check-in: 2ab564bf96 user: drh tags: release, version-3.8.7.2, branch-3.8.7)
20:49
Merge in all the other ROLLBACK fixes from the branch-3.8.7 branch. I don't know why I was doing them one-by-one. (check-in: 296b0c7397 user: drh tags: trunk)
20:22
Fix a bug in the sqlite3TripAllCursors() routine that prevents it from reporting errors. It is unknown at this time whether or not this omission can result in any incorrect result in an actual query. (check-in: 2896f2640a user: drh tags: trunk)
20:16
Update a couple of test cases to account for the fact that ROLLBACK does not always abort all running SELECT statements. (check-in: abccda769a user: drh tags: trunk)
12:28
Increment the version number to 3.8.7.2 (check-in: 945a9e687f user: drh tags: branch-3.8.7)
02:44
Add an ALWAYS() to an always-true conditional in the WAL rollback logic. (check-in: c5eae8a60d user: drh tags: branch-3.8.7)
2014-11-17
20:33
Remove code from sqlite3BtreeKeySize() made unreachable by the previous check-in. (check-in: 57c4aa988c user: drh tags: branch-3.8.7)
19:44
Avoid calling sqlite3BtreeKeysize() on a b-tree cursor in SKIPNEXT or SKIPPREV state. Cherrypick of [54e7d3fcb1]. (check-in: 2f2ecb9948 user: dan tags: branch-3.8.7)
19:42
Avoid calling sqlite3BtreeKeysize() on a b-tree cursor in SKIPNEXT or SKIPPREV state. (check-in: 54e7d3fcb1 user: dan tags: trunk)
19:25
Improved comments on the BtCursor.skipNext field. No changes to code. (check-in: e956e7db05 user: drh tags: branch-3.8.7)
18:35
Add tests for WITHOUT ROWID tables with composite primary keys. (check-in: 712d413d29 user: dan tags: ota-update)
17:57
Changes so that sqlite3_ckpt_open() works with zipvfs databases. (check-in: acbed3380d user: dan tags: ota-update)
17:13
When a SELECT statement is terminated by a ROLLBACK TO operation, make the error message be "abort due to ROLLBACK" rather than "callback requested query abort". (check-in: 34fc4a082c user: drh tags: branch-3.8.7)
15:32
Fix a bug in the sqlite3TripAllCursors() routine that prevents it from reporting errors. It is unknown at this time whether or not this omission can result in any incorrect result in an actual query. (check-in: 42588207ff user: drh tags: branch-3.8.7)
15:22
Update a couple of test cases to account for the fact that ROLLBACK does not always abort all running SELECT statements. (check-in: eba171e980 user: dan tags: branch-3.8.7)
15:07
Fix a problem with the parameters to an OP_Affinity in one of the VM programs generated by sqlite3_index_writer() that was causing an OOB read. (check-in: 447b33b34a user: dan tags: ota-update)
2014-11-15
20:07
Fix the customization interfaces so that they match the documentation. (check-in: fba0b5fc7e user: dan tags: fts5)
19:08
Adding the "noskipscan" token to an sqlite_stat1.stat field prevents an index for being used with the skip-scan algorithm. (Closed-Leaf check-in: 00fe095057 user: drh tags: noskipscan-token)
2014-11-14
19:34
Consider using an automatic-index for a scan even if there exists a possible skip-scan that uses one or more "=" operators. (Closed-Leaf check-in: 93642a65ef user: dan tags: experimental-autoindex-fix)
15:42
Do not automatically remove the DISTINCT keyword from "a IN (SELECT DISTINCT ...)" expressions. Fix for [db87229497]. (check-in: 98457a57d6 user: drh tags: branch-3.8.7)
15:28
Do not automatically remove the DISTINCT keyword from "a IN (SELECT DISTINCT ...)" expressions. Fix for [db87229497]. (check-in: 55e453aadb user: dan tags: trunk)
2014-11-13
14:30
Modify the documentation for sqlite3_backup_init() to indicate that it will fail if there is already a read or read-write transaction open on the destination database. (check-in: ef03a20335 user: dan tags: trunk)
14:18
Have calls to sqlite3_backup_init() fail if there is already a read or read-write transaction open on the destination database. (check-in: 169b550549 user: dan tags: trunk)
13:42
When a transaction or savepoint rollback occurs, save the positions of all open read-cursors so that they can be restored following the rollback operation. Cherry-pick of check-in [dd03a2802f3f27] (check-in: 402780a9c8 user: drh tags: branch-3.8.7)
2014-11-12
17:45
Add further tests for rollback operations in the presence of ongoing selects. (check-in: eaf3aae014 user: dan tags: trunk)
14:56
When a transaction or savepoint rollback occurs, save the positions of all open read-cursors so that they can be restored following the rollback operation. (check-in: dd03a2802f user: dan tags: trunk)
14:12
Fix the %c format character in sqlite3VXPrintf() so that it correctly handles precisions larger than 70. (check-in: 839a6df9f9 user: drh tags: branch-3.8.7)
14:07
Make sure that NULL results from OP_Column are fully and completely NULL and do not have the MEM_Ephem bit set. Fix for ticket [094d39a4c95ee4]. (check-in: e1017745e1 user: drh tags: branch-3.8.7)
2014-11-11
22:55
Enhance ROLLBACK so that pending queries are allowed to continue as long as the schema does not change. This is a cherry-pick of check-in [b5df5ac052]. (check-in: d4b2d5d066 user: drh tags: branch-3.8.7)
19:07
Remove some calls to the 'breakpoint' test command. (check-in: 1412fcc480 user: mistachkin tags: trunk)
16:11
Add tests for sqlite3_blob_bytes(). (check-in: a066a3832a user: dan tags: trunk)
14:59
Permit read operations to continue after a ROLLBACK as long as the schema does not change. (check-in: b5df5ac052 user: drh tags: trunk)
12:20
Add new test file e_blobclose.test, containing tests for sqlite3_blob_close(). (check-in: 5a1eac2419 user: dan tags: trunk)
01:33
Experimental changes that permit read operations to continue after a ROLLBACK, as long as the schema is unchanged. (Closed-Leaf check-in: fa6e6a9ae2 user: drh tags: read-after-rollback)
2014-11-10
19:16
New test cases for deleting content out from under a SELECT statement. (check-in: 8289c3e9b4 user: drh tags: trunk)
17:53
Add test file e_blobwrite.test, containing tests for the sqlite3_blob_write() interface. (check-in: 1df77e5f1b user: dan tags: trunk)
16:49
Add the eval() SQL function extension in ext/misc/eval.c. (check-in: 27cf665b95 user: drh tags: trunk)
14:42
Shorten over-length source code lines in shell.c. (check-in: 7f3819f642 user: drh tags: trunk)
2014-11-07
14:41
Add new test file e_blobopen.test, containing tests for sqlite3_blob_open(). (check-in: ecbccd0e59 user: dan tags: trunk)
14:37
Fix another harmless comment typo. (check-in: b45bc80bb1 user: drh tags: trunk)
13:52
In the ".scanstats on" output from the shell, round the estRows value to the nearest integer, rather than rounding toward zero. (check-in: 5700508535 user: drh tags: trunk)
13:24
Fix harmless typos in comments. (check-in: 94c564da4c user: drh tags: trunk)
11:39
Fix typo in sqlite3.h reported on the mailing list. (check-in: 402703212a user: drh tags: trunk)
01:43
Update documentation on sqlite3_config() and add corresponding evidence marks. (check-in: 360c8ca11c user: drh tags: trunk)
2014-11-06
14:43
Added SQLITE_SCANSTAT_SELECTID. Change the value returned by SQLITE_SCANSTAT_EST from sqlite3_int64 to double. Enhanced the formatting and display of scan statistics using the ".scanstats on" command in the shell. (check-in: 20c7614add user: drh tags: trunk)
12:46
Further improvements to the ".scanstats on" display in the shell. Be sure to show the results of all subqueries even if there are gaps in the SELECTID values. Add ".scanstats" to the ".help" output. (Closed-Leaf check-in: ee922682bb user: drh tags: scanstatus)
12:17
On the ".scanstats on" output in the shell, initialize the estimated count for the first loop of each subquery to the actual loop count. (check-in: d1c51c8455 user: drh tags: scanstatus)
12:08
Changes the formatting of ".scanstats on" in the shell so that the stats for subqueries are grouped together and occur after the main query. (check-in: eacbbd8849 user: drh tags: scanstatus)
04:42
Add the SQLITE_SCANSTAT_SELECTID metric. Use it to improve the ".stmtscan on" output in the shell. (check-in: 64ad5761a8 user: drh tags: scanstatus)
03:55
Change the SQLITE_SCANSTAT_EST parameter so that it returns a double for the estimated number of output rows per loop, rather than a 64-bit integer. Revise the output format for the ".scanstats on" in the shell to make use of this new capability. (check-in: f968400066 user: drh tags: scanstatus)
2014-11-05
21:34
Fixes to the Windows VFS to allow memory mapped files to work without WAL support. (check-in: 272fddc14c user: drh tags: trunk)
21:21
Fix harmless compiler warnings in the new balance_nonroot() routine. (check-in: 83a1e5db92 user: drh tags: trunk)
19:26
Change the query planner to do a better job of estimating the number rows selected by a BETWEEN operator using STAT4 when both upper and lower bounds are contained within the same sample. (check-in: 2d36be5d9a user: drh tags: trunk)
15:57
Make sure that NULL results from OP_Column are fully and completely NULL and do not have the MEM_Ephem bit set. Fix for ticket [094d39a4c95ee4]. (check-in: 42705fd7d8 user: drh tags: trunk)
14:19
Add a test case to check that the previous commit is effective. (check-in: 948d6e5d07 user: dan tags: trunk)
13:13
Enhance whereLoopCheaperProperSubset(X,Y) so that it does not report true if X uses skip-scan less than Y, since in that case X might deserve to be cheaper even if it is a proper subset. (check-in: c106b75536 user: drh tags: trunk)
09:07
Add the ".scanstats on" command to the shell tool. Executing this command causes the shell tool to print values from sqlite3_stmt_scanstatus() after each query is run. (check-in: 7974c0ed10 user: dan tags: trunk)
2014-11-04
21:38
Improved output formatting for the showstat4 tool. (check-in: 7df82c46da user: drh tags: trunk)
19:52
Skip tests that require WAL mode when it is not enabled. (Closed-Leaf check-in: 6fc4ead26d user: mistachkin tags: winMmapNoWal)
19:37
For the Win32 VFS, allow memory mapped files to work when compiled without WAL support. (check-in: 1fc7e2f3d3 user: mistachkin tags: winMmapNoWal)
17:23
Add various requirements evidence marks for sqlite3_config() options. (check-in: d423349d2c user: drh tags: trunk)
14:22
Change the definition of SQLITE_CONFIG_SCRATCH so that at most one scratch buffer is used per thread. Use the generic heap memory allocator for the WalIterator object when running a checkpoint. (check-in: 391c9b85ab user: drh tags: trunk)
13:41
Improved documentation and addition of source-code evidence marks for the sqlite3_config() interface. (check-in: 681031a436 user: drh tags: trunk)
12:11
Add the SQLITE_CONFIG_PCACHE_HDRSZ option for sqlite3_config(). (check-in: 6eb03e62a3 user: drh tags: trunk)
2014-11-03
18:03
Updates to the sqlite3_stmt_scanstatus() documentation. No changes to code. (check-in: d97c324eb1 user: drh tags: trunk)
16:56
Add the experimental sqlite3_stmt_scanstatus() API. For comparing the number of rows actually visited by a loop with the estimate used by the query planner. (check-in: ab3b0fc576 user: dan tags: trunk)
16:39
Fix a typo preventing this from building with SQLITE_ENABLE_STMT_SCANSTATUS defined. (Closed-Leaf check-in: 4c5714ab3d user: dan tags: scanstatus)
16:35
Refactor the interface to make it more easily extensible. (check-in: 7955342da4 user: drh tags: scanstatus)
15:33
Add further tests. Fixes so that compilation without ENABLE_STMT_SCANSTATUS works. (check-in: a2303c7192 user: dan tags: scanstatus)
14:46
Use exponential buffer size growth in StrAccum, as long as the size does not grow to large, to avoid excess memory allocation resize operations. Also, document the fact that setting scratch memory causes SQLite to try to avoid large memory allocations. (check-in: a518bc3318 user: drh tags: trunk)
13:24
When enlarging the size of a StrAccum object, use sqlite3DbMallocSize() to record the entire size of the allocation, not just the requested size. (check-in: 3dda3c9374 user: drh tags: trunk)
11:25
Remove unused variable from struct WhereInfo. Add some explanatory comments to new code. (check-in: f5313e0c68 user: dan tags: scanstatus)
2014-11-01
21:00
Minor performance enhancements to SQLITE_ENABLE_STMT_SCANSTATUS code. (check-in: f13d6ba8a7 user: dan tags: scanstatus)
20:38
If SQLITE_ENABLE_STMT_SCANSTATUS is defined, record the number of times each VDBE opcode is executed. Derive the values returned by sqlite3_stmt_scanstatus() from these records on demand. (check-in: 9ea37422a8 user: dan tags: scanstatus)
18:32
Add requirements marks and make minor tweaks to documentation. (check-in: 49188b2bb5 user: drh tags: trunk)
18:08
Minor fixes and documentation improvements for sqlite3_stmt_scanstatus(). (check-in: 8d8cc9608d user: dan tags: scanstatus)
2014-10-31
20:11
Add the experimental sqlite3_stmt_scanstatus() API. (check-in: 6a9bab34ae user: dan tags: scanstatus)
15:20
Merge all recent trunk enhancements into the apple-osx branch. (check-in: fef8430f12 user: drh tags: apple-osx)
14:53
Merge recent trunk enhancements, and in particular the improvements to the b-tree balancing logic, into the sessions branch. (check-in: 28b044a512 user: drh tags: sessions)
14:46
Change the command-line shell man-page to use the ".tr" troff directive instead of ".cc" for escaping the initial "." characters in the ".help" output. (check-in: 67f0d469da user: drh tags: trunk)
14:26
Simplify the logic in the cell redistribution loop of balance_nonroot(). Enhance and clarify comments and add assert() statements for additional verification of correctness. (check-in: a07078b600 user: drh tags: trunk)
12:22
Simplify the math slightly, and reduce by one the number of loop iterations, for the loop in balance_nonroot() that moves cells between pages. (check-in: 2e838db82e user: drh tags: trunk)
10:31
Add the "varint.c" utility program in the tool directory. (check-in: ea5d56be5f user: drh tags: trunk)
02:51
Remove an unnecessary branch from balance_nonroot(). (check-in: 9fc7c88e3f user: drh tags: trunk)
00:05
In the balance_nonroot() routine, protect the values in aPgno[] array from change during the page sort, so that aPgno[] can be used to avoid unnecessary pointer-map updates for auto_vacuum databases. (check-in: 69c3924fe8 user: drh tags: trunk)
2014-10-30
23:14
Improvements to the wording of some comments. Reinstate an assert() that is only true for non-corrupt database files by adding an "|| CORRUPT_DB" term. (check-in: 67adb44838 user: drh tags: trunk)
20:48
Tweaks to comments in btree.c. Minor code changes to enhance testability. (check-in: c7d9aa3a1c user: drh tags: trunk)
2014-10-29
18:20
Fix the %c format character in sqlite3VXPrintf() so that it correctly handles precisions larger than 70. (check-in: 08a27440f1 user: drh tags: trunk)
13:59
Version 3.8.7.1 (check-in: 3b7b72c468 user: drh tags: release, version-3.8.7.1, branch-3.8.7)
01:27
Increase the version number to 3.8.7.1 (check-in: 83afe23e55 user: drh tags: branch-3.8.7)
01:26
Fix problems with running UPDATE and DELETE against a VIEW and referencing the rowid in the WHERE clause. This is a cherrypick of [95f8ebdbf87326f2] and [8523670d50004f3]. (check-in: cc33e846c8 user: drh tags: branch-3.8.7)
01:18
Disable the use of strchrnul() unless specifically enabled by compile-time options. Cherrypick of check-in [e580470db77d6da9] (check-in: 837368adfe user: drh tags: branch-3.8.7)
01:13
In the OP_Column opcode, when extracting a field that is past the end of a short record (because the row was originally inserted prior to ALTER TABLE ADD COLUMN) then make sure the output register is fully NULL and does not contain leftover flags (such as MEM_Ephem) from its previous use. Fix for ticket [43107840f1c02]. This is a cherrypick of check-in [24780f8ddc1683fc]. (check-in: 304ea6ba6f user: drh tags: branch-3.8.7)
01:07
Call fsync() right after ftruncate() when in journal_mode=TRUNCATE and when synchronous=FULL in order to ensure that transactions are durable across a power loss that happens moments after the commit. Proposed fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1072773. This is a cherrypick of [3e922208b68563489]. (check-in: a8f9bd1e89 user: drh tags: branch-3.8.7)
00:58
In the OP_Column opcode, when extracting a field that is past the end of a short record (because the row was originally inserted prior to ALTER TABLE ADD COLUMN) then make sure the output register is fully NULL and does not contain leftover flags (such as MEM_Ephem) from its previous use. Fix for ticket [43107840f1c02]. (check-in: 24780f8ddc user: drh tags: trunk)
2014-10-28
20:49
Add new test file e_totalchanges.test, containing tests of the sqlite3_total_changes() interface. (check-in: f84af4adcc user: dan tags: trunk)
20:35
Update the documentation on the sqlite3_randomness() interface to conform to enhancements associated with the SQLITE_ENABLE_API_ARMOR change. (check-in: 96e9917c35 user: drh tags: trunk)
18:24
Modify the documentation for sqlite3_changes() to make it more testable. Add tests and minor fixes for the same. (check-in: 41cdd0c422 user: dan tags: trunk)
16:50
Fix a crash that could occur if the WHERE clause of an UPDATE statement on a view that does not feature a column named "rowid" contains a term such as "rowid=?". (check-in: 8523670d50 user: dan tags: trunk)
16:19
Fix a faulty assert() in the DELETE code generator. (check-in: 95f8ebdbf8 user: drh tags: trunk)
15:58
Trivial simplification to the automatic index logic. (check-in: 23073a0539 user: drh tags: trunk)
12:35
Bump the version number to 3.8.8 (check-in: 1a7e711ed1 user: drh tags: trunk)
00:56
Correct the documentation on the maximum size of a scratch allocation. (check-in: 30f86eb3f9 user: drh tags: trunk)
2014-10-27
22:06
Add special handling for static mutexes in sqlite3_mutex_alloc() when automatic calls to sqlite3_initialize() are enabled. (check-in: 7857d27caa user: mistachkin tags: trunk)
20:14
Remove a small amount of unnecessary #ifdeffery from random.c. (check-in: 2b9340c868 user: drh tags: trunk)
19:58
Fix compilation issue with MSVC due to a misplaced variable declaration. (check-in: 9588b345d0 user: mistachkin tags: trunk)
19:42
Fix harmless compiler warning in an assert statement. (check-in: d33a1ff3aa user: mistachkin tags: trunk)
19:39
Fix a typo in the macro name of an #ifdef (check-in: 9646a136e6 user: drh tags: trunk)
18:42
Merge latest enhancements, including the SQLITE_ENABLE_API_ARMOR patch, from trunk. (check-in: 10aaf3b148 user: drh tags: apple-osx)
18:34
Add the SQLITE_ENABLE_API_ARMOR compile-time option for extra API parameter validation. Enhance sqlite3_stricmp(), sqlite3_strnicmp(), and sqlite3_uri_parameter() for improved NULL parameter handling. (check-in: ffb9d8144b user: drh tags: trunk)
18:21
Fix an unused variable in btree.c:allocateSpace(). (check-in: 637246165a user: drh tags: trunk)
14:26
Optimizations aimed at reducing the number of memcpy() operations required by balance_nonroot(). (check-in: face33bea1 user: dan tags: trunk)
11:25
Add test file e_wal.test. (check-in: fc6920b548 user: dan tags: trunk)
08:02
If a free-slot is found within a page, but using that free-slot would fragment the page further and there are already at least 60 fragmented bytes, degragment the page. This matches the behaviour of the trunk. (Closed-Leaf check-in: 1f80f8c136 user: dan tags: defrag-opt)
07:01
Merge trunk with this branch. (check-in: a13df3013b user: dan tags: defrag-opt)
2014-10-25
20:36
Further modifications to new code to better handle corrupt databases. (check-in: 1a8cf0a043 user: dan tags: defrag-opt)
13:42
Increase the resolution of the second parameter to the likelihood() SQL function (the probability value) so that it can handle probabilities as small as 0.00000001. Formerly, it ran out of precision at 0.001. (check-in: 0f08924fe0 user: drh tags: trunk)
12:28
Do not use virtual (and hence redundant) WHERE-clause terms to restrict the content of a automatic partial index. Show when an automatic partial index is used in the EXPLAIN QUERY PLAN output. (check-in: b9ad601eab user: drh tags: trunk)
2014-10-24
20:57
Ensure that the "Any prior cache entry associated with newKey is guaranteed not to be pinned" guarantee made to xRekey implementations is not violated. (check-in: ecc3544e71 user: dan tags: defrag-opt)
19:28
Enhance the automatic index logic so that it creates a partial index when doing so gives the same answer for less work. UPDATE: This change introduced a bug described by ticket [2326c258d02ead33]. (check-in: d95d0313c4 user: drh tags: trunk)
18:43
Fix some issues in the new code on this branch related to the handling of corrupt databases. (check-in: 19736dd9fb user: dan tags: defrag-opt)
16:40
Fix some minor formatting and code organization issues. (check-in: eab8706dc4 user: dan tags: defrag-opt)
15:26
Honor a high likelihood() on range constraints. (check-in: 401235edf4 user: drh tags: trunk)
14:32
Get the likelihood() functions working on operators like BETWEEN that create virtual terms in the WHERE-clause analysis. (check-in: 03d0498d0f user: drh tags: trunk)
12:37
Fix two problems. Tests now passing. (Closed-Leaf check-in: 1c220b806d user: drh tags: api-armor)
00:35
Add the SQLITE_ENABLE_API_ARMOR compile-time option. This is a work in progress and is not yet completely functional. (check-in: c297a84bc6 user: drh tags: api-armor)
2014-10-23
17:26
Add debugging code to count the number of iterations of each loop made as part of statement execution. (Leaf check-in: c6a5b67ae1 user: dan tags: debug-loopcounters)
01:01
Implement sqlite3_create_collation() by invoking sqlite3_create_collation_v2() with a NULL destructor argument. This saves a little space. (check-in: 9762ad0639 user: drh tags: trunk)
2014-10-22
20:07
Disable the use of strchrnul() unless specifically enabled by compile-time options. (check-in: e580470db7 user: drh tags: trunk)
19:57
Change the 0x800 bit of SQLITE_TESTCTRL_OPTIMIZATIONS so that it disables the loading of STAT3 and STAT4 content, not just the using of that content. Change the internal name of that bit to SQLITE_Stat34. (check-in: ca3b00c44e user: drh tags: trunk)
18:42
Merge latest trunk with this branch. (check-in: 854a54c6c2 user: dan tags: defrag-opt)
16:25
The _beginthreadex() / _endthreadex() functions should only be used when compiling with MSVC. (Closed-Leaf check-in: 1a5a5da331 user: mistachkin tags: msvcThreads)
15:33
Add tests to check error handling in OTA. (check-in: ec7321ae48 user: dan tags: ota-update)
15:27
Take steps to avoid misestimating range query costs based on STAT4 data due to the roundoff error of converting from integers to LogEst and back to integers. (check-in: 3c933bf95f user: drh tags: trunk)
14:22
Version 3.8.6.1 (check-in: 1581c30c38 user: drh tags: release, version-3.8.6.1, branch-3.8.6)
11:30
Sync the database file in sqlite3_ckpt_close(), even if the checkpoint has not finished. (check-in: e2729d623c user: dan tags: ota-update)
03:00
Update the version number to 3.8.6.1 (check-in: cad7f8d697 user: drh tags: branch-3.8.6)
02:43
Call fsync() right after ftruncate() when in journal_mode=TRUNCATE and when synchronous=FULL in order to ensure that transactions are durable across a power loss that happens moments after the commit. Proposed fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1072773. This is a cherry-pick of [3e922208b68563] (check-in: 674848070e user: drh tags: branch-3.8.6)
2014-10-21
21:56
Call fsync() right after ftruncate() when in journal_mode=TRUNCATE and when synchronous=FULL in order to ensure that transactions are durable across a power loss that happens moments after the commit. Proposed fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1072773. (check-in: 3e922208b6 user: drh tags: trunk)
19:35
Test that sqlite3ota_open() works with URI paths. Fix some other issues. (check-in: 6fd09854fe user: dan tags: ota-update)
18:16
Further tuning of the cost estimates for skip-scan loops, especially for cases when skip-scan loops are in competition with regular loops. (check-in: a27861c28c user: drh tags: trunk)
18:09
Add tests for another application writing the database while an ota update is ongoing. (check-in: 2402baa002 user: dan tags: ota-update)
16:01
Add WHERETRACE debugging output to the whereLoopAdjustCost() routine. (check-in: ec1e942f08 user: drh tags: trunk)
01:05
If a skip-scan is a proper subset of some other scan, then adjust the cost of the skip-scan upward so that it is more costly than the other scan. Such a cost imbalance can arise under STAT4 because of difficulties in getting an accurate estimate for skip-scans. (check-in: f4b22a2620 user: drh tags: trunk)
2014-10-20
16:34
Merge version-3.8.7 changes with this branch. (check-in: d380a6482a user: dan tags: ota-update)
16:24
Have the ota extension perform an incremental checkpoint after generating the wal file. (check-in: 0bf1301aac user: dan tags: ota-update)
2014-10-17
21:35
Fix a (probably harmless) bug in the CSV output mode of the command-line shell. (check-in: 19fe4a0a47 user: drh tags: trunk)
12:11
Merge the 3.8.7 changes into the apple-osx branch. (check-in: aa7bbed10b user: drh tags: apple-osx)
11:53
Merge all version 3.8.7 updates from trunk. (check-in: f4de9e07be user: drh tags: sessions)
11:24
Version 3.8.7 (check-in: e4ab094f8a user: drh tags: trunk, release, version-3.8.7)
2014-10-16
21:39
Work around MSVC not being able to deduce that a local variable was initialized in a called function. (check-in: 06c576c152 user: mistachkin tags: trunk)
18:34
Changes to work around Win32 and MSVCRT APIs that are not present on Windows CE 200x. (check-in: 1418c006e3 user: mistachkin tags: trunk)
11:45
Update the vdbe-compress.tcl script to account for expressions of the form (123>var), where "var" should be replaced with a reference to a union member. (check-in: 640345d880 user: dan tags: trunk)
2014-10-15
20:02
Fix a problem causing sqlite3changeset_concat() to fail to detect attempts to concatenate patchsets which changesets. (check-in: 236704a9d1 user: dan tags: sessions)
19:37
Merge latest trunk changes with this branch. (check-in: 1b2824f1d1 user: dan tags: sessions)
15:28
Update releasetest.tcl so that x86-64 runs a superset of the x86 tests. (check-in: 3c1e70f4d5 user: dan tags: trunk)
14:45
Fix a problem causing lock5.test to fail in mmap-mode. (check-in: b3e7b446bd user: dan tags: trunk)
11:55
Add a four-byte prefix to the BtShared.pTmpSpace buffer to avoid reading before the beginning of an allocation. (check-in: 9386bfca12 user: drh tags: trunk)
11:31
Rearrange an expression in vdbemem.c to avoid a (harmless) reference to a possibly unitialized variable. (check-in: 4a7b3fa049 user: dan tags: trunk)
2014-10-14
20:25
Make sure new sqlite3_vtab objects created by the xCreate() virtual table method are initialized by the system, in accordance with the documentation. (check-in: eab8233063 user: drh tags: trunk)
17:27
Fix some code duplication issues on this branch. Add minor optimizations to the new code. (check-in: 58d7793bd5 user: dan tags: defrag-opt)
14:17
Merge from trunk recent micro-optimizations and the fix for the DESC index GROUP BY ORDER BY bug. (check-in: 880df7568a user: drh tags: apple-osx)
13:41
Merge recent trunk micro-optimizations and the DESC index GROUP BY ORDER BY bug fix into the sessions branch. (check-in: 83d4114f2a user: drh tags: sessions)
2014-10-13
23:39
Optimize a database corruption test inside of the OP_Column opcode. (check-in: 005e5b388a user: drh tags: trunk)
20:12
Use the padding word in the Mem object as temporary storage for serial_type value in OP_Record, and thus avoid a redundant computation of the serial_type for each column. (check-in: 4b3b65ee5e user: drh tags: trunk)
18:09
Merge trunk changes into this branch. (check-in: d5b7c5a88d user: dan tags: defrag-opt)
18:03
Further work on balance_nonroot(). (check-in: 6594f9b420 user: dan tags: defrag-opt)
17:42
Three small optimizations to vdbeaux.c. (check-in: 04892f8ba6 user: drh tags: trunk)
16:02
Reduce the CPU load imposed by sqlit3VdbeCursorMoveto() by factoring out some of its functions and by avoiding unnecessary calls. (check-in: c2799aece1 user: drh tags: trunk)
13:00
Remove the OPFLAG_CLEARCACHE flag from OP_Column. In its place, change the P3 parameter of OP_SorterData to be the index of the pseudo-table cursor whose record header cache is to be cleared. This gives a small size reduction and performance increase. (check-in: 20062f4942 user: drh tags: trunk)
12:30
Use OP_SorterColumns in aggregate queries. Remove OPFLAG_CLEARCACHE. (Closed-Leaf check-in: 134e65c07f user: drh tags: OP_SorterColumns)
01:23
Add the OP_SorterColumns opcode - an experiment in using a special case opcode to decode the Sorter output rather than the generic OP_Column. This might be faster. And with further work, it could eventually eliminate the need for OP_OpenPseudo. (check-in: b9c695e885 user: drh tags: OP_SorterColumns)
2014-10-12
22:37
Remove the VdbeCursor.lastRowid cache of the current rowid, since maintaining the correct cache value uses more CPU cycles than just recomputing the rowid on the occasions when it is actually needed. Replace it with the VdbeCursor.aOffset field which used to be computed from VdbeCursor.aType when needed. Saves 100 bytes of code space and runs 0.2% faster. (check-in: 91384a7d72 user: drh tags: trunk)
2014-10-11
23:31
Performance optimization and very slight size reduction for OP_Column. (check-in: 869c30e45c user: drh tags: trunk)
20:00
Attempt to further reduce memcpy() in balance_nonroot(). (check-in: fec849dcca user: dan tags: defrag-opt)
17:22
Simplification to the insertCell() routine in btree.c, resulting in a performance boost and a very small size decrease. It turns out that the extra work involved in sometimes avoiding an memcpy() of the first four bytes of a record takes more time than just unconditionally copying those four bytes. (check-in: 66de15580d user: drh tags: trunk)
10:52
Require the SQLITE_ENABLE_RTREE compile-time option in speedtest1.c in order to enable the R-Tree tests. (check-in: 5d29a033b0 user: drh tags: trunk)
02:12
Make sure that a GROUP BY that also implements an ORDER BY scans the table in the correct order. Fix for ticket [ba7cbfaedc7e6]. (check-in: 7a32fdfd4b user: drh tags: trunk)
01:22
Remove an unnecessary conditional from the EXPLAIN QUERY PLAN logic. (check-in: c5dc83ebde user: drh tags: trunk)
2014-10-10
20:52
Account for the ASC/DESC properties of ORDER BY expressions when using the same index for GROUP BY and ORDER BY. Candidate fix for [ba7cbfaedc]. (Closed-Leaf check-in: 2a9573962b user: dan tags: experimental)
19:15
Restrict the scope of the explainIndexRange() function in where.c. (check-in: c301245200 user: drh tags: trunk)
19:10
Fix a failing test case in index5.test. Also tweak the way cache memory is divided between read-only and dirty pages when using SQLITE_CONFIG_PAGECACHE to reduce IO in some cases. (check-in: 8541dfb3bb user: dan tags: trunk)
18:09
Changes to enable compiling using VC6. (check-in: 9ee5686ab3 user: drh tags: trunk)
17:47
When using the -config option to releasetest.tcl, default the testing type to "fulltest" if it is not specified on the command line. (check-in: cf291cbe9f user: drh tags: trunk)
17:44
Provide the new "-config CONFIG" option to the test/releasetest.tcl script, which allows one to run a single test configuration selected by name. (check-in: d479e32be2 user: drh tags: trunk)
17:20
Add the estimated number of output rows to the EXPLAIN QUERY PLAN output if compiled with SQLITE_EXPLAIN_ESTIMATED_ROWS. This feature is off by default for the time being. (check-in: daa8314fba user: drh tags: trunk)
15:47
Simplify the code used to generate the text for EXPLAIN QUERY PLAN. (check-in: beea1efc3a user: drh tags: trunk)
15:01
Fix a potential problem in the whereRangeScanEst() routine when STAT4 is active. The problem was introduced by recent enhancements. (check-in: 68e1b4de70 user: drh tags: trunk)
13:08
Cause the command-line shell to return non-zero if the final SQL statement is incomplete. (check-in: 177fff3b98 user: drh tags: trunk)
12:56
Merge all recent trunk changes. (check-in: abfef25472 user: drh tags: sessions)
2014-10-09
19:35
Change the balance_nonroot() routine to reduce the amount of memcpy work that takes place. This is a work in progress. (check-in: 29304499ea user: dan tags: defrag-opt)
15:08
Allow FTS tokenizers to choose whether or not to consider the "*" character part of tokens or not. This restores the pre-[e21bf7a2ad] behaviour. Also fix a problem causing FTS to interpret tokens beginning with "*" characters as EOF. (check-in: 49dfee7cd1 user: dan tags: trunk)
14:10
Add a test case for the memory leak fixed by the previous check-in. (check-in: bae36d5446 user: drh tags: trunk)
14:00
Fix a memory leak associated with the FTS4 matchinfo() function. (check-in: fb8da82411 user: drh tags: trunk)
11:40
Record the errno on fstat() failures. (check-in: 2a6a082001 user: drh tags: apple-osx)
11:27
Merge the latest trunk enhancements into the apple-osx branch. (check-in: 6fc7207727 user: drh tags: apple-osx)
2014-10-08
19:33
Remove an always-true branch in whereRangeScanEst(). Replace it with an assert(). (check-in: 42e48fd3a6 user: drh tags: trunk)
15:53
Fix up test cases to account for the new SQLITE_LIMIT_WORKER_THREADS limit. (check-in: 6483d426c4 user: drh tags: trunk)
14:28
Set the connection-specific lastRowid value before calling any SQL function. (check-in: dff0f6422e user: drh tags: trunk)
13:34
Ensure that the Pager.pTmpSpace allocation is correct even if an OOM error occurs while reducing the page size. (check-in: e4b43967fd user: drh tags: trunk)
11:11
Remove some temporary code in mallocA.test that was accidentally checked in. (check-in: dedd15f7cd user: dan tags: trunk)
02:53
Fix the STAT4 range scan estimates for DESC indexes. (check-in: e3fe840052 user: drh tags: trunk)
00:08
More intuitive labels on ".wheretrace" output. (check-in: adcb3fed48 user: drh tags: trunk)
2014-10-07
23:02
Make sure the sqlite3VdbeMemClearAndResize() routine is never called with a zero size parameter, since a size of zero could lead to either a memory leak or an assertion fault. (check-in: f672a380e2 user: drh tags: trunk)
20:09
Fix the corruptI.test script so that it works with SQLITE_ENABLE_OVERSIZE_CELL_CHECK and with SQLITE_DEFAULT_AUTOVACUUM=1. (check-in: e405b9e4a9 user: drh tags: trunk)
16:59
Restrict the scope of the valueToText() routine. (check-in: 13c962b33d user: drh tags: trunk)
15:46
Enhance (and fix) the MEMTYPE tags associated with heap memory allocations when SQLITE_MEMDEBUG is used. (check-in: ca5b789e33 user: drh tags: trunk)
2014-10-06
18:33
Remove unreachable branches in decodeIntArray() when compiling without STAT3 or STAT4. (check-in: 80e1baa5c2 user: drh tags: trunk)
14:37
Improve the accuracy of the estimates used when searching an index for values not present in any stat4 samples. (check-in: 3aff9a9cac user: dan tags: trunk)
12:41
Fix a harmless compiler warning inside an assert() in FTS4. (check-in: 418f3c9ad2 user: drh tags: trunk)
2014-10-04
19:31
Tweaks to documentation on sqlite3_open() and sqlite3_bind(). No code changes. (check-in: b8f7f19dc0 user: drh tags: trunk)
11:59
Updates to documentation and requirements marks. No code changes. (check-in: 0f8102d71a user: drh tags: trunk)
10:22
Add a test to show that the change on this branch is effective. (Closed-Leaf check-in: fc619be057 user: dan tags: stat4-avgeq)
00:07
Avoid leaking Index.aiRowEst memory if an OOM causes a rollback which deletes the index before the aiRowEst deletion code in sqlite3AnalysisLoad() routine has a chance to run. Since the aiRowEst now might be deleted from freeIndex() which does not always have a db pointer, make sure the aiRowEst memory is not held in lookaside. (check-in: efd87ba142 user: drh tags: stat4-avgeq)
2014-10-03
19:29
Fix a division-by-zero error that might occur if the sqlite_stat1 table is corrupt. (check-in: f9c053b23e user: dan tags: stat4-avgeq)
19:16
Improve the accuracy of the estimates used when searching an index for values not present in any stat4 samples under some circumstances. (check-in: e6f7f97dbc user: dan tags: stat4-avgeq)
16:00
Add requirements marks on the sqlite3_db_status() interface implementation. Fix a typo in the documentation. Fix the new sqlite3_result_text64() routine so that it works correctly with an encoding parameter of SQLITE_UTF16. (check-in: d2fc322728 user: drh tags: trunk)
14:54
Update to requirements marks related to changes in the memory allocation interface and enhancement of the documentation regarding DEFAULT clauses in CREATE TABLE. (check-in: 440705b98a user: drh tags: trunk)
2014-10-02
21:52
Avoid a NULL pointer deference when processing the IS operator if the right-hand side is an illegal "#ID" style variable. Fix for ticket [8c32a33a53092c85a15b] (check-in: ffe7573636 user: drh tags: trunk)
09:27
Fix a segfault that could occur if an 'optimize' command was issued on an FTS table that contained at least one row but zero terms. (Leaf check-in: b21746ac11 user: dan tags: branch-3.7.14)
2014-10-01
13:17
Show the TK_DOT operator in the TreeView debugging output. No changes to production code. (check-in: 07c89940c4 user: drh tags: trunk)
12:01
Avoid ever writing before the start of an allocated buffer in the DIRECT_OVERFLOW_READ code. Fix for [e3a290961a6]. (check-in: c3c15d20c6 user: dan tags: trunk)
01:52
Merge the latest enhancements from trunk. (check-in: 2695772c98 user: drh tags: sessions)
01:46
Merge the latest enhancements from trunk. (check-in: 2078454ac9 user: drh tags: apple-osx)
2014-09-30
21:24
Draw the TreeView debugging graphs using unicode box-drawing characters. (Closed-Leaf check-in: 0efc6859d1 user: drh tags: box-character-graph)
19:04
Improvements to the new syntax-tree output routines: Omit the "END SELECT" mark and instead terminate the graph at the last item. Increase the maximum tree depth to 100. (check-in: 5ce05757aa user: drh tags: trunk)
17:31
Enable the query planner to deal with WHERE clauses that have OR terms nested within AND terms that are nested within OR terms. Also remove an unused function declaration. (check-in: b6b289182f user: drh tags: trunk)
17:03
Further enhancements to the "wheretrace" debugging output. (check-in: 670993eb81 user: drh tags: trunk)
14:14
Enhanced debug output for OR-logic in the query loop optimizer. (check-in: 2e375eae47 user: drh tags: trunk)
13:46
Show tree diagrams of data structures in the debugging output when the 0x100 bit is set on sqlite3WhereTrace or sqlite3SelectTrace. (check-in: 92e0b4bd4d user: drh tags: trunk)
12:33
Remove the SQLITE_ENABLE_TREE_EXPLAIN compile-time option. Add alternative debugging display routines: sqlite3TreeViewExpr(), sqlite3TreeViewExprList(), and sqlite3TreeViewSelect(). (check-in: 4ff51325d6 user: drh tags: trunk)
2014-09-29
18:47
Add the OPFLAG_MULTICOLUMN flag to the OP_Column opcode. Rearrange OP_Column instructions to take advantage of the new flag for a small performance increase (Leaf check-in: 5e5d6e8680 user: drh tags: faster-OP_Column)
15:42
Fix the header comment in sqlite3VdbeDeletePriorOpcode(). No changes to code. (check-in: 7fb1626866 user: drh tags: trunk)
15:00
Ensure that the OP_Prev opcode verifies that content has not been deleted out from under the cursor. Fix for ticket [209d31e3161b9e9ff]. (check-in: 414f0d6a64 user: drh tags: trunk)
2014-09-27
20:45
Change the names of the stream interface APIs to be of the form "_strm" instead of "_str". In other words, added an "m" to the end, to try to make it clear that we are talking about a "stream" and not a "string. (check-in: 1f44bfdc23 user: drh tags: sessions)
19:51
Merge recent trunk changes (performance enhancements) into the sessions branch. (check-in: 497367cb57 user: drh tags: sessions)
18:18
Fix a segfault in the sessions module that could follow an OOM. (check-in: 09985fa6b6 user: dan tags: sessions)
16:33
Fix a segfault in the streaming API functions triggered by a very long table name. (check-in: d2642543ee user: dan tags: sessions)
12:26
Improve sessions module documentation and comments. Fix some other code issues. (check-in: bfc8bd80f8 user: dan tags: sessions)
05:00
Reduce the amount of memcpy() required by defragmentPage(). (check-in: 3edab9957c user: drh tags: defrag-opt)
2014-09-26
18:30
Add an assert() to verify the last-row-id for the database just prior to calling a SQL function. (check-in: d026f0c944 user: mistachkin tags: trunk)
10:52
Fix a problem with concatenating patchsets containing DELETE and INSERT operations on the same row. (check-in: 4d8537eafb user: dan tags: sessions)
02:41
Fix the "PRAGMA integrity_check" command so that it avoids formatting error message context messages until it actually needs to generate an error message. This avoids much formatting, and hence greatly improves the performance of "PRAGMA integrity_check" in the common case when there are no errors. It also makes the code a little smaller. (check-in: 8391351583 user: drh tags: trunk)
01:10
If an SQL function makes a recursive call to do an INSERT into the same database, make sure that the last_insert_rowid() for that INSERT is recorded. (check-in: e93aecc090 user: drh tags: trunk)
2014-09-25
20:43
Add streaming version of sqlite3changeset_concat(). (check-in: 88eb6656bd user: dan tags: sessions)
17:42
Minor code reformatting and comment change, to improve clarity. No logic changes. (check-in: baeb72a356 user: drh tags: trunk)
14:54
Add streaming version of sqlite3changeset_invert() to sessions module. (check-in: 8ded6a4679 user: dan tags: sessions)
13:17
Simplifications to the SQL function and aggregate calling procedures. (check-in: 3467049a17 user: drh tags: trunk)
12:31
Simplification to the random rowid picking logic that begins running when the maximum possible rowid has already been used. (check-in: 1330c72e17 user: drh tags: trunk)
11:08
Still more performance enhancements to the LIKE and GLOB operators. (check-in: 6c8924cacc user: drh tags: trunk)
03:51
More performance optimization for the LIKE and GLOB operators. (check-in: 5ab1023d6c user: drh tags: trunk)
02:44
Change that might allow SQLite to build and work using the EBCDIC character set. (check-in: ef30e0352b user: drh tags: trunk)
00:56
Size reduction and performance improvement in the LIKE and GLOB operators. (check-in: b2c89ef49c user: drh tags: trunk)
2014-09-24
19:47
Have each open database allocate its pTmpSpace when the first write cursor is opened, rather than on each insert or delete, for a small space savings and performance boost. (check-in: 99323552c0 user: drh tags: trunk)
18:31
Small performance and size optimization for btreeUnlockIfUnused(). (check-in: 13c746f85d user: drh tags: trunk)
17:13
Add streaming version of sqlite3changeset_apply(). Tests and fixes for the same and sqlite3changeset_start_str(). (check-in: b917fc1468 user: dan tags: sessions)
13:20
Do not allow parameters in a DEFAULT clause of a CREATE TABLE statement. Ticket [78c0c8c3c9f7c1]. (check-in: 1ad2bc1ed4 user: drh tags: trunk)
04:38
Experiment using linear interpolation, instead of a strict binary search, when looking for integer-keyed rows on a single b-tree page. The experiment was not successful. The number of key comparisons is reduced by about 15%, but the added complexity of the search logic causes an overall reduction in performance. The patch is saved for historical reference only. (Closed-Leaf check-in: c705cf856d user: drh tags: linear-interpolation)
02:05
Have the clearCell() routine return the cell size to the caller, rather than have the caller make a separate call to cellSizePtr(). (check-in: f21d217583 user: drh tags: trunk)
01:23
Shorten all lines of source code in btree.c to at most 80 characters. No logical changes. (check-in: 5dd41cdbfe user: drh tags: trunk)
00:59
Add the MemPage.noPayload boolean and use it to help cellSizePtr() and btreeParseCellPtr() run faster. (check-in: 8e3375313e user: drh tags: trunk)
2014-09-23
23:12
Remove an unused C-preprocessor macro. No functional changes to the code. (check-in: f480582cca user: drh tags: trunk)
22:36
Avoid calling btreeParseCellPtr() from within fillInCell() since most of what btreeParseCellPtr() computes is ignored by fillInCell(). Instead, have fillInCell() compute the values it needs inline. Performance improvement. (check-in: 4147f6671e user: drh tags: trunk)
21:25
Simplify the CellInfo structure for a size reduction and performance improvement. (check-in: bf59df66b3 user: drh tags: trunk)
20:39
Begin adding 'streaming' APIs to sessions module. This is a work in progress. (check-in: 3c7d3d950b user: dan tags: sessions)
18:30
Add the "multiplex_truncate" PRAGMA to the multiplexor extension, for querying and setting the truncate flag on a database connection. (check-in: d2962a5f38 user: drh tags: trunk)
01:40
Adjust skip-scan cost estimates slightly so that a full table scan is preferred over a skip-scan to a column with only two distinct values. (check-in: ae9a42b268 user: drh tags: trunk)
2014-09-22
20:38
Fix to payload size overflow detection in the cellSizePtr() change of the previous check-in. (check-in: 7609744014 user: drh tags: trunk)
19:51
Size reduction and substantial performance increase for cellSizePtr(). (check-in: bc8bbf3207 user: drh tags: trunk)
14:30
Tune the query planner to be more aggressive about using automatic indexes on views and subqueries for which there is not opportunity to declare a persistent schema index. (check-in: 41de1643bf user: drh tags: trunk)
03:22
Disable shared memory operations using the unix-nolock VFS. (check-in: 10a6e51049 user: drh tags: trunk)
2014-09-21
23:08
Merge in all recent changes from trunk. (check-in: 3967ebe83e user: drh tags: apple-osx)
22:49
Merge all recent trunk changes into the sessions branch. (check-in: 6406b77f2c user: drh tags: sessions)
22:31
Correctly handle an ORDER BY clause on an outer query when applying the compound-subquery flattening optimization. Ticket [d11a6e908f]. Also add the SQLITE_ENABLE_SELECTTRACE option for additional debugging and analysis information about select statement processing. (check-in: d5880abd63 user: drh tags: trunk)
20:31
Add test cases for ticket [d11a6e908f]. (Closed-Leaf check-in: 9683e001ed user: drh tags: select-trace)
17:51
Add the "showauth" extension in ext/misc. (check-in: 28d52c1c38 user: drh tags: select-trace)
00:27
Improved ".selecttrace" output. (check-in: c0b61f7092 user: drh tags: select-trace)
2014-09-20
20:38
Candidate fix for [d11a6e908f]. (check-in: 89398880bc user: dan tags: select-trace)
20:24
Fix the SELECTTRACE_ENABLE macro so that it doesn't cause problems for testfixture. Add new SELECTTRACE() calls. (check-in: f1ba68f131 user: drh tags: select-trace)
18:18
Enable SELECT query planning tracing when compiled with SQLITE_ENABLE_SELECTTRACE and either SQLITE_DEBUG or SQLITE_TEST. (check-in: cbe0cf9ddf user: drh tags: select-trace)
00:35
Fix the usage of the _GNU_SOURCE and _BSD_SOURCE macros in the main internal header file, sqliteInt.h. Set HAVE_STRCHRNUL to 1 by default on Linux only. (check-in: 59e2c9df02 user: drh tags: trunk)
00:29
Only enable HAVE_STRCHRNUL by default on linux, as that is the only place it appears to work by default. (Closed-Leaf check-in: 0fac2c045f user: drh tags: sqliteIntMacros)
00:02
Revise macro usage in 'sqliteInt.h'. (check-in: 35db3e2f35 user: mistachkin tags: sqliteIntMacros)
2014-09-19
22:44
Simplify two conditionals and add testcase() macros to the affinity transform logic in the comparison operators. (check-in: 544664cadf user: drh tags: trunk)
22:30
Recognize the invariant that a Mem object cannot be MEM_Dyn and have a non-zero szMalloc at the same time. Enforce this with assert()s and exploit it in the sqlite3VdbeMemClearAndResize() routine for a performance increase. (check-in: 3b21cf2b28 user: drh tags: trunk)
22:01
Tighten the conditions under which applyNumericAffinity() be called and add assert() statements to prove that it is never called otherwise. (check-in: e996ca32cb user: drh tags: trunk)
20:13
Fix the affinity on inserts into the ANALYZE tables. Change the affinity characters to be upper case, to make the P5 parameter of comparison operators easier to read. (check-in: 3f3ca76aea user: drh tags: trunk)
19:43
Do not attempt to extend the temp file if VFS version 3 is not supported and hence memory mapped I/O is unavailable. (check-in: 3ab20ba14f user: drh tags: trunk)
19:00
Make the "nolock" VFS on unix a version-3 VFS so that the sorter can use memory-mapped I/O. (check-in: 3db78d6100 user: drh tags: trunk)
18:08
Add further tests to ota5.test. Add "ota.test", for running all ota tests. (check-in: 95ffdaa542 user: dan tags: ota-update)
16:56
Remove a local variable from the OP_Column implementation, resulting in a modest size reduction and a performance increase. (check-in: 6199760d13 user: drh tags: trunk)
16:13
Small size reduction and performance increase for releaseMemArray(). (check-in: 24cd32d681 user: drh tags: trunk)
16:02
Updates to comments. No code changes. (check-in: 9b42c3da6b user: drh tags: trunk)
15:28
The OP_Column opcode runs faster and is smaller by manually in-lining the code that persists string values in the output register. (check-in: 36b613ccf0 user: drh tags: trunk)
15:06
Add extra tests for the ota extension. (check-in: 1e468fe1e4 user: dan tags: ota-update)
04:42
Add the sqlite3VdbeMemClearAndResize() function. Fix a sorting-index prefilter problem. (check-in: 987a7a2119 user: drh tags: trunk)
02:01
Make sure that the sorting-index pre-filter recognizes that a rowid reference might be sortable. This fixes a performance regression. (Closed-Leaf check-in: 72727b68cd user: drh tags: Cplusplus-comment)
00:43
Add the sqlite3VdbeMemClearAndResize() interface to be used in place of sqlite3VdbeMemGrow(). A C++ style comment was left in this check-in by mistake, and so it has been moved into a branch to avoid problems in any future bisects on windows. (check-in: 5b9b898779 user: drh tags: Cplusplus-comment)
2014-09-18
21:25
Add the Mem.szMalloc element to the Mem object and use it to keep track of the size of the Mem.zMalloc allocation. (check-in: 9c09ac353d user: drh tags: trunk)
18:55
Correct typos in comments. No changes to code. (check-in: 5587993211 user: mistachkin tags: trunk)
17:57
Update the ota extension to support SQLITE_ENABLE_8_3_NAMES builds. (check-in: 718da6de87 user: dan tags: ota-update)
17:52
Merge the Mem.r value into the MemValue union as Mem.u.r. Hence, a Mem can now store an integer or a real but not both at the same time. Strings are still stored in a separate element Mem.z, for now. (check-in: 4c8c89d7e6 user: drh tags: trunk)
16:38
Use quotes instead of angle-brackets to include sqlite3.h from sqlite3ota.h. (check-in: fce9c6ccf1 user: dan tags: ota-update)
16:28
Performance improvement for affinity transformations on comparison operators. (check-in: d7afdcbac2 user: drh tags: trunk)
15:57
Remove some c++isms from sqlite3ota.c. (check-in: 0da1862b1b user: dan tags: ota-update)
15:22
Add new file ext/ota/README.txt, containing notes regarding the implementation of the ota extension. (check-in: 3c6e1cbb4b user: dan tags: ota-update)
14:48
Add an API to query an ota handle for the total number of key/value operations performed so far. (check-in: e3943fa7bb user: dan tags: ota-update)
14:36
Since numeric affinity is the most common case, check it first. Interchange the NONE and TEXT affinity codes for easier checking of no affinity. (check-in: 4ef4c9a7c8 user: drh tags: trunk)
11:31
Merge latest trunk changes with this branch. (check-in: 67ea2979d5 user: dan tags: ota-update)
11:15
Fix an ota bug causing attempts to write to tables with more than 8 columns to fail. (check-in: 7da98ca242 user: dan tags: ota-update)
09:59
Modify an assert() within sqlite3PagerWalFramesize(), a function only ever used by zipvfs, to account for recent zipvfs changes. (check-in: 3bd7c1b2fa user: dan tags: trunk)
02:20
Fix harmless warnings on 32-bit MSVC builds. (check-in: 5192f964b2 user: drh tags: trunk)
01:50
Make sure of the strchrnul() library function on platforms where it is available. (check-in: ef1aa10b7f user: drh tags: trunk)
01:29
Merge micro-optimizations into trunk after fixing the build on MSVC. Performance now shows 7.58% faster than the 3.8.6 release on x64 with gcc 4.8.1 and -Os. (check-in: 1de558bcb1 user: drh tags: trunk)
01:21
Fix compiler warnings and change the nullMem structure initializer into a format that MSVC can understand. (Closed-Leaf check-in: 163bfae858 user: drh tags: micro-optimizations)
2014-09-17
23:37
Performance improvement and slight size reduction to the comparison operators in the VDBE. (check-in: 14052a7d08 user: drh tags: micro-optimizations)
19:05
Fix an unintialized variable problem in sqlite3ota.c. (check-in: 0126860751 user: dan tags: ota-update)
16:41
In the Mem object, stop requiring that Mem.xDel be NULL when the MEM_Dyn bit is clear. Also reduce the amount of initialization of Mem objects. All for a small size reduction and performance increase. (check-in: fdddb477c8 user: drh tags: micro-optimizations)
15:20
Add tests and fixes for "PRAGMA ota_mode". (check-in: 39df35c4ac user: dan tags: ota-update)
14:52
Improved interface to the Mem object handling. Small size reduction and performance increase. (check-in: 4e43784432 user: drh tags: micro-optimizations)
2014-09-16
21:54
Continuing cleanup of memory register memory allocation handling. (check-in: 2598aedc5d user: drh tags: micro-optimizations)
20:05
Make sure registers are cleared properly prior to being used to store the result of an OP_Column operator. (check-in: 78fb8838d8 user: drh tags: micro-optimizations)
20:02
Clarify the effects of the pager_ota_mode pragma. Add tests and fixes for the same. (check-in: decaccc37c user: dan tags: ota-update)
18:22
Simplification of the OP_Column logic for the case of rows with overflow. (check-in: f73678038d user: drh tags: micro-optimizations)
14:55
Remove an unused parameter from sqlite3VdbeIdxRowid(). This is cosmetic only as the C-compiler optimizers were already omitting this parameter on amalgamation builds. (check-in: a10a6bba49 user: drh tags: micro-optimizations)
14:37
Reduce the number of arguments to RecordCompare functions from 4 to 3, resulting in a small performance increase. (check-in: 8239c35aed user: drh tags: micro-optimizations)
14:16
Reorder the elements of the Mem object for a small size reduction and performance improvement. Moved into a branch because MSVC is unable to handle named structure initializer on nullMem. (check-in: 0be3019ed7 user: drh tags: micro-optimizations)
13:30
Changes to sqlite3VdbeRecordUnpack() to make it slightly smaller and faster. (check-in: 8fb90da77c user: drh tags: trunk)
03:24
Performance improvement to the sqlite3MemCompare() routine by factoring out sqlite3BlobCompare(). (check-in: 20ed2321b0 user: drh tags: trunk)
2014-09-15
19:34
Remove the experimental sqlite3_transaction_save() and restore() APIs. (check-in: 48d201cd8b user: dan tags: ota-update)
16:57
Merge latest trunk fixes into this branch. (check-in: 5efafef51d user: dan tags: ota-update)
16:53
Fix tool/showwal.c so that it handles WAL files that contain 64KiB pages. (check-in: 4060efb646 user: dan tags: trunk)
16:50
Avoid attempting to call the xFetch() method of an sqlite3_io_methods object with a version number less than 3. (check-in: dedaa6fb3d user: dan tags: trunk)
15:34
Merge latest trunk changes with this branch. (check-in: 55b8011d5b user: dan tags: ota-update)
15:22
Have sqlite3ota.c use grave accents instead of double-quotes to enclose identifiers in generated SQL. To avoid having the SQL engine substitute a literal string if a column reference cannot be resolved. (check-in: 79f2418429 user: dan tags: ota-update)
14:59
Remove the EXPENSIVE_ASSERTS in pcache.c having to do with the pSynced field of the Pcache object, as they are incorrect, as revealed by recent pcache enhancements. (check-in: 69a6456077 user: drh tags: trunk)
14:54
Ensure the correct collation sequences are used when sorting data in sqlite3ota.c. (check-in: 473a72d700 user: dan tags: ota-update)
14:46
Do not flatten aggregate subqueries that contain min() or max() functions so that if the min()/max() are discarded by the outer query, they still function and cause non-aggregate expression to be evaluated on the minimal or maximal row. (check-in: 0bdf1a086b user: drh tags: trunk)
12:18
Have the sqlite3_index_writer() VMs check that the final values of records inserted into indexes on rowid tables are integers. (check-in: cca376bff3 user: dan tags: ota-update)
11:14
Adjust comments to show that subquery flattening restriction (10) was removed from the code back in 2005. This is a comment change only. (check-in: 4ff0eb96bc user: drh tags: trunk)
10:44
Add OP_Affinity opcodes to the VMs generated by sqlite3_index_writer(). (check-in: b9b38cb8e2 user: dan tags: ota-update)
2014-09-12
20:30
Small performance improvement to the dirty list handling in the pager. (check-in: b332a84d51 user: drh tags: trunk)
17:41
Simplify the way the column cache is managed around OP_Move instructions. (check-in: 320556233e user: drh tags: trunk)
04:28
Fix a problem with parser memory allocation on 32-bit systems. (check-in: 2f69a1fa6a user: drh tags: trunk)
2014-09-11
23:34
Fix an issue with sqlite3_bind_text64() with the SQLITE_UTF16 encoding parameter. Remove some unreachable code from the text64() and blob64() implementation. (check-in: 34292b084e user: drh tags: trunk)
18:44
Add new APIs that take 64-bit length parameters: sqlite3_malloc64(), sqlite3_realloc64(), sqlite3_bind_blob64(), sqlite3_bind_text64(), sqlite3_result_blob64(), and sqlite3_result_text64(). Add the sqlite3_msize() interface. Internal memory allocation routines now use 64-bit unsigned length parameters for safety. Fix the sqlite3_get_table() to use sqlite3_realloc64() to avoid a integer overflow problem. (check-in: 7e4978c003 user: drh tags: trunk)
17:27
Add the SQLITE_USER_AUTHENTICATION extension to the trunk. This extension is disabled by default. Special compilation procedures are need to enable it. (check-in: 65884d4f81 user: drh tags: trunk)
17:14
Clean up some #includes in the extension API implementation. (Closed-Leaf check-in: b149ef5c63 user: drh tags: user-auth)
16:36
Suppress the potential schema error that occurs when a non-user-auth SQLite library tries to parse the sqlite_user table definition in a user-auth database. (check-in: cda33c1ef3 user: drh tags: user-auth)
16:19
Enhance the sqlite3_user_add() interface to initialize the user authentication logic. Add test cases for the extra argument on the end of the authorizer callback. (check-in: 842c6da8f1 user: drh tags: user-auth)
15:25
All interfaces working and tested. (check-in: 96ea5c0b3c user: drh tags: user-auth)
14:56
Get the sqlite3_user_delete() interface working. (check-in: 974a9c6558 user: drh tags: user-auth)
14:40
Fix the sqlite3_user_change() interface so that it does allow a non-admin user to change their own password. (check-in: 52d440c7e1 user: drh tags: user-auth)
14:01
Move user authentication blocking from sqlite3_prepare() over to the table lock generator, thus allowing SQL statements (like "PRAGMA locking_mode") that do not touch database content to run prior to authentication. (check-in: 70121e7cf8 user: drh tags: user-auth)
13:44
Add support for the extra parameter on the sqlite3_set_authorizer() callback and support for failing an ATTACH with an authentication-required database using bad credentials. The extension is now feature complete, but much testing and bug-fixing remains. (check-in: 596e728b0e user: drh tags: user-auth)
00:27
Reorder parameters on the sqlite3_user_*() interfaces for consistency. Add the first TCL test cases. (check-in: 2f6d8f32ee user: drh tags: user-auth)
2014-09-10
22:46
Complete the implementation of the various APIs. Fix several problems. This is another incremental check-in that does not completely work. (check-in: 4eaaa7fa87 user: drh tags: user-auth)
19:01
Add the ".user" shell command and implement the sqlite3_user_add() routine. Incremental check-in. The code compiles but does not work. (check-in: a0455f9deb user: drh tags: user-auth)
17:34
Further ideas on user authentication. Not yet working code. (check-in: c8171ecd0d user: drh tags: user-auth)
2014-09-09
20:30
Change the name of the _texte64() interfaces to just _test64(), without the "e". (Closed-Leaf check-in: 6ab76c5fed user: drh tags: 64-bit-lengths)
18:41
Add new interfaces to the loadable extension mechanism. (check-in: 18d80cbc59 user: drh tags: 64-bit-lengths)
17:27
Add new APIs that take 64-bit length parameters: sqlite3_malloc64(), sqlite3_realloc64(), sqlite3_bind_blob64(), sqlite3_bind_texte64(), sqlite3_result_blob64(), and sqlite3_result_texte64(). Internal memory allocation routines also now use 64-bit unsigned length parameters for safety. Also add the sqlite3_msize() interface. Fix the sqlite3_get_table() to use sqlite3_realloc64() to avoid a integer overflow problem. (check-in: 94954850cf user: drh tags: 64-bit-lengths)
14:47
Non-working preliminary implementation attempts on user authentication. (check-in: 8440f093ba user: drh tags: user-auth)
2014-09-08
17:50
Add support for update statements to sqlite3ota.c. (check-in: e109b27e4d user: dan tags: ota-update)
15:04
Merge support for large files on Android from trunk. (check-in: c2885c6bb2 user: drh tags: sessions)
2014-09-06
20:19
Add support for delete operations to the ota extension. (check-in: f988234ba5 user: dan tags: ota-update)
17:06
Fixes to os_unix.c to support database (and other) files larger than 2GiB on Android. (check-in: ad7063aa1a user: dan tags: trunk)
16:52
Merge latest trunk changes with this branch. (Closed-Leaf check-in: 9dca7ce557 user: dan tags: android-large-filles)
16:49
Fixes to os_unix.c to support database (and other) files larger than 2GiB. (check-in: e7fae33c07 user: dan tags: android-large-filles)
16:39
Fix typos in comments. No code changes. (check-in: e62aab5e92 user: peter.d.reid tags: trunk)
03:38
Do not record a page-size change if the attempt to change the page size failed due to an OOM error. (check-in: 4d4fb197dc user: drh tags: trunk)
03:16
Add the sqlite3_memdebug_title_count global variable, used during debugging to count the number of invocations of test_memdebug_settitle. By examining this variable in the debugger after a segfault, one can then set a breakpoint on test_memdebug_settitle that will fire just before the problem. (check-in: 27e3ca3e0f user: drh tags: trunk)
02:00
Fix a couple of typos in comments. No changes to code. (check-in: a758465e3c user: mistachkin tags: trunk)
01:35
Query planner heuristic update: When doing a full table scan on a table that has an equality constraint on an unindexed column, do not allow the estimated number of output rows to be greater than half the total number of rows in the table. (check-in: 73954f93c4 user: drh tags: trunk)
2014-09-05
19:52
Switch back to using a single database connection in sqlite3ota.c. (check-in: 3c2f4a0781 user: dan tags: ota-update)
19:31
Reorganize the code in sqlite3ota.c in preparation for adding support for update and delete operations. (check-in: 98387f0569 user: dan tags: ota-update)
05:58
Fix harmless compiler warning. (check-in: 7331190677 user: mistachkin tags: trunk)
2014-09-04
19:05
Avoid ever running a checkpoint in ota mode. (check-in: 9ae4444725 user: dan tags: ota-update)
18:05
Fix showwal.c so that it works with 64KiB pages. (check-in: fc4f7c1152 user: dan tags: ota-update)
11:03
Avoid calling sqlite3OsFetch() on a file-handle for which the xFetch method is NULL. (check-in: 071f7f2dec user: dan tags: ota-update)
2014-09-03
19:30
Split part of "PRAGMA ota_mode" off into "PRAGMA pager_ota_mode". This allows some specialized custom VFS implementations to intercept and implement the expected pager-related effects of this pragma. (check-in: 209f672e58 user: dan tags: ota-update)
08:25
Add a command line program that uses the extension. This serves as example code and is also useful for performance testing. (check-in: ffa1524ef2 user: dan tags: ota-update)
2014-09-02
19:59
Add an experimental extension for applying bulk updates to databases. (check-in: 2954ab5010 user: dan tags: ota-update)
15:57
Merge the latest trunk changes into the apple-osx branch. (check-in: 696dc935f7 user: drh tags: apple-osx)
15:49
Merge the latest trunk changes, including the multi-threaded sorter, into the sessions branch. (check-in: d4cce2c71e user: drh tags: sessions)
2014-09-01
23:06
Update comments in the ANALYZE command that describe how the Stat4Accum objecct is passed around within the VDBE. No changes to functional code. (check-in: 9779c7a9eb user: drh tags: trunk)
22:34
Avoid a confusing (though correct) argument to the sqlite3_result_blob() function in the implementation of ANALYZE. (check-in: 4cae93f8ae user: drh tags: trunk)
19:29
For sqlite3_win32_is_nt(), assume WinRT is NT-based and revise #ifdef ordering to prefer the ANSI version of GetVersionEx, when available. (check-in: be0a037244 user: mistachkin tags: trunk)
18:21
Tweak the documentation for SQLITE_LIMIT_WORKER_THREADS. No changes to executable code. (check-in: 672e7387b1 user: drh tags: trunk)
17:36
Add support for using separate worker threads to speed large sorts. The SQLITE_MAX_WORKER_THREADS and SQLITE_DEFAULT_WORKER_THREADS compile-time options and the SQLITE_LIMIT_WORKER_THREADS argument to sqlite3_limit() and the "PRAGMA threads=N" pragma are added. (check-in: b1c0f0bc1b user: drh tags: trunk)
13:37
Attempt to make the xDelete method of the unix VFS more robust on VxWorks. (check-in: b0f6b91f36 user: drh tags: trunk)
13:29
Micro-optimizations in sqlite3BtreeNext() and sqlite3BtreePrevious(). (check-in: 839c7996ee user: drh tags: trunk)
01:16
Fix harmless compiler warnings for MSVC. (check-in: 3ef3246120 user: mistachkin tags: trunk)
01:15
Merge updates from trunk. (check-in: 51f33cf129 user: mistachkin tags: asciiMode)
2014-08-30
15:49
In the command-line shell, added options --lookaside, --pagecache, and --scratch used to configure auxiliary memories. (check-in: f61db04be4 user: drh tags: trunk)
2014-08-29
19:06
Disable worker threads when SQLITE_THREADSAFE=0. Set the default compile-time maximum number of worker threads to 8 and honor the SQLITE_DEFAULT_WORKER_THREADS compile-time constant (which defaults to 0). (Closed-Leaf check-in: 33fa041049 user: drh tags: threads)
18:06
Fix the speedtest1.c test program to set the worker thread count using the threads pragma. (check-in: 2ab4b5adc6 user: drh tags: threads)
16:20
Add SQLITE_LIMIT_WORKER_THREADS for controlling the maximum number of worker threads. (check-in: 1b598c68f3 user: drh tags: threads)
14:40
Merge recent performance enhancements from trunk onto the threads branch. (check-in: 35c44a3c73 user: drh tags: threads)
14:20
Not a fault after all, rather a testing mistake. Move this change back to trunk. Was: Avoid an unnecessary OP_Move operation for expression subqueries. (check-in: 2a74129a21 user: drh tags: trunk)
12:29
Contains a fault. Was: Avoid an unnecessary OP_Move operation for expression subqueries. (Closed-Leaf check-in: 462f42af52 user: drh tags: mistake)
11:24
Add the sqlite3VdbeChangeDest() routine that can be used to eliminate OP_Move opcodes. (Closed-Leaf check-in: 8c57bcc327 user: drh tags: experimental)
2014-08-28
19:38
Improved WHERETRACE messages for the estimated output row reductions from range scans. (check-in: fdd478bb11 user: drh tags: trunk)
17:30
Fix a problem causing an inaccurate stat4-based estimate for the number of rows visited by a range scan. (check-in: a9daf3ac44 user: drh tags: trunk)
17:20
Add a testcase() macro to help verfity the row estimation logic. (Closed-Leaf check-in: 6ba609522e user: drh tags: stat4-experimental)
16:01
Fix a problem causing an inaccurate stat4-based estimate for the number of rows visited by a range scan. (check-in: 052d89b554 user: dan tags: stat4-experimental)
13:42
Fix a formatting error ("%d" needed in place of "%g") on a WHERETRACE macro inside of the query planner. This fix applies to debugging logic only. (check-in: c931ca2b77 user: drh tags: trunk)
2014-08-27
23:18
Refactor the sqlite3PcacheFetch() routine into three separate routines, which are significantly faster overall and about 100 bytes smaller in size as well. (check-in: bdb6e4978d user: drh tags: trunk)
17:53
Add a VDBE synopsis comment for clarification. (check-in: 029a6dc744 user: mistachkin tags: trunk)
17:48
Add a missing ticket number to a comment in index7.test. (check-in: d8b1c43361 user: dan tags: trunk)
17:37
When determining whether or not a partial index is usable, do not assume that the cursor number assigned to each table in the query is the same as its index in the FROM clause. Fix for ticket [98d973b8f5]. (check-in: fcebca166f user: dan tags: trunk)
14:14
In the sqlite3_context object, keep a pointer to the result value rather than storing the result value in the sqlite3_context object and using memcpy() to move the value back into its register after the function returns. This runs faster and saves over 500 bytes of code space. (check-in: 6c1ee3e388 user: drh tags: trunk)
03:28
Factor out the exception paths from sqlite3ValueToText() into a separate function so that the main routine is much faster for the common case of no required type or encoding conversions. (check-in: 1624916c6e user: drh tags: trunk)
00:50
Performance enhancement in sqlite3VdbeMemNulTerminate(). (check-in: f94cacc393 user: drh tags: trunk)
2014-08-26
15:06
Change the page cache so that a new sqlite3_pcache object is allocated as soon as the page cache is opened, not delayed until the first fetch request. This give a noticable performance boost. The interface between pager and the page cache has changed slightly, which might break ZIPVFS. (check-in: f1f94a971e user: drh tags: trunk)
02:15
Merge recent performance enhancements and the CAST operator enhancements into the sessions branch. (check-in: 08ae974ac8 user: drh tags: sessions)
02:02
Merge recent performance enhancements and the CAST operator enhancements into the apple-osx branch. (check-in: 5c27311105 user: drh tags: apple-osx)
2014-08-25
23:44
Remove the SQLITE_CONFIG_WORKER_THREADS configuration parameter. The number of worker threads in the sorter is now determined only by the PRAGMA threads=N setting. (check-in: e3305d4b4e user: drh tags: threads)
22:43
Merge the CAST operator enhancements from trunk. (check-in: 6c8f86e4e0 user: drh tags: threads)
22:37
Add an assert() and five testcase() macros to the OP_Cast opcode implementation to help verify that it is fully tested. (check-in: af364cce9d user: drh tags: trunk)
21:11
Minor changes to the CAST logic to make it more testable. (check-in: 1ad70ec550 user: drh tags: trunk)
20:21
Test cases added for using unary "+" and CAST operators on the RHS of range constraints and verifying that STAT3/4 can use those constraints. (check-in: 42505e5a81 user: drh tags: trunk)
20:11
Allow CAST expressions and unary "+" operators to be used in the DEFAULT argument of an ALTER TABLE ADD COLUMN and to be understand on the RHS of range constraints interpreted by STAT3/4. This involves a rewrite of the implementation of the CAST operator. (check-in: 91d8a8d0b7 user: drh tags: trunk)
19:58
Add documentation for tokenizer api to fts5.h. Also add a script to extract extension API docs and format them as html. (check-in: e240d467e6 user: dan tags: fts5)
18:29
In cases where stat4 data is available but cannot be used because the rhs of a range constraint is too complex a expression, fall back to using the default estimates for number of rows scanned. (check-in: e06dc6f0c3 user: dan tags: trunk)
15:13
Query or change the maximum number of worker threads allowed on each database connection separately using the "PRAGMA threads" command. (check-in: 29c5e8a7c9 user: drh tags: threads)
13:27
Merge the recent performance enhancements implemented on trunk into the threads branch. (check-in: dfdc900f5d user: drh tags: threads)
11:33
Remove the pager_lookup() function since it is redundant with sqlite3PagerLookup(). (check-in: 54164ce47c user: drh tags: trunk)
11:20
Change the name of the VdbeMemRelease() macro to VdbeMemReleaseExtern() to more accurately reflect what it does. Performance enhancement to the sqlite3VdbeMemRelease() function. (check-in: 3ca5846da7 user: drh tags: trunk)
2014-08-24
02:53
The sqlite3VdbeChangeEncoding() routine goes about 3x faster if the sqlite3VdbeMemTranslate() subroutine is not inlined. (check-in: 0c7e1b875a user: drh tags: trunk)
01:32
Patch the sqlite3PagerWrite() method in the Pager to run a bit faster. (check-in: c63311e2f3 user: drh tags: trunk)
2014-08-23
23:15
Faster implementation of pcache1Fetch() (check-in: 0371cc3bb0 user: drh tags: trunk)
20:25
Faster implementation of the sqlite3ApiExit() routine. (check-in: bd41d394d4 user: drh tags: trunk)
19:42
Another memory allocator performance optimization. (check-in: 6da6f46d0c user: drh tags: trunk)
19:08
Fix a variable-declaration after code problem in btree.c. Harmless in GCC and CLANG but unacceptable for MSVC. (check-in: 45abd5c0ba user: drh tags: trunk)
19:04
Changes to sqlite3ScratchMalloc() that make the entire memory allocation interface a little faster and about 100 bytes smaller. (check-in: f83daa16f6 user: drh tags: trunk)
18:17
Make the implementation of the sqlite3_aggregate_context() interface faster for second an subsequent invocations. This helps all aggregate functions to perform better. (check-in: 802148f311 user: drh tags: trunk)
17:41
Improved performance in the type handling of arithmetic operators in the VDBE. (check-in: 0c0a603950 user: drh tags: trunk)
17:21
Performance optimization in the applyAffinity() logic inside the VDBE. (check-in: 25f2246be4 user: drh tags: trunk)
2014-08-22
23:33
Another performance tweak: Split the sqlite3BtreeCursorHasMoved() routine into two with the second routine named sqlite3BtreeCursorRestore(). The first now only reports whether or not the cursor has moved and the second tries to restore the cursor. This allows the sqlite3VdbeCursorMoveto() routine to be refactored to avoid stack pointer movements, for a noticable performance gain. (check-in: ce123b5c59 user: drh tags: trunk)
22:26
Factor the saveAllCursors() routine of btree.c into two separate routines, for a noticable performance improvement. (check-in: 3eb0843903 user: drh tags: trunk)
21:58
Performance enhancements in the b-tree mutex logic. (check-in: 8914530644 user: drh tags: trunk)
20:35
Combine the pcacheAddToDirtyList() and pcacheRemoveFromDirtyList() routines into a single pcacheManageDirtyList() routine. The resulting binary code is slightly faster and a few bytes smaller. (check-in: 6bcf1af6a4 user: drh tags: trunk)
19:12
Revise #ifdef ordering to prefer the ANSI version of GetVersionEx, when available. (Closed-Leaf check-in: 9fe0f0754c user: mistachkin tags: winrt)
18:48
Performance enhancement in sqlite3PutVarint(). (check-in: a929be5519 user: drh tags: trunk)
18:00
Split the sqlite3Error() routine into sqlite3Error() and sqlite3ErrorWithMsg(), for a slight size reduction and performance increase. (check-in: cf561d1f0b user: drh tags: trunk)
15:40
Performance improvement in the printf() logic by avoiding unnecessary stack pointer movement. (check-in: f7f2160db0 user: drh tags: trunk)
15:19
Improve the performance and reduce the size of the sqlite3VdbeSerialGet() routine by avoiding the use of stack. (check-in: ebc10e46c1 user: drh tags: trunk)
14:56
Handle the 4-byte integer case in the stackless routine. (Closed-Leaf check-in: 3f55484e81 user: drh tags: experimental)
14:34
Get the sqlite3VdbeSerialGet() routine to run faster by avoiding the use of local variables. (check-in: 8267d82174 user: drh tags: experimental)
13:22
Change a while-loop into a do-loop in sqlite3VdbeSerialPut() for a small size reduction and performance improvement. (check-in: 750bb0a096 user: drh tags: trunk)
11:11
Enhance the spellfix extension with the ability to specify a rowid when inserting new rows. (check-in: 369c480cda user: drh tags: trunk)
2014-08-21
20:26
Simplify the interface to the symbol table, saving 600 bytes of code space. (check-in: 14b0f561fe user: drh tags: trunk)
19:11
For sqlite3_win32_is_nt(), assume WinRT is NT-based. (check-in: 2f59e71fbf user: mistachkin tags: winrt)
16:09
Merge all recent trunk changes, especially the fix for ticket [369d57fb8e5ccdff06f1], but also the skip-scan improvement and performance improvements in the b-tree code. (check-in: 0b9e2c3269 user: drh tags: sessions)
14:10
Fix a faulty assert() statement. Add comments to clarify the behavior of the sqlite3OpenTableAndIndices() routine in insert.c. Add test cases to verify that the assert() statement is not firing inappropriately. Ticket [369d57fb8e5ccdff06f1]. (check-in: 7029b3404d user: drh tags: trunk)
2014-08-20
23:42
Increase the version number to 3.8.7 (check-in: 91594aae07 user: drh tags: trunk)
23:38
Enhancements to skip-scan such that it is operable when a middle column of an index is skipped while the left-most column is constrained in the WHERE clause. (check-in: bc985caa78 user: drh tags: trunk)
18:43
A small performance improvement in freeSpace() by special-casing the relatively common case of an empty freelist. (check-in: 49f44d355f user: drh tags: trunk)
17:56
Reimplement the freeSpace() routine in btree.c so that it runs faster. (check-in: fe4fd014b4 user: drh tags: trunk)
14:37
Refactor local variable names in the freeSpace() routine of btree.c for improved understandability. (check-in: 7e63089a19 user: drh tags: trunk)
13:35
Size reduction and performance improvements in btree.c and the allocateSpace() routine. Also fix an assert() in freeSpace(). (check-in: 121308fa86 user: drh tags: trunk)
13:25
Add SQLITE_API macros in front of interface routines in the test_intarray.c extension. (check-in: eea0661798 user: drh tags: trunk)
13:17
Change an assert() added by the previous commit into a testcase(). Fix a separate assert() in btree.c:freeSpace(). (Closed-Leaf check-in: fe51d3aa0c user: drh tags: btree-speedup)
11:56
Further size reduction and performance improvement in btree.c:allocateSpace(). (check-in: 1cb1cd6493 user: drh tags: btree-speedup)
10:42
Fix a typo in the showdb usage message. (check-in: 6c66beae97 user: dan tags: trunk)
00:54
Minor performance improvement and size reduction for the btree-page space allocator. (check-in: 73637d12e3 user: drh tags: trunk)
2014-08-19
23:04
Modify the memsubsys1-3.1.4 test so that it does not fail arbitrarily due to variations in the behavior of system malloc(). (check-in: d280157da0 user: drh tags: trunk)
20:41
A better fix for the sqlite3_trace() problem. Ticket [11d5aa455e0d98f3c1e6a] (check-in: 44d5bd4cc3 user: drh tags: trunk)
20:27
Make sure the sqlite3_trace() callback is invoked, even if the prepared statement was marked "expired" before it ever entered sqlite3_step(). Ticket [11d5aa455e0d98f3c1e6a08]. (check-in: 0d4d3df4bc user: drh tags: trunk)
19:28
Improvements to output formatting with the ".trace" command in the command-line shell. (check-in: d09d63c077 user: drh tags: trunk)
09:15
Minor changes to do with the Tcl tea extension package autoconf system. (check-in: f10a611126 user: dan tags: trunk)
00:33
Disable the hook-7.5.2 tests when using sessions, since that are not correct in that case. (check-in: 6d5b9332e8 user: drh tags: sessions)
00:26
Improved response to error conditions in the ".session" shell command and in the "changeset" command-line program. (check-in: b69f7dd1f3 user: drh tags: sessions)
2014-08-18
20:23
Fix the autoconf and MSVC makefiles so that they construct the changeset command-line utility upon request. Delete that utility program when "make clean" is run. (check-in: 4dc15fe066 user: drh tags: sessions)
20:14
Fix a harmless compiler warning in the sessionAppendDelete() function. (check-in: 1324d08d0c user: drh tags: sessions)
20:08
Add the "changeset" command-line tool for analyzing and manipulating changesets in files on disk. Add the ".session" command to the command-line tool. (check-in: 31addb627f user: drh tags: sessions)
20:01
A reasonably complete implementation of the "changeset" command-line tool and the ".sessions" command in the command-line shell. (Closed-Leaf check-in: 7b12f1f9c0 user: drh tags: sessions_from_cli)
19:30
Add an "automerge=0" mode that disables auto-merging and falls back to fts4-style crisis merges. (check-in: 2397404e15 user: dan tags: fts5)
17:56
Add the "changeset" command-line utility for getting an ASCII dump of change sets. (check-in: 55bb3544a6 user: drh tags: sessions_from_cli)
16:03
Add miscellaneous test cases to improve coverage of sessions module. (check-in: 0fac6cfffe user: dan tags: sessions)
15:08
Begin adding commands to the command-line interface for interacting with the sessions extension. This is the first check-in of a work-in-progress. (check-in: c2fcf0b9f4 user: drh tags: sessions_from_cli)
13:48
Merge the latest trunk changes, and in particular the refactoring of the object names in the command-line shell. (check-in: 419d286a2f user: drh tags: sessions)
13:45
Refactor the names of state objects in the command-line shell implementation.. (check-in: 11a70e1ae7 user: drh tags: trunk)
08:42
Add tests for sessions module. (check-in: 82fdb1975f user: dan tags: sessions)
2014-08-16
19:01
Fix some missing and out-of-date comments in the sessions module. (check-in: 05c1d9149b user: dan tags: sessions)
16:47
Fixes for the sqlite3changeset_concat() API regarding patchsets. (check-in: dccb348595 user: dan tags: sessions)
2014-08-15
20:15
Begin adding the sqlite3session_patchset() API to the sessions extension. This is an interim commit. (check-in: 60a4565a8c user: dan tags: sessions)
16:13
Fix compiler warnings on WinCE. (check-in: 28a379fcd4 user: drh tags: trunk)
16:10
Merge the 3.8.6 changes into the apple-osx branch. (check-in: b91fcb3b1b user: drh tags: apple-osx)
15:46
Merge the 3.8.6 release into the threads branch. (check-in: 05807c4122 user: drh tags: threads)
15:10
Update the sessions branch for version 3.8.6. (check-in: 2acbeac1fd user: drh tags: sessions)
11:46
Version 3.8.6 (check-in: 9491ba7d73 user: drh tags: trunk, release, version-3.8.6)
2014-08-14
19:53
Fix an assert that can fail if the database file is corrupted. (check-in: 3f45b8192d user: dan tags: trunk)
18:31
Fix compiler warnings on WinCE. (Closed-Leaf check-in: cc910b8e0c user: mistachkin tags: winCeWarn)
14:02
Merge the pre-3.8.6 changes into the threads branch. (check-in: a608fd1d52 user: drh tags: threads)
13:39
Merge the pre-3.8.6 changes from trunk into the apple-osx branch. (check-in: 08058df3af user: drh tags: apple-osx)
13:06
Fix typos in comments used to help generate documentation. No changes to code. (check-in: 13a2d90a28 user: drh tags: trunk)
02:59
Add icon to the Windows shell executable. This is a resource change only, no changes to code. (check-in: f5cce9db10 user: mistachkin tags: trunk)
2014-08-13
14:43
Merge the trunk changes for 3.8.6 beta3 into the sessions branch. (check-in: d49455d9a9 user: drh tags: sessions)
11:39
Minor change to unixDelete for VxWorks with a DOS filesystem. (check-in: f01d42cc8b user: drh tags: trunk)
2014-08-12
20:13
Fix where9.test so that it works with the "no_optimization" permutation. (check-in: d46adf9d8f user: dan tags: trunk)
16:13
Fix compilation issue in the Win32 VFS when manually defining SQLITE_WIN32_NO_ANSI. (check-in: 6715991296 user: mistachkin tags: trunk)
16:07
Cache the value of the "totals" record in memory during transactions. (check-in: 05dfdad445 user: dan tags: fts5)
14:29
Improve the comments associated with SQLITE_TEST_REALLOC_STRESS and add an extra assert() to prove an assumption. (check-in: 35c4546163 user: drh tags: trunk)
14:06
Run a test with TEST_REALLOC_STRESS and OMIT_LOOKASIDE defined as part of releasetest.tcl on Linux/x86-64. (check-in: a1baf3a7b1 user: dan tags: trunk)
13:38
If SQLITE_TEST_REALLOC_STRESS is defined, extend the op-code array used by virtual-machine programs by one element at a time, instead of doubling its size with each realloc(). (check-in: 4c29182722 user: dan tags: trunk)
13:32
Remove support for Win9x. (Leaf check-in: 169fc47e16 user: drh tags: drop-win9x-support)
12:19
Fix typos in the VxWorks code of os_unix.c. (check-in: 19682e8fdc user: drh tags: trunk)
09:36
Add a test to ensure that the problem fixed by [a179e41e40] does not recur. (check-in: 31356f2cae user: dan tags: trunk)
08:36
Automatically resize the hash table used by fts5. (check-in: f1cb48f412 user: dan tags: fts5)
01:23
Fix an assert() statement in the SELECT code generator that was incorrect following an OOM error. (check-in: a179e41e40 user: drh tags: trunk)
2014-08-11
20:26
Simplify the way position lists are copied when merging data. (check-in: 9f8d678a0e user: dan tags: fts5)
19:44
Replace the hash table borrowed from fts3. (check-in: 617e2fac1c user: dan tags: fts5)
17:51
Modify GetVersionEx Win32 VFS fix for use with the test suite. (check-in: fd2221768b user: mistachkin tags: trunk)
17:41
Further clarification and typo fixes for the previous comment change. (check-in: 87ef9e2f29 user: drh tags: trunk)
17:40
Clarify the comment explaining the meaning of the SQLITE_WIN32_GETVERSIONEX macro in the Windows VFS. (check-in: 69714287db user: drh tags: trunk)
17:38
Fix for #ifdef issue with GetVersionEx in the Win32 VFS. (check-in: 1a0d466dd4 user: mistachkin tags: trunk)
17:37
Add a few more requirements tests. (check-in: b5652439d5 user: drh tags: trunk)
15:54
Updates to evidence marks and requirements. No changes to code. (check-in: 62d38308b5 user: drh tags: trunk)
14:21
Fix harmless compiler warnings. (check-in: 52b03f045e user: drh tags: trunk)
13:53
Changes that will perhaps enable SQLite to work better on VxWorks. (check-in: de27c742c0 user: drh tags: trunk)
2014-08-09
18:22
Fix an uninitialized variable causing a problem during fts5 table initialization. (check-in: a14fa876f0 user: dan tags: fts5)
18:02
Use multiple memory allocations for a single Fts5Structure object. This is probably less efficient but much easier to get right. (check-in: 2821825f7a user: dan tags: fts5)
2014-08-08
18:26
Update requirements marks. No changes to code. (check-in: 7556bd9aa5 user: drh tags: trunk)
17:49
Improvements to the way the query planner handles sorting costs, so that very large sorting costs do not overwhelm the loop costs. (check-in: bdaa694737 user: drh tags: trunk)
17:25
Fix a buffer overrun in the previous commit. (Closed-Leaf check-in: 43c59c8543 user: dan tags: query-planner-fix)
16:52
Because SQLite internally calculates query plan costs using a logarithmic scale, very large estimated sorting costs can cause all other estimated costs to be rounded down to zero. In these cases break ties between plans with the same total cost by comparing the costs with sorting excluded. This is an alternative fix for the problem addressed by [2af630c572]. (check-in: 299b957027 user: dan tags: query-planner-fix)
15:38
The SQLITE_IOERR_BLOCKED extended error code is not longer used, so remove assert() statements and documentation for that error code. Also make other documentation improvements. (check-in: 36b7c5cefc user: drh tags: trunk)
12:51
Reworking the documentation on integer result codes. This is a comment and documentation change only. There are no changes to code. (check-in: 54f1df7b63 user: drh tags: trunk)
2014-08-07
20:42
When the estimated sorting cost overwhelms the estimated lookup cost, ensure that lookup costs are still taken into account when selecting a lookup algorithm. (check-in: 2af630c572 user: drh tags: trunk)
20:37
Clarify the computation of compatible isOrdered by in the plan solver of the query planner. (Closed-Leaf check-in: b5e8fd575a user: drh tags: query-planner-fix)
20:25
Remove the extraneous debugging printf() from the previous check-in. (check-in: 8f04d2c008 user: drh tags: query-planner-fix)
18:47
Add "segment promotion" to fts5. This prevents the FTS index from growing indefinitely as data is added and deleted. (check-in: ba359d78e1 user: dan tags: fts5)
16:50
Oops! This check-in was on trunk. But it contains a debugging printf(). Original comment: When the estimated cost to do a sort overwhelms the estimated cost to do individual table lookups, make sure that the table lookup costs are still taken into consideration when selecting the lookup algorithm. (check-in: ec5d84ba69 user: drh tags: query-planner-fix)
2014-08-06
20:04
Avoid writing delete markers to the oldest segment in an FTS index. (check-in: 1baeb1cee6 user: dan tags: fts5)
18:50
A couple more harmless compiler warnings eliminated. (check-in: bcf6d775f9 user: drh tags: trunk)
17:49
Fix two more harmless compiler warnings. Make sure the fts3_unicode2.c file is in sync with mkunicode.tcl. (check-in: a2a60307ea user: drh tags: trunk)
16:30
Add support for savepoints to fts5. (check-in: 3b19eba042 user: dan tags: fts5)
14:36
Fix harmless compiler warnings. In the command-line shell, report if the ".system" command returns a non-zero result. (check-in: 1202e9771f user: drh tags: trunk)
12:00
Merge the second InterlockedCompareExchange() fix from trunk. (check-in: 69018967f6 user: drh tags: sessions)
11:58
Fix an obsolete comment in the func.c source file. No changes to code. (check-in: 5c6bb57d90 user: drh tags: trunk)
11:57
On the windows VFS, do not try to make InterlockedCompareExchange an overloadable function, since sometimes it is a macro. (check-in: ab1a751e13 user: drh tags: trunk)
11:49
Fix an obsolete comment in the func.c source file. No changes to code. (check-in: 7a145c9409 user: drh tags: sessions)
03:16
Merge in the fix for the InterlockedCompareExchange() build issue. (check-in: 091aa5f104 user: drh tags: sessions)
03:06
In the Win32 VFS, work around InterlockedCompareExchange() being a macro on some platforms (e.g. x64). (check-in: 7be244ce12 user: mistachkin tags: trunk)
02:03
Merge all recent changes from trunk. (check-in: a353a8515f user: drh tags: threads)
01:51
Merge 3.8.6 beta changes in from trunk. (check-in: b2e01080cc user: drh tags: apple-osx)
01:25
Merge the latest 3.8.6 beta changes from trunk. (check-in: 68a6d5e2f4 user: drh tags: sessions)
01:08
Fix typos in the opcode documentation. Comment changes only. No changes to code. (check-in: 717245d487 user: drh tags: trunk)
00:29
A simpler fix for ticket [3a88d85f36704eebe1] - one that uses less code. The error message is not quite as good, but as this error has apparently not previously occurred in over 8 years of heavy use, that is not seen as a serious problem. (check-in: 0ad1ed8ef0 user: drh tags: trunk)
2014-08-05
21:31
Ensure that aggregate functions are not used when evaluating a default value for a table column. Candidate fix for ticket [3a88d85f36704eebe134f7]. (check-in: 29ba812825 user: drh tags: trunk)
19:35
Use doclist indexes for AND queries as well as phrases. (check-in: 5d38e6edc4 user: dan tags: fts5)
19:16
Add the ability to evaluate IN operators as a sequence of comparisons as an alternative to the long-standing algorithm of building a lookup table. Use the new implementation in circumstances where it is likely to be faster, such as when the RHS of the IN changes between successive evaluations. (check-in: 9528682168 user: drh tags: trunk)
19:00
Use doclist-indexes with "ORDER BY rowid ASC" fts5 queries as well. (check-in: d028ba6589 user: dan tags: fts5)
11:04
Rename the internal Schema.flags field to Schema.schemaFlags. (check-in: 5ae80b3c8f user: drh tags: trunk)
00:53
Improved VdbeCoverage() macros. A few minor simplifications to generated VDBE code. (Closed-Leaf check-in: 01f60027ad user: drh tags: IN-operator-improvements)
2014-08-04
21:26
Part of the change in the previous check-in was incorrect and can result in an incorrect UPDATE for WITHOUT ROWID tables. This check-in fixes the problem. (check-in: ee5f6eae57 user: drh tags: IN-operator-improvements)
20:07
Fix fts5_index.c to use doclist-indexes when possible. Only some cases work so far. (check-in: 90b82d3ef6 user: dan tags: fts5)
18:50
Further enhancements to IN-operator processing. (check-in: 7fdf26da1d user: drh tags: IN-operator-improvements)
16:39
Refinements to the enhanced IN-operator logic. (check-in: 92ba282146 user: drh tags: IN-operator-improvements)
15:12
Changed my mind: This opcode name changes mere creates unnecessary diff marks between older and newer versions without significantly improving readability. Was: Rename the IsNull opcode to IfNull and rename the NotNull opcode to IfNotNull. (Closed-Leaf check-in: 2f724cbac9 user: drh tags: deadend)
2014-08-02
21:03
Enhancements to the code generator for the IN operator that result in much faster queries in some cases, for example when the RHS of the IN operator changes for each row of a large table scan. (check-in: 436e884215 user: drh tags: IN-operator-improvements)
20:49
Start changing things to use doclist indexes as required. code is not activated yet. (check-in: b8864da95d user: dan tags: fts5)
20:44
Remove (newly) incorrect preprocessor check to fix build on WinRT. (check-in: ba78265429 user: mistachkin tags: trunk)
2014-08-01
21:12
A better comment on the generated code for the NULL-in-RHS-of-IN detection logic. (check-in: 9bc1c730a3 user: drh tags: trunk)
21:00
Improved detection and handling of NULL values on the RHS of a IN operator. (check-in: 468e730036 user: drh tags: trunk)
20:13
Add a special case to the integrity-check code to check that the final integer in a doclist index is as expected. (check-in: c98934155c user: dan tags: fts5)
19:27
Have the fts5 integrity-check verify that doclist indexes match the contents of the leaf pages that they index. (check-in: 37a7d3035e user: dan tags: fts5)
18:00
Remove an unnecessary OP_Null in the IN-operator logic. Attempt to clarify comments explaining the IN-operator code, though it is not clear that the comments are correct even yet - more work to be done. (check-in: c11e55fabb user: drh tags: trunk)
15:51
Clean up the IN operator code generation logic to make it easier to reason about. In the process, improve code generation to omit some unused OP_Null operations. (check-in: 7c6fbcfe6e user: drh tags: trunk)
15:34
The idea of coding IN operator with a short list on the RHS as an OR expression turns out to be helpful. If the list is of length 1 or 2, the OR expression is very slightly faster, but the ephemeral table approach is clearly better for all list lengths greater than 2. Better to keep the code simple. (Closed-Leaf check-in: e13175d357 user: drh tags: IN-operator-improvements)
14:46
Begin making changes to the IN operator in an attempt to make it run faster and to make the code easier to understand. (check-in: ee0fd6aaf9 user: drh tags: IN-operator-improvements)
11:16
Add "doclist index" records to the database. These are to make navigating within very large doclists faster. They are not yet used by queries. (check-in: 89377421ff user: dan tags: fts5)
01:40
Enhance the PRAGMA integrity_check command to detect UNIQUE and NOT NULL constraint violations. (check-in: 9abcf2698c user: drh tags: trunk)
2014-07-31
22:59
Refactoring: Change "pIndex->onError!=OE_None" to use a macro: "IsUniqueIndex(pIndex)". Easier to understand that way. (check-in: e75b26ee35 user: drh tags: trunk)
20:16
Omit a pointless OP_Null when processing a value-list RHS of an IN operator where the LHS is a rowid. (check-in: 1361450a9d user: drh tags: trunk)
18:54
Optimizations to the OS sub-type checking in the Win32 VFS. (check-in: 1e5489faff user: mistachkin tags: trunk)
18:14
Add a missing call to "test_sqlite3_log" to multiplex.test. (check-in: 0708f9df23 user: dan tags: trunk)
17:53
Add a comment explaining why fts5 cannot cache "sorter statements". (check-in: e6af3b7a3c user: dan tags: fts5)
17:47
Try to reuse sorter statements in fts5. Does not work due to circular references on VTable object. (Leaf check-in: bc14e64bdf user: dan tags: save_sorter_stmt)
17:35
Fix a leaked database handle in pager2.test. (check-in: 47457b0488 user: dan tags: trunk)
15:44
Deactivate the DISTINCT in a SELECT on the right-hand side of an IN operator, since it should not make any difference in the output but dues consume extra memory and CPU time. (check-in: f4cb53651b user: drh tags: trunk)
11:57
Add further tests for the extension APIs with "ORDER BY rank" queries. (check-in: 37a417d27e user: dan tags: fts5)
2014-07-30
23:11
Re-integrate the recent changes from the 'winMutex' branch back into the Win32 mutex subsystem. (check-in: 5360ecb0b8 user: mistachkin tags: trunk)
21:10
Add three new static mutexes for use by the application. This is a partial import of changes from the threads branch. (check-in: 3aad01960f user: drh tags: trunk)
20:26
Fix things so that the fts5 extension API works with "ORDER BY rank" queries. (check-in: f1b4e1a98d user: dan tags: fts5)
19:41
Add hidden column "rank". Currently this always returns the same value as the bm25() function. (check-in: 4cc048c365 user: dan tags: fts5)
18:47
Add a new sqlite3FaultSim() call to vdbePmaReaderSeek() to facilitate tests of error handling in the sorter. (check-in: 655d8cfc75 user: drh tags: threads)
17:21
Mark some invariants in the vdbesort.c logic when SQLITE_MAX_WORKER_THREADS==0. (check-in: 721cd96585 user: drh tags: threads)
15:43
Add the "eForce" parameter to the sqlite3_multiplex_shutdown() entry point in test_multiplex.c. Shutdown is forced if true. Shutdown is not done if there are pending database connections and eForce is false, but an error log entry is made instead. (check-in: c7303d0139 user: drh tags: trunk)
14:57
Merge in the CREATE UNIQUE INDEX fix of ticket [9a6daf340df99ba93c53bcf]. (check-in: fa7912320f user: drh tags: apple-osx)
14:44
Merge recent trunk changes, and especially the fix for the CREATE UNIQUE INDEX problem of ticket [9a6daf340df99ba9]. (check-in: 5b50a8380b user: drh tags: threads)
14:29
Merge the fix for the CREATE UNIQUE INDEX problem into the sessions branch. (check-in: 43401ee624 user: drh tags: sessions)
13:56
Ensure that the correct number of columns in a UNIQUE index are checked for uniqueness, regardless of whether or not the original table has a ROWID or if the columns are NOT NULL, etc. Ticket [9a6daf340df99ba93c]. (check-in: 6b785e92f2 user: drh tags: trunk)
11:49
Merge all recent trunk changes, and especially the R-Tree IN operator fix of ticket [d2889096e7bdeac]. (check-in: 654c6c658b user: drh tags: apple-osx)
2014-07-29
21:44
Disable an assert that is sometimes generated spuriously. (check-in: bd9ee0ea69 user: mistachkin tags: threads)
19:54
Enhancements and updates to the Win32 mutex subsystem. (check-in: ca9868cdae user: mistachkin tags: trunk)
19:00
Update return value checking to conform to the beginthreadex() specs. (check-in: 3144a16f91 user: mistachkin tags: threads)
18:53
Add a couple more assert statements. (check-in: 4e816db235 user: mistachkin tags: threads)
18:46
Fix unreachable branches in the threads.c module. (check-in: 3175e366bb user: drh tags: threads)
18:03
Merge updates from trunk. (Closed-Leaf check-in: 08c9a4ea63 user: mistachkin tags: winMutex)
17:22
Fix a harmless compiler warning. (check-in: 216d21d0e6 user: drh tags: threads)
16:37
Make the Win32 thread handles are available after the threads exit. (check-in: 565c5af7a7 user: mistachkin tags: threads)
15:18
Fix the threads build on Windows when SQLITE_MAX_WORKER_THREADS is greater than 0. (check-in: f37db3a03d user: drh tags: threads)
14:16
Merge the R-Tree fix and the new SQLITE_TESTCTRL_ISINIT test control from trunk. (check-in: b2f7eb3cc2 user: drh tags: threads)
14:09
Add the SQLITE_TESTCTRL_ISINIT file control. (check-in: 8b651d4d6c user: drh tags: trunk)
12:40
Merge recent trunk changes, and especially the fix for the R-Tree problem described in ticket [d2889096e7bdeac6]. (check-in: 8f1beeade0 user: drh tags: sessions)
11:54
Have calls to the xFilter() method of rtree virtual tables ensure that cursor is initialized before proceeding. Fix for [d2889096e7bdeac]. (check-in: 8cc41b0bf3 user: dan tags: trunk)
05:49
Enhancements and updates to the Win32 mutex subsystem. (check-in: 18984c3210 user: mistachkin tags: winMutex)
00:42
Add some asserts to the Win32 mutex subsystem. (check-in: e8f2dc5fad user: mistachkin tags: threads)
00:23
Fix the build on windows. (check-in: 2773a5f987 user: drh tags: threads)
2014-07-28
20:16
Remove an unnecessary parameter from vdbeMergeEngineStep(). Rename a couple other routines to be more descriptive of what they do. (check-in: f2407a40f3 user: drh tags: threads)
20:14
Add the "loadfts" program, for performance testing the loading of data into fts3/fts4/fts5 tables. (check-in: 770b9540c1 user: dan tags: fts5)
19:58
Rename vdbeIncrMergerInit() to vdbeMergeEngineInit() - a much more accurate name. (check-in: 5b084a2dd5 user: drh tags: threads)
18:57
In vdbesort.c, rename vdbeSorterDoCompare() to vdbeMergeEngineCompare() and move it closer to the one place where it is called. Other minor comment changes. (check-in: 09d50d9f0f user: drh tags: threads)
17:18
In vdbesort.c, rename all pointers to sqlite3_file objects "pFd" and use the name "pFile" only for pointers to SortFile objects. Other comment enhancements. (check-in: 518290a7fc user: drh tags: threads)
15:01
Merge recent trunk changes into the threads branch. (check-in: 163c247bd8 user: drh tags: threads)
14:54
Improvements to comments in the multi-threaded sorter. Also include a function name change for clarity. And add a test to help show that the MergeEngine object is only used by a single thread. (check-in: 9af50a878f user: drh tags: threads)
2014-07-26
20:12
Remove an unreachable branch from the sqlite3_value_numeric_type() interface. (check-in: 5350229b52 user: drh tags: trunk)
18:38
Add tests and fixes for bm25() function. (check-in: 71d32f53e8 user: dan tags: fts5)
16:47
Avoid unnecessary no-op calls to applyNumericAffinity() for a small performance improvement. (check-in: 413d728797 user: drh tags: trunk)
2014-07-25
21:35
Try to fix harmless compiler warnings reported by Fortify. (check-in: e0fa6fdc14 user: drh tags: trunk)
20:30
Add extension apis xRowCount, xQueryPhrase, xSetAuxdata and xGetAuxdata. And a ranking function that uses all of the above. (check-in: c4d50428ab user: dan tags: fts5)
18:37
Improved comments on VDBE opcodes, for better documentation. No code or logic changes. (check-in: 2d32e4876e user: drh tags: trunk)
18:01
Add constraints (enforced only when SQLITE_DEBUG is enabled) on the use of OP_Next and OP_Prev. (check-in: 2230c74f1e user: drh tags: trunk)
2014-07-24
23:23
Improve the performance of the ANALYZE command by taking advantage of UNIQUE constraints on indices. (check-in: 114dcf3367 user: drh tags: trunk)
22:51
Correct help text and make consistent use of snprintf. (check-in: 9c424a5c50 user: mistachkin tags: asciiMode)
22:41
Fix a bug in the whereRangeSkipScanEst() procedure (added by check-in [d09ca6d5efad3e4cfa]) where it fails to consider the possibility of a ROWID column when computing the affinity of a table column. (check-in: 6aea2258dd user: drh tags: trunk)
22:33
Update a shell test case. (check-in: b84008cb96 user: mistachkin tags: asciiMode)
22:20
Fix typo in comment and update help text. (check-in: 289092bb64 user: mistachkin tags: asciiMode)
22:13
Merge updates from trunk. (check-in: 8dc0cdf652 user: mistachkin tags: asciiMode)
20:25
Avoid trying to allocation zero bytes when analyzing a unique non-null index. (Closed-Leaf check-in: 85e2badeeb user: drh tags: faster-analyze)
19:54
Avoid change tests when analyzing single-column unique indexes after getting past the initial NULL entries. (check-in: 4690e99c07 user: drh tags: faster-analyze)
16:54
Merge all recent trunk changes into the threads branch. (check-in: 770685892c user: drh tags: threads)
16:43
Merge recent trunk changes into the apple-osx branch. (check-in: 3810dc62d2 user: drh tags: apple-osx)
16:23
Merge recent trunk changes into the sessions branch. (check-in: a9db017eab user: drh tags: sessions)
12:39
Add the readfile(FILENAME) and writefile(FILENAME,CONTENT) SQL functions to the command-line shell. (check-in: fb1048cb2b user: drh tags: trunk)
12:19
Add support for hexadecimal integer literals in the parser. (check-in: f8f79f2878 user: drh tags: trunk)
12:09
In the command-line shell, in CSV output mode, terminate rows with CRNL but do not expand NL characters in data into CRNL. Provide the extra -newline command-line option and the extra argument to .separator to designate an alternative newline character sequence for CSV output. (check-in: 16c8ce10e1 user: drh tags: trunk)
2014-07-23
23:57
Add experimental "costmult" logic. Only enabled when compiled with -DSQLITE_ENABLE_COSTMULT. (check-in: 729ece4088 user: drh tags: trunk)
19:37
Ugh. Consecutive UNIQUE index entries are only distinct if the index is on NOT NULL columns. So the previous version was not quite right. This check-in fixes the problem. (check-in: 30033f9650 user: drh tags: faster-analyze)
19:31
Add a snippet() function to fts5. (check-in: bdc58fd28a user: dan tags: fts5)
19:04
Enhancements to the hex literal tests. (Closed-Leaf check-in: a3cc027fa7 user: mistachkin tags: hex-literal)
18:36
Improve the performance of the ANALYZE command by taking advantage of the fact that every row of a UNIQUE index is distinct. (check-in: 3e1e79e133 user: drh tags: faster-analyze)
15:51
Updated documentation on sqlite3_temp_directory. No changes to code. (check-in: e6225a7bf7 user: drh tags: trunk)
14:52
Remove a surplus function prototype. #ifdef code that is not used when hex integers are omitted at compile time. (check-in: a5b383e077 user: drh tags: hex-literal)
13:40
Change the hex literal processing so that only the SQL parser understands hex literals. Casting and coercing string literals into numeric values does not understand hexadecimal integers. This preserves backwards compatibility. Also: Throw an error on any hex literal that is too big to fit into 64 bits. (check-in: 6c6f0de59b user: drh tags: hex-literal)
02:07
Casting hex literals directly from string to float always results in a positive number. (check-in: 4b86ccdf4f user: drh tags: hex-literal)
01:59
Reformatting a few test cases for clarity. (check-in: 7e1bbacb11 user: drh tags: hex-literal)
01:56
Test cases for hex literals. (check-in: 19054339c4 user: drh tags: hex-literal)
01:26
Add support for parsing C-style hexadecimal literals. (check-in: 34a1f38b7a user: drh tags: hex-literal)
2014-07-22
22:46
When running ANALYZE, it is not necessary to check the right-most key column for changes since that column will always change if none of the previous columns have. (check-in: 48f40861db user: drh tags: trunk)
20:02
Add the OP_ReopenIdx opcode that works like OP_OpenRead except that it becomes a no-op if the cursor is already open on the same index. Update the OR-optimization logic to make use of OP_ReopenIdx in order to avoid unnecessary cursor open requests sent to the B-Tree layer. (check-in: 77f412caf0 user: drh tags: trunk)
19:14
The optimization of check-in [b67a6e33f2] does not work (it generates incorrect VDBE code) if an OR term is AND-ed with a constant expression. So back that optimization out and add a test case to make sure it does not get added back in. (check-in: eed754fe93 user: drh tags: trunk)
16:00
Fix the index name for the shadow tables in the spellfix1 extension so that multiple instances of the spellfix1 virtual table can each have their own index. (check-in: 438c348a40 user: drh tags: trunk)
15:33
Correction: The maximum SQLITE_MAX_ATTACHED value to avoid overflowing a signed 8-bit integer is 125, not 127. (check-in: 48e3780295 user: drh tags: trunk)
14:58
Enhance the sqlite_stat1.stat parsing to allow additional text parameters at the end. Unrecognized parameters are silently ignored. (check-in: ca2a5a2c77 user: drh tags: trunk)
14:42
Expire prepared statements after running ANALYZE. (check-in: b083a961f8 user: drh tags: trunk)
12:05
Enhance the comment on whereLoopAddBtree(). No changes to code. (check-in: b22dd165da user: drh tags: trunk)
00:40
For the OR-optimization, avoid generating OP_OpenRead opcodes that reopen exactly the same index. (check-in: b67a6e33f2 user: drh tags: trunk)
2014-07-21
20:07
Limit the maximum SQLITE_MAX_ATTACHED to 127, since a signed character is sometimes used to store the database index. (check-in: f1c76c7c4c user: drh tags: trunk)
15:45
Fix DELETE and UPDATE operations on fts5 tables. (check-in: d44d3a8518 user: dan tags: fts5)
15:44
Allow the SQLITE_MAX_ATTACHED compile-time option to be larger than 62. The default limit on the number of attached databases remains 10. (check-in: 1a817ae2f3 user: drh tags: trunk)
14:22
Add the xTokenize extension API. (check-in: 8c6b0aff34 user: dan tags: fts5)
11:44
Fix the xColumnSize() extension API. (check-in: 19504c4108 user: dan tags: fts5)
2014-07-19
20:27
Add simple tests for the xColumnText() extension api. (check-in: 1e9053abda user: dan tags: fts5)
20:15
Add new ASCII mode to the shell capable of importing and exporting using the official unit and record separators (i.e. 0x1F and 0x1E, respectively). (check-in: 7fe601ead0 user: mistachkin tags: asciiMode)
17:57
Update the sqlite3_stmt_busy() function so that it correctly returns true for "ROLLBACK" statements that have been stepped but not yet reset. (check-in: 61cee3c067 user: dan tags: trunk)
17:49
Fix harmless compiler warnings in the showdb and showwal tools and in the unicode tokenizer of FTS3. (check-in: 574cc8eb14 user: drh tags: trunk)
15:44
Fix some harmess compiler warnings in the FTS3 Unicode module. (Closed-Leaf check-in: c01caea5d6 user: mistachkin tags: toolWarnings)
15:40
Fix warnings related to having a 64-bit size_t. (check-in: 29ac9336db user: mistachkin tags: toolWarnings)
15:35
Fixes for the xColumnSize() fts5 extension API. (check-in: 43fcb84472 user: dan tags: fts5)
15:30
Fix warnings caused by the previous commit. (check-in: 89634a419d user: mistachkin tags: toolWarnings)
2014-07-18
21:16
Fix harmless compiler warnings for MSVC in the showdb/showwal command line tools. (check-in: 6dc7b2f119 user: mistachkin tags: toolWarnings)
21:02
Update clean targets with the recently added command-line tools. (check-in: 2beefa68c0 user: mistachkin tags: trunk)
19:59
Fix issues with position lists and NEAR constraints. (check-in: 16352d3654 user: dan tags: fts5)
19:06
Improved documentation for checkpoints and the busy handler. No changes to code. (check-in: ca92c02406 user: drh tags: trunk)
17:39
SQLite has long accepted some unadvertised and non-standard join syntax. Add a test to ensure that future versions continue to accept this non-standard syntax, to avoid breaking legacy applications that use the undefined syntax. (check-in: 824dde7fc4 user: drh tags: trunk)
14:43
Improvements to the ".fullschema" command in the command-line shell. (check-in: fa80c64caa user: drh tags: trunk)
2014-07-17
15:14
Fix a problem with position list processing for OR queries. (check-in: 5808f30fae user: dan tags: fts5)
2014-07-16
20:07
Fixes for tcl list generation in fts5_test(). (check-in: c1f9a4b76c user: dan tags: fts5)
19:15
Begin adding interface for auxiliary functions. (check-in: 1e2a7ba088 user: dan tags: fts5)
2014-07-15
11:59
Add simple tests for new sqlite3BtreeCursorHint() functionality. (check-in: 1efa6ed584 user: dan tags: cursor-hints)
2014-07-14
19:04
In the expression passed to sqlite3BtreeCursorHint() for the inner loops of joins, replace any TK_COLUMN references to columns in the outer loops with TK_REGISTER expressions (Expr.iTable indicates the specific register containing the value). There are no automated tests for this yet. (check-in: f9dddd008c user: dan tags: cursor-hints)
2014-07-10
20:21
Support "ORDER BY rowid ASC". (check-in: b96b5e1669 user: dan tags: fts5)
2014-07-08
16:27
Add support for prefix queries to fts5. (check-in: 75ebd3cd59 user: dan tags: fts5)
2014-07-07
18:03
Fix harmless compiler warnings in the fts3view utility program that can occur with MSVC. (check-in: 1cec1e0300 user: mistachkin tags: trunk)
17:57
Add the fts3view utility program to the MSVC makefile. (check-in: b04751bd59 user: mistachkin tags: trunk)
16:07
Fix a division-by-zero error in the fts3view utility program. Add the fts3view utility program to the "main.mk" makefile. (check-in: 64f02699b4 user: drh tags: trunk)
2014-07-05
15:15
Add support for AND, OR and NOT to fts5. (check-in: 8682b87e79 user: dan tags: fts5)
07:54
Add support for the "colname : <nearset>" syntax to fts5. (check-in: 004667106e user: dan tags: fts5)
2014-07-03
20:39
Add support for NEAR expressions to fts5. (check-in: 250ae8d401 user: dan tags: fts5)
12:18
Change fts3/4 so that the "unicode61" is included in builds by default. It may now be excluded by defining SQLITE_DISABLE_FTS3_UNICODE. (check-in: 0cc0230ae9 user: dan tags: trunk)
2014-07-02
20:18
Add support for phrase queries to fts5. (check-in: 2e5652e652 user: dan tags: fts5)
2014-07-01
20:45
Change the position list format so that its size in bytes is stored at the start of the list itself. (check-in: 62f2ff2041 user: dan tags: fts5)
15:22
Add another test to verify that SQLite is using stat4 data for composite primary keys on WITHOUT ROWID tables. (check-in: 0df1fe72f8 user: dan tags: trunk)
11:54
Ensure that all fields are loaded from the stat4 table for records that correspond to indexes on WITHOUT ROWID tables with composite primary keys. (check-in: 21981e3506 user: dan tags: trunk)
2014-06-30
20:25
Merge the latest trunk changes into the threads branch. (check-in: ae23a65eb1 user: drh tags: threads)
20:02
Merge the latest trunk enhancements into the sessions branch. (check-in: a5d94eaba6 user: drh tags: sessions)
19:57
Merge the latest trunk changes into the apple-osx branch. (check-in: f426876fe1 user: drh tags: apple-osx)
19:28
Bump the version number to 3.8.6. (check-in: f925e9baaf user: drh tags: trunk)
19:07
Attempt to use STAT4 information to estimate the selectivity of WHERE clause terms when using the skip-scan optimization. (check-in: d09ca6d5ef user: drh tags: trunk)
18:57
Fix for ticket [b2fa5424e6fcb15]: Better define the format of the sqlite_stat4 file for WITHOUT ROWID tables and make sure the ANALYZE command generates a file in the appropriate format. Use the sqlite_stat4 data to enable the use of WHERE terms that cover all indexed columns plus some prefix of columns in the primary key. (check-in: bc2de8095f user: drh tags: trunk)
18:02
Fix a problem in where.c with using the stat4 sample data of an index on a WITHOUT ROWID table. (Closed-Leaf check-in: 053a210e31 user: dan tags: stat4-without-rowid)
17:07
Fix the STAT4 information for WITHOUT ROWID tables. (check-in: 5d8628fdff user: drh tags: stat4-without-rowid)
15:23
Fix where.c so that the primary key values appended to every index entry on a WITHOUT ROWID table may be used when useful. (check-in: 6624a61d16 user: dan tags: stat4-without-rowid)
13:56
Omit non-primary-key columns from the STAT4 samples for WITHOUT ROWID tables. Indexes, both rowid and without-rowid, still hold an exact copy of the index entry. (check-in: de826c3158 user: drh tags: stat4-without-rowid)
13:32
Generate complete samples for sqlite_stat4 on WITHOUT ROWID tables. Ticket [b2fa5424e6fcb15b5] (check-in: 8cb43eddab user: drh tags: stat4-without-rowid)
11:14
Add makefile targets for various diagnostic tools, such as showstat4. Fix harmless compiler warnings in diagnostic tools. (check-in: 6f86d89b88 user: drh tags: trunk)
2014-06-28
19:06
Add an OOM fault injection test for the new code on this branch. (Closed-Leaf check-in: c96de490ac user: dan tags: stat4-skipscan)
17:35
Add further tests to skipscan5.test. (check-in: 4b8230e8fe user: dan tags: stat4-skipscan)
16:06
Add header comments on new routines. Rework the sqlite3Stat4Column() routine so that is (in theory) able to deal with corrupt samples. (check-in: ef5cdf949b user: drh tags: stat4-skipscan)
15:26
Fix a problem with using stat4 samples of type text when estimating the rows visited by a range-query/skip-scan loop. (check-in: dfb09db6d4 user: dan tags: stat4-skipscan)
14:28
Change the VDBE to export the sqlite3MemCompare() routine and thus free where.c from the dependency on vdbeInt.h. (check-in: d186d1ac3c user: drh tags: stat4-skipscan)
14:25
Merge fixes from trunk with this branch. (check-in: 6af219d1b8 user: dan tags: stat4-skipscan)
2014-06-27
20:14
Fix a couple of problems in estimating the number of rows visited by a range query that uses a skip-scan. (check-in: 219736f54d user: dan tags: stat4-skipscan)
2014-06-26
22:17
Add some more IN operator tests. (check-in: fb32e374b7 user: mistachkin tags: trunk)
21:32
Fix compilation issue when STAT4 is not enabled. (check-in: 74a5454a71 user: mistachkin tags: stat4-skipscan)
21:28
Revise the affinity returned for expressions flagged as 'generic'. Fix for [9a8b09f8e6]. (check-in: 92f7ad43db user: mistachkin tags: trunk)
20:21
Attempt to use sqlite_stat4 data to estimate the number of rows visited by a range query that uses a skip-scan. This code is largely untested. (check-in: 01dc810259 user: dan tags: stat4-skipscan)
12:31
Fix minor problems in term matching. (check-in: 94eeb077d0 user: dan tags: fts5)
2014-06-25
20:28
Begin adding query support to fts5. (check-in: 47a9f3cc92 user: dan tags: fts5)
2014-06-24
20:19
Fix showstat4.c so that it decodes typecodes 8 and 9 correctly. (check-in: 9ca737c0b4 user: drh tags: trunk)
16:59
Add simple full-table-scan and rowid lookup support to fts5. (check-in: 3515da85d0 user: dan tags: fts5)
00:59
Add the showstat4.exe utility program for decoding and displaying the content of the sqlite_stat4 table in a database. (check-in: b4d9f6053d user: drh tags: trunk)
2014-06-23
23:28
Add the .fullschema command to the sqlite3.exe utility. This command shows the schema and the content of the sqlite_stat tables, all in one go. Useful when reporting problems with the query planner. (check-in: ebec48921c user: drh tags: trunk)
11:33
Add some code for an experimental fts5 module. Does not work yet. (check-in: 1e0648dcf2 user: dan tags: fts5)
10:18
Fix a problem with SQLITE_OMIT_WSD builds. (check-in: 07dda49c1b user: dan tags: trunk)
10:04
Fix a problem with SQLITE_OMIT_WAL builds. (check-in: 612b6d1b1f user: dan tags: trunk)
2014-06-20
13:55
Improved display of record data in the "NNNbd" output of the showdb.exe utility program. (check-in: f735c2497e user: drh tags: trunk)
01:32
In the showdb.exe utility, for the "NNNbd" command, also show data fields in addition to header fields on each record decoded. Improvements to formatting. (check-in: b451fe0cb9 user: drh tags: trunk)
2014-06-19
23:38
Add the ability to decode the headers of individual cells, byte-by-byte, in the "showdb.exe" utility. (check-in: 306b461d7c user: drh tags: trunk)
2014-06-18
18:10
Add the "LogEst" and "LogEst.exe" target to the makefiles. (check-in: 7b91b0581d user: drh tags: trunk)
15:24
Fix a comment on the sqlite3Utf8Read() routine. No changes to code. (check-in: 5e514f6ace user: drh tags: trunk)
15:18
Merge in all recent changes from trunk, and especially the automatic index enhancements. (check-in: 0e1b73496f user: drh tags: threads)
15:11
Prevent an automatic index from taking the place of a declared index. (check-in: 0a52bddd9d user: drh tags: trunk)
2014-06-17
20:16
Prevent an automatic index from taking the place of a declared index. (Closed-Leaf check-in: 4ece839d44 user: drh tags: autoindex-improvements)
18:43
Experimental changes to use GetFileInformationByHandle instead of GetFileSize in the Win32 VFS. (Closed-Leaf check-in: d22c814297 user: mistachkin tags: filesize-debug)
17:00
Fix a missing space in a "wheretrace" comment. No changes to production code. (check-in: b500f2a097 user: drh tags: trunk)
16:11
Add the likely() function for symmetry with unlikely(). The likely(X) function means the same thing as likelihood(X,0.9375). (check-in: 3896548419 user: drh tags: trunk)
15:53
Improvements to query planning, especially in regards to estimating the cost and benefit of automatic indexes. (check-in: 1272fb8991 user: drh tags: trunk)
15:13
Small tweaks to the query planner to get it to try harder to use an index for sorting and to avoid using automatic indexes on constant terms. (Leaf check-in: 2d9de154f8 user: drh tags: branch-3.8.3)
13:23
Add the autoindex2.test testing module. (check-in: ffe3fea47b user: drh tags: autoindex-improvements)
12:33
A different approach to the autoindex problem that deletes query-planner code rather than adding it. (check-in: f270fb6e9e user: drh tags: autoindex-improvements)
09:52
Simplification to the logic that prevents automatic indexes from being formed on constant expressions. (check-in: 36d67e1dd2 user: drh tags: autoindex-improvements)
09:00
Allow an automatic index on a WHERE constraint where the RHS is does not reference another table as long as the RHS is not a constant. (check-in: 58acc2a8b3 user: drh tags: autoindex-improvements)
02:46
Do not attempt to create an automatic index on a constant constraint, as doing so is pointless. (check-in: d6883e960f user: drh tags: autoindex-improvements)
2014-06-16
22:45
Fix CSV import issue, reported via the mailing list, in the shell when the file to be imported ends with an empty line. (check-in: fc918f7d33 user: mistachkin tags: trunk)
21:30
In the "wheretrace" logic (disabled for normal builds) expand the print width of the flags field to be wide enough for all 17 bits. (check-in: 3181d2069a user: drh tags: trunk)
18:35
Add the SQLITE_UNLINK_AFTER_CLOSE compile-time option. If enabled, the unlink of temporary files on unix is deferred until after the file is closed. (check-in: e43a2f92b6 user: drh tags: trunk)
18:17
Add an application ID for MBTiles tilesets. (check-in: 837f640423 user: drh tags: trunk)
16:41
Back out the unix VFS changes that seeks to avoid fstat() calls after an unlink(). That change did not clear the problem on FuseFS. (check-in: 0617e20a33 user: drh tags: trunk)
15:01
Add the ".eqp" dot-command to the ".help" output in the command-line shell. This was accidently omitted when the ".eqp" command was originally implemented for SQLite 3.8.4 (check-in [e6ecf7337658624]). (check-in: b0b4c776c3 user: drh tags: trunk)
12:51
Fix the extension01.test script so that it works on windows. Fix a harmless compiler warning in the fileio extension. (check-in: baf95a1909 user: drh tags: trunk)
12:44
Add test cases for the fileio extension. (check-in: 8634333127 user: drh tags: trunk)
2014-06-13
13:43
Add the fileio.c loadable extension, that implements readfile() and writefile() SQL functions. (check-in: 0ca104d821 user: drh tags: trunk)
13:08
Add an extension that implements compress() and uncompress() SQL functions. (check-in: d5c17d1a42 user: drh tags: trunk)
2014-06-12
17:10
Increase the WAL-mode SQLITE_PROTOCOL timeout to 10 seconds. (check-in: 2aeacf81df user: drh tags: trunk)
15:46
Simplify the estLog() routine. (check-in: 6c68d758bc user: drh tags: trunk)
2014-06-10
20:18
Proposed change to the fix for ticket [1c69be2dafc28b] such that legacy applications that were exploiting the older buggy behavior in SQLite continue to work. (Leaf check-in: 401a0ca3dd user: drh tags: group-by-name-resolution)
2014-06-09
20:39
Avoid an unnecessary initialization of the szFile field of unixFile in the unix VFS. (check-in: 6484fb5a25 user: drh tags: trunk)
20:24
Enhance the unix VFS so that it keeps track of the size of unlinked files internally and thus avoids the need to call fstat() on those files, since fstat() does not work reliably on unlinked files on some implementations of FuseFS. (check-in: 10707d3578 user: drh tags: trunk)
20:06
Enhance the unix VFS so that it keeps track of the size of unlinked files internally and thus avoids the need to call fstat() on those files, since fstat() does not work reliably on unlinked files on some implementations of FuseFS. (Closed-Leaf check-in: c41df393c6 user: drh tags: omit-fstat-after-unlink)
13:11
Modify the %nonassoc directive in lemon so that it generates a run-time error rather than a parsing conflict. This changes is due to a bug report on the mailing list. SQLite does not use the %nonassoc directive in its grammar so this change does not affect SQLite. (check-in: 1925f3a0a2 user: drh tags: trunk)
2014-06-06
20:49
Add a test case to ensure that estLog() works for negative numbers. (check-in: 813469d985 user: drh tags: trunk)
20:20
Make sure the estLog() routine in the query planner handles negative values correctly (always returning 1). Prior to this change, estLog(-1) would return a large number which could throw off the cost computations in the query planner in obscure circumstances. (check-in: 75437bee49 user: drh tags: trunk)
17:09
Fix an obsolete comment on the whereRangeScanEst() routine. No changes to code. (check-in: b16bf8518b user: drh tags: trunk)
2014-06-05
13:22
Bring the threads branch up-to-date with the 3.8.5 release. (check-in: e4b01676d7 user: drh tags: threads)
12:53
Merge in the 3.8.5 release changes and the FTS integrity-check fix. (check-in: 2dbdfa5170 user: drh tags: apple-osx)
11:15
Fix a problem that was causing the FTS4 integrity-check command to fail if the table had one or more "notindexed" columns. (check-in: 7123bb2605 user: dan tags: trunk)
2014-06-04
14:06
Version 3.8.5 (check-in: b1ed4f2a34 user: drh tags: trunk, release, version-3.8.5)
2014-06-03
20:09
Merge the 3.8.5 release candidate changes into the sessions branch. (check-in: 09e75d82d0 user: drh tags: sessions)
14:42
Avoid closing a pseudo-table associated with sorting in a co-routine since that pseudo-table might be used again in an outer loop. (check-in: 6d81805298 user: drh tags: trunk)
11:32
Add a test to double-check that [1cbe7a0883] did not affect anything. (check-in: c6b512a724 user: dan tags: trunk)
2014-06-02
21:00
Remove the WHERE_LIKELIHOOD bit, as it does not seem to effect any result. (check-in: 1cbe7a0883 user: drh tags: trunk)
18:24
Fix a typo in a requirements mark comment in a test script. No changes to code. (check-in: 75ff459b06 user: drh tags: trunk)
11:26
Fix the query planner so that it once again knows that queries without a FROM clause will never return more than one row and hence do not require sorting. (check-in: 9f18b303cd user: drh tags: trunk)
09:39
Add the "valgrind-nolookaside" permutation to permutations.test. (check-in: 8e8472d9b6 user: dan tags: trunk)
2014-05-31
15:43
Fix a harmless "scan-build" compiler warning in the command-line shell. (check-in: 39fafe0a19 user: drh tags: trunk)
15:39
Fix a compile of harmless static analyzer warnings. (check-in: 7e287f2055 user: drh tags: trunk)
2014-05-30
21:01
Revise locking retry semantics in Win32 VFS to abort early if the file handle is reported as invalid. (check-in: a4df4a5b34 user: mistachkin tags: trunk)
16:54
Add extra checking of the database extended error code. (Closed-Leaf check-in: f2906c4451 user: mistachkin tags: winLockHandle)
16:42
Add tests for the invalid file handle detection logic in the winLock() function. (check-in: ed5a9eb4f3 user: mistachkin tags: winLockHandle)
2014-05-29
20:39
Fix a harmless compiler warning in the command-line shell code. (check-in: a80527f60b user: drh tags: trunk)
20:36
Merge trunk changes into the apple-osx branch. (check-in: b9fad4490c user: drh tags: apple-osx)
20:29
Merge trunk changes into the sessions branch. (check-in: 9f18e78f03 user: drh tags: sessions)
20:24
Merge changes from the trunk into the threads branch. (check-in: 416cb09126 user: drh tags: threads)
20:17
Fix to the EXPLAIN indentation logic in the command-line shell. (check-in: 8f916ed1e1 user: drh tags: trunk)
12:36
Improvements to error messages for errors in the dot-commands of the command-line shell. Add the ".once" command. The output of ".help" now goes to the designated output channel. (check-in: 48dce821a0 user: drh tags: trunk)
03:17
Only quote the arguments to the ".shell" and ".system" commands if they contain spaces. (check-in: e58f4bd39d user: drh tags: trunk)
2014-05-28
20:22
Add the ".shell" and the ".system" commands (aliases for the same thing) to the command-line shell. (check-in: d018a34a05 user: drh tags: trunk)
10:00
Add an extra test to verify that the FTS notindexed option is working. (check-in: c461c0fe05 user: dan tags: trunk)
03:27
Revise locking retry semantics in Win32 VFS to abort early if the file handle is reported as invalid. (check-in: d43e2e59b5 user: mistachkin tags: winLockHandle)
03:23
Revise how OSTRACE reports logically boolean results in the Win32 VFS. (check-in: c405f971cf user: mistachkin tags: trunk)
2014-05-27
20:19
Remove an incorrect assert() in the sorter. (check-in: b8b66103de user: drh tags: trunk)
19:18
Fix harmless compiler warnings. (check-in: 20b75460c0 user: drh tags: trunk)
18:18
Change the name of the Index.autoIndex field to Index.idxType and provide symbolic names for the various values of that field rather than using magic numbers. (check-in: d16e575dac user: drh tags: trunk)
17:57
Avoid unnecessary cursor opens and seeks when running the OR-optimization on a WITHOUT ROWID table. (check-in: 9c785c5832 user: drh tags: trunk)
16:41
Improved comments on the OR-optimization logic in the query planner. (check-in: 77fef5a398 user: drh tags: trunk)
15:21
Remove unused code (previously #ifdef-ed out) from btree.c. (check-in: 8bc9737112 user: drh tags: trunk)
11:54
Fix a harmless compiler warning in the FTS4 logic. (check-in: 64a869ad23 user: drh tags: trunk)
11:42
Add a test to whereI.test that uses a multi-column PK. (check-in: aa183e6092 user: dan tags: trunk)
10:57
Fix for (unsupported) SQLITE_USE_FCNTL_TRACE code. (check-in: 994b2b7a59 user: drh tags: trunk)
2014-05-26
22:05
Add the OR-optimization to WITHOUT ROWID tables. (check-in: 06a23b8b32 user: drh tags: trunk)
22:01
Minor enhancements to comments and clarification of the code. (Closed-Leaf check-in: cbec30d0c4 user: drh tags: without-rowid-or-opt)
20:25
Add a missing VdbeCoverage() macro on an OP_Found opcode added in the previous check-in. (check-in: b4980a07e2 user: drh tags: without-rowid-or-opt)
20:15
Merge recent trunk changes into the threads branch. (check-in: 8215202759 user: drh tags: threads)
20:08
Merge recent trunk changes into the apple-osx branch. (check-in: 54b5fa77e9 user: drh tags: apple-osx)
20:06
Enable the OR optimization for WITHOUT ROWID tables. Use a temp table instead of the RowSet object to track the rows that have already been included in the result set. (check-in: 2c7e277bbe user: dan tags: without-rowid-or-opt)
20:00
Merge recent trunk changes into the sessions branch. (check-in: a769c7e03e user: drh tags: sessions)
18:27
Fix a problem in the shell when importing CSV files. If the leftmost field of the first row in the CSV file was both zero bytes in size and unquoted, no data was imported. (check-in: 856d44a206 user: dan tags: trunk)
16:40
Fix a problem in FTS4 where columns with names that are prefixes of any notindexed column were also being (incorrectly) marked as not indexed. For example in "CREATE ... t1(abc, bc, abcd, notindexed=abcd)", both abc and abcd were being treated as notindexed. (check-in: d90c4964fc user: dan tags: trunk)
2014-05-24
17:15
Remove references in comments to VDBE opcodes that no longer exist. This is a documentation change only; no changes to code. (check-in: ebfb51fe40 user: drh tags: trunk)
2014-05-23
17:17
Changes to the output of EXPLAIN QUERY PLAN to make it clearer when a query uses the PRIMARY KEY index of a WITHOUT ROWID table. (check-in: 9268df305b user: dan tags: trunk)
12:03
In the command-line shell, if three or more interrupt signals (control-c) are received in a row without a response from sqlite3_interrupt() then call exit(1) immediately. This allows control-C to interrupt the shell even if it is stuck in a computation or loop that does not involve the VDBE. (check-in: b5cde57166 user: drh tags: trunk)
11:48
Make sure sufficient VDBE registers are allocated for an INSERT...SELECT when there is an idlist on the insert table that includes an explicit rowid. Ticket [e9654505cfda93610585fde5a9bbf2e730c8a8d5] (check-in: 9a2dd18776 user: drh tags: trunk)
2014-05-22
09:58
Add a test for the EQP output of a skip-scan query that uses the PK index of a WITHOUT ROWID table. (check-in: 10238fad94 user: dan tags: trunk)
2014-05-21
08:48
Do not burn memory remembering CHECK constraints in a read-only database. (check-in: 34ddf02d3d user: drh tags: trunk)
08:21
Fix the sqlite3_db_readonly() API so that it reports true if the database is readonly because the file format write version (byte 18 of the header) is too large. (check-in: 8d8af114da user: drh tags: trunk)
2014-05-20
19:11
Improvements to the testability of the threads.c module. (check-in: 386e088868 user: drh tags: threads)
11:03
In vdbesort.c, change the names of PmaReader variables "pIter" to "pReadr". Other related comment changes. The generated object code should be the same. (check-in: 99efb235a0 user: drh tags: threads)
00:27
Merge all recent trunk changes into the apple-osx branch. (check-in: 23722be49a user: drh tags: apple-osx)
00:20
Merge recent trunk changes into the sessions branch. (check-in: 2d33afe0c4 user: drh tags: sessions)
2014-05-19
23:17
Merge recent changes from trunk. (check-in: 6eefdad946 user: drh tags: threads)
19:26
Fix harmless compiler warnings in MSVC. (Leaf check-in: aa7e2041a3 user: drh tags: safer-malloc)
15:16
Changes to help ensure that a multiplication does not overflow when computing the number of bytes needed for a memory allocation, and cause a malfunction. No problems existing problems were discovered. However, these changes should help to ensure that no problems arise in the future. (check-in: 17349a49d2 user: drh tags: safer-malloc)
2014-05-17
16:56
Internally, use a 64-bit integers for segment level numbers. (check-in: 8180e320ee user: dan tags: trunk)
15:10
Fix a broken test case in fts4growth2.test. (check-in: 9fde5b960a user: dan tags: trunk)
2014-05-16
23:38
Fix harmless compiler warnings. (Closed-Leaf check-in: 7e60347e21 user: mistachkin tags: ftsWarnings)
23:15
Work around compilation issue with MSVC. (check-in: 9623a29c11 user: mistachkin tags: trunk)
20:24
Rearrange some conditionals and add #if statements to make the code more testable. (check-in: 17afd77057 user: drh tags: threads)
17:31
Add a pair of sqlite3FaultSim(100) calls to vdbesort.c to facilitate testing of obscure and hard to reach error conditions. (check-in: cceac14fd8 user: drh tags: threads)
16:16
Fixes to prevent an FTS index from growing indefinitely as the corresponding table is updated. Change the FTS 'automerge' option to allow the user to specify the number of segments that should be merged simultaneously by auto-merges. (check-in: a75f180002 user: dan tags: trunk)
15:48
Add extra test to backcompat.test to ensure that old and new versions of FTS may work together on the same incremental merge operation. (Closed-Leaf check-in: 3997d47bb9 user: dan tags: fts4-experimental)
14:27
Merge all recent changes from trunk, and especially the new sqlite3FaultSim() interface. (check-in: 43fcbd9116 user: drh tags: threads)
14:17
Repurpose the SQLITE_TESTCTRL_FAULT_INSTALL test-control to register a callback to be invoked by sqlite3FaultSim(). That test-control has been unused since 2008-06-20 and was never used in any official release. (check-in: 0d43a7ad9a user: drh tags: trunk)
12:18
Use #ifdef logic to avoid an always-true branch when SQLITE_MAX_WORKER_THREADS=0 (check-in: 88cfe6d7de user: drh tags: threads)
10:30
Fix a bug causing an incorrect segment size value to be stored if both an old and new FTS version performed work on the same incremental merge operation. (check-in: a9a2aeab29 user: dan tags: fts4-experimental)
2014-05-15
19:05
Merge latest trunk changes with this branch. (check-in: 5809986ffc user: dan tags: fts4-experimental)
18:36
Fix a problem with the handling of delete markers by automerge on large databases. (check-in: 2b09bd17eb user: dan tags: fts4-experimental)
16:56
Use #ifdef to omit code that is not used when SQLITE_MAX_WORKER_THREADS is zero. (check-in: 2e8d287d4f user: drh tags: threads)
2014-05-14
19:49
Do not search for promotable segments following an FTS 'optimize' operation or creation of a new segment on the oldest existing level. (check-in: 34f6b4b8e4 user: dan tags: fts4-experimental)
18:45
Fix a problem to do with loading the value of the FTS automerge setting from the database. (check-in: 7268119f74 user: dan tags: fts4-experimental)
15:58
Fix various problems to do with segment promotion. Add test file fts4growth2.test, containing tests to check that the FTS index does not grow indefinitely as the table is updated. Allow the user to configure the number of segments merged simultaneously by the automerge option. (check-in: 21491a9bc6 user: dan tags: fts4-experimental)
2014-05-13
20:11
Fix a problem preventing delete markers from ever being removed from the FTS index. (check-in: 7f47ae5c5d user: dan tags: fts4-experimental)
2014-05-12
22:36
Improve a comment in the MSVC makefile. No changes to code. (check-in: 0901dcceda user: mistachkin tags: trunk)
21:12
Add VSIX packaging support for Windows Phone 8.1 using Visual Studio 2013 Update 2. (check-in: 013738f3d5 user: mistachkin tags: trunk)
20:04
Experimental code to prevent FTS indexes from growing indefinitely as the table is updated. (check-in: b3b505a4dd user: dan tags: fts4-experimental)
15:37
In mutex_w32.c, make inclusion of the Windows header file dependent on SQLITE_OS_WIN, not SQLITE_MUTEX_W32. (check-in: 93ffbcc0b1 user: mistachkin tags: trunk)
15:30
In the sorter, only use large memory allocations if scratch memory has not been configured. Add #ifdefs to disable unused code when SQLITE_MAX_WORKER_THREADS is zero. Other sorter changes in support of testability. (check-in: d7e2b0d9cb user: drh tags: threads)
2014-05-10
17:33
Merge updates from trunk. Emit the AppliesTo and DependsOn SDK manifest attributes when building the VSIX for Windows Phone 8.1. (Closed-Leaf check-in: f6237a5f19 user: mistachkin tags: vsixWinPhone81)
17:28
When using Visual Studio 2013, add the appropriate MaxPlatformVersion attribute to the VSIX SDK manifest. (check-in: 0a4f59676b user: mistachkin tags: trunk)
2014-05-09
23:31
Further MSVC makefile changes to support Windows Phone 8.1. (check-in: a9c81815e1 user: mistachkin tags: vsixWinPhone81)
20:54
Merge updates from trunk. (check-in: f4fea7bb8a user: mistachkin tags: vsixWinPhone81)
20:51
When cross-compiling with the MSVC makefile, make sure the correct library path is used. Also, keep track of the required compilation options separately. (check-in: c3dce2e739 user: mistachkin tags: trunk)
17:17
Merge recent trunk changes into the orderby-planning branch. (Leaf check-in: 8d8609d6c6 user: drh tags: orderby-planning)
15:00
Merge the latest trunk changes into the threads branch. (check-in: 9ac8f1e711 user: dan tags: threads)
14:56
Fix a misplaced #endif and a C99-ism in the unix VFS. (check-in: c8d384d146 user: drh tags: apple-osx)
13:27
Fix compiler warnings. When forcing the delete of a WAL file, do not fail if the WAL files does not exist. All "veryquick.tcl" tests are now passing on Linux under the standard compile-time options. (check-in: eafd8aa186 user: drh tags: apple-osx)
12:18
Fix an incorrect check for API misuse. (check-in: 856400dc20 user: drh tags: apple-osx)
11:45
Bring the PRAGMA logic into closer alignment with trunk, and in the process fix a couple of crashes. (check-in: d66fe706da user: drh tags: apple-osx)
11:15
Add new static mutex SQLITE_MUTEX_STATIC_APP3. (check-in: ee0ab09c80 user: dan tags: threads)
00:36
Fix several harmless compiler warnings. (Closed-Leaf check-in: 360c0fd1cf user: mistachkin tags: winPreCache)
2014-05-08
23:01
Initial attempt to merge in all trunk changes over the previous 1.5 years. This check-in compiles but there are compiler warnings and "make test" segfaults after only running a few test modules. (check-in: 9411d7dc6f user: drh tags: apple-osx)
22:15
Fix typos in logging code. (check-in: dc7f84dfcc user: mistachkin tags: winPreCache)
22:08
Fix a memory leak of the temporary read buffer. (check-in: 37e60d211f user: mistachkin tags: winPreCache)
22:05
Update comments and only include the thread routine when required. (check-in: a60c545f25 user: mistachkin tags: winPreCache)
22:01
Experimental changes to pre-cache a database file prior to it being fully opened. (check-in: 38cbcedbb6 user: mistachkin tags: winPreCache)
22:01
Fix static variable declaration issue on Windows. (check-in: a41d296913 user: mistachkin tags: threads)
2014-05-07
21:16
Include sqlite3rtree.h in the tsrc/ pile of source files during target_source in the main.mk makefile. (check-in: 116bed5af6 user: drh tags: trunk)
20:33
Remove a superfluous variable initialization. (check-in: 68766f8374 user: drh tags: trunk)
20:24
A better fix for the group_concat() problem. (check-in: 1c086deebd user: drh tags: trunk)
19:59
Fix the way parenthesis in MATCH expressions are handled by FTS if the tokenizer considers them to be token characters. (check-in: e21bf7a2ad user: dan tags: trunk)
18:23
Make sure the group_concat() function returns an empty string, not a NULL, if it has at least one input row. Fix for ticket [55746f9e65f8587]. (check-in: d01cedaa73 user: drh tags: trunk)
18:21
Ensure that the sqlite3StrAccumAppend() routine is never called with a NULL second argument. Doing so is harmless when N==0, but it causes an assert() to fail that was placed to quiet static analyzers. (Closed-Leaf check-in: f03fbf3700 user: drh tags: tkt-55746f9e)
17:19
Make sure the group_concat() function returns an empty string, not a NULL, if it has at least one input row. Fix for ticket [55746f9e65f8587]. (check-in: 0deac87375 user: drh tags: tkt-55746f9e)
15:46
Add the SQLITE_IOCAP_IMMUTABLE bit as a possible return value from the xDeviceCharacteristics method in the VFS. Add the "nolock" and "immutable" query parameters to URI filenames. (check-in: 1a0d7d3d9d user: drh tags: trunk)
15:32
Fix nolock and immutable so that they work even if READONLY is requested. (Closed-Leaf check-in: e193aced29 user: drh tags: win32-none)
15:09
Add test cases and documentation for the nolock and immutable query parameters. (check-in: 19d56cbaca user: drh tags: win32-none)
2014-05-06
21:37
Merge updates from trunk. (check-in: 69698ae90c user: mistachkin tags: vsixWinPhone81)
21:37
Update the template VSIX package file as well. (check-in: 99d96765cc user: mistachkin tags: trunk)
21:30
Merge updates from trunk. (check-in: 7579c44ac1 user: mistachkin tags: vsixWinPhone81)
21:26
Enhance the VSIX package creation tool to better support Visual Studio 2013. (check-in: c1fb04f61e user: mistachkin tags: trunk)
16:21
Add a little extra variety to the tests in sort4.test. (check-in: 7de6aee6a5 user: dan tags: threads)
15:38
Re-implement the core of the multi-threaded sorter tests in sort4.test using C. Run each test in sort4.test ten times, or repeat all tests for 300 seconds as part of the "multithread" permutation test. (check-in: 208b2b04d4 user: dan tags: threads)
15:28
Experimental changes that reduce the size of Expr objects from 72 to 64 bytes each on x64 and from 48 to 44 bytes each on x32. (Leaf check-in: 8ad0a123a2 user: drh tags: smaller-expr)
00:09
Refactor VSIX package creation tool to better support Visual Studio 2013. (check-in: 8be166af23 user: mistachkin tags: vsixWinPhone81)
2014-05-05
22:50
Merge updates from trunk. (check-in: 668ed76ac6 user: mistachkin tags: vsixWinPhone81)
22:49
Add the "omit_check_constraints" pragma that causes the check constraint expressions to be omitted from the parse tree. (Leaf check-in: f1a4bf01a2 user: drh tags: reduce-schema-size)
22:43
When building for Windows 8.0 using Visual Studio 2013, make sure the cross-compilation native library path is set correctly. (check-in: c1ab9092e2 user: mistachkin tags: trunk)
21:08
More modularization work on the MSVC batch build tool. (check-in: 9a06773acc user: mistachkin tags: trunk)
20:35
Merge updates from trunk. (check-in: eaa8fc810f user: mistachkin tags: vsixWinPhone81)
20:34
Incorporate the latest trunk changes so that hopefully now this branch will build on beagleboard. (check-in: 2647b17d70 user: drh tags: reduce-schema-size)
20:32
Create new header file "os_setup.h" used to detect the operating system at compile-time, and "os_win.h" that contains windows-specific header in formation. (check-in: bd92e0f80c user: drh tags: trunk)
20:24
Work on cleaning up the MSVC batch build tool integration with Visual Studio 2013. (check-in: b5a72dfd59 user: mistachkin tags: trunk)
20:21
Attempt to fix the build on beagleboard. (Closed-Leaf check-in: 3ac75725a6 user: drh tags: winHdr)
20:03
Add test file sort4.test, containing brute force tests for the multi-theaded sorter. (check-in: 9cc364c42c user: dan tags: threads)
19:57
Try to reduce the amount of memory used to hold the schema when PRAGMA ignore_check_constraints is active. (check-in: 35a9f3f178 user: drh tags: reduce-schema-size)
18:24
Centralize and reform use of the Win32 related include files. (check-in: 857f2baf9b user: mistachkin tags: winHdr)
17:49
Merge updates from trunk. (check-in: 6f07f20e41 user: mistachkin tags: vsixWinPhone81)
17:45
Merge updates from trunk. (check-in: a3cfd81339 user: mistachkin tags: winHdr)
17:43
Fix several header file comments. No changes to code. (check-in: dd6eb5d1eb user: mistachkin tags: winHdr)
15:58
Fix a race condition in the sorter code. (check-in: 2d2edfe58d user: dan tags: threads)
09:08
Add tests so that the "coverage-sorter" test permutation covers all branches in vdbesort.c. Fix a few minor problems in the same file. (check-in: bde28b702d user: dan tags: threads)
2014-05-03
20:43
Add an extra fault-injection test to sortfault.test. Remove an unreachable branch from vdbesort.c. (check-in: a33a366ba8 user: dan tags: threads)
19:33
Fix a race condition in the sorter. (check-in: 32ccf3ae18 user: dan tags: threads)
14:28
Fix a problem in the sorter causing it to return spurious SQLITE_NOMEM errors when configured to use memsys3 or memsys5. (check-in: 3a66c4e1bf user: dan tags: threads)
13:53
Get SQLITE_MUTEX_STATIC_APP1 and _APP2 working for the debugMutex implementation. (check-in: f49ba1c926 user: drh tags: threads)
12:00
Add two new static mutexes, SQLITE_MUTEX_STATIC_APP1 and _APP2, for use by the application program. First intended use is in test programs for the memory allocation logic where one does not want to allocating a _FAST or _RECURSIVE mutex since that would involve using the memory allocation system under test. (check-in: 13686035dd user: drh tags: threads)
11:22
Add the SQLITE_DEFAULT_WORKER_THREADS compile-time option. Fix a NULL-pointer dereference that can occur following OOM. (check-in: e0dea89b3e user: drh tags: threads)
2014-05-02
22:39
Enhance the Win32 VFS I/O retry logic. (check-in: 4760504396 user: mistachkin tags: trunk)
21:42
Merge updates from trunk. (Closed-Leaf check-in: 598a3875ce user: mistachkin tags: winIoRetry)
21:38
Merge updates from trunk. (check-in: c4d1d8a0db user: mistachkin tags: winHdr)
19:12
Fix typo in Windows makefile. Make sure the WaitForSingleObjectEx system call is always available. (check-in: d7ed529fa2 user: mistachkin tags: threads)
18:46
Do not run the vdbeRecordCompareDebug() assert if pKeyInfo->db is NULL since in that case there would be no way to check for a memory allocation failure. (check-in: 63ed2d6acb user: drh tags: threads)
18:05
Merge orderby-planning with this branch. (check-in: d9549de317 user: dan tags: threads)
17:33
Simplify assert() statements used to verify correct operation of record comparison routines. (check-in: 3300d62dcb user: drh tags: orderby-planning)
17:12
Fix some broken asserts in btree.c and vdbeaux.c that may fail following an OOM error. (check-in: e15f47064b user: dan tags: threads)
16:22
Failure to extend a temp file for use with mmap() in vdbesort.c is benign. (check-in: d4d396387d user: drh tags: orderby-planning)
16:03
Remove a faulty assert() from vdbesort.c. (check-in: d95d68aa1d user: dan tags: threads)
15:25
Fix a faulty assert() statement. (check-in: 9196ce4073 user: drh tags: orderby-planning)
14:54
Fix a broken test case in fuzz.test. (check-in: faa469355e user: dan tags: trunk)
13:09
Merge latest trunk enhancements and fixes into the orderby-planning branch. (check-in: 84862d3a09 user: drh tags: orderby-planning)
00:09
Add a comment explaining why WhereLoop cost adjustments are omitted for skip-scan loops. (check-in: 3bc43594aa user: drh tags: trunk)
2014-05-01
20:26
Fix an obscure problem to do with temp register allocation that could occur if more than one simple SELECT within a compound SELECT uses a partial sort. (check-in: 427409ae10 user: dan tags: trunk)
20:24
Add #ifdefs for test coverage. Add a testcase(). (check-in: be2702ce35 user: drh tags: trunk)
10:19
Update a test case in wal2.test that explicitly corrupts a checksum in the wal file to account for the fact that the first byte of said checksum may initially be 0xFF. (check-in: 2b935bdea1 user: dan tags: trunk)
01:49
Take out the special handling of nolock=true in os_win.c and add it to pager.c, so that it works for all VFSes. Add the pPager->noLock boolean for clarity. (check-in: 725c1c14be user: drh tags: win32-none)
01:20
Avoid unnecessary xUnlock operations on temp file. (check-in: 1829c38c32 user: drh tags: win32-none)
01:13
Add the immutable=TRUE query parameter and SQLITE_IOCAP_IMMUTABLE, either of which prevents locking of the database and omits tests for existance of journal files. (check-in: 71f152c85d user: drh tags: win32-none)
2014-04-30
20:32
Merge in all recent changes and enhancements from trunk. (check-in: 84243f8444 user: drh tags: win32-none)
18:11
Fix a problem in calculating the costs of "OR" scans. (check-in: 9bbca48b42 user: dan tags: trunk)
15:22
Modify the way the costs of various query plans are estimated. If the user supplies a likelihood() value (or equivalent) on an indexed WHERE constraint, use it to estimate the number of index rows visited. (check-in: 90e3667647 user: dan tags: trunk)
15:00
Add text to the header comment of whereLoopAddBtree() describing how the costs of various b-tree loops are estimated. (Closed-Leaf check-in: 05e6e16cb2 user: dan tags: experimental-costs)
14:53
Update a couple of test cases to account for the fact that this branch prefers an index scan and partial sort over a full-table scan and full external sort. (check-in: 9b975bf33c user: dan tags: experimental-costs)
14:47
Fix a couple of out-of-date comments in where.c. (check-in: eefeda32d5 user: dan tags: experimental-costs)
14:22
Improved rendering of LogEst values corresponding to real values near 0.0 in the tool/logest.c utility program. (check-in: 32910c8c59 user: drh tags: experimental-costs)
13:19
Fix long-standing typos in comments. (check-in: b9f91317c3 user: drh tags: experimental-costs)
2014-04-29
19:01
Test that the default values used when sqlite_stat1 data is not available are calculated correctly. Fixes for the same. (check-in: e2d42f909d user: dan tags: experimental-costs)
16:46
Merge trunk changes into this branch. (check-in: d74299f037 user: dan tags: experimental-costs)
16:10
Ignore likelihood() values on indexed IPK lookups. (check-in: 5bb7757a7b user: dan tags: experimental-costs)
12:01
Fix a test case so that it updates sqlite_stat1 consistently. (check-in: 2dc5a0b555 user: dan tags: experimental-costs)
2014-04-28
20:11
Do not reduce the number of rows scanned at all for "IS NOT NULL" constraints. Fix a bug in calculating the number of rows visited by scans of partial indicies. (check-in: a8ae93f0cf user: dan tags: experimental-costs)
19:34
The trunk assumes that an open range constraint on an indexed term (col>?) term matches 1/4 of the indexed rows, and that a closed constraint (col BETWEEN ? AND ?) matches 1/64. Change this branch to do the same. (check-in: 4047ac75e2 user: dan tags: experimental-costs)
18:02
Merge all recent trunk enhancements and fixes into the sessions branch. (check-in: e158812c34 user: drh tags: sessions)
17:56
Add the sqlite3_rtree_query_callback() API to the RTree virtual table. (Cherrypick from the sessions branch.) (check-in: af2cbe64ad user: drh tags: trunk)
17:51
Add the sqlite3_rtree_query_callback() API to the RTree virtual table. (check-in: 3dca280935 user: drh tags: sessions)
15:11
Update unordered.test to take into account for the fact that SQLite now prefers a full-table scan over a non-covering index scan that visits a large percentage of the table rows. (check-in: 20f468dfbc user: dan tags: experimental-costs)
12:08
Add an extra column to a table in analyze9.test to give the planner a little more reason to select an index. (check-in: 1b95544f84 user: dan tags: experimental-costs)
10:00
Update test script analyze3.test to account for the fact that SQLite now prefers a full-table scan over a non-covering index scan that visits a large percentage of the table rows. (check-in: 35f46a55d8 user: dan tags: experimental-costs)
09:35
Modify internal function whereLoopAdjustCost() so that it does not prefer a skip-scan over a regular index scan even if the regular scan uses a subset of the WHERE terms used by the skip-scan. (check-in: 88a5758dcc user: dan tags: experimental-costs)
08:49
Fix an error in estimating of the number of rows visited by a range scan. (check-in: d491de62fc user: dan tags: experimental-costs)
2014-04-26
20:21
Fix an sqlite3_stmt_status() problem caused by recent changs on this branch. (check-in: dee2040924 user: dan tags: experimental-costs)
19:23
Update requirements marks to fix typos in the requirements text. No changes to code. (check-in: f5a2636581 user: drh tags: trunk)
17:52
Allow the xfer optimization to proceed if the DEFAULT on the very first column of the two tables is different. This is a refinement of the fix for ticket [f67b41381a]. (check-in: 349f483499 user: drh tags: trunk)
14:07
Avoid transfering records between tables unless the default values for all columns are the same. Fix for [f67b41381a]. (check-in: f8c4c495e6 user: dan tags: trunk)
2014-04-25
20:22
If the user provides likelihood() data for a WHERE clause term used as part of an index key, have the planner use it when calculating the expected number of rows visited by the loop. (check-in: c51efaa5d2 user: dan tags: experimental-costs)
17:37
Add test cases to ensure correct operation of joins with a virtual table that include DISTINCT and ORDER BY clauses. Verification for ticket [388d01d4bb8f9]. (check-in: 5ada136f43 user: drh tags: trunk)
16:29
Enhance the sqlite3_rtree_query_info object to report on the number of elements in the priority queue at each level. (Closed-Leaf check-in: f7dad408dd user: drh tags: rtree-enhancements)
15:01
Store values loaded from the stat1 table as logarithmic values in memory. (check-in: 1bd74c49dd user: dan tags: experimental-costs)
14:42
Make sure ORDER BY clauses on joins that involve virtual tables and that have a DISTINCT clause work correctly. This is a candidate fix for ticket [388d01d4bb8f9]. Test cases for that ticket will be checked in separately. (check-in: 1711381226 user: drh tags: trunk)
12:35
When VDBE_PROFILE is enabled, ignore negative opcode times, which sometimes occur, perhaps due to context swaps. (check-in: 4e88042f9d user: drh tags: trunk)
2014-04-24
20:04
Changes to the way the planner calculates the costs of various table and index scans. Some test cases still failing. (check-in: c5a6ec0a88 user: dan tags: experimental-costs)
16:25
Improved header comment on the vdbesort.c module. No changes to code. (check-in: bf09ce24d0 user: drh tags: orderby-planning)
15:06
Reopen the orderby-planning branch and merge in the latest trunk enhancements and fixes. (check-in: 6077ddcd93 user: drh tags: orderby-planning)
13:20
Add sqlite3_log() diagnostic messages for a specific type of corruption where the file size is reported to be too small relative to the size in the header. This branch is intended to help debug a specific problem reported from the wild and is not for general use. (check-in: 34155c406c user: drh tags: filesize-debug)
12:28
Improvements to comments. Store some extra information in SqliteThread that is useful for debugging. (check-in: 9fb5e21208 user: drh tags: threads)
2014-04-23
12:57
Merge all recent trunk changes into the threads branch. (check-in: e2c9f71a45 user: drh tags: threads)
12:00
Enhancements to the date and time functions so that they optionally support a 5-digit year. Not sure we want to include this in trunk. Saved in a branch for future reference. (Closed-Leaf check-in: 2029a396dc user: drh tags: five-digit-year)
2014-04-22
19:42
Change from using the win32-none VFS to just a query parameter. (check-in: ffceacf619 user: drh tags: win32-none)
19:34
Add some OSTRACE calls for consistency. (check-in: be292d5597 user: mistachkin tags: win32-none)
19:30
Add the win32-none VFS which omits rollback-journal locking. (check-in: 03e3c5a8b1 user: drh tags: win32-none)
2014-04-21
18:13
Fix the generation of sqlite3_rtree_query_info.iRowid and add test cases to verify that it is fixed. (check-in: eba95ead49 user: drh tags: rtree-enhancements)
18:00
Preliminary changes to support building VSIX packages for Windows 8.0 and Windows Phone 8.0 using Visual Studio 2013. (check-in: 3bf97c811a user: mistachkin tags: vsixWinPhone81)
15:53
Be sure to initialize the sqlite3_rtree_query_info.iRowid field for the leaves of the R-Tree when doing a query callback search. (check-in: 4394693882 user: drh tags: rtree-enhancements)
15:21
Fix an off-by-one error in setting the "iLevel" field of the sqlite3_rtree_query_info structure passed into the RTree query callback. (check-in: d708f159ab user: drh tags: rtree-enhancements)
13:36
Comment tweaks on the test case for the [b75a9ca6b0] bug fix. (check-in: 65d2544af9 user: drh tags: trunk)
13:21
Avoid discarding an ORDER BY clause in the case where an identical GROUP BY clauses uses an index to group, but not sort, the rows. Fix for [b75a9ca6b0]. (check-in: de9a490f59 user: dan tags: trunk)
2014-04-18
22:20
Clean up the proper-subset cost adjustment logic to make it more compact and easier to read and so that full branch test coverage is more easily obtained. (check-in: 9a5d38c79d user: drh tags: trunk)
13:57
Add to speedtest1.c the --threads option for setting the SQLITE_CONFIG_WORKER_THREADS configuration. (check-in: 5fce40c44a user: drh tags: threads)
13:40
Fix harmless compiler warnings. (check-in: f8f72ecb90 user: drh tags: threads)
12:38
Merge recent trunk changes into the threads branch. (check-in: 8729aa3e3e user: drh tags: threads)
01:37
Further improvements to the RTREE_DECODE_COORD() method, to take advantage of known processor byte orders when available. This makes the code 3% faster, according to valgrind. Also add test cases to make sure the on-disk representation is correct. (check-in: 6f3e94f4b1 user: drh tags: rtree-enhancements)
01:14
Merge the latest changes from sessions. (check-in: d9eef5b03c user: drh tags: rtree-enhancements)
01:10
Merge recent trunk changes into sessions. (check-in: 95e77efe07 user: drh tags: sessions)
00:49
Add the SQLITE_RUNTIME_BYTEORDER compile-time option to force SQLite to check the processor byte-order at run-time. Add additional compile-time byte order checks for ARM, PPC, and SPARC. (check-in: 2c5363873a user: drh tags: trunk)
00:08
Preliminary changes to support building VSIX packages for Windows Phone 8.1. (check-in: a1b2f28ba8 user: mistachkin tags: vsixWinPhone81)
00:06
Add the SQLITE_TESTCTRL_BYTEORDER test control to interrogate SQLite's notion of the processor byte order and whether the byte order is known at compile-time or determined at run-time. (check-in: 9c6961967a user: drh tags: trunk)
2014-04-17
23:23
Performance optimization on byte-swapping in R-Tree. (check-in: 444084fd62 user: drh tags: rtree-enhancements)
15:34
More test cases with very long priority queues. (check-in: 71692aa97c user: drh tags: rtree-enhancements)
14:52
Test cases and bug fixes for the sqlite3_rtree_query_callback() mechanism. (check-in: 1ccaaed6b5 user: drh tags: rtree-enhancements)
13:15
Refactor the constraint checking logic in RTree. The new-style constraint callbacks created by sqlite3_rtree_query_callback() are now hooked up from end to end, though still untested. (check-in: 32a1387017 user: drh tags: rtree-enhancements)
08:57
Fix build problems in vdbesort.c. Add further comments and changes to make things easier to understand. (check-in: 12b190db1d user: dan tags: threads)
2014-04-16
21:02
Performance optimization on nodeGetCell() in R-Tree. (check-in: 5d20ff9ec8 user: drh tags: rtree-enhancements)
19:04
Clarify the purpose of the nField argument passed to sqlite3VdbeSorterInit(). (check-in: c0c8cff17b user: dan tags: threads)
17:41
Change the name of vdbeIncrInit2 to vdbePmaReaderIncrInit. Add a header comment to the same function. (check-in: 6622d87675 user: dan tags: threads)
17:23
Convert the RTree module query mechanism over to using a priority queue for walking the RTree. (check-in: f26936f71a user: drh tags: rtree-enhancements)
17:15
TCL tests now all pass. (Closed-Leaf check-in: f864baccd3 user: drh tags: rtree-queue)
16:43
Rework the way trees of MergeEngine objects are built in vdbesort.c to make it easier to follow. Fix memory leaks that could follow an OOM or IO error. Add various comments to explain functions in vdbesort.c. (check-in: 69026ec7dc user: dan tags: threads)
14:45
Fix a bug in rowid=? query handling. More problems remain. (check-in: 5b0e6ba4a5 user: drh tags: rtree-queue)
13:00
Bug fixes to the priority-queue implementation for R-Trees. Improved tracing capability. Some queries work now, but still many problems. (check-in: a439ddd629 user: drh tags: rtree-queue)
2014-04-15
21:06
Initial attempt at getting R-Tree queries to work using a priority queue. This check-in compiles, but R-Trees do not work well. And there are debugging printf()s left in the code. This is an incremental check-in. (check-in: 53688a25c2 user: drh tags: rtree-queue)
20:52
Fix some problems to do with OOM conditions in vdbesort.c. Some problems remain. (check-in: 2f94f9ce9b user: dan tags: threads)
19:52
Fix further code and documentation issues in vdbesort.c. (check-in: d03f5b8622 user: dan tags: threads)
2014-04-14
19:48
Make sure the undocumented sqlite_rename_parent() function does not crash even if it is invoked with NULL arguments. Ticket [264b970c4379fd4b94] (check-in: c6fa8d0d82 user: drh tags: trunk)
19:23
Allow the sorter to begin returning data to the VDBE as soon as it is available, instead of waiting until all keys have been sorted. (check-in: cb0ab20c48 user: dan tags: threads)
18:41
Improve performance in single-threaded mode by having the final merge pass keys directly to the VDBE, instead of going via a final PMA. (Closed-Leaf check-in: 02610cd9b7 user: dan tags: threads-experimental)
14:43
Fix comments on the rtreenode() and rtreedepth() test function in the R-Tree module. (check-in: ade5b986e8 user: drh tags: rtree-enhancements)
12:18
Remove over 300 lines of unused code, code that implemented the older Guttman insertion algorithms that are no longer used. (check-in: 3ba5f295c7 user: drh tags: rtree-enhancements)
08:45
Minor fixes so that builds with SQLITE_MAX_WORKER_THREADS=0 work. (check-in: e400bbbf26 user: dan tags: threads-experimental)
07:30
Improve use of multiple threads in sqlite3VdbeSorterRewind(). (check-in: e1bdc4b810 user: dan tags: threads-experimental)
2014-04-13
19:28
Remove the unused second argument from sqlite3ExprCachePop(). Add an ALWAYS() on an always-true conditional in sqlite3VdbeResolveLabel(). (check-in: ab23abf392 user: drh tags: trunk)
19:15
Make sure column cache elements are cleared correctly when jumping over code for key generation in a partial index. Fix for ticket [2ea3e9fe6379fc3f6]. (check-in: 3122b83640 user: drh tags: trunk)
16:10
Continuing work on the new custom query mechanism for r-tree. (check-in: ca7357e66c user: drh tags: rtree-enhancements)
2014-04-12
19:34
Fix many issues with new code. (check-in: 62c406a042 user: dan tags: threads-experimental)
17:44
Continuing clean-up of the R-Tree module in preparation for cutting in the new generalized query mechanism. (check-in: 66c858f205 user: drh tags: rtree-enhancements)
2014-04-11
23:14
Add the new interfaces to rtree, though they do not yet work. Add the "show_speedtest1_rtree.tcl" script for showing the test data used for the R-Tree tests of speedtest1. Change speedtest1 to generate better R-Tree test data. (check-in: 0b70275972 user: drh tags: rtree-enhancements)
19:43
Avoid having the sorter merge too many PMAs at a time when incrementally merging data following a SorterRewind(). (check-in: 98bf0307b1 user: dan tags: threads-experimental)
17:41
Add the --verify option to speedtest1. Add verification test cases to the "rtree" testset and a case that uses a custom geometry callback. (check-in: 9d485c4207 user: drh tags: rtree-enhancements)
16:14
Update comments in the R-Tree module in preparation for some big changes. Add an "rtree" performance test to speedtest1. (check-in: 20a73ec0b2 user: drh tags: rtree-enhancements)
2014-04-10
02:24
Modify the OR-clause handling so that it can safely deal with OR-clause with 17 or more terms. Fix for ticket [10fb063b1179be53ea0b53bb]. (check-in: a67b5312f6 user: drh tags: trunk)
2014-04-09
20:04
Experimental multi-threaded sorting changes to allow the sorter to begin returning items to the VDBE before all data is sorted. (check-in: f9d5e09afa user: dan tags: threads-experimental)
2014-04-07
18:44
Experimental multi-threaded sorting changes to begin merging PMAs before SorterRewind() is called. (Closed-Leaf check-in: cbfc0f6d49 user: dan tags: abandoned)
2014-04-04
22:44
Fix harmless compiler warnings. (check-in: e54dded201 user: drh tags: threads)
21:40
Fix typo in a Windows threading support routine. (check-in: 5e3dfa27c7 user: mistachkin tags: threads)
18:49
Performance improvements when reading large blobs, especially if SQLITE_DIRECT_OVERFLOW_READ is defined. (check-in: 2312eb6a9e user: drh tags: trunk)
18:37
Merge the latest trunk changes into the threads branch. (check-in: 39ac79cffe user: drh tags: threads)
18:20
Merge changes to the query planner that strive to ensure that any index usage that is a proper subset of some other index usage always has a slightly higher cost. (check-in: 683dd379a2 user: drh tags: trunk)
14:12
Ensure the "PRAGMA journal_mode=WAL" works coming from any other journal_mode with ATTACH-ed databases. (check-in: e54330b431 user: drh tags: trunk)
07:52
Add test file sort3.test, which should have been part of commit [9d3351b8d7]. (check-in: dceed2c803 user: dan tags: threads)
02:13
Change vdbeSorterExtendFile() so that it makes a best effort to create the PMA file of the desired size, but does not return an error if unable. (check-in: 217814bc4b user: drh tags: threads)
2014-04-03
16:53
Version 3.8.4.3 (Leaf check-in: a611fa96c4 user: drh tags: release, version-3.8.4.3, branch-3.8.4)
16:42
Merge all recent changes from trunk. (check-in: a0910079ad user: drh tags: threads)
16:35
Merge all recent changes from trunk, including the fix for the OP_SCopy-vs-OP_Copy problem. (check-in: 9515c8344a user: drh tags: sessions)
16:29
Use OP_Copy instead of OP_SCopy when moving results out of a subquery, to prevent the subquery results from changing out from under the outer query. Fix for ticket [98825a79ce1456]. Problem introduced by check-in [1e64dd782a126f48d78]. (check-in: d5513dfa23 user: drh tags: trunk)
16:25
Fix an integer overflow problem in the sorter. (check-in: 9d3351b8d7 user: dan tags: threads)
16:18
Increase the version number to 3.8.4.3 (check-in: f05a49b6e0 user: drh tags: branch-3.8.4)
16:16
Use OP_Copy instead of OP_SCopy when moving results out of a subquery, to prevent the subquery results from changing out from under the outer query. Fix for ticket [98825a79ce1456]. Problem introduced by check-in [1e64dd782a126f48d78]. (check-in: ec6a06246e user: drh tags: branch-3.8.4)
14:31
Fix a typo in the "Synopsis:" comment for the OP_VFilter opcode. (check-in: 48ecdd4aff user: drh tags: trunk)
14:29
Fix minor errors causing compilation to fail with SQLITE_MAX_WORKER_THREADS set to a value greater than zero. (check-in: 0561272abf user: dan tags: threads)
02:54
Refactor local object and method names in vdbesort.c so that their names more closely reflect their actual use. (check-in: d284e30eb1 user: drh tags: threads)
00:32
In the command-line shell, run set writable_schema before running the ".clone" command. (check-in: 9d2ae6342c user: drh tags: trunk)
2014-04-02
18:58
Add a big introductory comment to vdbesort.c explaining its operation at a high level. Also adjust some symbolic names and fix other comment issues in that file. (check-in: eef60f1bf5 user: drh tags: threads)
15:15
Fix some problems with OOM handling in vdbesort.c. (check-in: 47e702bd83 user: dan tags: threads)
14:38
Change the name of the SorterThread object to "SortSubtask" to avoid confusion with the SQLiteThread object. (check-in: 4ee2d910fb user: drh tags: threads)
2014-04-01
18:41
When sorting data for a CREATE INDEX statement in single-threaded mode, assume that keys are delivered to the sorter in primary key order. Also fix various comments that had fallen out of date. (check-in: 821d1ac450 user: dan tags: threads)
15:38
Even if compile time option SQLITE_MAX_WORKER_THREADS is set to one or greater, set the default number of worker threads to zero. Distribute data more evenly between threads in sqlite3VdbeSorterWrite() to improve performance when sorting large amounts of data. Add new test file sort2.test. (check-in: 643c86a056 user: dan tags: threads)
10:19
Fix a problem with OOM handling in the sorter code. (check-in: 59cd5229e2 user: dan tags: threads)
01:24
Remove an unnecessary conditional, replacing it with an assert(). Improvements to comments. (Closed-Leaf check-in: 834bf1c367 user: drh tags: overflow-pgno-cache)
2014-03-31
23:57
Fix a compiler warning when SQLITE_DIRECT_OVERFLOW_READ is defined. Minor performance enhancement and size reduction. (check-in: 96385dc460 user: drh tags: overflow-pgno-cache)
22:03
Merge in the latest changes and fixes from trunk. (check-in: f6211540c9 user: drh tags: overflow-pgno-cache)
20:05
Remove an unnecessary conditional. (Closed-Leaf check-in: 7473c4dfc1 user: drh tags: query-plan-experiments)
19:57
Add the SQLITE_MAX_WORKER_THREADS compile time option. And the SQLITE_CONFIG_WORKER_THREADS sqlite3_config() switch. (check-in: 2774710df8 user: dan tags: threads)
19:49
Also make sure an index that is a proper subset of some other index has a higher cost than that other index. Add test cases. (check-in: b7830d232b user: drh tags: query-plan-experiments)
18:24
Make sure that an index that covers a proper superset of the WHERE clause terms of some other index has a lower cost than the other index. (check-in: ea8b091004 user: drh tags: query-plan-experiments)
13:42
Avoid a (harmless) buffer overread that is possible on an OOM when MEMSYS5 is engaged. (check-in: b3296267fb user: drh tags: trunk)
2014-03-29
21:16
Experiments in picking better query plans, especially when the usage of one index is a subset of another. (check-in: 8f869ca7a6 user: drh tags: query-plan-experiments)
19:48
Changes to make the multi-threaded sorter sort stably. (Closed-Leaf check-in: 83a105c864 user: dan tags: threads-closed)
10:01
Fix a broken assert() in vdbesort.c. (check-in: 18d1b402f2 user: dan tags: threads)
09:34
Fix a problem in vdbesort.c causing spurious SQLITE_NOMEM errors when using memsys3 or memsys5. (check-in: a683c05f62 user: dan tags: threads)
06:27
Add the optimization to avoid some unnecessary calls to sqlite3VdbeRecordUnpack() added to the trunk by [707ea170b3]. (check-in: fc4d04e6b0 user: dan tags: threads)
2014-03-28
19:47
Fix a compiler warning and an after-OOM memory leak. (check-in: 58f7ca2930 user: drh tags: orderby-planning)
19:18
Merge latest changes from orderby-planning branch. (check-in: 4c7fb54234 user: dan tags: threads)
18:35
Merge the latest changes from trunk. (check-in: 3047a25f1c user: drh tags: orderby-planning)
14:41
Disable the wal64k.test script for non-unix systems since it depends on unix-only features. (check-in: 27deb6e49b user: drh tags: trunk)
12:56
Fix a harmless compiler warning. (check-in: a4e47150f3 user: drh tags: trunk)
03:12
Enhance the sqlite3VdbeRecordCompare() routines so that if they encounter database corruption, they will set the UnpackedRecord.isCorrupt field and return 0. The sqlite3BtreeMovetoUnpacked() routine detects this and returns SQLITE_CORRUPT, causing the corruption to be reported back to the top-level. (check-in: 7fa85eaaaf user: drh tags: trunk)
2014-03-27
19:25
Instead of allocating a single large buffer at the beginning of each sort operation, start with a small buffer and extend it using realloc() as required. (check-in: 81987c8ceb user: dan tags: orderby-planning)
18:36
Minor cleanup of the code in the query planner that computes the costs estimates for the various plans. There are no changes to the costs at this time. But the code is slightly more readable now and that might facilitate future enhancements. (check-in: 9b4d7226bc user: drh tags: trunk)
17:23
Use xFetch() to access temporary files in vdbesort.c. Use a single large allocation instead of many small allocations when accumulating records in vdbesort.c. This is an interim commit - it allocates a buffer the size of the page-cache every time data is sorted. (check-in: f4ac1bf28c user: dan tags: orderby-planning)
14:05
Enhance the logest.c utility with new operators: "dup", "inv", "log", and "nlogn". Provide help on an invalid input. (check-in: b4bd2a062c user: drh tags: trunk)
00:09
Merge the latest trunk changes and the fix for the crash on a corrupt database. (check-in: 0b35346c32 user: drh tags: orderby-planning)
2014-03-26
19:45
Merge from trunk the fix for the crash on a corrupt database. (check-in: 8cb2b02baa user: drh tags: threads)
19:43
Merge in fixes (including the corrupt-database crash fix) and performance enhancements from trunk. (check-in: fc8ca1a87e user: drh tags: sessions)
18:51
Version 3.8.4.2 (check-in: 02ea166372 user: drh tags: release, version-3.8.4.2, branch-3.8.4)
16:25
Increase the version number to 3.8.4.2. (check-in: 59978a2e42 user: drh tags: branch-3.8.4)
16:22
Fix a potential buffer overread that could have occurred when searching a corrupt database file. (check-in: db2935473e user: drh tags: branch-3.8.4)
15:14
Add an extra test case for the potential buffer overread patched by [28ddecff04]. (check-in: f585f5d7a0 user: dan tags: trunk)
15:05
Add a test case to verify that the previous change avoids excess buffer overread in sqlite3VdbeRecordCompare(). (check-in: 2b28e8d582 user: drh tags: trunk)
14:51
Earlier detection of corruption in sqlite3VdbeRecordCompare() in order to avoid a potential buffer overread. (check-in: 28ddecff04 user: drh tags: trunk)
12:02
Add an assert() and a comment to clarify the operation of the vdbeRecordCompareInt() routine. (check-in: 851abdb8fd user: drh tags: trunk)
2014-03-25
20:28
Adjust the repeat counts on several tests in speedtest1 so that the relative time spent on the test is roughly the same regardless of --size. (check-in: 7922809ee0 user: drh tags: trunk)
18:29
Merge enhancements and fixes from trunk. (check-in: e005f2d6dd user: drh tags: orderby-planning)
17:45
Add another performance test case to speedtest1. This case is another ORDER BY test but this time without LIMIT. (check-in: 9ab7ffd592 user: drh tags: trunk)
17:07
Fix a problem in the code added by [707ea170b3] causing vdbesort.c to sort unstably. (check-in: d3e640afe6 user: dan tags: orderby-planning)
15:04
Remove the sequence values from sorter records used by ORDER BY as well. (check-in: c3ae369783 user: dan tags: orderby-planning)
14:54
Add an ORDER BY test case to speedtest1.c (check-in: 588122641e user: drh tags: trunk)
14:12
Enable four sorting threads by default in the command-line shell. (check-in: 1cab83577c user: drh tags: threads)
13:17
Merge all fixes and enhancements from trunk. (check-in: b415dfb6cb user: drh tags: threads)
11:00
Detect when a VdbeCursor is still pointing at a valid row but that row has moved, and invalidated the return from prior sqlite3BtreeDataFetch() or sqlite3BtreeKeyFetch() calls. (check-in: e6798871ce user: drh tags: trunk)
2014-03-24
20:19
Omit the sequence value from sorter records used by GROUP BY queries that cannot use an index. (check-in: 3f90abddc3 user: dan tags: orderby-planning)
18:08
Avoid unnecessary moving of content between registers during an ORDER BY. (check-in: 4f472accf0 user: drh tags: orderby-planning)
16:30
Remove unused variables Parse.nColCache and Parse.iColCache. (check-in: 4d7551ce46 user: dan tags: trunk)
15:00
Fix arithmetic operators so that they do not change the affinity of their input operands. Ticket [a8a0d2996a]. (check-in: 221f8f9447 user: drh tags: trunk)
12:33
Cancel column-cache entries that are involved in a comparison operator since the comparison might have forced an affinity change. Originally proposed as a fix for ticket [a8a0d2996a], but later determined to be incorrect. (Closed-Leaf check-in: 0b95b7a874 user: drh tags: tkt-a8a0d2996a)
11:23
Avoid attempting to mmap memory from an offset that is not a multiple of the system page size on systems with page sizes larger than 32KB. (check-in: db7d62c8d5 user: dan tags: trunk)
09:34
Remove an unnecessary temporary register allocation. (check-in: 5d506743f5 user: dan tags: orderby-planning)
02:20
Remove a pointless OP_Once operation in ORDER BY clauses with LIMIT. (check-in: e6c59d2331 user: drh tags: orderby-planning)
01:43
Further enhancements to generated VDBE code for ORDER BY. (check-in: e7188fad87 user: drh tags: orderby-planning)
2014-03-23
18:47
merge fixes from trunk (check-in: faf7f9caf5 user: drh tags: orderby-planning)
17:45
Use only a single OP_MakeRecord instead of two when constructing entries to go onto a sorter. (check-in: d696cdedac user: drh tags: orderby-planning)
16:29
Avoid a possible use of an uninitialized variable following an I/O or OOM error. (check-in: 641408a139 user: drh tags: trunk)
2014-03-22
02:19
Clear the sort-order flags on the KeyInfo object associated with the OP_Compare/OP_Jump of the block-sort logic, in order to make the OP_Jump fully testable. (check-in: 9b2838f23e user: drh tags: trunk)
01:52
Increase the version number to 3.8.5. (check-in: 9760879d08 user: drh tags: trunk)
00:27
Fix the ORDER BY optimization logic so that it will do a block-sort on a partial DESC ORDER BY. This enhancement uncovered a memory leak in pushUntoSorter() which is also fixed. (check-in: c36f74611c user: drh tags: trunk)
2014-03-21
20:58
Add the ability to use indices for the first few terms of an ORDER BY clause, then sort in batches to handle the later terms. (check-in: fa06a6fed9 user: drh tags: trunk)
19:56
Change the names of SRT_DistTable and SRT_Table used by CTE to more meaningful SRT_DistFifo and SRT_Fifo, respectively. Simplify the IgnorableOrderby() macro in the process. (check-in: 45d8cc678d user: drh tags: trunk)
19:27
Avoid leaking memory in an obscure case where the flattener adds an ORDER BY clause to the recursive part of a recursive query. (check-in: 1f413aca00 user: dan tags: trunk)
18:45
Merge the OFFSET-on-query-without-FROM fix from trunk. (check-in: 71e9ae72c2 user: drh tags: orderby-planning)
18:16
Fix the OFFSET clause so that it works correctly on queries that lack a FROM clause. Ticket [07d6a0453d4ed8]. (check-in: 179ef81648 user: drh tags: trunk)
15:24
New test case for block-sorting. (check-in: e70cfa28aa user: drh tags: orderby-planning)
2014-03-20
20:56
Merge trunk fixes for "x IN (?)" handling. (check-in: eca35871c3 user: drh tags: orderby-planning)
19:04
Remove a testcase() that is now always true due to the "x IN (?)" optimization. Add an ALWAYS() around a conditional in the parser that cannot be false. (check-in: d5a1530bdc user: drh tags: trunk)
18:56
Only use the direct-overflow-read optimization if all data from the overflow page in question is being read. (check-in: d8e1f75ddf user: dan tags: overflow-pgno-cache)
18:45
Fix the EXPLAIN indenter in the command-line shell to correctly handle NextIfOpen and PrevIfOpen opcodes. (check-in: 01944c53f5 user: drh tags: trunk)
17:03
The "x IN (?)" optimization in check-ins [2ff3b25f40] and [e68b427afb] is incorrect, as demonstrated by the in4-5.1 test case in this check-in. The "COLLATE binary" that was being added to the RHS of IN was overriding the implicit collating sequence of the LHS. This change defines the EP_Generic expression node property that blocks all affinity or collating sequence information in the expression subtree and adds that property to the expression taken from RHS of the IN operator. (check-in: 2ea4a9f75f user: drh tags: trunk)
15:14
Fix harmless compiler warnings. (check-in: b1435f26b0 user: drh tags: trunk)
14:56
Previous check-in is not quite correct. "x IN (?)" is not exactly the same as "x==?" do to collation and affinity issues. The correct converstion should be to "x==(+? COLLATE binary)". The current check-in fixes this problem and provides test cases. Ticket [e39d032577df69] (check-in: 2ff3b25f40 user: drh tags: trunk)
13:26
Convert expressions of the form "X IN (?)" with exactly one value on the RHS of the IN into equality tests: "X=?". Add test cases to verify that statements work correctly on this corner case. Fix for ticket [e39d032577df6942]. (check-in: e68b427afb user: drh tags: trunk)
12:36
One possible fix for the [e39d032577d] problem it to replace the failing assert() with a testcase() as shown here. (Closed-Leaf check-in: eae6dfbe55 user: drh tags: tkt-e39d0325)
12:17
Fix an unnecessarily obtuse use of a bitmask flag. (check-in: ca31408131 user: drh tags: trunk)
09:42
Add a test to ensure os_unix.c works with 64KiB OS pages. (Closed-Leaf check-in: e3d2be3ba4 user: dan tags: shm-mapping-fix)
08:59
Add an experimental fix to avoid attempting to mmap memory from an offset that is not a multiple of the system page size on systems with page sizes larger than 32KB. (check-in: 6f3a5c24d2 user: dan tags: shm-mapping-fix)
2014-03-19
23:42
Merge the vdbesort.c optimization from trunk. (check-in: e4bfffb988 user: drh tags: orderby-planning)
23:24
Fix query planner weights associated with choosing block-sorting. Fix block sorting of tables with collating functions. Fix various test cases. All "veryquick" tests are now passing, though more tests need to be added. (check-in: 01afbf97c0 user: drh tags: orderby-planning)
20:01
Avoid some unnecessary calls to sqlite3VdbeRecordUnpack() that were being made when merging data from two or more temp files together in vdbesort.c (check-in: 707ea170b3 user: dan tags: trunk)
17:41
Make it possible for block-sort to use the OP_SorterOpen sorter in addition to a generic OP_OpenEphemeral. (check-in: 7ce2daafd3 user: drh tags: orderby-planning)
16:56
Fix a problem in the block-sort logic that can arise if the VDBE opcode array is resized while the block-sort logic is being coded. "make test" now runs to completion, though there are still 17 failures. (check-in: 62f3a22050 user: drh tags: orderby-planning)
15:17
Avoid reusing temporary registers in co-routines when doing block-sorting. (check-in: 463d921b51 user: drh tags: orderby-planning)
14:30
Make sure the where.c query planner never reports that the number of ORDER BY terms that are satisfied by indices is negative. (check-in: b186d8d15a user: drh tags: orderby-planning)
14:10
First attempt at getting block-sort to work. This is an incremental check-in. There are many problems still to be worked out. (check-in: 59742dd4c5 user: drh tags: orderby-planning)
2014-03-18
20:33
Make the partial-ORDER-BY information in the query planner available to the SELECT code generator. Still doesn't make a difference in the generated code. (check-in: e258df236b user: drh tags: orderby-planning)
18:59
Adjust the query planner to keep track of the number of ORDER BY terms satisfied. Still doesn't do anything with this information. Some tests fail after this check-in, but all failures are believed to be benign. The failures will be addressed at a later stage. (check-in: 59d49b7fc4 user: drh tags: orderby-planning)
15:30
Experiments with the optimization of ORDER BY and GROUP BY clauses. (check-in: b150902579 user: drh tags: orderby-planning)
2014-03-17
15:43
Add an experimental multi-threaded capability to vdbesorter.c. (check-in: ff0b5c851b user: dan tags: threads)
15:06
Clean up some obsolete "register" declarations in printf.c. (check-in: ecd9d3f945 user: drh tags: trunk)
14:24
Performance enhancements and size reduction for sqlite3VXPrintf() (check-in: eb071eb58c user: drh tags: trunk)
2014-03-14
11:46
Fix a harmless compiler warning that crops up with SQLITE_MAX_MMAP_SIZE=0. (check-in: 1277932b7e user: drh tags: trunk)
2014-03-13
15:41
Merge latest trunk changes into this branch. (check-in: d17231b63d user: dan tags: threads)
2014-03-12
19:38
Fix an obscure bug causing sqlite3_close() to fail if there are virtual tables on the disconnect list when it is called. (check-in: 6504aa47a8 user: dan tags: trunk)
19:20
Changes to FTS to ensure that it does not access the database from within the xConnect method. (check-in: c67a52c356 user: dan tags: trunk)
12:44
Prevent the rtree module from reading sqlite_stat1 data from the wrong database. (check-in: 7ce03c1b55 user: dan tags: trunk)
10:03
Bump the version number to 3.8.4.1., to conform with trunk. (check-in: 42c9d8fc5f user: drh tags: sessions)
2014-03-11
23:44
Remove a stray C99-style comment. (check-in: f500e87d6e user: drh tags: overflow-pgno-cache)
23:40
Combine the various boolean fields of the BtCursor object into a single bit-vector. This allows setting or clearing more than one boolean at a time and makes the overflow-pgno-cache branch faster than trunk on speedtest1. (check-in: 968fec44d7 user: drh tags: overflow-pgno-cache)
20:33
Enable the b-tree cursor object's overflow page-number cache, which is normally enabled only for incr-blob cursors, for all cursors. (check-in: da59198505 user: dan tags: overflow-pgno-cache)
15:27
Version 3.8.4.1 (check-in: 018d317b12 user: drh tags: trunk, release, version-3.8.4.1)
15:25
Update version number to 3.8.4.1 (check-in: 33f5694fa4 user: drh tags: trunk)
14:44
Forgot to change the VERSION file. (Closed-Leaf check-in: 04caffcef3 user: drh tags: mistake)
09:19
Add a test to see what happens if an rtree constructor encounters an SQLITE_BUSY error. No changes to code. (check-in: 5527e23636 user: dan tags: trunk)
01:48
Version 3.8.4 for sessions (plus two minor fixes). (check-in: 917c410808 user: drh tags: sessions)
2014-03-10
20:12
Adjustments to the cost computation for the skip-scan query plan, to take into account the fact that a seek has to occur on each skip. (check-in: 0769eebd02 user: drh tags: trunk)
18:03
Attempt to work around MSVC's treatment of __LINE__ as a non-constant value in "Edit and Continue" mode by avoiding the use of __LINE__ when SQLITE_VDBE_COVERAGE is not defined. (check-in: 0a5318bc27 user: drh tags: trunk)
12:20
Version 3.8.4 (check-in: 530a1ee7dc user: drh tags: trunk, release, version-3.8.4)
2014-03-08
19:07
Fix a bug causing "SELECT char()" to return SQLITE_NOMEM. (check-in: ba39df9d4f user: dan tags: trunk)
2014-03-07
14:57
Improved comment on the pager.c PERSIST rollback journal delete logic inside of hasHotJournal(). No changes to code. (check-in: e5b17a9d07 user: drh tags: trunk)
14:36
Merge the fix for the journal_mode=PERSIST error recovery delay bug. (check-in: bb6a75f4bb user: drh tags: sessions)
03:31
Revise change from the previous check-in to clarify the situation when handling open journal files, regardless of journal mode. (check-in: 1c318ef3b7 user: mistachkin tags: trunk)
02:29
Avoid calling sqlite3OsDelete() on a file that is open, since this causes Windows to run *very* slowly. Comes up on error recovery in journal_mode=PERSIST. (check-in: fdc651e2ec user: mistachkin tags: trunk)
2014-03-06
18:16
Do not run corruptH.test in mmap mode. (check-in: c0d54b4e41 user: dan tags: trunk)
15:01
Fix a harmless compiler warning in the sessions test harness. (check-in: d389e20ab0 user: drh tags: sessions)
14:53
Enhance the test harness for the sessions interface so that it does not use SQLite operations that can encounter an OOM error in places where it is unable to report an OOM error back up to the test script. (check-in: bc0e661033 user: drh tags: sessions)
13:48
Merge the latest 3.8.4 tweaks from trunk. (check-in: 1ed463d918 user: drh tags: sessions)
13:38
Improved EXPLAIN indentation of a loop in the ANALYZE logic for STAT4. Mark the not-found jump of a seek operation in that loop as never taken. (check-in: 0a4200f95c user: drh tags: trunk)
12:36
Remove a branch that is never taken from where.c. (check-in: 4a4997221f user: dan tags: trunk)
02:15
Cosmetic change to the shell in-memory database warning to skip coloring the trailing period. (check-in: c87d8e07ec user: mistachkin tags: trunk)
01:56
Fix some incorrect comments and typos in comments. Add testcase() macros to some of the new record comparison code. (check-in: b83cfe899d user: drh tags: trunk)
00:30
Better loadable extension handling in the Win32 VFS when compiled for Cygwin. (check-in: 29b0a4f158 user: mistachkin tags: trunk)
00:28
Better support for MinGW 4.x. (check-in: 170e058520 user: mistachkin tags: trunk)
2014-03-05
23:12
Merge compiler-warning fixes from trunk. (check-in: a1f2b04285 user: drh tags: sessions)
19:36
Always include the ctype.h header in the spellfix.c extension. (check-in: bfd75f471a user: drh tags: trunk)
19:13
Avoid running a couple of test cases that use realloc() extensively if SQLITE_MEMDEBUG is defined. (check-in: e406d4bb78 user: dan tags: trunk)
19:04
Fix a harmless compiler warning on MSVC. (check-in: 0723effc9c user: drh tags: trunk)
17:29
Add SQLITE_OMIT_CTE to the list of compile options that might be returned by "PRAGMA compile_options". (check-in: f33f2b3f92 user: dan tags: trunk)
16:15
Add tests to join.test to verify that it is not possible to use more than 64 tables in a join. (check-in: ef1a998625 user: dan tags: trunk)
15:52
Count the number of elements in a SrcList object using an "int" rather than a "u8", to avoid overflows and to work around an issue in the C compiler on AIX. (check-in: eee2a13f2c user: drh tags: trunk)
15:04
Add a test case for the problem fixed by [1d134ba2ed]. (check-in: d4fbc05df9 user: dan tags: trunk)
14:49
Merge in various obscure bug fixes and the removal of Mem.memType from trunk. (check-in: 0828975d58 user: drh tags: sessions)
14:40
When converting a result type from TEXT to BLOB using the sqlite3_value_blob() interface, continue to report SQLITE_TEXT as the true type from sqlite3_value_text() as long as that text is still valid. The maintains legacy behavior from before the noMemType change. (check-in: 1d134ba2ed user: drh tags: trunk)
12:47
Separate the column NULL value constant into a separate routine for greater commonality with the sessions branch. (check-in: 12cbebb997 user: drh tags: trunk)
11:48
Remove the redundant memType field from struct Mem. (check-in: 9e85285789 user: dan tags: trunk)
11:22
Do not run corruptI.test with the mmap permutation. (check-in: 378b290da8 user: dan tags: trunk)
01:29
Experimental simplification of memory flags/type handling. (Closed-Leaf check-in: bac2820e13 user: mistachkin tags: noMemType)
2014-03-04
21:19
Avoid indexing off the front end of an array when creating a view with two or more blank column names in the SELECT statement that defines the view. (check-in: 554501f158 user: drh tags: trunk)
21:00
Fix a problem with "DEFAULT (-(-9223372036854775808))" clauses in ALTER TABLE ... ADD COLUMN commands. (check-in: e072cb3ee2 user: dan tags: trunk)
18:06
Fix a potential memory use-after-free problem following an OOM error. (check-in: 767ccb1fa1 user: drh tags: trunk)
16:21
Fix an assert() so that it takes OOM errors into account. (check-in: 53f6ec792f user: drh tags: trunk)
16:05
Ensure that BtreeMovetoUnpacked() does not try to invoke xRecordCompare when it is set to NULL. (check-in: 2879234b7c user: dan tags: trunk)
14:34
Merge the performance enhancements of trunk (and some obscure bug fixes) into the sessions branch. (check-in: 7f51ad97f0 user: drh tags: sessions)
13:18
Improve clarity of presentation in the sqlite3VdbeMemFromBtree() routine. (check-in: 9830c343bc user: drh tags: trunk)
12:07
Fix comment in test. (check-in: 1e57f67b20 user: mistachkin tags: trunk)
11:54
Fix minor typos in the new test file. (check-in: 3cbb9b1b4f user: mistachkin tags: trunk)
11:35
Add tests to verify the fix for bug [4ef7e3cfca]. (check-in: 62410bb8a7 user: dan tags: trunk)
11:29
Fix name resolution problem in sub-selects within triggers, ticket [4ef7e3cfca]. (check-in: 5bcd0b1ca5 user: mistachkin tags: trunk)
11:16
Fix harmless compiler warning. (check-in: 8d18a803bd user: mistachkin tags: trunk)
04:12
Refactor the sqlite3VdbeRecordCompare() routine used to compare btree records. Create fast-track special case routines to handle the common cases more quickly. This gives a significant performance boost. (check-in: 3325ad5bdc user: drh tags: trunk)
04:04
Fix more instances of assuming 'char' is signed. And, make sure to never shift a signed integer. (Closed-Leaf check-in: f10130ede4 user: drh tags: broken-on-arm)
00:15
Do not assume that 'char' is signed. Make it explicit. (check-in: 979da752e6 user: drh tags: broken-on-arm)
2014-03-03
21:59
Refactor the sqlite3VdbeRecordCompare() routine used to compare btree records. Create a couple of fast-track routines to handle the common cases of a string with BINARY collation or integer values as the left-most column. This gives a significant performance boost in common use. Oops: This build does not work on the Beaglebone where "char" defaults to unsigned. (check-in: aec5473a75 user: drh tags: broken-on-arm)
21:46
Fix a couple of harmless compiler warnings. (Closed-Leaf check-in: fcf480cc63 user: drh tags: experimental)
20:48
Avoid a buffer overread in vdbeCompareRecordInt() that might occur if the database is corrupt. (check-in: 7c0b4381f0 user: dan tags: experimental)
19:29
Fix a typo in a comment. No changes to code. (check-in: 1f4991ab16 user: drh tags: experimental)
18:25
Fix compiler warnings. (check-in: ba8993727e user: drh tags: experimental)
17:48
Merge latest trunk changes. (check-in: 1d60356462 user: dan tags: experimental)
17:36
Change an OP_SCopy into an OP_Copy in a case where the destination might be used after the source has changed. (check-in: c0fa0c0e2d user: drh tags: trunk)
16:48
Change the "explain_i" tcl test command so that xterm color codes are only added if the output is actually a terminal. (check-in: 559835e54e user: dan tags: trunk)
15:13
Fix a harmless compiler warning. (check-in: d7f6837e69 user: drh tags: experimental)
14:45
Merge latest trunk changes. (check-in: e00ed717fb user: dan tags: experimental)
14:20
Fix a segfault that can occur following an OOM error. (check-in: 7fdd378d54 user: dan tags: trunk)
00:12
Change the MEM_Dyn flag so that it means that Mem.xDel exists and must be used to free the string or blob. Add tighter invariant checks on Mem. (check-in: e3f6c61e03 user: drh tags: trunk)
2014-03-01
19:45
Merge trunk changes. (check-in: 9c1747b5de user: dan tags: experimental)
19:44
Remove the vdbeRecordCompareLargeHeader function. Fix some other details. (check-in: 3861e85310 user: dan tags: experimental)
18:13
Change the MEM_Dyn flag so that it means that Mem.xDel exists and must be used to free the string or blob. Add tighter invariant checks on Mem. (Closed-Leaf check-in: 44e1c33767 user: drh tags: enhanced-mem-check)
16:24
Factor the Mem invariant checker into a separate procedure (rather than a macro) so that it can be more easily extended. (check-in: 354699d50e user: drh tags: enhanced-mem-check)
14:45
Add extra assert() statements trying to catch a Mem object in an inconsistent state. (check-in: 4aeb3ae435 user: drh tags: enhanced-mem-check)
2014-02-28
20:47
In the command-line shell add the (undocumented and unsupported) ".eqp" command and -eqp command-line option, to cause EXPLAIN QUERY PLAN to be run on each SQL statement as it is evaluated. Intended use is for analysis of the query planner. (check-in: e6ecf73376 user: drh tags: trunk)
19:37
Provide an #ifdef in shell.c to work around issues when cross-compiling from Ubuntu to windows. (check-in: 0a3579d9b9 user: drh tags: trunk)
18:39
Update some test cases that deal with corrupt databases. (check-in: 3a09f5605a user: dan tags: experimental)
09:48
Minor tweak to vdbeRecordCompareInt(). (check-in: 284bde0ee2 user: dan tags: experimental)
2014-02-27
20:52
Merge in latest trunk changes. (check-in: 8f30b09518 user: dan tags: experimental)
20:44
Further changes to sqlite3VdbeRecordCompare(). (check-in: 5708937400 user: dan tags: experimental)
15:11
A better way of handling the USE_SYSTEM_SQLITE #define in shell.c. (check-in: 51ce713c6e user: drh tags: trunk)
15:04
Add #defines to the command-line shell source code (shell.c) so that it can be imported directly into other projects (ex: Fossil) and used without editing. (check-in: a669040023 user: drh tags: trunk)
05:47
Merge updates from trunk. (check-in: ed0bfcfadc user: mistachkin tags: winIoRetry)
2014-02-26
21:35
More efficient removal of duplicates in recursive queries using the UNION compound operator. (check-in: 06c2db875e user: drh tags: trunk)
19:05
Only run the OP_OpenRead opcodes for a correlated subquery once, on the initial iteration. Keep the cursor open for subsequent runs. This was suppose to be a performance enhancement, but it is difficult to come up with a query where is makes a significant difference. Hence, the change is getting parked in a branch. (Leaf check-in: 3ad687b7aa user: drh tags: open-only-once)
13:53
In the command-line shell for CSV import, if the lines are \r\n terminated and the last field is blank, make sure an empty string and not a "\r" string is imported. (check-in: 9c2e7612cd user: drh tags: trunk)
02:26
Improved handling of constants and especially constant functions in the ORDER BY clause of a query. Do not optimize out "ORDER BY random()". Fix for ticket [65bdeb9739605cc2296]. (check-in: dca1945aeb user: drh tags: trunk)
2014-02-25
21:55
Do not allow temporary registers to be in use across an OP_Yield within a co-routine. Fix for ticket [8c63ff0eca81a9132d8]. (check-in: 97a8c9733c user: drh tags: trunk)
21:01
Attempt to speed up sqlite3VdbeRecordCompare() by various means. This code is in an interim state. (check-in: 85206e0bba user: dan tags: experimental)
19:38
Make sure temporary registers used within a co-routine are not also used outside of that co-routine, in order to prevent concurrent use of the same register for two different things. Ticket [8c63ff0eca81a9132d8] (Closed-Leaf check-in: cc5eda5422 user: drh tags: tkt-8c63ff0eca)
18:12
Also adjust the order of files in the amalgamation to ensure that _FILE_OFFSET_BITS is defined before any #include, for QNX. (check-in: 23001a85cd user: drh tags: trunk)
14:52
QNX requires that _FILE_OFFSET_BITS be set prior to any system #include. (check-in: 953cdd6ada user: drh tags: trunk)
2014-02-24
21:42
Fix several small style/consistency issues with the previous check-in. (check-in: 2477b3a294 user: mistachkin tags: trunk)
21:23
Merge updates from trunk. (Closed-Leaf check-in: 854d410ad3 user: mistachkin tags: cygDlOpen)
21:20
Enhance testing support for the Win32 VFS dynamic extension loading facilities. (check-in: 53081e7202 user: mistachkin tags: trunk)
19:49
Close some stray connections in walro.test. (check-in: d6746cabaa user: dan tags: trunk)
19:07
In memsys5, initialize new allocations to non-zero bytes. Change the content of freed allocations to prevent use after free. These changes in SQLITE_DEBUG only. (check-in: ba5f0a5599 user: drh tags: trunk)
14:24
Remove an unused variable from the VDBE_PROFILE compile-time option. Keep the opcode count in an u32 instead of an int. (check-in: 4df0ac9023 user: drh tags: trunk)
2014-02-21
10:48
Merge updates from trunk. (check-in: 09cf240a7f user: mistachkin tags: winHdr)
05:44
Better loadable extension handling in the Win32 VFS when compiled for Cygwin. (check-in: 6676475c47 user: mistachkin tags: cygDlOpen)
2014-02-20
19:42
Fix the text of a comment used to generate VDBE opcode documentation so that it omits symbols that can be mistaken for a hyperlink by the parser. (check-in: b46d4e8923 user: drh tags: trunk)
19:32
Fix a harmless shadowed-variable warning. (check-in: 824029090d user: drh tags: trunk)
19:23
Make sure that the difference between two string pointers is passed into sqlite3_mprintf() as type "int". (check-in: d5d973fedc user: drh tags: trunk)
2014-02-19
19:14
Add the VdbeCoverageNeverTaken() macro, and comments that better describe how the VDBE branch coverage measurement works. Add some tags to provide 100% VDBE branch coverage. (check-in: c1e94169dd user: drh tags: trunk)
14:20
Add the SQLITE_NOTNULL P5 code for comparison operations - really a composite of SQLITE_NULLEQ and SQLITE_JUMPIFNULL. This flag indicates that NULL operands are not possible and raises and assert() if NULL operands are seen. Also omit an unnecessary scan of the sqlite_sequence table when writing into an AUTOINCREMENT table. (check-in: d2c047f304 user: drh tags: trunk)
01:31
Make sure a multi-row VALUES clause works correctly in a compound SELECT. (check-in: 85b355cfb4 user: drh tags: trunk)
00:53
Tweaks in support of VDBE branch test coverage. (check-in: b978256469 user: drh tags: trunk)
2014-02-18
11:31
Fix VDBE branch accounting on comparison operators. (check-in: b287520c92 user: drh tags: trunk)
05:18
Enhance the Win32 VFS I/O retry logic. (check-in: adba783c70 user: mistachkin tags: winIoRetry)
03:07
Add VdbeCoverage() and VdbeCoverageIf() macros for improved VDBE coverage testing. (check-in: b92d31a97d user: drh tags: trunk)
01:07
Improvements to "NOT IN (SELECT ...)" processing. Only test for NULL values on the RHS on the first iteration, then remember the result. There has been logic to do this for year, but it didn't work right and ended up repeating the NULL test on every iteration. This inefficiency was found using the VDBE coverage testing tools. (check-in: 915f6f1c7a user: drh tags: trunk)
2014-02-17
23:52
Merge in performance enhancements for INSERT operations, especially INSERTs on tables that have no affinity columns or that have many indices or INSERTs with content coming from a SELECT. Add the SQLITE_TESTCTRL_VDBE_COVERAGE test control and the SQLITE_VDBE_COVERAGE compile-time option used for measure coverage of branches in VDBE programs. (check-in: a72687699b user: drh tags: trunk)
22:40
Add logic to do test coverage measurements on the VDBE code. (Closed-Leaf check-in: ce184c7bb1 user: drh tags: insert-optimization)
15:40
Add a test case for OP_SoftNull. (check-in: f29d194e03 user: drh tags: insert-optimization)
15:36
Merge the VDBE_PROFILE fixes from trunk. (check-in: 2914e41911 user: drh tags: insert-optimization)
14:59
Avoid unnecessary calls to applyAffinity() during INSERT and UPDATE operations, especially for table that have indices and tables for which all columns have affinity "NONE". (check-in: 35b4d6e938 user: drh tags: insert-optimization)
01:13
Fix the VDBE_PROFILE logic. Add a script to process the output file. (check-in: 7adb3da235 user: drh tags: trunk)
2014-02-16
19:20
Use the modern MinGW major version macro, not the deprecated one. (Closed-Leaf check-in: 057c16ee97 user: mistachkin tags: mingw4x)
01:55
Enhance the code generator for INSERT INTO ... SELECT so that the SELECT generates output directly in the registers that INSERT INTO will be using, in many cases, and OP_SCopy operations can thus be avoided. (check-in: aa2d8b0e81 user: drh tags: insert-optimization)
2014-02-14
23:49
Seek past NULLs in a top-constrained search. Avoid checking for NULLs in the body of the search. (check-in: e07a32f308 user: drh tags: trunk)
23:35
Better support for MinGW 4.x. (check-in: e147230767 user: mistachkin tags: mingw4x)
20:59
Reduce the number of cases where it is necessary to check for NULL after the loop terminating condition. (check-in: 3c1ae447de user: drh tags: trunk)
15:13
Add OP_IdxGT and OP_IdxLE as distinct opcodes. Formerly these operations where done using OP_IdxGE and OP_IdxLT with the P5 flag set. But VDBE code is easier to read with distinct opcode names. Also change OP_SeekGe to OP_SeekGE, and so forth, so that the capitalization is consistent. The whole point of this change is to improve the readability of VDBE listings. (check-in: b6bea903ac user: drh tags: trunk)
00:25
Revise how the Tcl system encoding is handled by the test suite. (check-in: 9e573198e1 user: mistachkin tags: trunk)
2014-02-13
21:57
Improvements to the makefile and README for MSVC. (check-in: b22b614068 user: mistachkin tags: trunk)
19:27
Ensure that if the "psow=0" URI option or FCNTL_POWERSAFE_OVERWRITE file-control is used to clear the power-safe overwrite flag, extra padding frames are added to the WAL file. (check-in: 48c821fd97 user: dan tags: trunk)
19:10
Change README to README.md and expand it. Remove unrelated and obsolete files. (check-in: 18d4e258c4 user: drh tags: trunk)
18:46
Avoid passing a flags argument with the internal WAL_SYNC_TRANSACTIONS bit set when calling sqlite3OsSync(). (check-in: e3b79e920c user: dan tags: trunk)
13:42
Update the tclconfig files to the latest from http://core.tcl.tk/tclconfig. (check-in: b81ba7a4bc user: drh tags: trunk)
2014-02-12
23:52
Minor simplifications to the "zeroPage()" routine in btree.c. (check-in: cc8f10bcb2 user: drh tags: trunk)
21:31
Remove the "rowid cache" that sought to remember the largest rowid for a table and thereby speed up OP_NewRowid. That cache was ineffective. Removing it results in a performance increase of 0.4%, less memory usage, and a slightly smaller library size. (check-in: 56bc5ce895 user: drh tags: trunk)
15:05
Various fixes and test case updates so that veryquick.test passes again. (Leaf check-in: f352ef57e3 user: dan tags: deferred-open)
14:43
Make sure "rowid" columns are correctly resolved in joins between normal tables and WITHOUT ROWID tables. Fix for ticket [c34d0557f740c45070]. (check-in: 5d01426ddf user: drh tags: trunk)
14:43
Merge latest trunk changes. (check-in: 4d7057c494 user: dan tags: deferred-open)
2014-02-11
19:35
Test case updates to account for the fact that database files are not created until they are first written. (check-in: 8ef97420b2 user: dan tags: deferred-open)
16:31
Sync with trunk. Bring in the command-line shell updates and the new 3.8.4 version number. (check-in: 2cd35ff651 user: drh tags: sessions)
16:24
Increase the version number to 3.8.4 (check-in: 0a8bcbbd4e user: drh tags: trunk)
16:22
Updates to the command-line shell. Simplify the banner message. Add the ".save" command as an alias for ".backup". When starting with no arguments, include a banner message warning that the database is transient and in-memory and mention the ".open" command. (check-in: f5ad1e1bf2 user: drh tags: trunk)
14:52
Version 3.8.3.1 (check-in: ea3317a480 user: drh tags: release, version-3.8.3.1, branch-3.8.3)
14:37
Fixes to the "editline" support in the command-line shell. (check-in: 7989ce5f10 user: drh tags: trunk)
05:26
Merge latest trunk changes. (check-in: 1f2e1b0c64 user: dan tags: deferred-open)
04:30
Sync the latest trunk changes, and in particular the STAT4 IS NOT NULL fix. (check-in: b006792695 user: drh tags: sessions)
03:55
Increase the version number to 3.8.3.1. (check-in: 3111df71b2 user: drh tags: branch-3.8.3)
03:50
Make sure that virtual WHERE-clause terms do not get transformed into real terms when processing set of OR-connected terms. Fix for ticket [4c86b126f22ad]. (check-in: de635e0960 user: drh tags: branch-3.8.3)
01:50
Make sure that virtual WHERE-clause terms do not get transformed into real terms when processing set of OR-connected terms. Fix for ticket [4c86b126f22ad]. (check-in: c950d6c411 user: drh tags: trunk)
2014-02-10
21:09
Fix a bug causing the POWERSAFE_OVERWRITE device-characteristic flag to be set incorrectly if file opening is deferred. (check-in: 95d0c58d27 user: dan tags: deferred-open)
21:07
Fix a pointless conditional. Add a test case. (check-in: 9367632dd7 user: drh tags: trunk)
19:59
Add the ".save" command as an alias for ".backup". Improvements to the way font changes are implemented on the in-memory database warning. (Closed-Leaf check-in: fe284afe73 user: drh tags: memdb-warning)
19:37
Experimental change to os_unix.c to delay creating a database file until it is first written. (check-in: 538f7b25e4 user: dan tags: deferred-open)
19:36
On unix, make the "transient in-memory database" text bold, but not red. Leave the text read on windows. (check-in: c9eba2f7be user: drh tags: memdb-warning)
19:27
In the command-line shell, on the banner, warn about the use of a transient in-memory database in bold red text. (check-in: 0fbc0fcec1 user: drh tags: memdb-warning)
18:56
Fix the compound-select-to-subquery converter so that it works with the new compound-select object linkage introduced as part of the fix for ticket [31a19d11b97088296]. (check-in: 572d4be4db user: drh tags: trunk)
16:13
Modify the command-line shell to print a warning when using an in-memory database. (check-in: 90e9deae4a user: drh tags: memdb-warning)
15:56
Improvements to a "Synopsis:" comment in the VDBE engine. (check-in: 0dfa7ee915 user: drh tags: trunk)
12:59
Faster implementation for sqlite3MulInt64(). (check-in: 010c48f671 user: drh tags: trunk)
03:21
Faster and smaller implementation of sqlite3_value_type(). (check-in: 5708bc24b8 user: drh tags: trunk)
2014-02-09
23:59
Add a compound-query test to the speedtest1 test program. (check-in: 5329957591 user: drh tags: trunk)
18:02
Use the WITH clause to help resolve names for SELECT statements on the left of a compound query. Proposed fix for ticket [31a19d11b97088296a]. (check-in: 67bfd59d90 user: drh tags: trunk)
00:52
Add the Mandelbrot Set testcase to the "cte" testset of speedtest1. (check-in: 56febbeb57 user: drh tags: trunk)
00:18
Add a new "testset" to the speedtest1 program: The sudoku solver. (check-in: 4677ef2f8a user: drh tags: trunk)
2014-02-08
23:20
Do away with the "multi-register pseudo-table" abstration. Instead, just use an OP_SCopy to load results directory from the result registers of the co-routine. (check-in: 1e64dd782a user: drh tags: trunk)
19:12
Change the OP_Found opcode so that it expands zero-blobs prior to comparing them. Fix for ticket [fccbde530a6583b] (check-in: e2303d1b0c user: drh tags: trunk)
13:24
Fix a harmless compiler warning in VS2013. (check-in: 83116ee3e0 user: drh tags: trunk)
13:22
Fix a harmless compiler warning in VS2013. (check-in: 35f2793db5 user: drh tags: branch-3.8.3)
13:12
Tweaks to the generated VDBE code to make it a little easier to follow. (check-in: 129217ee91 user: drh tags: trunk)
04:24
Enable constant expression factoring even if no tables are read and no transaction is started. (check-in: a45b87713c user: drh tags: trunk)
01:40
Change the OP_Trace opcode to OP_Init and give it the ability to jump to the initialization code at the bottom of the program, thus avoiding the need for an extra OP_Goto. (check-in: 192dea9731 user: drh tags: trunk)
2014-02-07
22:21
Add opcodes OP_InitCoroutine and OP_EndCoroutine. Use these to remove the need for separate boolean registers to record when a co-routine has finished. (check-in: 5a88b6a7ae user: drh tags: trunk)
19:33
Fix redundant definitions of _LARGE_FILE and _LARGEFILE_SOURCE. (check-in: 4043d87979 user: drh tags: trunk)
19:26
In the TCL bindings, make sure Tcl_AppendResult() is always terminated by "(char*)0" and not just "0". (check-in: ea4d23d1c0 user: drh tags: trunk)
19:18
Change the OP_InitCoroutine instruction to jump over the co-routine implementation. (Closed-Leaf check-in: a522f364a6 user: drh tags: coroutine-refactor)
18:27
Get rid of the OP_Undef and OP_IsUndef opcodes in favor of higher-level OP_InitCoroutine and OP_EndCoroutine. (check-in: 1ec0e9dd4b user: drh tags: coroutine-refactor)
13:20
Add the OP_Undef and OP_IsUndef opcodes. With these, use the first register in the result register range as the flag to indicate EOF on an INSERT from a SELECT, rather than allocating a separate boolean register for that task. (check-in: 6fb7448550 user: drh tags: coroutine-refactor)
03:28
More comment updates. No changes to code. (check-in: be24fbc221 user: mistachkin tags: trunk)
02:29
Update comments in vdbe.c. No changes to code. (check-in: 1122b410de user: drh tags: trunk)
2014-02-06
23:56
Delete the OP_VerifySchema opcode. Enhance OP_Transaction to do the schema version checks that OP_VerifySchema used to do. (check-in: 2f3376ebf1 user: drh tags: trunk)
14:59
Change more OP_OpenEphemeral operations to OP_OpenHash. (Leaf check-in: 881164cf6e user: drh tags: subquery-codegen-refactor)
13:18
Change the spellfix1 virtual table to deterministically names its shadow tables. (check-in: 5219cdfc56 user: drh tags: trunk)
03:31
Use OpenHash instead of OpenEphemeral for the RHS of IN operators if the result is not needed for sorting. (check-in: 715fac7749 user: drh tags: subquery-codegen-refactor)
02:46
Add additional error messages and a progress spinner to the ".clone" command. (check-in: dd0db3f0ce user: drh tags: trunk)
01:15
Rename the '.repair' shell command to '.clone'. (check-in: 4f9d95624a user: mistachkin tags: trunk)
00:49
Add the ".repair" command to the command-line shell. (check-in: d1dfadea87 user: drh tags: trunk)
2014-02-05
19:10
Separate out the code generators for the RHS of an IN operator and for SELECT/EXISTS expressions. (check-in: 61c34ba71b user: drh tags: subquery-codegen-refactor)
18:15
Use a new opcode, OP_OpenHash, to indicate that ephemeral tables can be unordered, rather than using the BTREE_UNORDERED bit in the P5 field. (check-in: 2997e18157 user: drh tags: subquery-codegen-refactor)
17:08
Make the root page of an ephemeral index be page 1 instead of page 2. (check-in: a332908b70 user: drh tags: subquery-codegen-refactor)
11:05
In the Win32 VFS, the winSysInfo variable should be static. (check-in: 4a4dd371a7 user: mistachkin tags: trunk)
2014-02-04
23:45
Do not mark the ephemeral tables used to hold the RHS of IN clauses as unordered because the NGQP will use those ephemeral tables to help order the output. This is not an issue for standard SQLite since ephemeral tables there are always ordered, regardless of the hint. It only affects systems that substitute an alternative storage engine. (check-in: f2504089df user: drh tags: trunk)
20:46
Remove the SF_Materialize flag from the SELECT object as it does not accomplish anything useful. (check-in: 65d5dcddbd user: drh tags: trunk)
15:55
Rearrange fields in the Parse object for a tighter packing, resulting in an 8% size reduction on x64. (check-in: 3e1a3f68d7 user: drh tags: trunk)
2014-02-03
17:04
Performance optimizations in sqlite3PcacheFetch(). (check-in: b60cc11ef7 user: drh tags: trunk)
14:04
Provide hints to the btree layer Next and Previous primitives to let them know if they can be no-ops if the underlying index is unique. (check-in: 6c643e45c2 user: drh tags: trunk)
13:58
Sync with version 3.8.3. (check-in: a704b65b94 user: drh tags: sessions)
13:52
Version 3.8.3 (check-in: e816dd9246 user: drh tags: trunk, release, version-3.8.3)
13:49
Minor change to TEA extension docs in an attempt to make links work correctly. (check-in: af3c775e5d user: drh tags: trunk)
2014-01-31
11:50
Update the "sqlite3.1" unix manpage document. (check-in: 21ce9e3a53 user: drh tags: trunk)
06:35
Minor change to TEA extension docs in an attempt to make links work correctly. (Closed-Leaf check-in: 492585c820 user: mistachkin tags: teaDoc)
2014-01-30
17:47
Update evidence marks on SELECT tests. Comment changes only. No changes to code or tests. (check-in: 1973d80e47 user: drh tags: trunk)
15:03
Fix requirements marks only. No changes to code or tests. (check-in: 4a34378b9b user: drh tags: trunk)
14:10
Update a requirement mark and add some additional test cases to cover the requirement associated with ORDER BY and LIMIT on compound SELECT statements. (check-in: 8560091e85 user: drh tags: trunk)
12:45
Enhance the MSVC makefile for better debugging symbol support. (check-in: c9bef0f29a user: mistachkin tags: trunk)
12:16
Do not run test script mmapfault.test as part of the "inmemory_journal" permutation test. (check-in: b222b61a98 user: dan tags: trunk)
11:12
Enhance the MSVC makefile for better debugging symbol support. (Closed-Leaf check-in: c723ec2784 user: mistachkin tags: msvcDebug)
2014-01-29
14:21
Merge latest fixes from the trunk. (check-in: 6b6dcd4cc7 user: dan tags: sessions)
01:46
Make sure that sqlite3SelectDup() initializes the nSelectRow of the duplicate Select object. (check-in: 5bb29b8210 user: drh tags: trunk)
2014-01-28
20:36
Fix harmless compiler warnings in the showdb utility program. (check-in: 27c27daa33 user: drh tags: trunk)
18:53
Fix a potential over-size and hence undefined shift operation. (check-in: 6379b07295 user: drh tags: trunk)
18:06
Bring in the latest updates from trunk. (check-in: 7b5f377386 user: drh tags: sessions)
17:49
Minor bugfix in main.c so that the library builds with SQLITE_OMIT_WSD defined. (check-in: 5e3b9ecc7b user: dan tags: trunk)
00:49
Provide hints to the btree layer Next and Previous primitives to let them know if they can be no-ops if the underlying index is unique. (Leaf check-in: a2c347faf9 user: drh tags: branch-3.8.2)
2014-01-27
16:35
Fix a couple of problems with new test scripts causing the permutations test to fail. (check-in: 48d736c0ee user: dan tags: trunk)
15:02
Update some requirements marks to conform with improvements in the documentation. (check-in: be1acb610f user: drh tags: trunk)
14:19
Fix a problem in pagerfault.test causing an assert() to fail. (check-in: ba8d2d507f user: dan tags: trunk)
13:58
Fix (harmless) duplicate variable declaration. (check-in: 94ed9bc420 user: drh tags: trunk)
08:48
Fix some problems in test scripts. No code changes. (check-in: 08acfc6587 user: dan tags: trunk)
2014-01-25
12:16
Fix a problem causing SQLITE_OMIT_COMPOUND_SELECT builds to fail. (check-in: b30db0ac30 user: dan tags: trunk)
2014-01-24
22:58
Fixes for various clang warnings. (check-in: 87bf60637e user: drh tags: trunk)
20:37
Select collation sequences for ORDER BY expressions attached to recursive CTEs in the same way as they are selected for other compound SELECT statements. (check-in: 9554519c12 user: dan tags: trunk)
17:03
Fix harmless compiler warnings in the Tcl interface. (check-in: 35bc81f5ad user: mistachkin tags: trunk)
16:57
Add test cases for LIMIT and ORDER BY on recursive CTEs. (check-in: 67d6c42d44 user: dan tags: trunk)
16:36
Use an unsigned integer to accumulate the string hash. Avoids compiler warnings. (check-in: b1824344ea user: drh tags: trunk)
15:42
Add a few more CTE test cases to closure.test. (check-in: 1b6405d978 user: drh tags: trunk)
14:37
Add test cases that compare the performance of the transitive_closure virtual table again common table expressions for walking a tree. (check-in: 9a23f020e8 user: drh tags: trunk)
14:05
Bring in all the latest trunk changes, including the Common Table Expressions implementation. (check-in: 9b43e55919 user: drh tags: sessions)
11:16
Add test cases showing the use of ORDER BY on a recursive query to control depth-first versus breath-first search of a tree. (check-in: 83b0b29165 user: drh tags: trunk)
2014-01-23
14:44
Modifications to test files to omit any tests that intentionally access out-of-bounds locations in clang -fsanitize=address builds. (check-in: f4a701d55f user: dan tags: trunk)
2014-01-22
19:23
Avoid an extra seek when inserting records into the epheremal index used to ensure that rows returned by UNION recursive queries are unique. (check-in: 72c4b3f07a user: dan tags: trunk)
18:31
Fix harmless compiler warnings. (check-in: dea2ca6a15 user: drh tags: trunk)
18:16
Change the WITH RECURSIVE implementation to use a queue instead of a pair of tables. Add support for ORDER BY, LIMIT, and OFFSET on recursive queries. (check-in: b6cea42006 user: drh tags: trunk)
18:07
Add support for LIMIT and OFFSET in a recursive query. (Closed-Leaf check-in: 1945484e6b user: drh tags: cte-via-queue)
17:43
Update the spellfix virtual table to optimize queries of the form "SELECT ... FROM tbl WHERE rowid=?". (check-in: a0ba55ff05 user: dan tags: trunk)
17:28
Get ORDER BY working for recursive queries. (check-in: 37b343b018 user: drh tags: cte-via-queue)
13:35
Add new SelectDest codes, SRT_Queue and SRT_DistQueue in anticipation of adding ORDER BY support on recursive queries. Factor out the recursive query code generator into a separate procedure. (check-in: 3eb5f9f8d6 user: drh tags: cte-via-queue)
10:22
Fix a typo in a comment. No changes to code or tests. (check-in: cceacc0e79 user: dan tags: cte-via-queue)
00:23
Remove an unnecessary parameter from selectInnerLoop(). Clean up comments. (check-in: 5e6c4a55f6 user: drh tags: cte-via-queue)
2014-01-21
22:25
Change the recursive common table expression algorithm to use a queue instead of a pair of tables. Runs about 25% faster on the sudoku solver query. The OP_SwapCursors opcode is no longer required. The current implementation uses just a fifo, but the plan is to change it into a queue that will support ORDER BY and LIMIT in a recursive query. (check-in: b2671e1133 user: drh tags: cte-via-queue)
15:04
Remove the undocumented requirement for applications that use an SQLITE_ENABLE_SQLLOG build to define a sqlite3_init_sqllog() function. (check-in: 5e43bf0132 user: dan tags: trunk)
01:13
Fix a couple comment typos and one overly long line. No functional changes. (Closed-Leaf check-in: c57deced09 user: mistachkin tags: level-pseudocolumn)
00:19
Add support for the LEVEL pseudo-column in the recursive part of a common table expression. LEVEL has the value of 1 on the first iteration and successively larger integer values of subsequent iterations. It cannot have a table qualifier. Actual columns named "level" can still be accessed by including the table name qualifier. (check-in: cc1cb32178 user: drh tags: level-pseudocolumn)
2014-01-20
19:55
In where.c, do not allocate space in sqlite3_index_info structures for the internal WHERE clause "terms" generated to record column equivalencies. Fix for ticket [1a1a194d1e5f8]. (check-in: 7d9e22187d user: dan tags: trunk)
18:25
Handle a few obscure problems that could manifest if a database corrupted in a certain way was written by a connection in the middle of a SELECT statement on the same db. (check-in: eba8a564e6 user: dan tags: trunk)
14:58
Remove an unused #define and add an assert(), both associated with WITH logic. (check-in: a06235e0f6 user: drh tags: trunk)
14:17
Do not run the tests in with2.test with SQLITE_OMIT_CTE builds. (check-in: 8a973912e9 user: dan tags: trunk)
2014-01-18
18:33
Add a sudoku solver to the recursive query tests in with1.test. (check-in: 679eff8759 user: drh tags: trunk)
15:59
Add extra test cases. No changes to code. (check-in: d38d485e58 user: dan tags: trunk)
15:22
Add asserts() for a couple of unreachable conditions. Add the Mandelbrot Set query as a test case. (check-in: 2ad4583c0c user: drh tags: trunk)
08:27
Avoid spurious "no such table" errors in statements of the form "INSERT INTO tbl WITH xxx AS (...) SELECT * FROM xxx". (check-in: cccff8a0b4 user: dan tags: trunk)
2014-01-17
20:36
Add extra tests to with2.test. (check-in: eecc325afd user: dan tags: trunk)
18:34
Minor simplification of error message text for a couple of errors associated with WITH clause processing. (check-in: 2031004d96 user: drh tags: trunk)
17:40
Resolve table names within CTEs in the context in which the CTE is declared, not the context in which it is used. (check-in: a7323838bb user: dan tags: trunk)
16:19
Add tests that verify that keywords WITH, WITHOUT, and RECURSIVE can still be used as table and column names. (check-in: 9ca18a0191 user: drh tags: trunk)
15:27
Fix a compiler warning in selectPopWith(). (check-in: c8eb11635a user: drh tags: trunk)
15:15
Add support for common table expressions (WITH clauses). (check-in: 0171e3bb4f user: dan tags: trunk)
14:59
Fix some problems to do with WITH clauses and name resolution. (Closed-Leaf check-in: 6a549187ed user: dan tags: common-table-expr)
11:48
Remove some code from resolve.c that was only required for recursive cte references in sub-queries. Also a stray "finish_test" command in pagerfault.test. (check-in: f68c6c4d36 user: dan tags: common-table-expr)
2014-01-16
22:40
Add the ability for the authorizer callback to disallow recursive queries. (check-in: 9efc120a15 user: drh tags: common-table-expr)
21:59
Tweaks to error message text. (check-in: 090a77d978 user: drh tags: common-table-expr)
21:02
Improve the error messages used to report illegal recursive cte references. (check-in: 54eee9fe99 user: dan tags: common-table-expr)
18:34
Allow only a single recursive reference in a recursive CTE. Also require that this reference is not part of a sub-query. (check-in: a296b73360 user: dan tags: common-table-expr)
15:31
Always use available indices to optimize LIKE operators even if the pattern of the LIKE operator has a COLLATE modifier. This fixes an ineffiency that was introduced into 3.7.15 by check-in [8542e6180d4] on 2012-12-08. (check-in: 16bd54783a user: drh tags: trunk)
10:58
Disable the flattening optimization if the parent query is the recursive part of a recursive CTE and the sub-query is a compound query. (check-in: 6bfa387e82 user: dan tags: common-table-expr)
04:37
Merge trunk changes. Fix a possible NULL-pointer deference in WITH clause name resolution. (check-in: 7f953b568b user: drh tags: common-table-expr)
2014-01-15
20:10
Remove an ALWAYS() that is no longer always true. (check-in: c95823cd45 user: drh tags: common-table-expr)
19:42
Fixes so that SQLITE_OMIT_CTE builds work. (check-in: 3908e2ea2e user: dan tags: common-table-expr)
18:35
Further comments on WITH-clause processing routines in select.c. (check-in: c948384dfd user: drh tags: common-table-expr)
18:23
Add a header comment to the searchWith() routine. (check-in: d9ae0f5d9f user: drh tags: common-table-expr)
18:21
Disable automatic indices on recursive CTE references. (check-in: 28aa6db8c8 user: dan tags: common-table-expr)
18:12
When resolving names, consider a reference to a recursive CTE column as equivalent to a reference to the outermost name-context. This ensures that correlated sub-queries are correctly identified as such. (check-in: 61be2da0ae user: dan tags: common-table-expr)
15:27
Return an error if a CTE specifies a different number of columns than its SELECT statement returns. (check-in: 9a514b50e4 user: dan tags: common-table-expr)
14:40
Don't try to verify the schema of transient table (such as generated inside a WITH clause) when generating code for "IN table" operators. (check-in: 860aa93663 user: drh tags: common-table-expr)
14:17
Disable the flattening optimization if the sub-query is a recursive CTE. (check-in: 9472f6d820 user: dan tags: common-table-expr)
02:40
Use the user-supplied table name in WITH RECURSIVE tables as the internal name of the table and the name of the table in VDBE comments. (check-in: a29330238b user: drh tags: common-table-expr)
00:24
Merge recent fixes from trunk. Cherrypick of [c43b59dac1], [a221aa82bb], [e1eba1fb09], and [1e131094b5]. (check-in: c697d2f83c user: mistachkin tags: branch-3.8.2)
2014-01-14
20:14
Add code to handle recursive CTEs. (check-in: a5c2a54a07 user: dan tags: common-table-expr)
10:17
Fix harmless compiler warning in LEMON. (check-in: f61a70589a user: mistachkin tags: trunk)
10:17
For the Win32 VFS, defining winShmMutexHeld should be controlled by NDEBUG, not SQLITE_DEBUG. (check-in: 1e131094b5 user: mistachkin tags: trunk)
2014-01-13
20:38
In the command-line shell, defend against a NULL-pointer dereference in the case where sqlite3_column_name() returns NULL (as might happen following an OOM error). (check-in: ac15455abc user: drh tags: trunk)
20:32
For statements of just an unadorned VALUES clause, assign column names as "columnN" for increasing whole numbers N. (check-in: 260587d272 user: drh tags: trunk)
16:36
Fix some memory leaks and crashes that could follow an OOM condition during WITH clause parsing. (check-in: 8839850c44 user: dan tags: common-table-expr)
15:12
Add code to handle non-recursive CTEs in the same way as SQL views. (check-in: a26f399ba4 user: dan tags: common-table-expr)
2014-01-11
19:19
Update the parser so that sub-queries and CTEs may have WITH clauses. (check-in: 704d3931b8 user: dan tags: common-table-expr)
13:22
Parse common table expressions. But do not do anything with them (yet). (check-in: da98b7205e user: drh tags: common-table-expr)
12:52
In LEMON, limit the size of the grammar file to 100MB. This ensures that the program will never experience integer overflow. To be doubly sure, use calloc() instead of malloc() when allocating arrays. (check-in: 29ba458d84 user: drh tags: trunk)
03:54
Optimizations to the SQL language grammar that result in a small size reduction and speed increase. (check-in: cb5d1f83e0 user: drh tags: trunk)
03:27
Add the "%token_class" directive to the LEMON parser generator. This opens up the possibility of simplifying the parser. Also remove all calls to sprintf(), strcpy(), and strcat() from LEMON to avoid compiler warnings on OpenBSD. (Aside: It is this change to avoid harmless compiler warnings that was the cause of the reason spat of bugs.) (check-in: 8eb48c04bd user: drh tags: trunk)
03:13
Add the "%token_class" directive to the LEMON parser generator. This opens up the possibility of simplifying the parser. Also remove all calls to sprintf(), strcpy(), and strcat() from LEMON to avoid compiler warnings on OpenBSD. (Closed-Leaf check-in: 4e4483b2d4 user: drh tags: buggy-lemon)
03:06
In LEMON, fix a bug in the text formatter introduced by the previous commit. Also add the new "%token_class" directive for defining symbolic names that stand any one of a collection of tokens. (Closed-Leaf check-in: da7890ca6b user: drh tags: lemon-updates)
2014-01-10
23:21
Do not use sprintf(), strcpy() or strcat() in the implementation of the lemon parser generator tool, to avoid compiler warnings in OpenBSD. (check-in: e43c522dde user: drh tags: lemon-updates)
20:51
Remove unused structure definition from parse.y. (check-in: 7f1e7ae313 user: drh tags: trunk)
20:46
Allow a VALUES clause to be used any place that a SELECT statement can be used. (check-in: c9ea7d199f user: drh tags: trunk)
20:38
Fix CREATE TABLE ... AS so that it works with column names that are empty strings. (check-in: 632045f21c user: drh tags: trunk)
16:40
Fix another harmless compiler warning in unixUnfetch(). (check-in: 0484549bb8 user: dan tags: trunk)
2014-01-09
13:39
Fix harmless compiler warning in unixUnfetch(). (check-in: 618f248f4e user: drh tags: trunk)
2014-01-06
18:32
Start a new experimental branch for support of Oracle-style CONNECT BY syntax. (Closed-Leaf check-in: 4365ddd62d user: drh tags: connect-by)
2014-01-04
20:00
Fix an typo that breaks the build when SQLITE_ENABLE_TREE_EXPLAIN is defined. (check-in: f461e2b397 user: drh tags: trunk)
19:58
Add the usual "fts3" prefix to new static method setEstimatedRows() in fts3.c. This fixes a problem when compiling the amalgamation, as the r-tree module also contains a static method named setEstimatedRows. (check-in: d6fcfc8890 user: dan tags: trunk)
19:27
Avoid redundant register loads during index key generation when doing a DELETE or INTEGRITY_CHECK on a table with multiple indices. (check-in: 8f6e6149a1 user: drh tags: trunk)
16:49
Omit OP_Close operations that occur immediately prior to OP_Halt and which cannot be jumped over. (check-in: 874b7e9999 user: drh tags: trunk)
15:17
Improvements to the column-cache for nested AND/OR operators. (check-in: 4e725f5313 user: drh tags: trunk)
14:46
Have FTS assign extremely high costs to plans that feature unusable MATCH constraints. This discourages the planner from choosing such plans, which lead to "unable to use function MATCH in the requested context" errors. (check-in: fa8be488a3 user: dan tags: trunk)
14:42
Instead of having the planner ignore plans with unusable MATCH constraints, have FTS assign extremely high costs to such plans in order to discourage the planner from using them. (Closed-Leaf check-in: 24f84b3813 user: dan tags: avoid-unusable-match)
14:16
Have the planner detect cases where a MATCH constraint is applied to a virtual table, and ignore any plans that do not allow the virtual table implementation to implement the MATCH filtering. (check-in: 19f3208b26 user: dan tags: avoid-unusable-match)
2014-01-03
16:03
Avoid some unnecessary OP_SCopy operations when inserting into a table with multiple indices. (check-in: 429018b19c user: drh tags: trunk)
2014-01-02
21:05
Try to factor constant subcomponents of the WHERE clause out of the loop. (check-in: 9d05777fe2 user: drh tags: trunk)
19:35
Avoid unnecessary affinity transformations when building indices using data from a table. (check-in: 10d851353c user: drh tags: trunk)
17:57
Be more aggressive in optimizing constant conditional expressions. (check-in: b7e39851a7 user: drh tags: trunk)
2014-01-01
15:18
Try to detect process ID changes due to fork() calls in os_unix.c and reset the PRNG when a process ID change is detected. (check-in: e1eba1fb09 user: drh tags: trunk)
14:00
Enhance sqlite3_randomness(N,P) such that it resets the internal PRNG if N is less than 1. Subsequent calls to sqlite3_randomness() will reinitialize the internal PRNG by calling the xRandomness() method of the default VFS. (check-in: a221aa82bb user: drh tags: trunk)
2013-12-24
12:09
Merge the latest trunk changes into the sessions branch. (check-in: cfd110bf5d user: drh tags: sessions)
12:04
Add -I. to the main.mk makefile for building sqlite3.o and speedtest1. (check-in: cc72c5aec7 user: drh tags: trunk)
2013-12-23
19:09
Move elements of the Vdbe object that are only used during statement preparation out into the Parse object. (check-in: c289a253c0 user: drh tags: trunk)
15:35
Make sure the WhereLoop.aLTerm[] array is large enough when processing the skip-scan optimization. Fix for ticket [520070ec7fbaac]. (check-in: ac5852d640 user: drh tags: branch-3.8.2)
11:33
Remove a stray tab character. (check-in: 25b8a1c9ba user: drh tags: trunk)
2013-12-22
22:45
Remove a condition that is always in the logic that handles reading default values for columns. (check-in: 895af097e7 user: drh tags: trunk)
20:44
Make sure the WhereLoop.aLTerm[] array is large enough when processing the skip-scan optimization. Fix for ticket [520070ec7fbaac]. (check-in: 46d040591f user: drh tags: trunk)
2013-12-21
17:14
Fix speedtest1.c so that in --explain mode it only outputs non-explain text for DDL statements. (check-in: 2d2b3c4951 user: drh tags: trunk)
17:07
Avoid compiler warnings by only enabling sqlite3ErrName() when SQLITE_TEST is defined. (check-in: 862228e505 user: drh tags: trunk)
16:06
Fix harmless compiler warnings in FTS4. This involved corrupting Martin Porter's beautifully written and elegant stemmer code, making it a little less beautiful and a little less elegant. Today is a sad day. But the warnings from GCC grow increasingly verbose and irksome with each new release and so something had to be done. (check-in: df05679838 user: drh tags: trunk)
15:46
Fix the ".echo on" dot-command of the shell so that it echos comments in addition to SQL statements and dot-commands. Add the --explain option to speedtest1 so that the output can be piped into the command-line shell to show nicely-formated VDBE code for the entire test. (check-in: 96397263f9 user: drh tags: trunk)
00:04
Add a case to speedtest1.c that demonstrates the need to factor OP_Column operators out of inner loops. (check-in: 69a17336fd user: drh tags: trunk)
2013-12-20
18:57
Fix compiler harmless warnings in tclsqlite.c that appeared with GCC 4.8.x. (check-in: d93ae6833a user: drh tags: trunk)
18:44
Code simplification in sqlite3GenerateIndexKey() by making use of a subroutine found over in expr.c. (check-in: 0026d33553 user: drh tags: trunk)
15:59
Combine adjacent single-register OP_Copy instructions into a single multi-register OP_Copy, where possible. Fix the Synopsis comment for multi-register OP_Copy instructions to show the correct register ranges. (check-in: 2ae22dc0cb user: drh tags: trunk)
14:48
Allow any arbitrary expression as the filename in an ATTACH statement, including functions and subqueries. (check-in: df70a1f303 user: drh tags: trunk)
13:11
Simplify the accumulator reset for aggregate query processing so that it uses a single multi-register OP_Null rather than a separate OP_Null for each register. (check-in: 2c7fd9b043 user: drh tags: trunk)
2013-12-19
17:04
Do not inject OOM faults into SQLITE_FCNTL_COMMIT_PHASE_TWO file-control invocations. It causes problems for test scripts. (check-in: 8eb28d23e3 user: dan tags: trunk)
16:26
Make sure errors encountered while initializing extensions such as FTS4 get reported out from sqlite3_open(). This fixes a bug introduced by check-in [9d347f547e7ba9]. Also remove lots of forgotten "breakpoint" commands left in test scripts over the years. (check-in: ca3fdfd419 user: drh tags: trunk)
14:34
Remove an unneeded column-cache flush in aggregate SELECT and an unreachable branch in the INSERT logic. (check-in: ffa092e13b user: drh tags: trunk)
02:56
Omit an unnecessary OP_Null opcode from UPDATE. (check-in: 72d111336c user: drh tags: trunk)
02:23
Omit one or more pointless instructions that occur in between OP_NoConflict and OP_Halt. (check-in: 61e2f3575c user: drh tags: trunk)
2013-12-18
18:44
Remove an unnecessary column-cache flush operation. Add code to trace the column cache when compiled with SQLITE_DEBUG and using PRAGMA vdbe_addoptrace=ON. (check-in: 58704ed1f4 user: drh tags: trunk)
16:27
Remove an unnecessary column-cache flush. Add another test case to the speedtest1.c program to accentuate the benefit of not flushing the cache at that point. (Closed-Leaf check-in: 97fdfc6b79 user: drh tags: column-cache-debug)
15:11
Show changes to the column cache when PRAGMA vdbe_addoptrace=ON is set. (check-in: 4c6a659c43 user: drh tags: column-cache-debug)
2013-12-17
16:32
Add evidence marks and additional test cases for the printf() SQL function. (check-in: 93121d3097 user: drh tags: trunk)
16:10
Add the printf() SQL function. (check-in: a1bb62f91a user: drh tags: trunk)
15:58
Fix the formatting of %c in the printf() SQL function. (Closed-Leaf check-in: 3375571a5e user: drh tags: printf-sql-function)
15:03
Add the printf() SQL function. (check-in: 6db7052eee user: drh tags: printf-sql-function)
2013-12-14
18:24
Merge in all recent preformance enhancements from trunk. (check-in: 32477642d7 user: drh tags: sessions)
13:44
Allow the SQLITE_DETERMINISTIC flag to be ORed into the preferred text encoding of application-defined functions, to mark the function as deterministic. (check-in: 5716fc2341 user: drh tags: trunk)
2013-12-13
20:45
Performance optimizations in the pager_write() routine of pager.c. (check-in: bc5febef92 user: drh tags: trunk)
19:48
Reduce the number of calls to the subjRequiresPage() routine inside of pager. (check-in: e50ff39a93 user: drh tags: trunk)
19:35
Create and use a new pager interface sqlite3PagerUnrefNotNull() that works just like sqlite3PagerUnref() but guarantees that its argument is not a NULL pointer. (check-in: e00f37e233 user: drh tags: trunk)
18:50
Enhance the pcache1PinPage() routine so that it called much less often and runs much faster in the cases when it is actually called. (check-in: a845779cd3 user: drh tags: trunk)
16:42
Avoid unnecessary calls to sqlite3_free() from within sqlite3VXPrintf(). (check-in: e2a8b280e8 user: drh tags: trunk)
16:23
Simplication and optimization of error message handling. (check-in: 9d347f547e user: drh tags: trunk)
2013-12-11
15:47
Add the SQLITE_FCNTL_SYNC and SQLITE_FCNTL_COMMIT_PHASETWO file-controls and have the pager call them at appropriate times. This is needed in order to enable ZIPVFS to do multi-file atomic commits. (check-in: 552f94d50f user: drh tags: trunk)
14:17
Merge in the latest trunk changes. (Closed-Leaf check-in: 9ff4dfe1e3 user: drh tags: zipvfs-multifile-commit)
14:00
Fix a bug in the shell ".import" command: Do not end the field when an escaped double-quote occurs at the end of a CRNL line. (check-in: 5e239ecda0 user: drh tags: trunk)
12:02
Remove an unreachable conditional inserted by the previous check-in. (check-in: 3e1d55f0bd user: drh tags: trunk)
11:03
Have the crash-test infrastructure code in test6.c read and write the 512-byte block containing the pending-byte lock as normal. Earlier versions did not access this part of the file in order to avoid triggering an assert in os_unix.c. But the assert() has since been removed. And not reading/writing this part of the file causes problems for multiplexor tests. (check-in: fdc3f3fa3d user: dan tags: zipvfs-multifile-commit)
11:00
Fix harmless compiler warnings. (check-in: a7e5fcd666 user: drh tags: trunk)
02:21
Fix harmless compiler warning. (check-in: 2525296d91 user: mistachkin tags: trunk)
00:59
Do not run the tool/vdbe-compress.tcl script that generates the vdbeExecUnion object that reduces the size of the sqlite3VdbeExec() stack frame unless the SQLITE_SMALL_STACK compile-time option is specified as on of the OPTS in the makefile. The vdbeExecUnion object gets in the way of C-compiler optimizer and results in slightly slower code. (check-in: 4d0781473a user: drh tags: trunk)
2013-12-10
21:38
Avoid unnecessary calls to sqlite3VdbeSerialType() from within sqlite3VdbeSerialPut(). (check-in: 079c04a501 user: drh tags: trunk)
20:53
In the OP_MakeRecord opcode, factor out affinity changes into separate loop, for a slight performance advantage. (check-in: 1c6ee9b85f user: drh tags: trunk)
19:49
Simplify and improve the performance of the sqlite3VdbeMemGrow() routine. (check-in: 48ecf18774 user: drh tags: trunk)
17:34
Use SQLITE_FCNTL_SYNC instead of SQLITE_FCNTL_SYNC_OMITTED. Add documentation in for FCNTL_SYNC and FCNTL_COMMIT_PHASETWO. (check-in: 46231af985 user: dan tags: zipvfs-multifile-commit)
16:35
Merge changes from the trunk. (check-in: 3ee736a39d user: dan tags: zipvfs-multifile-commit)
16:27
Fix handling of errors returned by the SQLITE_FCNTL_OMIT_SYNCED file-control. (check-in: d9a5f44f4a user: dan tags: zipvfs-multifile-commit)
2013-12-09
23:17
Simplifications to the OP_MakeRecord opcode and the sqlite3VdbeSerialPut() helper function. (check-in: 7277a76969 user: drh tags: trunk)
21:48
Correct the VFS name as reported by the file control when explicitly using the 'win32-longpath' VFS. (check-in: c43b59dac1 user: mistachkin tags: trunk)
21:06
Reduce the number of times that OP_Column calls sqlite3VdbeMemMakeWriteable(). (check-in: 6b51863553 user: drh tags: trunk)
20:43
Simplify the sqlite3BtreeKeyFetch() and sqlite3BtreeDataFetch() interfaces to the storage engine. (check-in: bf97598592 user: drh tags: trunk)
20:42
Modify the way some internal file-controls are invoked. In order to support multi-file transactions in the zipvfs extension. (check-in: 32fb1784af user: dan tags: zipvfs-multifile-commit)
19:25
Minor performance optimizations in pager.c. (check-in: ba9eef5f52 user: drh tags: trunk)
19:03
Performance optimizations for sqlite3VXPrintf(). (check-in: 9227ad48e1 user: drh tags: trunk)
12:24
Fix an incorrect test number in the output of the speedtest1.c program. No changes to the test algorithms. (check-in: fbfc075a5a user: drh tags: trunk)
03:07
Avoid unnecessary (no-op) calls to sqlite3DbFree() from sqlite3VdbeMemRelease(). (check-in: 2d6dd7c2eb user: drh tags: trunk)
02:32
Use memmove() rather than a home-made copy loop in insertCell() too. (check-in: a3d796b167 user: drh tags: trunk)
01:58
Use memmove() rather than a home-made copy loop in dropCell() of btree.c, for a size reduction and performance improvement. (check-in: 78e1706804 user: drh tags: trunk)
01:04
Avoid unnecessary no-op calls from getAndInitPage() to btreeInitPage() in the btree.c logic. (check-in: 81f5ae13b2 user: drh tags: trunk)
00:47
Use putVarint32() instead of putVarint() for a quantity that can never exceed 2GiB - 1. (check-in: 6996fb3444 user: drh tags: trunk)
2013-12-08
23:33
Another simplification to the OP_MakeRecord opcode, making it slightly faster and very slightly smaller. (check-in: f2f5a3ce9d user: drh tags: trunk)
22:59
Avoid unnecessary calls to sqlite3VarintLen() from the OP_MakeRecord opcode. (check-in: 7a234fc3c5 user: drh tags: trunk)
19:54
Interchange two conditions in an "if" statment in sqlite3PagerAcquire() for very slight (0.06%) overall performance increase. (check-in: fbcc1a3ebb user: drh tags: trunk)
2013-12-07
23:35
Do not allow cursor hints to use expressions containing subqueries. This change fixes the problem seen in the previous check-in. (check-in: bfefc57554 user: drh tags: cursor-hints)
20:39
If the SQLITE_ENABLE_CURSOR_HINTS macro is defined, then invoke the sqlite3BtreeCursorHint() interface to provide hints to the storage engine about rows that need not be returned. Hints can be disabled using SQLITE_TESTCTRL_OPTIMIZATIONS with SQLITE_CursorHints (0x2000). Cursor hints are not used by the built-in storage engine of SQLite but might be useful to applications that provide their own storage engine. The current code is work-in-progrss and contains bugs. (check-in: 3a9bec524e user: drh tags: cursor-hints)
17:01
Increase the version number to 3.8.3. (check-in: 23d00f2287 user: drh tags: trunk)
16:56
At the start of each journaled write transaction, check to see if the database file has been moved, and if it has refuse to start the transaction, returning an SQLITE_READONLY_DBMOVED error code. Writing to a moved or renamed database is still allowed when journal_mode is OFF or MEMORY. (check-in: 369a23e006 user: drh tags: trunk)
16:45
Back out the new device capability. The determination of whether or not a file has moved is now done strictly using a file-control. (Closed-Leaf check-in: 9c59f5af7a user: drh tags: detect-moved-db)
12:29
Actually look at i-node numbers to determine whether or not the database file has moved. (check-in: 2b1884dc14 user: drh tags: detect-moved-db)
2013-12-06
23:25
Performance optimization to the moveToRoot() subroutine in btree.c. (check-in: b5842a70f8 user: drh tags: trunk)
22:45
Use memcmp() instead of the BINARY collating function where possible, for a performance boost. (check-in: c5a3a1af3c user: drh tags: trunk)
22:44
Remove some commented-out code from sqlite3BtreeMovetoUnpacked() to try to make it more readable. (check-in: 2d62d1131f user: drh tags: trunk)
19:58
Add the SQLITE_READONLY_DBMOVED error code to the sqlite3ErrName() function. (check-in: 7789f801d7 user: mistachkin tags: detect-moved-db)
17:23
Only error out on a database file move when attempting to start a write transaction. Assume read transactions are still safe. And make the error SQLITE_READONLY_DBMOVED instead of SQLITE_IOERR_NODB. (check-in: 28348f2ada user: drh tags: detect-moved-db)
15:49
Update to the 3.8.2 release. (check-in: e579661a79 user: drh tags: sessions)
15:37
Add code to detect if the database file is moved or deleted out from under SQLite and return an SQLITE_IOERR_NODB. (check-in: 8759a8e4d8 user: drh tags: detect-moved-db)
14:53
Version 3.8.2 (check-in: 27392118af user: dan tags: trunk, release, version-3.8.2)
2013-12-05
17:12
Fix harmless compiler warnings and improve the MSVC makefile. (check-in: c632567063 user: drh tags: trunk)
16:41
Fix two potential (and apparently harmless) shift overflows discovered by the -fcatch-undefined-behavior option of clang. (check-in: e19eead8c9 user: drh tags: trunk)
2013-12-03
23:33
Make use of the CC nmake macro even when cross-compiling (with MSVC). (Closed-Leaf check-in: aae7b30ebd user: mistachkin tags: memTests)
22:33
Fix harmless compiler warnings. (check-in: a12d214ecc user: mistachkin tags: memTests)
22:32
Add memory subsystem related defines to the compile-time options list. (check-in: 52a44146dd user: mistachkin tags: memTests)
20:51
Merge in trunk changes. (check-in: a2914d6b17 user: drh tags: sessions)
19:49
Remove a branch in STAT4 logic that is no longer reachable after the previous change. (check-in: eca7d3f161 user: drh tags: trunk)
19:16
Fix a possible (and probably harmless) uninitialized variable in STAT3/4. (check-in: 33ad4f9147 user: drh tags: trunk)
18:26
Fix an alignment problem in the stat3/stat4 code affecting 32-bit platforms. (check-in: 14f9bc7901 user: dan tags: trunk)
17:09
Fix a typo in fts3varint.test preventing the valgrind permutation test from running. (check-in: b654a4ec72 user: dan tags: trunk)
10:35
Modify test file conflict2.test so that it works with the "inmemory_journal" permutation. (check-in: e4164fd8f7 user: dan tags: trunk)
10:14
Remove an unnecessary branch from the UPDATE logic - one that was also unreachable except following an OOM on x64. (check-in: 72f9727714 user: drh tags: trunk)
09:49
Add a "database_may_be_corrupt" directive to test file fuzz3.test. Reformat an assert() statement in vdbeaux.c to make its intent clearer. (check-in: 9d8a0e1321 user: dan tags: trunk)
02:52
Change some unreachable test conditions to NEVER(). (check-in: 7d99858bec user: drh tags: trunk)
00:11
Fix a harmless compiler warning on MacOS. (check-in: 74328de1d7 user: drh tags: trunk)
2013-12-02
21:58
Merge all recent 3.8.2 beta changes from trunk. (check-in: 67c34ccfa9 user: drh tags: sessions)
21:25
Another #if SQLITE_VERSION_NUMBER macro in speedtest1.c for compatibility with older versions of SQLite. (check-in: bc8eacc7f7 user: drh tags: trunk)
01:24
Still more #if SQLITE_VERSION_NUMBER macros in test/speedtest1.c to enable compilation against older versions of SQLite. (check-in: 4b20cf4206 user: drh tags: trunk)
2013-12-01
18:10
Add some #if SQLITE_VERSION_NUMBER macros to test/speedtest1.c in order to make it compatible with older versions of SQLite so that it can be used for historical speed comparisons. (check-in: a9e1627ae7 user: drh tags: trunk)
01:18
Fix typos in the header comment on the sqlite3Atoi64() routine. (check-in: c85e0c546e user: drh tags: trunk)
2013-11-30
12:49
Detect a corrupt UnpackedRecord and return SQLITE_CORRUPT prior to calling sqlite3BtreeMovetoUnpacked(). (check-in: 55ec474db8 user: drh tags: trunk)
2013-11-29
15:39
Change the name of the CORRUPTIBLE macro to CORRUPT_DB. (check-in: f865be10e8 user: drh tags: trunk)
15:06
Add a new sqlite3_test_control() that indicates that database files are always well-formed. Use this during testing to enable assert() statements that prove conditions that are always true for well-formed databases. (check-in: 15e4f63d1f user: drh tags: trunk)
2013-11-28
19:28
Update a few test cases to account for the new error message formats. (check-in: 65a5bce3ff user: dan tags: trunk)
14:14
Remove an assert() condition that may not be true if the database file is corrupt. Update a test case in corruptC.test. (check-in: 0bcf75516f user: dan tags: trunk)
06:17
Fix a test case in temptrigger.test so that it works in auto-vacuum mode. (check-in: c3b7a0e61f user: dan tags: trunk)
2013-11-27
21:53
Merge all recent trunk changes. (check-in: 3a2a1bd478 user: drh tags: sessions)
21:07
Remove unnecessary local variables from sqlite3VdbeExec() in order to reduce stack-space requirements of that routine. (check-in: 81891288d9 user: drh tags: trunk)
19:17
Update documentation of sqlite3_column() for clarity. Update evidence marks on test cases. (check-in: ec2d47a1db user: drh tags: trunk)
18:00
Fix spelling typo in speedtest1.exe. (check-in: ae90300e8e user: mistachkin tags: trunk)
14:50
Fix some harmless compiler warnings in speedtest1.exe. (check-in: c75f561f33 user: drh tags: trunk)
13:48
Additional test cases for skip-scan. (check-in: ce70803f5e user: drh tags: trunk)
13:24
Make sure the colWidth array is correctly initialized in the ".explain" command of the shell. (check-in: ceebcdcaf1 user: drh tags: trunk)
04:22
Lower the threshold for using skip-scan from 50 to 18, based on experiments that show that 18 is the approximate break-even point for a variety of schemas. (check-in: 83c0bb9913 user: drh tags: trunk)
04:00
Avoid using the GetVersionEx functions if they are considered deprecated. (check-in: afdca29966 user: mistachkin tags: trunk)
03:01
Avoid using the GetVersionEx functions if they are considered deprecated. (Closed-Leaf check-in: 0ea9e4722b user: mistachkin tags: vs2013)
01:23
Add additional test cases for skip-scan. (check-in: 1ae4915d4d user: drh tags: trunk)
00:45
Add additional test cases and requirements evidence marks for WITHOUT ROWID. (check-in: b408d78810 user: drh tags: trunk)
2013-11-26
23:27
Make sure the update hook is not invoked for WITHOUT ROWID tables, as the documentation specifies. This bug was found while adding requirements marks, so a few extraneous requirements marks are included in this check-in. (check-in: 0978bac6b8 user: drh tags: trunk)
22:46
Add requirements test cases for determining when an expression is true and when it is false. (check-in: 838654e563 user: drh tags: trunk)
21:18
Changing the CAST behavior of REAL values actually changed a documented requirement. So we also have to change the requirement evidence text to match. (check-in: d84aa44e39 user: drh tags: trunk)
18:22
Reduce the amount of code used to implement OP_SeekGe and similar. (check-in: 8b12a15a2a user: dan tags: trunk)
18:00
Merge in performance enhancements from trunk. (check-in: fc9ae83956 user: drh tags: sessions)
16:51
Fix a possible NULL pointer deference in the wordcount test program. (check-in: 6f91dca0de user: drh tags: trunk)
16:48
Change tclsqlite3.c so that it never invokes ctype macros with signed character arguments. (check-in: c07caabf23 user: drh tags: trunk)
16:20
Do not try to run the atof1.test test script on ARM hardware which lacks the "long double" type. (check-in: fafca560f2 user: drh tags: trunk)
15:45
Change the REAL-to-INTEGER casting behavior so that if the REAL value is greater than 9223372036854775807.0 then it is cast to the latest possible integer, 9223372036854775807. This is sensible and the way most platforms work in hardware. The former behavior was that oversize REALs would be cast to the smallest possible integer, -9223372036854775808, which is the way Intel hardware works. (check-in: 6f53fc7106 user: drh tags: trunk)
01:13
Fix comment. (check-in: 8364af392d user: mistachkin tags: winHdr)
01:00
Further work on Windows header file reform. (check-in: 540f552516 user: mistachkin tags: winHdr)
00:33
Merge updates from trunk. (check-in: c5ab437875 user: mistachkin tags: winHdr)
00:28
Better support for UTF-8 paths on Cygwin. (check-in: 9954327c0f user: mistachkin tags: trunk)
2013-11-25
23:42
Add SQLITE_CONFIG_WIN32_HEAPSIZE option to configure the maximum isolated heap size on Windows. (check-in: 914e6c9d88 user: mistachkin tags: trunk)
22:24
Change a while-loop into a do-loop in sqlite3VdbeRecordCompare() and add an assert() to verify that the do-loop really is appropriate. This gives about a 10% performance boost in that routine, or a 0.9% boost overall. (check-in: 011a6be439 user: drh tags: trunk)
21:49
Clarify docs for the SQLITE_CONFIG_WIN32_HEAPSIZE option. (Closed-Leaf check-in: 51e876074a user: mistachkin tags: winHeapSize)
21:41
Remove a NEVER() from a branch that is now reachable during OOM faults. (check-in: 18bdcb05c2 user: drh tags: trunk)
20:50
Optimizations to the sqlite3BtreeMovetoUnpacked() routine in storage engine making it about 17.8% faster, which in turn makes SQLite over 1.2% faster overall. (check-in: 032e89934f user: drh tags: trunk)
20:14
Return an SQLITE_CORRUPT error if the content size field of a table record extends off the end of a page. (Closed-Leaf check-in: b48c4e4021 user: drh tags: btree-optimization)
17:38
Uses shifts rather than division for arithmetic on the cell indices, since those indices are always non-negative. (check-in: 5bf2a3feeb user: drh tags: btree-optimization)
16:52
Optimize the skipping of the payload size field when doing a binary search for a rowid. (check-in: 55e5bfa231 user: drh tags: btree-optimization)
16:23
Arrange for sqlite3BtreeMovetoUnpacked() to always leave the cursor cell parse cache invalidated. This fixes issues with previous check-ins on this branch and also runs faster. (check-in: a74675607f user: drh tags: btree-optimization)
15:01
More optimizations to sqlite3BtreeMovetoUnpacked(). But there are failures in TH3. Committing this intermediate state to facilitate bisecting. (check-in: f80497be44 user: drh tags: btree-optimization)
14:10
More improvements to sqlite3BtreeMovetoUnpacked() performance. (check-in: 8868069823 user: drh tags: btree-optimization)
09:37
Correct line-endings in the new header file. (check-in: 94219b9f1f user: mistachkin tags: winHdr)
09:36
Initial work on isolating usage of the Windows header file. (check-in: 0d42c6b830 user: mistachkin tags: winHdr)
02:38
Performance improvements in sqlite3BtreeMovetoUnpacked(). (check-in: d0fb7acea7 user: drh tags: btree-optimization)
2013-11-24
23:18
Better support for UTF-8 paths on Cygwin. (Closed-Leaf check-in: 484162b6e5 user: mistachkin tags: cygUtf8)
01:14
Add the --scratch parameter to speedtest1. Improved error messages when misconfiguring memory parameters in speedtest1. (check-in: 8f3c767a30 user: drh tags: trunk)
00:46
The MEMSYS5 algorithm does not have to return the block with the lowest address. Any block of the appropriate size will do. Use the first block found on the freelist for the appropriate size for a performance improvement. (check-in: 12e612e8e7 user: drh tags: trunk)
2013-11-23
22:45
A much simpler fix is to simply change MEMSYS5 so that it takes any free block of the appropriate size (the first on the list of free blocks) rather than searching for the one with the smallest address. This is also faster than using the min-heap algorithm. Need to research to verify that the allocator still satisfies the Robson proof, however. (Closed-Leaf check-in: 8191b51212 user: drh tags: memsys5-performance)
21:30
Use a heap-based primary queue rather than a linked list to store the available free blocks of each size in MEMSYS5, since this provides faster access to the first available block. (Closed-Leaf check-in: 7d2cdfad0e user: drh tags: memsys5-performance)
21:29
Add newlines at the end of some error messages in speedtest1. (check-in: 6b98f0af7a user: drh tags: trunk)
11:45
Report errors from sqlite3_exec() and sqlite3_config() in speedtest1. Fix a bug in the main testing logic that was found by these error reports. (check-in: 659f1a98ae user: drh tags: trunk)
04:32
Fix the order of parameters to SQLITE_CONFIG_PAGECACHE in the speedtest1.exe program. (check-in: dbe85ef6d2 user: drh tags: trunk)
04:22
Adjust MSVC makefile to avoid using forward slashes in file names. (check-in: facf6deaa6 user: mistachkin tags: trunk)
04:16
Add the "speedtest1.exe" test program. (check-in: fb6f0c6d77 user: drh tags: trunk)
00:27
Add experimental sqlite3_config option to control the native Win32 heap size. (check-in: f09f11e94b user: mistachkin tags: winHeapSize)
2013-11-22
21:32
Fix harmless compiler warning. (check-in: f336c18fb7 user: mistachkin tags: trunk)
00:49
Minor correction to the batch build tool for MSVC. (check-in: 22144c9df2 user: mistachkin tags: trunk)
2013-11-21
23:37
Fix a harmless clang warning in the command-line shell. (check-in: 3d47a556f0 user: drh tags: trunk)
22:02
Slight change to the --timer output on wordcount for better display on windows: Avoid showing the full pathname of the executable. (check-in: b9e047b9e3 user: drh tags: trunk)
21:59
Changes some offset and amount parameters from "int" to "u32" to avoid harmless signed/unsigned comparison warnings. (check-in: 4e8c5d0795 user: drh tags: trunk)
21:40
Modify wordcount so that timer information appears on standard error instead of standard output. Rename the run-wordcount.bash script to run-wordcount.sh and simplify it so that it stands a better chance of running on non-GNU systems. (check-in: 586c11ed7c user: drh tags: trunk)
21:23
Do not reuse factored constants that might have had their encodings changed. (check-in: 487f20366c user: drh tags: trunk)
20:48
Fix the code generator to honor turning off constant expression factoring. (check-in: 882622662d user: drh tags: trunk)
19:27
Add the --timer option to the wordcount test program. (check-in: a89fdf8755 user: drh tags: trunk)
19:05
Remove a test from sqlite3VdbeMemFromBtree() which was unnecessary, and after the recent OP_Column refactoring, unreachable. (check-in: 23667f3ba0 user: drh tags: trunk)
17:24
Make sure the OP_Next and OP_NextIfOpen opcodes are numbered close together for efficiency in switch() statements. OP_Prev and OP_PrevIfOpen too. (check-in: d4ccf0f5c6 user: drh tags: trunk)
16:08
When one or more arguments to a function are constants, try to factor out just those arguments into initialization code. (check-in: 50d350abbc user: drh tags: trunk)
14:44
Remove the obsolete TK_CONST_FUNC token type. (check-in: 9b4217f055 user: drh tags: trunk)
14:33
Add the ability to factor constant functions out of inner loops. But do not factor out non-constant functions, like random(). (check-in: 1b0f779e19 user: drh tags: trunk)
04:18
Another improvement to OP_Function and an improvement to OP_Move. (check-in: 70b056fb6f user: drh tags: trunk)
03:43
A simple change to the OP_Function opcode improves overall performance by about 0.5%. (check-in: b890eefd57 user: drh tags: trunk)
03:12
Performance optimization to the OP_Next and OP_Prev opcodes. (check-in: ecaac28a2e user: drh tags: trunk)
01:33
Refactor the OP_Column opcode to make it clearer and easier to maintain. Overall, performance tests show about a 1% speed increase with this change. (check-in: 972881c6d3 user: drh tags: trunk)
01:04
Reduce the size of VdbeCursor again, this time without a performance hit. (Closed-Leaf check-in: 933939932c user: drh tags: OP_Column-refactor)
00:10
Unpack some fields, adding some space back to the VdbeCursor object, in order to help the code to run a little faster. (check-in: f8d5efcd7b user: drh tags: OP_Column-refactor)
2013-11-20
21:51
Reduce the size of the VdbeCursor object from 144 to 120 bytes. (check-in: 5f9d506885 user: drh tags: OP_Column-refactor)
20:58
Improved comments on the OP_Column changes. Optimize out loading of overflow pages for content with zero length. Add test cases for the latter. (check-in: 0e05679db7 user: drh tags: OP_Column-refactor)
19:28
Further performance tweaks to OP_Column. (check-in: 0e3f5df695 user: drh tags: OP_Column-refactor)
17:25
Refactoring the OP_Column opcode for improved performance and maintainability. (check-in: 7c914e3997 user: drh tags: OP_Column-refactor)
02:53
Simplifications to the VdbeCursor object. (check-in: 5562cd343d user: drh tags: trunk)
00:59
Performance improvement for the OP_MustBeInt opcode in the VDBE. (check-in: 96a65388e7 user: drh tags: trunk)
2013-11-19
18:17
Fix a harmless MSVC compiler warning. (check-in: 6cc023bb29 user: drh tags: trunk)
13:55
Minor performance improvement to sqlite3SerialTypeGet(). (check-in: 17e8524fc0 user: drh tags: trunk)
12:33
Change Noop-comments in where.c into Module-comments, so that they are omitting without SQLITE_ENABLE_MODULE_COMMENTS. (check-in: 3e577f4018 user: drh tags: trunk)
02:34
Avoid seeking on the main data table during the first loop of an UPDATE if an index is sufficient to check the WHERE clause. (check-in: 57158d9daf user: drh tags: trunk)
00:31
Fix an requirement mark in a test script so that it matches the typo-corrected requirement. No changes to code. (check-in: 072412d5e3 user: drh tags: trunk)
2013-11-18
19:32
Add comments identifing where the skip-scan option is decided in the query planner, to aid in tuning that decision. No changes to code. (check-in: e9df04cec4 user: drh tags: trunk)
18:48
Fix documentation typos. No changes to code. (check-in: 7caeb09c52 user: drh tags: trunk)
11:20
Fix harmless compiler warnings from clang scan-build. (check-in: 8d002740bf user: drh tags: trunk)
08:41
Fix a problem with the shell tool EXPLAIN indentation code and VDBE sub-programs. (check-in: 9c8d685625 user: dan tags: trunk)
03:11
Enable the ONEPASS optimization for DELETE, for both rowid and WITHOUT ROWID tables. (check-in: 44a07afdd9 user: drh tags: trunk)
2013-11-17
02:42
Make sure one-pass DELETE for WITHOUT ROWID tables correctly positions the PRIMARY KEY cursor. Make the same fix for UPDATE. (Closed-Leaf check-in: 6bd5750b7d user: drh tags: optimize-delete)
2013-11-16
23:16
Fix a couple of minor problems with the new delete logic. (check-in: a11243f840 user: drh tags: optimize-delete)
23:03
Fix an OOM-recovery problem in the DELETE code generator. (check-in: dc7be158b8 user: drh tags: optimize-delete)
22:48
Combine the rowid and WITHOUT ROWID paths for DELETE into a single path. (check-in: c4734b881a user: drh tags: optimize-delete)
20:45
The one-pass optimization is now working for DELETE on WITHOUT ROWID tables. (check-in: e4d220a381 user: drh tags: optimize-delete)
20:13
Enhance the DELETE logic so that it can make use of WHERE_ONEPASS_DESIRED for rowid tables. (check-in: 8f479a7275 user: drh tags: optimize-delete)
15:35
Fully constraint the ORDER BY on the top-10 line of the --summary output from the wordcount test program. Add the run-wordcount.bash script for running wordcount in various configurations. (check-in: 7edf39eb93 user: drh tags: trunk)
14:03
Avoid unnecessary OP_IfNull checks when doing a range query where there is a constraint on the lower bound of the range. (check-in: de08a7e7ab user: drh tags: trunk)
13:55
Simplification and performance improvement to the logic that factors constant expressions ouf of inner loops. (check-in: ee9353fdf3 user: drh tags: trunk)
12:56
Fix testcase misc7-16 so that it works with the new UNIQUE constraint error message format. (check-in: c7f2ed9f44 user: drh tags: trunk)
2013-11-15
20:06
Add ALWAYS and NEVER macros to currently unreachable but important branches in sqlite3ExprCompare(). (Closed-Leaf check-in: cee835fe90 user: drh tags: expr-codegen-enhancement)
19:00
Merge the operator comment fixes from trunk. (check-in: 9f14f55c8a user: drh tags: expr-codegen-enhancement)
18:58
Fix comments on the OP_Divide and OP_Remainder operators, especially the "Synopsis:" comment, so that they agree with the actual implementation. (check-in: cc17f1f05f user: drh tags: trunk)
18:15
Changes to make the new constant expression factoring logic more general and more testable. (check-in: d10fb49a92 user: drh tags: expr-codegen-enhancement)
16:48
Add test cases for INSERT INTO ... DEFAULT VALUES on tables with numeric constants in CHECK constraints. (check-in: 79ec485b54 user: drh tags: expr-codegen-enhancement)
15:52
Improvements to the Expr comparison routine to make it more general. Improvements to unary-minus code generation so that it can make use of a global constant register with a zero value. (check-in: 835be656bb user: drh tags: expr-codegen-enhancement)
13:12
Add the --query option to the wordcount test program. (check-in: 5960d11eba user: drh tags: trunk)
12:41
Simplify the range scan code generate while also avoiding an unnecessary OP_Affinity opcode. (check-in: 372686bfbb user: drh tags: expr-codegen-enhancement)
03:30
Merge EXPLAIN fixes from trunk. (check-in: cd579727b1 user: drh tags: expr-codegen-enhancement)
03:21
Fix a typo in the "synopsis" for the OP_Lt opcode that causes an incorrect comment to be added to EXPLAIN output. (check-in: d99a30a25d user: drh tags: trunk)
03:16
Another adjustment to the EXPLAIN indentation logic, in order to deal with the sorter loop on a CREATE INDEX statement. (check-in: cbe85cc2a9 user: drh tags: trunk)
01:10
Rework the logic that factors constant expressions out of inner loops, making it both simpler and faster. (check-in: 8dc5c76c76 user: drh tags: expr-codegen-enhancement)
2013-11-14
23:59
Adjust the command-line shell EXPLAIN indentation logic to handle the second loop of an UPDATE that reads out a RowSet. (check-in: ea141a9b87 user: drh tags: trunk)
19:34
Remove an unused local variable. (check-in: 10d5922638 user: drh tags: trunk)
19:18
Merge the skip-scan optimization into the sessions branch. (check-in: 7596d1bf80 user: drh tags: sessions)
15:35
An experimental virtual tables for showing the content of internal schema objects. (Leaf check-in: d1fbc6ca18 user: drh tags: schema2-vtab)
00:09
Simplification to the progress callback check. One branch removed. (check-in: 24ef16548e user: drh tags: trunk)
2013-11-13
23:48
Make sure the progress callback is invoked prior to an SQLITE_ROW return if it is overdue to be called. (check-in: 21f59b04f7 user: drh tags: trunk)
20:46
Merge the skip-scan enhancement into trunk. (check-in: b0bb975c09 user: drh tags: trunk)
19:01
Import the "PRAGMA vdbe_eqp" enhancement and the enhanced EXPLAIN formatting the shell from trunk. Fix a bug in skip-scan and add a test case to prevent a regression. (Closed-Leaf check-in: f668616a29 user: drh tags: skip-scan)
18:35
In the shell tool, if an "EXPLAIN" command is executed in ".explain on" mode, attempt to automatically indent the bodies of loops in the output VDBE program. (check-in: e7d34ec681 user: dan tags: trunk)
17:58
Add the "PRAGMA vdbe_eqp" command, only available with SQLITE_DEBUG. Simplify some of the other debugging logic. (check-in: 8ce33f4c81 user: drh tags: trunk)
17:24
Add VDBE comments to the beginning and end of skip-scan loops. (check-in: 0c85d93b52 user: drh tags: skip-scan)
16:58
Improve the way that skip-scan loops are constructued. Add test cases. Improved the scoring of skip-scan loops. (check-in: 5e75ab9388 user: drh tags: skip-scan)
15:32
Add test cases for skip-scan. Enhance "do_test" so that if the expected result is of the form "/*..*/" or "~/*..*/" it treats the expected result as a glob pattern rather than as a regular expression. Fix a bug in ANALYZE result loading associated with WITHOUT ROWID tables. (check-in: d3e6e9b2a7 user: drh tags: skip-scan)
12:27
Add the ability to use an index even if the left-most columns of the index are unconstrainted, provided that the left-most columns have few distinct values. (check-in: 27dd5993d1 user: drh tags: skip-scan)
08:55
Avoid an unnecessary OP_IfNull while doing an indexed search. (check-in: 5196000930 user: drh tags: trunk)
2013-11-12
21:37
Adjust the SQLITE_MALLOCSIZE defines, primarily to make sure _msize gets used with MSVC when appropriate. (check-in: 4e7e805e11 user: mistachkin tags: trunk)
21:10
Fix harmless compiler warning. (check-in: ddacd10105 user: mistachkin tags: trunk)
20:18
Minor enhancements to the auxiliary information added to EXPLAIN output with SQLITE_EXPLAIN_ENABLE_COMMENTS. (check-in: 0d1328e33c user: drh tags: trunk)
18:37
Break out the structure and macro definitions of where.c into a separate header file whereInt.h for easier editing and debugging. (check-in: c444671246 user: drh tags: trunk)
17:46
When possible, have FTS use 32-bit operations to read varints from the database. (check-in: aa7ba302ed user: dan tags: trunk)
15:39
Import recent bug fixes from trunk. (check-in: 20eeee4cd3 user: drh tags: sessions)
15:33
A better (simpler) fix to the count(*) problem addressed in the previous check-in. (check-in: 0f924c6ef6 user: drh tags: trunk)
14:55
Make sure the count(*) optimization works correctly on WITHOUT ROWID tables. (check-in: 9117477978 user: drh tags: trunk)
12:30
Update test command [explain_i] to handle the opcodes used by virtual tables (VNext, VFilter etc.). (check-in: 1b215ee321 user: dan tags: trunk)
12:17
Fix for [4065ac8595]: Do not order CROSS or LEFT joins, even if the right-hand-side is a virtual table. (check-in: e2684ece45 user: dan tags: trunk)
01:11
Fix an error message in the spellfix extension so that it conforms to the style of error messages in the core. (check-in: b896ae3d27 user: drh tags: trunk)
2013-11-11
23:26
Add a comment to the sqlite3_index_info structure indicating that the new field is only available in SQLite 3.8.2 or later. (check-in: 239648f8cc user: drh tags: trunk)
23:02
Fix two test cases (due to changes in the formatting of constraint errors) so that all tests now pass. (check-in: 129e2b6917 user: drh tags: sessions)
22:55
Merge in the WITHOUT ROWID changes. A few tests are failing now. They will be fixed in a follow-on check-in. (check-in: 5addd1234d user: drh tags: sessions)
19:56
Fix typos in compile and run-time tests of the sqlite library version number in rtree.c. (check-in: f58d570171 user: dan tags: trunk)
19:01
Add a way for virtual tables to return the expected number of rows for a scan (not just the overall cost) to SQLite. Have the rtree module make use of this. (check-in: 5a3cfd747a user: dan tags: trunk)
16:55
Remove unreachable code, replacing it in most cases with assert() or NEVER() macros. (check-in: 924d63b283 user: drh tags: trunk)
03:37
Fix issue with several memory allocation tests due to KeyInfo allocations now being shared. (check-in: 569fedd6bb user: mistachkin tags: trunk)
03:24
Convert several ALWAYS() macros in vdbe.c into assert() statements. (check-in: acc40ff6b4 user: drh tags: trunk)
02:46
Fix several harmless compiler warnings. (check-in: e6ff492f0d user: mistachkin tags: trunk)
01:42
Modify a HeapValidate assert in the Win32 native allocator. (check-in: aaed7d1d3b user: mistachkin tags: trunk)
00:43
Fix a problem in OP_IdxDelete as used by REPLACE conflict resolution that comes up due to recent enhancements that reduce the work required for UNIQUE NOT NULL indices. (check-in: 61d7d4753f user: drh tags: trunk)
2013-11-10
00:03
Fix typo in comment and remove superfluous blank line. No changes to code. (check-in: 023233f16e user: mistachkin tags: trunk)
2013-11-09
23:55
Fix compilation errors with some compilers that do not reference recent Windows SDK header files. (check-in: a5805976f0 user: mistachkin tags: trunk)
23:44
Fix memory type mismatch when compiled with MEMDEBUG. (check-in: 2c32bd6d4d user: mistachkin tags: trunk)
22:08
Add the sqlite3_win32_compact_heap() function for cleaning up memory allocations on Win32 system. Also cleanup the winGetTempname() function. Changes to the Win32 VFS only. (check-in: d06d9fdb6e user: drh tags: trunk)
21:19
Updates to documentation on sqlite3_last_insert_rowid(). No changes to code. (check-in: a4c5804efc user: drh tags: trunk)
21:11
Use the UNICODE_STRING_MAX_CHARS constant from WinNT.h. (Closed-Leaf check-in: 3fefe4dd43 user: mistachkin tags: win32heap)
21:10
Furhter cleanup of the winGetTempname function. (check-in: 674de36bca user: mistachkin tags: win32heap)
19:47
Updates to requirements marks. No changes to code. (check-in: 8a0366285b user: drh tags: trunk)
18:15
Throw an error if AUTOINCREMENT appears in a WITHOUT ROWID table. Updates to API documentation to discuss WITHOUT ROWID. (check-in: b1abb2b078 user: drh tags: trunk)
2013-11-08
20:10
Add more assert() statements and fix compilation issues when the Win32 native heap is not enabled. (check-in: fbf8c38283 user: mistachkin tags: win32heap)
19:51
Disable use of HeapCompact on Windows CE as it is not available on all versions. (check-in: e9694b8771 user: mistachkin tags: win32heap)
18:52
Adjust the winMemInit return code handling used when resetting the Win32 native heap. (check-in: 37853665e7 user: mistachkin tags: win32heap)
18:37
Minor corrections to logging for sqlite3_win32_compact_heap(). (check-in: 71347d021b user: mistachkin tags: win32heap)
18:13
Enhancements to the Win32 native heap integration. (check-in: c54dc9672b user: mistachkin tags: win32heap)
17:13
Fix harmless compiler warnings. (check-in: 0077c0772a user: drh tags: trunk)
17:03
Merge the Cygwin directory separator fix. Also fix a C++-ism in the multiplexor code so that it will compile on MSVC. (check-in: 830629d31d user: drh tags: trunk)
16:54
Performance improvement: Avoid unnecessary seeks on REPLACE INTO for a WITHOUT ROWID table. (check-in: fd11afa5f5 user: drh tags: trunk)
15:19
Performance improvements: Avoid unnecessary seeks when doing a single-row UPDATE on a WITHOUT ROWID table. (check-in: 6f187a0fb1 user: drh tags: trunk)
12:14
Merge change to drop the mutex on the multiplexor before entering the xRead VFS call, in order to enhance parallelizability. (check-in: 3c566e41e4 user: drh tags: trunk)
01:09
Optimize out a NotExists/NotFound opcode that occurs in UPDATE processing after constraint checks if there is no possiblity that the constraint checking code might have moved the cursor. (check-in: 74e3ee2ee6 user: drh tags: trunk)
00:16
On the --summary output of wordcount, add the a PRAGMA integrity_check and a 64-bit checksum of the entire table. (check-in: 1d1d13b890 user: drh tags: trunk)
2013-11-07
23:23
Add many new options to the wordcount test program: --delete, --pagesize, --cachesize, --commit, --nosync, and --journal. (check-in: e938112d31 user: drh tags: trunk)
22:11
Fix temporary directory separator handling for Cygwin. (Closed-Leaf check-in: 9d870d5f0d user: mistachkin tags: cygDirSep)
21:32
Fix a compiler warning introduced by the previous check-in. (check-in: 404bd98fb4 user: drh tags: trunk)
21:25
Enable the WHERE_ONEPASS_DESIRED optimization for UPDATE operations on WITHOUT ROWID tables. (check-in: 2153079855 user: drh tags: trunk)
19:43
Add the --stats and --summary options to the wordcount.c test program. (check-in: 8aa21e6791 user: drh tags: trunk)
18:40
Increase the version number to 3.8.2. (check-in: 9ad5b74c26 user: drh tags: trunk)
18:37
Add the "wordcount.c" test program. (check-in: f02ee54630 user: drh tags: trunk)
16:08
Add support for WITHOUT ROWID tables. This change also includes (1) standardization of the error message returned from run-time constraint errors, (2) improved EXPLAIN comments, (3) the SQLITE_ENABLE_EXPLAIN_COMMENTS option, (4) the SQLITE_ENABLE_MODULE_COMMENTS option, and (5) a bug fix (see [573cc27427]) in the handling of REPLACE on the rowid when secondary indices use FAIL or IGNORE. (check-in: c80e229dd9 user: drh tags: trunk)
14:09
Make sure cached KeyInfo objects are only valid for a single database connection. Clear all cached KeyInfo objects on any collating sequence change. (Closed-Leaf check-in: 55eea1782a user: drh tags: omit-rowid)
2013-11-06
19:59
Reference count the KeyInfo object. Cache a copy of an appropriate KeyInfo for each index in the Index object, and reuse that one copy as much as possible. (check-in: defd5205a7 user: drh tags: omit-rowid)
16:28
Have the OP_NoConflict opcode set the VdbeCursor.seekResult variable. This speeds up subsequent OP_Insert and OP_IdxInsert opcodes. (check-in: 474555002d user: dan tags: omit-rowid)
14:52
Use ansi escape codes to use different colored text for opcode names in the output of [explain_i]: Red for opcodes that insert or delete b-tree elements, blue for opcodes that move cursors and green for the ResultRow opcode. (check-in: 4be2b64b3e user: dan tags: omit-rowid)
14:36
Allocate extra stack space for UnpackedRecord objects, reducing the need to malloc for them as often, and thereby get a performance improvement. (check-in: a725a75f87 user: drh tags: omit-rowid)
14:05
Minor optimization to the OP_Halt opcode. (check-in: d70c78814b user: drh tags: omit-rowid)
12:56
Improved ORDER BY optimization for WITHOUT ROWID tables. (check-in: 8f1709ff2d user: drh tags: omit-rowid)
12:05
Disable the OR optimization for WITHOUT ROWID tables, since it relies on the use of rowids. (check-in: 6055dad2ba user: drh tags: omit-rowid)
11:46
Remove an incorrect test case from conflict2.test. (check-in: 427612efc1 user: drh tags: omit-rowid)
02:36
Remove an unused variable. (check-in: e9c1e419b7 user: drh tags: omit-rowid)
2013-11-05
22:39
Make sure the query planner knows that the PRIMARY KEY index of a WITHOUT ROWID table is always a covering index. (check-in: 03e7019e14 user: drh tags: omit-rowid)
19:41
Fix conflict handling for the case when the rowid uses REPLACE but other unique constraints use FAIL or IGNORE. (check-in: 573cc27427 user: drh tags: omit-rowid)
17:30
Fix a bug in secondary index initialization when the secondary index is a superset of the PRIMARY KEY for a WITHOUT ROWID table. (check-in: 52a3d88519 user: drh tags: omit-rowid)
16:56
Remove an "explain" command from test script without_rowid1.test that was accidentally committed. (check-in: 4b41d989e8 user: dan tags: omit-rowid)
16:39
Unless the destination table is completely empty, disable the xfer optimization for WITHOUT ROWID tables. (check-in: 3877c9f505 user: dan tags: omit-rowid)
15:02
Updates to the backcompat.test test script so that it works with really old (3.6.*) versions. (check-in: ace7e7b642 user: dan tags: omit-rowid)
14:19
Add tests for updates of without-rowid tables that use non-BINARY collation sequences for the primary key columns. And a minor bugfix to the same. (check-in: 99b1fa4b16 user: dan tags: omit-rowid)
13:33
Standardize the error messages generated by constraint failures to a format of "$TYPE constraint failed: $DETAIL". This involves many changes to the expected output of test cases. (check-in: 54b2219297 user: drh tags: omit-rowid)
01:59
Add the conflict2.test script. Fix issues discovered by this script. (check-in: 294ed33756 user: drh tags: omit-rowid)
2013-11-04
22:04
Add the index7.test script for testing partial indices with WITHOUT ROWID tables. Fix bugs in ANALYZE located by that script. (check-in: 79befe3ac1 user: drh tags: omit-rowid)
21:44
Bug fixes in the INSERT constraint checker. Refactor the Rowid handling logic for ANALYZE with STAT3/4. (check-in: 1ea43c0f23 user: drh tags: omit-rowid)
18:34
Add another test case file for WITHOUT ROWID and fix the bugs that the new test file uncovered. (check-in: bc2a06eb8e user: drh tags: omit-rowid)
17:00
Fix a problem with processing INTEGER PRIMARY KEY on a WITHOUT ROWID table. (check-in: 89098e6d18 user: drh tags: omit-rowid)
15:23
Correctly handle changing counting when inserting and deleting on WITHOUT ROWID tables. Add more FOREIGN KEY test cases. (check-in: d072bcd0a8 user: drh tags: omit-rowid)
13:56
Correctly handle self-referential foreign keys on WITHOUT ROWID tables. (check-in: af128862ab user: drh tags: omit-rowid)
08:56
Fix a bug preventing FTS from correctly processing bracket tokens that are immediately preceded by characters that are neither whitespace or token characters. (check-in: 49be646cd9 user: dan tags: trunk)
2013-11-03
02:27
Improved comments on foreign key logic. (check-in: 1315d9109c user: drh tags: omit-rowid)
2013-11-02
22:29
Improved Synopsis on register comparison operators. Fix a bug on the constraint check generator. (check-in: a7a18b65fa user: drh tags: omit-rowid)
22:09
Many new test cases added, that mostly work. Currently 18 errors in without_rowid3.test. Also there is a hack marked by a /*FIXME*/ comment on at fkey.c:547 that needs fixing. (check-in: 39e32187b6 user: drh tags: omit-rowid)
19:34
Change the "idx" name of the primary key index for WITHOUT ROWID tables in sqlite_statN statistics tables to be the name of the table rather than the fabricated index name (ex: sqlite_autoindex_xyz_1). This makes it consistent with sqlite_master table. (check-in: 4ee4d31063 user: drh tags: omit-rowid)
18:46
Update the ANALYZE logic so that it works with WITHOUT ROWID tables. (check-in: 9075770e40 user: drh tags: omit-rowid)
14:37
Store the root page of the PRIMARY KEY index for a WITHOUT ROWID table in the sqlite_master entry for the main table and omit the sqlite_master entry for the PRIMARY KEY. (check-in: b7544bb280 user: drh tags: omit-rowid)
11:43
Import the sqlite3_analyzer fixes from trunk. (check-in: ac711459ff user: drh tags: omit-rowid)
11:34
A pair of sqlite3_analyzer bug fixes: (1) quote strings in the SQL at the end of the output. (2) Fix test_stat.c so that it no longer misses some overflow pages on internal index pages. (check-in: 42a11e7464 user: drh tags: trunk)
2013-11-01
22:02
Size KeyInfo objects so that IdxInserts always compare the correct number of fields. (check-in: 302a81390f user: drh tags: omit-rowid)
20:30
Fix sqlite3_analyzer so that it works with WITHOUT ROWID tables. Fix index generation for secondary indices that include fields from the PRIMARY KEY. (check-in: f9769d701c user: drh tags: omit-rowid)
18:14
Additional UPDATE test cases for WITHOUT ROWID. (check-in: 65384ae0f0 user: drh tags: omit-rowid)
17:59
Fix an invalid cast operation in the WITHOUT ROWID parsing logic. (check-in: 845153be36 user: drh tags: omit-rowid)
17:21
Merge all changes from trunk, and disable a pair of corruption tests that are no longer valid since sqlite_master.rootpage can now be NULL for tables. (check-in: dd5d57b9a1 user: drh tags: omit-rowid)
17:08
Change the interface to sqlite3GenerateConstraintChecks() for improved lucidity and to fix issues in dealing with UPDATEs for WITHOUT ROWID tables. Make sure iDataCur and iIdxCur are initialized when processing DELETEs of a VIEW. UPDATE processing distinguishes between changes to ROWID and PRIMARY KEY. (check-in: c525ac5630 user: drh tags: omit-rowid)
14:03
Improved VDBE comments on the constraint checker. Fix a missing write lock in the UPDATE logic. (check-in: 3bed599e74 user: drh tags: omit-rowid)
12:42
Some UPDATE statements now working in WITHOUT ROWID tables. (check-in: 5c0eaea6a2 user: drh tags: omit-rowid)
01:45
A couple of bug fixes. (check-in: cdf00248cf user: drh tags: omit-rowid)
2013-10-31
20:34
Fix the Synopsis on OP_Concat. Added test_addop_breakpoint() during SQLITE_DEBUG. Enhanced sqlite3VdbeChangeToNoop() to omit the instruction if it is the most recent added. Continue to fix problems with UPDATE and WITHOUT ROWID. (check-in: 9b6d9e106a user: drh tags: omit-rowid)
18:49
Fix a problem in os_unix.c causing compilation failure if SQLITE_DEBUG and SQLITE_MAX_MMAP_SIZE=0 are both defined. (check-in: 090db8c81d user: dan tags: trunk)
17:38
Fix issues with quering from an auxiliary index that must refer back to the PRIMARY KEY index of a WITHOUT ROWID table. (check-in: cff1f55c52 user: drh tags: omit-rowid)
15:37
Improved comments and variable names in infrastructure routines of UPDATE, DELETE, and INSERT. (check-in: ad90e762e5 user: drh tags: omit-rowid)
12:13
Moving UPDATE towards the iDataCur/iIdxCur representation. Still not working for WITHOUT ROWID, though. (check-in: deacbd21b5 user: drh tags: omit-rowid)
11:15
Refactor the INSERT, DELETE, and UPDATE code generators to distinguish between the "data cursor" and the "first index cursor", which are no longer consecutive in the case of a WITHOUT ROWID table. (check-in: 1adfca6019 user: drh tags: omit-rowid)
06:39
Update comments in the MSVC batch build tool. (check-in: 0414bb73ef user: mistachkin tags: trunk)
06:13
Enable some more tests on Windows. (check-in: 72389c295b user: mistachkin tags: trunk)
06:11
Fix harmless compiler warnings. (check-in: 1a0a88657f user: mistachkin tags: trunk)
2013-10-30
20:22
Continue working to get UPDATE operational for WITHOUT ROWID tables. Fix PRAGMA integrity_check so that it works on WITHOUT ROWID tables. (check-in: 0d4fea7462 user: drh tags: omit-rowid)
15:52
Make sure KeyInfo objects on multi-column indices of WITHOUT ROWID tables have the correct nField and nXField values. Also, add the SQLITE_ENABLE_MODULE_COMMENT compile-time option and the VdbeModuleComment() macro and use it to label entry and exit points of some key routines. (check-in: 6d9af6065f user: drh tags: omit-rowid)
13:46
In the P4 column of the EXPLAIN listing, abbreviate "keyinfo" as just "k" and "BINARY" as just "B". (check-in: 72d45eb79b user: drh tags: omit-rowid)
12:43
Enhance the timer in the shell to show wall-clock time in addition to user and kernel CPU time. (check-in: 908e2c2124 user: drh tags: trunk)
12:30
Have the shell ".timer on" command cause the shell to report wall-clock time for each query (as well as user and system CPU time). (Leaf check-in: 5530cdc485 user: dan tags: shell-wall-clock)
03:25
Add the "Esri Spatially-Enabled Database" file format to the magic.txt file. (check-in: 8530a18f40 user: drh tags: trunk)
02:37
Merge EXPLAIN enhancements from trunk. (check-in: 2fcac05607 user: drh tags: omit-rowid)
02:28
Add the SQLITE_ENABLE_EXPLAIN_COMMENTS compile-time option to enable extra commentary in the EXPLAIN output. Formerly, this was only available with SQLITE_DEBUG. (check-in: e1a89b56f7 user: drh tags: trunk)
00:25
Enhanced display of register ranges in the auxiliary comments added to EXPLAIN. (check-in: d6b0c39281 user: drh tags: trunk)
2013-10-29
20:47
Import the automatic comment generating changes from trunk. (check-in: 8bb51da130 user: drh tags: omit-rowid)
20:40
Automatically generated comments on many VDBE opcodes when in SQLITE_DEBUG mode. Comments derive from the "Synopsis:" field added to each opcode definition in vdbe.c. (check-in: 5f310c6a22 user: drh tags: trunk)
16:14
Improved comments on the constraint checking logic. (check-in: 141a38a7a6 user: drh tags: omit-rowid)
2013-10-28
22:47
Merge all trunk changes since 3.8.1 into the sessions branch. (check-in: aa72ea8a00 user: drh tags: sessions)
22:39
Merge recent fixes from trunk. (check-in: 9f8191d1d8 user: drh tags: omit-rowid)
22:33
Formatting improvements to the WHERE-clause constraint display in the wheretrace debugging logic. (check-in: 3a9e3ed94b user: drh tags: trunk)
20:38
Add regression tests for ticket [c620261b5b5]. (check-in: 05a35b09b1 user: drh tags: trunk)
20:15
Do not use transitive WHERE-clause constraints on LEFT JOINs. Fix for ticket [c620261b5b5dc]. (check-in: 9aac4e588c user: drh tags: trunk)
19:59
More wheretrace debugging support: Show a listing of all WHERE clause terms (on wheretrace bit 0x100) and include important flags such as TERM_VIRTUAL, WO_EQUIV, and EP_FromJoin. (check-in: 92ccd70541 user: drh tags: trunk)
19:03
Bug fix and enhancements to the improved wheretrace logic that shows the constraint expressions. (check-in: 10f125f5da user: drh tags: trunk)
14:34
Improved "wheretrace" capabilities: Show the constraint expression if the wheretrace flag has the 0x100 bit set and if compiled with SQLITE_ENABLE_TREE_EXPLAIN. (check-in: 710a18ac79 user: drh tags: trunk)
2013-10-26
15:40
Work on the UPDATE and INSERT logic. This is an incremental check-in so that can switch over to trunk to work on an unrelated issue there. (check-in: 086ec2a177 user: drh tags: omit-rowid)
13:36
Replace the OP_IsUnique opcode with OP_NoConflict. This code simplification might be useful to move onto trunk even if this branch is never merged. (check-in: e6650e16dd user: drh tags: omit-rowid)
00:58
Minor refactoring of variable names and fixes to comments in insert.c. (check-in: ae61a34378 user: drh tags: omit-rowid)
2013-10-25
19:17
Progress toward getting UPDATE to work in WITHOUT ROWID tables. (check-in: e557b7d80f user: drh tags: omit-rowid)
14:46
Basic DELETE operations now working on WITHOUT ROWID tables. (check-in: 9eafafa31c user: drh tags: omit-rowid)
2013-10-24
19:48
Update the interface to the sqlite3GenerateRowDelete() utility so that it is able to handle WITHOUT ROWID tables. The implementation still needs to be completed. (check-in: 85daf51746 user: drh tags: omit-rowid)
15:20
Add the ".open" command to the command-line shell. (check-in: 21eccb9194 user: drh tags: trunk)
14:16
Delete PRIMARY KEY index entries last. Only construct the unique prefix of an index key when deleting entries from an index. (check-in: 0e56ba69f0 user: drh tags: omit-rowid)
11:55
Remove an obsolete comment from the VDBE. No code changes. (check-in: 53bb070c85 user: drh tags: omit-rowid)
00:18
Correctly handle queries that use secondary indices of WITHOUT ROWID tables. (check-in: d8bc859530 user: drh tags: omit-rowid)
2013-10-23
23:37
Change the sqlite3OpenTable() utility to open the PRIMARY KEY index when reading a WITHOUT ROWID table. (check-in: 247f389930 user: drh tags: omit-rowid)
22:23
Construct secondary indices on WITHOUT ROWID tables. (check-in: 2c028ddc85 user: drh tags: omit-rowid)
17:39
Report an error when trying to resolve column name "rowid" in a WITHOUT ROWID table. (check-in: 36bcc9cb88 user: drh tags: omit-rowid)
16:03
Get VACUUM and the xfer optimization working with WITHOUT ROWID. (check-in: 579815fff1 user: drh tags: omit-rowid)
13:30
Some inserts and queries working for multi-column primary keys and WITHOUT ROWID. (check-in: b21d831b2a user: drh tags: omit-rowid)
01:57
Some simple inserts and queries working on WITHOUT ROWID tables. (check-in: 3f8016dee2 user: drh tags: omit-rowid)
00:32
Build internal data structures appropriately for WITHOUT ROWID tables. (check-in: 35a3606071 user: drh tags: omit-rowid)
2013-10-22
18:01
The Index object now has nKeyCol and nColumn. nColumn is the total number of columns and nKeyCol is the number of key columns. Currently these always differ by one. Refactor aiColumn[] to be of type i16 instead of int. (check-in: a106ce86cd user: drh tags: omit-rowid)
14:28
Add a procedure to handle the messy details of allocating an Index object from the heap. (check-in: 45efc94f9a user: drh tags: omit-rowid)
10:23
Extra backwards-compatibility tests verify that UNIQUE and PRIMARY KEY indices are created in the correct order. Other backwards-compatibility tests already cover this, but it does not hurt to double up. (check-in: 5ca0ea2e9b user: drh tags: omit-rowid)
01:18
Previous refactor is not going to be helpful because implied indices must be created in the same order that they appear in the CREATE TABLE statement for backwards compatibility. This is a much smaller change to clean up a few loose ends. (check-in: 824b549f9b user: drh tags: omit-rowid)
2013-10-21
23:55
Minor refactoring of the PRIMARY KEY parsing logic to facilitate enhancements. (Closed-Leaf check-in: 4e69dd5f9b user: drh tags: omit-rowid)
23:17
Improve support for the SQLITE_OMIT_FLAG_PRAGMAS compile-time option. (check-in: f1d8c3b07e user: mistachkin tags: trunk)
13:15
Drop the mutex on the multiplexor before entering the xRead VFS call. (Closed-Leaf check-in: a00d2ed49c user: drh tags: multiplex-parallel-read)
02:14
Simplification of the syntax: Merely append "WITHOUT rowid" to the end of the table definition. (check-in: 131cc6e152 user: drh tags: omit-rowid)
2013-10-19
23:31
Experimental changes toward "index only" tables. Add the ability to specify options on CREATE TABLE statements using the WITH clause modeled after PostgreSQL and SQL Server. Only the "omit_rowid" option is currently recognized and that option is currently a no-op. (check-in: 0248ec5e6e user: drh tags: omit-rowid)
16:51
Improved header comment with better instructions on the vfslog.c extension. (check-in: 4bd592c8f0 user: drh tags: trunk)
15:07
Fix a bug causing an "malformed database schema error" error if a temp table with the same name as an existing table that has at least one temp trigger attached to it is created. (check-in: 56dca4a65c user: dan tags: trunk)
2013-10-18
20:03
Add the SQLITE_FCNTL_TRACE file control and generate it for OP_Trace when compiled with SQLITE_USE_FCNTL_TRACE. Update vfslog.c to make use of the new file control. Also update vfslog.c to log UNLOCK events before the fact, rather than afterwards. (check-in: e801f35a96 user: drh tags: trunk)
17:42
Further enhance the vfslog extension to record the number of freelist pages and the first freelist page in CHNGCTR-READ and CHNGCTR-WRITE records. (check-in: 08157524ca user: drh tags: trunk)
14:37
In the vfslog extension for FILECONTROL records, show the pragma name for SQLITE_FCNTL_PRAGMAs and the requested size for SQLITE_FCNTL_SIZE_HINT. (check-in: f062969548 user: drh tags: trunk)
2013-10-17
12:57
Version 3.8.1 (check-in: c78be6d786 user: drh tags: trunk, release, version-3.8.1)
2013-10-16
23:58
Fix a typo in a requirements mark comment. No changes to code. (check-in: e5a439cfa5 user: drh tags: trunk)
14:32
Merge the latest trunk changes. (check-in: 5806546822 user: drh tags: sessions)
11:39
Clear a valgrind error by zeroing the first 4 bytes of the temp-space allocation used by the b-tree module. (check-in: 8651aba186 user: dan tags: trunk)
11:31
Fix memory and resource leaks for WinCE and Cygwin, and a compiler warning on windows with SQLITE_THREADSAFE=0. (check-in: 9905cea9d4 user: drh tags: trunk)
09:49
Fix memory/resource leaks for WinCE and Cygwin. (Closed-Leaf check-in: 2470d1bb08 user: mistachkin tags: wince-fixes)
2013-10-15
19:06
Add the "languageid" hidden column to fts4aux. (check-in: 891df358e5 user: dan tags: trunk)
15:35
Changes to test code to make sure no server threads are left running after server1.test finishes. (check-in: 1086e00bca user: dan tags: trunk)
14:29
Fix an 8-byte alignment problem on the "crash test" harness (test code, not in the core) that causes problems on Sparc. (check-in: bcbc65030f user: drh tags: trunk)
14:10
Merge the latest trunk changes into the sessions branch. This merge should fix the build for WinRT. (check-in: e111e4edf9 user: drh tags: sessions)
11:58
Fix harmless macro redefinition warnings in the totype extension. (check-in: c9c1f8d670 user: drh tags: trunk)
10:43
Fix harmless macro redefinition warnings in the totype extension. (Closed-Leaf check-in: a38adeb7ff user: mistachkin tags: noWarnings)
2013-10-14
22:35
Fix harmless compiler warning in the totype extension. Include all standard whitespace characters in totypeIsspace. Minor adjustments to style and comments. (check-in: 73238f655a user: mistachkin tags: trunk)
21:14
Move the tointeger() and toreal() functions out of core and make them into a run-time loadable extension. (check-in: 9f66dd7e37 user: drh tags: trunk)
20:30
Fix a crash in FTS incremental phrase processing that can occur if the second or subsequent token is much more common in the dataset than the first. (check-in: 0bf438fc30 user: dan tags: trunk)
19:35
Add implementations for the toInteger() and toReal() SQL functions. (check-in: a0f7cbc068 user: drh tags: trunk)
15:41
Fix for building with SQLITE_OMIT_FOREIGN_KEY. (check-in: b8b5f6c8f6 user: dan tags: trunk)
14:30
Update the foreign_key_check pragma so that when a parent table is undefined it is treated as an empty table. (check-in: 208b259ad7 user: drh tags: trunk)
14:21
Corrects to comments on the STAT4 implementation. (check-in: e06f74d32d user: drh tags: trunk)
13:21
Make subroutines sampleCopy() and valueFromExpr() have file scope. (check-in: 1660efbe46 user: drh tags: trunk)
10:46
Add a new application_id for GeoPackage version 1.0. (check-in: 98ddfe4571 user: drh tags: trunk)
2013-10-12
23:39
Merge updates from trunk. (Closed-Leaf check-in: a88b5be01e user: mistachkin tags: toTypeFuncs)
20:22
Restore the index_list pragma back to its former operation. Create a new PRAGMA stats used to access the table and index widths and heights. (check-in: f0cf8c85dc user: drh tags: trunk)
19:06
In "PRAGMA foreign_key_check", treat missing parent tables as empty (instead of as errors). (Closed-Leaf check-in: 8c13a7fd73 user: dan tags: fkc-missing-parent-tables)
15:12
Fix handling of "DROP TABLE" commands when "PRAGMA defer_foreign_keys=1" is set. (check-in: 27001356ed user: dan tags: trunk)
13:16
Add tests that demonstrate that PRAGMA defer_foreign_keys will reset to off at the conclusion of the next transaction. (check-in: 67e28a11de user: drh tags: trunk)
09:32
Changes to the new initial row of PRAGMA index_list results. (Closed-Leaf check-in: 0c4dd9fff0 user: mistachkin tags: indexList)
02:33
Fix harmless compiler warning. (check-in: 4b130f88fb user: mistachkin tags: trunk)
02:31
Permit the creation of VSIX packages for Win32. (check-in: 035d03e942 user: mistachkin tags: trunk)
00:56
Fix Unicode character encoding issues on Windows in the fts4unicode test file. (check-in: c9310c9a2b user: mistachkin tags: trunk)
2013-10-11
23:37
Identify requirements text in the SQLITE_CONFIG_ documentation. Fix a typo (a duplicated word) in part of that documentation. Add some requirements marks for DETACH to the test scripts. No code changes. (check-in: 1be0a3adab user: drh tags: trunk)
23:02
The split amalgamation option should be disabled by default. (check-in: 7c24d22ffa user: mistachkin tags: trunk)
23:01
Enhance debugging support for the split amalgamation files when compiling with MSVC. (check-in: 8ff17c553d user: mistachkin tags: trunk)
23:01
Fix a harmless compiler warning in lemon.c. (check-in: 62959c0ce3 user: drh tags: trunk)
22:19
Add -no-undefined option when linking the shared libraries. (check-in: 977d2b12e5 user: mistachkin tags: trunk)
22:17
Fix test numbering. (check-in: cef39f6933 user: mistachkin tags: trunk)
20:14
Add requirements marks. No code changes. (check-in: 5e0d43ab55 user: drh tags: trunk)
16:35
Additional test cases and requirements marks for the unlikely(), likelihood() and instr() functions. (check-in: 5f01cd36ee user: drh tags: trunk)
15:05
Fix various harmless compiler warnings. Change the "warnings.sh" script to work with STAT4 instead of STAT3. (check-in: 7df06684ab user: drh tags: trunk)
13:27
Make sure the sqlite3.h file occurs at the very top of the sqlite3.c amalgamation. (check-in: 03593817ab user: drh tags: trunk)
05:51
Fix compilation issue for WinRT. (check-in: 7a2006ca94 user: mistachkin tags: trunk)
2013-10-10
20:13
Synchronize with the trunk. (check-in: 136445ba02 user: drh tags: sessions)
17:33
Add a rule to the main.mk makefile for building showdb. (check-in: fc5552da0d user: drh tags: trunk)
15:04
Enhancements to the vfslog.c module to show all change-counter changes and to show the hostname and pid of the process that creates each log file. (check-in: af7abebeb1 user: drh tags: trunk)
13:41
Another fix to the hash signature algorithm in vfslog.c. (check-in: 34212aa8c4 user: drh tags: trunk)
13:38
Fix the hash signature algorithm in vfslog.c. Add a utility program to show the hash signatures for every page of a database file. (check-in: eaf4de13a6 user: drh tags: trunk)
13:04
Add ext/misc/vfslog.c, a VFS shim for unix that keeps a log of method calls made by SQLite. (check-in: 24a827b876 user: dan tags: trunk)
12:38
Estimate row sizes for tables and indices and use those estimates during query planning. Enhance the index_info pragma to show the estimated row sizes and to show the estimated row size for the main table as well. Allow an alternative row size estimate to be specified in the sqlite_stat1 table. (check-in: d27b88b8c2 user: drh tags: trunk)
2013-10-09
19:07
Make sure the correct printf format is used for type tRowcnt regardless of whether 32-bit or 64-bit row counts are specified at compile-time. (Closed-Leaf check-in: e97d7d3044 user: drh tags: row-size-est)
2013-10-08
23:16
Move a conditional inside of an #ifdef in order to make all branches reachable regardless of compile-time options used. (check-in: f7cc30d45b user: drh tags: row-size-est)
22:25
Fix test cases for the new information in PRAGMA index_list. (check-in: dd03be1065 user: drh tags: row-size-est)
20:42
Rollback some of the previous changes in the branch such that the estimated row sizes are now only used as a tie-breaker for index scans. (check-in: 65553ff34b user: drh tags: row-size-est)
20:01
Use #ifdefs to omit unused code in the columnType() routine depending on compile-time options. (check-in: 3fd5e33217 user: drh tags: row-size-est)
18:40
Further refinement of the idea of multiplying run-time cost estimates by the estimated row size. (check-in: 18bd6ba96d user: drh tags: row-size-est)
2013-10-07
21:49
Fix compilation issue with MSVC. (check-in: 36d64dc36f user: mistachkin tags: trunk)
17:32
Multiply all cursor step cost estimates by the estimated size of the row in bytes, in order to get the query planner ot make use of estimated row sizes. This check-in uses magic numbers in a few places (for example, estimates of the size of output rows) and needs lots of refinement. Consider this a proof-of-concept only. (check-in: cb34cfe57c user: drh tags: row-size-est)
16:53
Try to remember statistics from ANALYZE using LogEst instead of u64. (Leaf check-in: 8e78557a40 user: drh tags: log-stats)
10:48
Merge bug fixes from trunk. (check-in: 1d7b2dc0ea user: drh tags: row-size-est)
00:36
Restore the hexrekey pragma which was accidently deleted during the pragma refactoring. Make sure the hexkey and hexrekey pragmas do not overflow buffers with a over-length key. (check-in: 0aca31e151 user: drh tags: trunk)
2013-10-06
22:52
Remove an incorrect debugging assert() that was accidently added during the STAT4 enhancement. (check-in: 2bb7f74bbd user: drh tags: trunk)
22:12
Accept the sz=N parameter on table-only lines of sqlite_stat1. (check-in: e9e932aa40 user: drh tags: row-size-est)
2013-10-05
20:18
Fix an issue in the test8.c test module that arises because of the change to PRAGMA index_list(). Remove an unused local variable. (check-in: 029430c503 user: drh tags: row-size-est)
19:18
Completely remove the iScanRatio field. The PRAGMA index_list(TABLE) command shows the estimated row size in the forth column. It also generates a row for the table with an index name of NULL. The query planner still does not take row size estimates into account - that is the next step. (check-in: 8b4aa0c7a2 user: drh tags: row-size-est)
18:32
Improvements to the LogEst command-line tool used to convert between ordinary numbers and the LogEst representation. (check-in: 5252aeb619 user: drh tags: row-size-est)
18:16
Begin an experimental refactoring to estimate the average number of bytes in table and index rows and to use that information in query planner. Begin by renaming WhereCost to LogEst and making that type and its conversion routines available outside of where.c. (check-in: 66c4a251d6 user: drh tags: row-size-est)
02:56
In the index_list pragma, make sure the "r" column is the same on output as it was on input in the sqlite_stat1 table. (Closed-Leaf check-in: de78250ad2 user: drh tags: index-scan-rate)
2013-10-04
20:39
Merge trunk changes. (check-in: c6ac80ed8d user: drh tags: index-scan-rate)
18:29
Further refinements of the index scanning speed logic. (check-in: e5d9371da9 user: drh tags: index-scan-rate)
18:17
If an "INSERT INTO ... SELECT" can use the xfer optimization, pass the OPFLAG_BULKCSR hint to btree cursors used to update indices. This results in a tighter key packing. (check-in: 087af29ee2 user: dan tags: trunk)
15:58
Fix test cases so that they work when the query planner uses index size estimates to determine whether or not to try an covering index scan. (check-in: 2f394de88f user: drh tags: index-scan-rate)
15:30
Improved estimates of the relative speed of index scans based on declared datatypes of columns in the table. Add "r" column to PRAGMA index_info, showing the estimated relative scan rate. (check-in: 07462bb605 user: drh tags: index-scan-rate)
02:36
Progress toward using the iScanRatio information on indices. Many tests are still failing. (check-in: 6c352edbba user: drh tags: index-scan-rate)
00:00
Make sure the count(*) optimization works correctly even when partial indices are present. Ticket [a5c8ed66cae]. (check-in: 9f2f4c0a50 user: drh tags: trunk)
2013-10-03
20:41
Have FTS take advantage of "docid<?" constraints when they are present. Extend the FTS "incremental doclist" optimization so that it is used for tokens within multi-token phrases. (check-in: baf8ce5916 user: dan tags: trunk)
20:28
Merge latest trunk changes. (Closed-Leaf check-in: 24aa20da22 user: dan tags: fts4-docid-range-constraints)
19:27
Allow FTS4 multi-token phrases to use a combination of in-memory and incrementally loaded doclists. This allows phrases to (partially) benefit from incremental doclists without disabling the deferred token optimization. (check-in: f6819c5f33 user: dan tags: fts4-docid-range-constraints)
19:21
Experimental branch allowing different postulated scan rates for each index. (check-in: d59d97b0a8 user: drh tags: index-scan-rate)
15:39
The sqlite3FixInit() routine cannot fail. So change the return type from "int" to "void". (check-in: 500c5932fe user: drh tags: trunk)
14:08
Rework the PRAGMA implementation to only call sqlite3ReadSchema() from a single place, based on a flag in the pragma table, rather than separately from each case which needs the schema. (check-in: 8338232a11 user: drh tags: trunk)
12:29
Return an error if an attempt is made to create a trigger with an SQL variable embedded within it. If such a variable reference is found within a trigger definition loaded from the sqlite_master table, silently replace it with a NULL. (check-in: f35f6ae3da user: dan tags: trunk)
11:27
Remove unnecessary memset() calls from test code. (check-in: eec3187bc6 user: drh tags: trunk)
2013-10-02
20:46
In the lemon parser generator, change all hashes to unsigned to avoid potential problems with signed integer overflow. (check-in: 8d399a03de user: drh tags: trunk)
08:04
Add a test to check that the new multi-token phrase optimization is actually helping. (check-in: bc3a2ed5fb user: dan tags: fts4-docid-range-constraints)
2013-10-01
20:29
Bring some file format comments in btreeInt.h up to date. (check-in: 012d54d0d2 user: drh tags: trunk)
20:10
Merge trunk changes with this branch. (check-in: 65d9c6fafb user: dan tags: fts4-docid-range-constraints)
20:02
Allow multi-token phrases to load doclists from the database incrementally. This allows queries that feature such phrases to benefit from the "docid<?" optimization. (check-in: ea543f081d user: dan tags: fts4-docid-range-constraints)
19:36
Fix comments in the fast_vacuum.c demonstration program. (check-in: e0db7b38e1 user: drh tags: trunk)
19:02
Add the "fast_vacuum.c" demonstration program to the tool/ subdirectgory. (check-in: 2b60320d57 user: drh tags: trunk)
15:30
Change the ".dump" command in the command-line shell so that it COMMITs if there are database corruption errors but invokes ROLLBACK on any other kind of error. (check-in: 473234632f user: drh tags: trunk)
2013-09-30
19:33
Fix a minor typo in a comment in where.c. (check-in: 9c9fa151e9 user: drh tags: trunk)
19:05
Add some timing tests to the amatch test script. (check-in: ad71c72be5 user: drh tags: trunk)
18:16
Merge trunk changes with this branch. (check-in: e294a9c7c5 user: dan tags: fts4-docid-range-constraints)
18:14
Fix a performance problem in the FTS4 auxiliary functions triggered by an OR clause in the full-text query. (check-in: fa0f2f0e3e user: dan tags: trunk)
17:37
Fix memory leaks in the amatch extension. Add a few simple test cases. (check-in: 604134732e user: drh tags: trunk)
11:42
Have fts4 full-text queries consider "docid<?" and similar constraints. (check-in: 6622424a3a user: dan tags: fts4-docid-range-constraints)
11:01
Update and modernize an obsolete comment associated with VACUUM. No changes to code. (check-in: 94c914e3fa user: drh tags: trunk)
2013-09-29
04:56
Fix typo in comment. No changes to code. (check-in: 0b7bd46825 user: mistachkin tags: trunk)
2013-09-28
16:43
Add new test file fts3defer3.test. (check-in: a6cd14effe user: dan tags: trunk)
13:28
In the nextchar.c extension, allow the second argument to the next_char() function to be a subquery. (check-in: 59b9fa2236 user: drh tags: trunk)
12:40
Updates to the sqlite3_analyzer utility: Change the names of some labels, especially change "Fragmentation" to "Non-sequential pages". Revise the computation of non-sequential pages so that it ignores itercalated non-leaf pages (overflow and index pages). (check-in: 3e5c7771fa user: drh tags: trunk)
2013-09-26
15:21
Obtain the required shared-cache write-lock when executing "DELETE FROM tbl" statements. Fix for [1e1321ee98]. (check-in: 1f8f4fdf3f user: dan tags: trunk)
11:04
Fix a faulty assert() in sqlite3BtreeBeginTrans() that may fail in shared-cache mode. (check-in: 1e1321ee98 user: dan tags: trunk)
2013-09-24
19:07
Merge updates from trunk. (check-in: 435ce3b3fc user: mistachkin tags: toTypeFuncs)
2013-09-18
11:16
Test that the unicode61 tokenchars= and separators= options work with the fts3tokenize virtual table. (check-in: ed24051462 user: dan tags: trunk)
2013-09-17
23:36
Clear the current time value on prepared statements when the prepared statement is reset. (check-in: cebd6fc551 user: drh tags: trunk)
2013-09-16
20:46
Readability improvements to the Win32 RC file. (check-in: e645906257 user: mistachkin tags: trunk)
19:27
Minor consistency fixes to the Win32 RC file. (check-in: 619c5211b9 user: mistachkin tags: trunk)
12:57
The date and time functions use the exact same notion of "now" for every invocation within the same call to sqlite3_step(). (check-in: daf6ba413c user: drh tags: trunk)
2013-09-13
23:27
Fix Windows SDK compiler warning. (check-in: d5fc3f1dab user: mistachkin tags: trunk)
23:26
Fix test issues for Windows portability. (check-in: 650b32825a user: mistachkin tags: trunk)
22:38
VSIX tooling changes to support Visual Studio 2013. (check-in: d56fac4031 user: mistachkin tags: trunk)
21:03
Fix the "const" qualifiers on the pragma name table. (check-in: b74e6be818 user: drh tags: trunk)
21:01
Add the soft_heap_limit pragma. (check-in: c326356f9a user: drh tags: trunk)
19:08
VSIX tooling changes to support Visual Studio 2013. (Leaf check-in: e8ac4a1227 user: mistachkin tags: branch-3.8.0)
19:00
Tweak the new PRAGMA name parser to achieve full branch test coverage. (check-in: c82e05c4b8 user: drh tags: trunk)
18:15
Remove one unreachable branch and add asserts() to dupedExprStructSize(). New asserts verify that removed branch is unused and that constants that are ORed together in the output do not overlap. (check-in: 86ad358b5a user: drh tags: trunk)
17:47
Adjust the query planner to take into account WHERE clause terms that do not drive indices. Add the unlikely() and likelihood() functions used to give hints to the query planner about the selectivity of WHERE clause terms. (check-in: bc446449a1 user: drh tags: trunk)
16:56
Enhance the pragma lookup table generator script to output a comment that gives the number of pragmas. (check-in: ca05205050 user: drh tags: trunk)
16:36
Change the PRAGMA parser to use a binary search for the pragma name. Also: Minor performance enhancement to sqlite3DbFree() and to the token dequoter. (check-in: 870c030b4e user: drh tags: trunk)
12:10
Add tests for the fts4 unicode61 tokenchars and separators options. (check-in: 9ce6f40dfb user: dan tags: trunk)
2013-09-12
23:42
Refactor the ExprSetIrreducible() macro into ExprSetVVAProperty(*,EP_NoReduce). This is a naming change only. The logic is the same. (Closed-Leaf check-in: 695aee46e9 user: drh tags: unlikely-func)
23:12
Fix typo in a macro name: "GlogUpperToLower" should be "GlobUpperToLower" (check-in: 73634ca463 user: drh tags: trunk)
17:29
Merge in the Expr.flags expansion to 32-bits. Use an extra bit to help optimize the sqlite3ExprSkipCollate() routine. (check-in: 4c84d1b4c2 user: drh tags: unlikely-func)
16:50
Increase the number of bits available in Expr.flags. Other tweaks aimed at making expression processing more robust. (Closed-Leaf check-in: 579a512538 user: drh tags: expr-tuning)
02:09
For error log messages generated by the Win32 native allocator, make sure the correct format specifier is used for the value returned by GetLastError(). (check-in: 75a8a8c1b3 user: mistachkin tags: trunk)
01:47
Fix a couple more harmless compiler warnings. (check-in: 59708674f6 user: mistachkin tags: trunk)
01:33
Remove two obsolete fields from the sqlite3 object. (check-in: 117fa5fbc9 user: drh tags: trunk)
00:54
Fix harmless compiler warning. (check-in: 2b510614dc user: mistachkin tags: trunk)
00:40
Merge updates from trunk. (Closed-Leaf check-in: fca799f03a user: mistachkin tags: vsix2013)
2013-09-11
17:39
Improvements to likelihood processing so that commuting an unindexed term in the WHERE clause does not change the query plan. (check-in: 6e6bded055 user: drh tags: unlikely-func)
14:57
Add test cases to cover TPC-H Q8. (check-in: eb5cef8351 user: drh tags: trunk)
14:34
Additional unlikely() test cases. Logic tweaks to support test coverage. (check-in: 5d00cce74a user: drh tags: unlikely-func)
11:38
Change the name of the two-argument unlikely() function to likelihood(). Add test cases. (check-in: 29a359b8d7 user: drh tags: unlikely-func)
03:53
Tweaks to the index selection logic. (check-in: 52d5268864 user: drh tags: unlikely-func)
2013-09-10
01:53
Merge trunk fixes into the unlikely-func branch. (check-in: a51d751553 user: drh tags: unlikely-func)
01:41
Deterministically initialize the PRNG used as a tie-breaker in the ANALYZE command, so that the analysis is always the same given the same database. This simplifies testing. (check-in: 48ed8b565b user: drh tags: trunk)
2013-09-09
19:37
Make sure that the transitive constraint optimization does not cause WHERE clause terms to be disabled prematurely. We are unable to find a test case that fails because of this, but it seems prudent to make this preventative change nevertheless. (check-in: d6e361d7fb user: drh tags: trunk)
2013-09-07
00:29
Continuing refinements of the logic to take WHERE clause terms not used for indexing into account when computing the number of output rows from each table. (check-in: b65dc53415 user: drh tags: unlikely-func)
2013-09-06
22:27
Merge updates from trunk. (check-in: 8922be1a3e user: mistachkin tags: toTypeFuncs)
21:41
Add the ability to generate assembly listing files using the MSVC makefile. (check-in: 6caa2cd104 user: mistachkin tags: toTypeFuncs)
20:30
When converting from a BLOB value in the tointeger() and toreal() SQL functions, make sure that endianness of the machine does not matter. (check-in: 94c4cdc50d user: mistachkin tags: toTypeFuncs)
17:45
Enhance the plan solver to take into account the number of output rows when computing the set of paths to retain for the next cycle. (check-in: 1a46a72423 user: drh tags: unlikely-func)
15:23
Initial implementation of the unlikely() SQL function used as a hint to the query planner. (check-in: 036fc37a03 user: drh tags: unlikely-func)
13:10
Combine the FuncDef.iPrefEnc and FuncDef.flags fields into a single new FuncDef.funcFlags field. (check-in: 97b10e66e9 user: drh tags: trunk)
00:40
Make sure the destination WhereLoop is left in a sane state when an OOM fault occurs inside of whereLoopXfer(). (check-in: a99a53b81e user: drh tags: trunk)
2013-09-05
18:40
When preparing an UPDATE statement, avoid generating VDBE code for those foreign key related actions and constraint checks that may be seen to be unnecessary by considering the subset of table columns potentially modified by the UPDATE. (check-in: e940b5de49 user: dan tags: trunk)
2013-09-04
18:14
Rearrange the order of conditions in an "if" statement to facilitate testing. (check-in: 8462fb43c2 user: drh tags: trunk)
16:38
Add tests to improve coverage when SQLITE_ENABLE_STAT3 is defined. (check-in: f929e9b41f user: dan tags: trunk)
16:08
Fix a bug in the command-line shell for ".mode insert" on UTF16 databases with BLOB values. (check-in: d8fdc78218 user: drh tags: trunk)
15:15
The sqlite3Stat4ProbeSetValue() routine should always return results using the database encoding. (check-in: eb21663271 user: drh tags: trunk)
04:04
Fix out-of-order variable declaration. Fix harmless compiler warning. (check-in: 8df95bb0b3 user: mistachkin tags: trunk)
02:07
Conditionally exclude code from analyze.c that is not used by STAT3. (check-in: a48948a170 user: drh tags: trunk)
00:58
Additional test cases for the tointeger() and toreal() SQL functions when converting from a BLOB. (check-in: e1814452fa user: mistachkin tags: toTypeFuncs)
2013-09-03
19:26
Harden the STAT4 logic in where.c against OOM faults. (check-in: 91d2cfbc95 user: drh tags: trunk)
17:11
Version 3.8.0.2 (check-in: 7dd4968f23 user: drh tags: release, version-3.8.0.2, branch-3.8.0)
14:49
Merge in all the latest trunk changes, including the win32-longpath VFS and the fix for the segfault in the omit-left-join optimization. (check-in: cdd3838b78 user: drh tags: sessions)
14:43
Fix another problem in stat4 sample selection. (check-in: d59f580904 user: dan tags: trunk)
14:33
Make sure the omit-noop-left-join optimization is not applied if columns of the LEFT JOIN are used in the ORDER BY clause. Ticket [be84e357c035]. Increase version number to 3.8.0.2. (check-in: cce541864d user: drh tags: branch-3.8.0)
14:03
Make sure the omit-noop-left-join optimization is not applied if columns of the LEFT JOIN are used in the ORDER BY clause. Ticket [be84e357c035] (check-in: 0303d6bc71 user: drh tags: trunk)
2013-09-02
23:40
Add the experimental SQLITE_DEFAULT_INDEX_SHAPE=1 compile-time option that makes a much more pessimistic guess at the effectiveness of unanalyzed indices. (Leaf check-in: d8daaba7da user: drh tags: index-shape-1)
20:22
Simplify branch coverage testing by interchanging the order of two tests in the whereLoopInsert() function. (check-in: f7079b5365 user: drh tags: trunk)
18:58
Further stat4 related tests. (check-in: 0a702c4b4c user: dan tags: trunk)
11:52
Add tests to check if ANALYZE is choosing common non-periodic samples for the stat4 table. (check-in: 175842997a user: dan tags: trunk)
07:16
Fix a problem with using stat4 data to estimate the number of rows scanned by a range constraint on the second or subsequent column of any index where an affinity transformation must be applied to the constraint argument. (check-in: c21f58d848 user: dan tags: trunk)
2013-09-01
23:36
Merge updates from trunk. (check-in: 2982725e12 user: mistachkin tags: toTypeFuncs)
2013-08-31
21:41
Handle BLOBs specially, treating them as binary, in the tointeger() and toreal() SQL functions. (check-in: c4c53acb98 user: mistachkin tags: toTypeFuncs)
18:36
Cleanup of the windows VFS, including added support for Cygwin, fixes for compiler warnings under unusual configurations, and improved diagnostic error messages. (check-in: c94933f132 user: drh tags: trunk)
18:06
Revise the amalgamation tool to allow 'duplicate' include files to be retained manually while still preserving the existing line numbers. (Closed-Leaf check-in: aa48284637 user: mistachkin tags: cygwinTempPath)
17:21
Fix a problem causing SQLite not to use stat4 or stat3 data to analyze constraints of the form "column = expr COLLATE collation" (those with an explicit COLLATE on the non-column side of the comparison operator). (check-in: 1e86d81d46 user: dan tags: trunk)
17:01
Enhancements to the Win32 API definition macros. (check-in: b1811baab6 user: mistachkin tags: cygwinTempPath)
14:56
Reenable a test accidentally disabled when the stat4 branch was merged. (check-in: d9fadc8fa6 user: dan tags: trunk)
05:46
Avoid commenting out #include statements when building the amalgamation source code file. (check-in: 2fca6d784b user: mistachkin tags: cygwinTempPath)
05:13
Fix harmless MSVC compiler warning with MEMDEBUG defined. (check-in: b48cfd2dfc user: mistachkin tags: cygwinTempPath)
02:48
Improve the consistency of the diagnostic messages on Windows. (check-in: c6f174a0cb user: mistachkin tags: cygwinTempPath)
2013-08-30
21:52
Add support for Cygwin when handling temporary file names. Improve error codes and diagnostic messages for temporary file name handling on Windows. Rename winConvertUtf8Filename to winConvertFromUtf8Filename. Improve placement and comments for forward function declarations. (check-in: a411df7251 user: mistachkin tags: cygwinTempPath)
20:19
Fix compiler warnings in analyze.c. (check-in: 5bbd2ccb3d user: dan tags: trunk)
19:59
Fix comment typo in analyze.c. No changes to code. (check-in: dbc3175044 user: mistachkin tags: trunk)
17:50
Fix comment typos in the where.c module. No code changes. (check-in: 1e0b77cf0e user: drh tags: trunk)
17:35
If the cost of two whereLoop objects is the same in every way except that one has fewer expected output rows than the other, then choose the one with fewer output rows. (check-in: 79e458ef7a user: drh tags: trunk)
14:24
Add the SQLITE_MINIMUM_FILE_DESCRIPTOR compile-time option, for control over exactly which low-numbered file descriptors SQLite will use. (check-in: ba51905343 user: drh tags: trunk)
13:29
Add a test for fts4 unicode61 option remove_diacritics=0. (check-in: 6bf7ae6ff6 user: dan tags: trunk)
06:20
Improvements to the robust_open() logic in the unix VFS so that if an attempt is made to open a repository on file descriptors 0, 1, or 2, and blocking that file descriptor by opening it on /dev/null fails, then the open will fail. (check-in: d9c018f815 user: drh tags: trunk)
2013-08-29
23:36
Make the unix VFS defensive against the error of having a database file open on file descriptors 1 or 2, as an error message might easily be written onto those file descriptors and thus overwrite and corrupt the database. (check-in: 30d38cc449 user: drh tags: trunk)
23:34
Change the unix VFS so that it refuses to open a database file using a file descriptor less than 3. (Closed-Leaf check-in: 66dddda068 user: drh tags: overwrite-avoidance)
21:26
Never leave an open file descriptor pointing into the middle of the database file if the file descriptor number is 2 or less. (check-in: 3426673e46 user: drh tags: overwrite-avoidance)
17:35
Version 3.8.0.1 (check-in: 352362bc01 user: drh tags: release, version-3.8.0.1, branch-3.8.0)
15:08
Merge from trunk: (1) Recent bug fixes (2) STAT4 support (3) win32-longpath support. (check-in: e7ebc8f74f user: drh tags: sessions)
14:56
Restore fix [f15591f802], which was accidentally clobbered by the stat4 merge. (check-in: d4b6ad3333 user: dan tags: trunk)
13:47
Update sqlite3.pc.in to use @PACKAGE_VERSION@ instead of @RELEASE@. Cherrypick of [2460dfd8825d25]. (check-in: c5857808c0 user: drh tags: branch-3.8.0)
13:27
Increase the version number to 3.8.0.1. (check-in: 125b04de7b user: drh tags: branch-3.8.0)
13:23
Fix an off-by-one error that causes a quoted empty string at the end of a CRNL-terminated line of CSV input to be misread by the shell. Cherrypick of [b5617e4fdadc4c]. (check-in: 43aa7d2353 user: drh tags: branch-3.8.0)
13:21
In the query optimizer, when converting BETWEEN and LIKE/GLOB expressions into simpler forms for processing, be sure to transfer the LEFT JOIN markings. Fix for ticket [bc878246eafe0f52c]. Cherrypick of [caab361ebe]. (check-in: cb667449d0 user: drh tags: branch-3.8.0)
13:15
Cherrypick of [c1152bdcbb] and fix for [9f2eb3abac]: Have the whereShortCut() planner ignore indexes with more than four columns. (check-in: c3f75941e5 user: drh tags: branch-3.8.0)
10:46
Candidate fix for [9f2eb3abac]: Have the whereShortCut() planner ignore indexes with more than four columns. (check-in: c1152bdcbb user: dan tags: trunk)
02:27
Disable several toreal() tests that require high floating point precision when it is unavailable. (check-in: b724219b00 user: mistachkin tags: toTypeFuncs)
01:17
Prevent the implementation of the toreal() SQL function from being 'optimized' by MSVC. (check-in: 047bd1c245 user: mistachkin tags: toTypeFuncs)
01:11
Merge updates from trunk. (check-in: 375dfe288f user: mistachkin tags: toTypeFuncs)
01:09
Small enhancements to unit testing infrastructure. (check-in: 9229aeb361 user: mistachkin tags: trunk)
01:03
Enable finer control of optimizations when compiling with the MSVC makefile. Also, several modularity enhancements to the MSVC makefile. (check-in: 6c709338bc user: mistachkin tags: trunk)
01:01
Fix boundary case for the toreal() SQL function. (check-in: abe82c634c user: mistachkin tags: toTypeFuncs)
2013-08-28
19:01
Re-enable test file wild001.test. (check-in: 4f182ddc36 user: dan tags: trunk)
18:56
Merge updates from trunk. (check-in: ffc6e68283 user: mistachkin tags: toTypeFuncs)
18:18
Add the win32-longpath VFS allowing windows filenames up to 32K characters in length. Remove unused code when -DSQLITE_MAX_MMAP_SIZE=0. Fix some compiler warnings on windows. (check-in: 12d0a8859d user: drh tags: trunk)
18:06
Update list of supported Tcl shells to include 8.6. Remove stray OS2 references. (Closed-Leaf check-in: ecd52ccf65 user: mistachkin tags: mmapDisabled)
17:59
Fix a couple comments. (check-in: 945cb89ecb user: mistachkin tags: mmapDisabled)
16:27
In the query optimizer, when converting BETWEEN and LIKE/GLOB expressions into simpler forms for processing, be sure to transfer the LEFT JOIN markings. Fix for ticket [bc878246eafe0f52c]. (check-in: caab361ebe user: drh tags: trunk)
13:46
Increase the version number to 3.8.1 due to the addition of STAT4 support. (check-in: 41c089e2a2 user: drh tags: trunk)
13:33
Fix an off-by-one error that causes a quoted empty string at the end of a CRNL-terminated line of CSV input to be misread by the shell. (check-in: b5617e4fda user: drh tags: trunk)
11:57
Add a test case for empty quoted field in CSV import in the shell. (check-in: 3df56e8491 user: drh tags: trunk)
11:43
Label a certain branch as NEVER() only for non-STAT3/4 builds. (check-in: b5ccf6e995 user: drh tags: trunk)
07:42
In the win32longpath test, move the journal mode change down where it was intended to be. (check-in: 5cead293bb user: mistachkin tags: mmapDisabled)
05:49
Support database file names longer than 260 characters using the new 'win32-longpath' VFS variant. (check-in: 37e85e444c user: mistachkin tags: mmapDisabled)
02:37
Make names of private functions in the Win32 VFS consistent. Fix comment typo in Win32 mutex implementation. (check-in: c3b82c5bf9 user: mistachkin tags: mmapDisabled)
02:26
Remove hard-coding of the directory separator in the Win32 VFS. Fixes to OSTRACE macros. (check-in: fc98092f4b user: mistachkin tags: mmapDisabled)
01:54
Fix several harmless compiler warnings. Fix a couple compiler issues with the shell. (check-in: 8917e9f9a0 user: mistachkin tags: mmapDisabled)
2013-08-27
23:15
Adjust ANALYZE for improved test coverage. Use the SQLITE_ENABLE_STAT3_OR_STAT4 macro (created in sqliteInt.h) to conditionally include code, instead of a boolean specifying both macros separately. (check-in: 67a9a392ed user: drh tags: trunk)
20:16
Reduce the amount of code run and memory used for ANALYZE in the common case where neither STAT3 and STAT4 are enabled. (check-in: 9d1424c91a user: drh tags: trunk)
15:41
Update sqlite3.pc.in to use @PACKAGE_VERSION@ instead of @RELEASE@. (check-in: 2460dfd882 user: dan tags: trunk)
14:14
In the ANALYZE command implementation make statInit() a 2-value function since the 3rd parameter was always the same constant. (check-in: 959bb5acdc user: drh tags: trunk)
2013-08-26
23:18
Preparation for further Windows path name handling changes. (check-in: ec99224b0c user: mistachkin tags: mmapDisabled)
23:18
Merge the STAT4 capability into trunk. (check-in: a32af0abe5 user: drh tags: trunk)
20:45
Change MAX_PATH related defines to use character lengths where WCHARs are used. (check-in: 0a497083e9 user: mistachkin tags: mmapDisabled)
19:36
Merge updates from trunk. (check-in: 9d6860098f user: mistachkin tags: mmapDisabled)
14:30
Fix for builds with both SQLITE_OMIT_WAL and SQLITE_MAX_MMAP_SIZE=0 defined. (check-in: edd5dbdc32 user: dan tags: trunk)
04:50
Version 3.8.0 (check-in: f64cd21e2e user: drh tags: trunk, release, version-3.8.0)
2013-08-24
23:55
Several modifications to the use of the MAX_PATH macro on Windows to improve consistency. (check-in: bda4c47df8 user: mistachkin tags: mmapDisabled)
01:12
Fix a couple compilation issues on Unix. (check-in: 25b029d8f3 user: mistachkin tags: mmapDisabled)
00:59
Unify the result of PRAGMA mmap_size when mmap support is disabled. (check-in: 032c31593d user: mistachkin tags: mmapDisabled)
2013-08-23
17:54
Merge recent trunk changes. (check-in: 6cc54de88b user: dan tags: sessions)
17:43
Add the sqlite3session_table_filter API to the sessions extension. (check-in: b7e4dd889d user: dan tags: sessions)
17:33
Adjust #ifdefs to get SQLITE_OMIT_AUTOMATIC_INDEX and SQLITE_OMIT_PAGER_PRAGMAS to build. (check-in: ed31020162 user: drh tags: trunk)
16:47
Fix a requirements comment in a test case. No changes to the testcase itself nor to any code. (check-in: 3ad1f998e5 user: drh tags: trunk)
12:04
Modify script mkautoconfamal.sh to use the download.html naming convention for the tar.gz it creates. (check-in: 375b4e3db0 user: dan tags: trunk)
2013-08-22
15:07
Merge in minor bug fixes and performance tweaks from trunk leading up to the version 3.8.0 release. (check-in: 831492dca8 user: drh tags: sessions)
02:56
Defer the creation of automatic indices until the index is actually used. (check-in: 0775501acf user: drh tags: trunk)
2013-08-21
23:42
Simplify the btreeGetPage() routine so that it uses a single flag parameter in place of two boolean parameters. (check-in: 617e23ec28 user: drh tags: trunk)
22:54
Minor performance tweaks to the pager. (check-in: 9ae1f9ce7e user: drh tags: trunk)
22:09
Refactor the sqlite3_randomness() implementation for improved performance. (check-in: 4144dffb57 user: drh tags: trunk)
21:12
Simplification to the StrAccum object and the sqlite3StrAccumAppend() method that also results in slightly better performance. (check-in: 700dbbea86 user: drh tags: trunk)
20:04
Minor fixes for test cases. No code changes. (check-in: ef2a6a3736 user: dan tags: trunk)
19:59
Fix typo in test. (check-in: f9859fe93b user: mistachkin tags: trunk)
19:13
Update sqlite3MemCompare() to try common cases first, for a modest speed improvement. (check-in: b25bac7919 user: drh tags: trunk)
17:35
If a virtual table xSync() returns an error message, copy it into a buffer allocated by sqlite3DbMalloc() before transfering it to Vdbe.zErrMsg. (check-in: 854ba30490 user: dan tags: trunk)
15:52
Performance enhancement in btreeParseCellPtr(). (check-in: a17190a229 user: drh tags: trunk)
15:45
Fix an FTS4 problem introduced by [361084e1eb]. (check-in: 5f35c8cb8f user: dan tags: trunk)
12:04
Candidate fix for [d666d600a6]. (check-in: 781592f32c user: dan tags: trunk)
07:25
Fix a minor problem in progress.test. No code changes. (check-in: a95ae93b32 user: dan tags: trunk)
2013-08-20
20:25
Fix a couple of test scripts to work with DEFAULT_AUTOVACUUM and OMIT_VIRTUALTABLE. (check-in: 356c6c5931 user: dan tags: trunk)
17:14
Fix an invalid assert() in where.c. Also a crash that can occur in the EXPLAIN QUERY PLAN code under obscure circumstances. (check-in: ef192abb82 user: dan tags: trunk)
17:00
Ignore IS NOT NULL and NOT NULL constraints on NOT NULL columns. (check-in: e476408e3c user: drh tags: trunk)
16:08
Test script changes to support testing sqlite3_interrupt(). (check-in: 0cede9f898 user: dan tags: trunk)
13:02
Merge performance enhancements and compiler warning fixes from trunk. (check-in: 3e4033285d user: drh tags: sessions)
09:26
Add test cases for tointeger() and toreal() functions. Fixes for several tests. (check-in: 5e1e9fd5e4 user: mistachkin tags: toTypeFuncs)
03:13
Performance optimizations in the VDBE and especially to the OP_Next and related opcodes and in the sqlite3BtreeNext() and sqlite3BtreePrevious() routines. This is a cherrypick of [6f99b54aedeb], [d2efea1682a7], and [d78c5d89de4b]. (check-in: 7f72fc4f47 user: drh tags: trunk)
02:07
Fix compiler warnings and boundary cases for the tointeger() and toreal() functions. (check-in: 4438b98658 user: drh tags: toTypeFuncs)
00:42
Performance optimizations in the VDBE and especially to the OP_Next and related opcodes. (check-in: d78c5d89de user: drh tags: toTypeFuncs)
2013-08-19
23:18
Performance improvement to SQL function calls in the VDBE. (check-in: d2efea1682 user: drh tags: toTypeFuncs)
22:22
Additional performance improvements in sqlite3BtreeNext() and sqlite3BtreePrevious(). (check-in: 6f99b54aed user: drh tags: toTypeFuncs)
21:15
Add tointeger() and toreal() SQL functions. (check-in: af49707211 user: mistachkin tags: toTypeFuncs)
20:04
Performance improvement in sqlite3BtreeNext() and sqlite3BtreePrevious() for the common case of a valid cursor. (check-in: dc65ad8c4c user: drh tags: trunk)
19:29
Initialize a variable in fts3_write.c on the grounds that the argument required to show that it does not require initialization with is complicated. Add an assert() to where.c to silence a clang scan-build warning. (check-in: d6c4d48a00 user: dan tags: trunk)
18:37
Fix test script pragma2.test so that it works with ENABLE_MEMORY_MANAGEMENT. (check-in: 6acf728100 user: dan tags: trunk)
18:17
Add some extra assert() statements to silence a few clang warnings. (check-in: 1c63e9515b user: dan tags: trunk)
14:23
Remove unused variables from the command-line shell sources. (check-in: 753a402e90 user: drh tags: trunk)
14:19
Fix a potential reference off the end of an array in the query planner. (check-in: f15591f802 user: drh tags: trunk)
12:49
Merge in all the latest updates and enhancements from trunk. (check-in: 67587a3348 user: drh tags: sessions)
11:15
Fixes for harmless compiler warnings. (check-in: a0d9ca4f07 user: drh tags: trunk)
2013-08-17
18:57
Adjustments to #ifdefs in analyze.c to all a clean compile with no extra code with both ENABLE_STAT3 and ENABLE_STAT4 and with neither. (Closed-Leaf check-in: f86b75b6c7 user: drh tags: sqlite_stat4)
16:37
Add the cache_spill pragma. Change the fullfsync and checkpoint_fullfsync pragmas to apply to all attached databases. (check-in: 65a85a156f user: drh tags: trunk)
15:42
The fullfsync, checkpoint_fullfsync, and cache_spill pragmas apply to all files of a database connection, including those opened by future ATTACH statements. (Closed-Leaf check-in: d07c4331a2 user: drh tags: cache_spill)
00:25
Test cases for the cache_spill pragma. (check-in: b85c9ec5e0 user: drh tags: cache_spill)
2013-08-16
20:42
Add the cache_spill pragma. (check-in: cdb181c04f user: drh tags: cache_spill)
17:46
Add a test for the problem fixed by [91733bc485]. (check-in: 5c59110481 user: dan tags: sqlite_stat4)
17:18
In sqlite3Stat4ProbeSetValue() change a local variable name iVar to iBindVar to avoid confusion with iVal, and fix a place where the name was actually confused. (check-in: 91733bc485 user: drh tags: sqlite_stat4)
14:51
Merge the fork that resulted from a check-in race. (check-in: b7fe4f362b user: drh tags: sqlite_stat4)
14:49
Fix valueFromExpr() so that it returns SQLITE_NOMEM following an OOM when changing text encodings. Also fix some asserts to accommodate OOM errors. (check-in: dc1ccd09c4 user: drh tags: sqlite_stat4)
14:48
Fixes for test code that was not working with utf16 databases. Run the analyze*.test scripts as part of the 'utf16' permutation test. (check-in: fe99494d99 user: dan tags: sqlite_stat4)
14:23
Add extra tests. No code changes. (check-in: 949127d53e user: dan tags: sqlite_stat4)
14:09
Avoid buffer overreads and false OOM error reports that could be caused by corrupted sample records in the sqlite_stat4 table. (check-in: 9f85b6a52a user: dan tags: sqlite_stat4)
13:34
Fix a potential segfault following an OOM while running ANALYZE. (check-in: 0118797823 user: drh tags: sqlite_stat4)
12:26
Merge recent trunk changes into the STAT4 branch. (check-in: c69b512af2 user: drh tags: sqlite_stat4)
2013-08-15
22:40
Make sure that GROUP BY terms select input column names in preference to output column names, in compliance with the SQL standard. Ticket [1c69be2dafc28]. (check-in: f2d175f975 user: drh tags: trunk)
20:24
Bare identifiers in ORDER BY clauses bind more tightly to output column name, but identifiers in expressions bind more tightly to input column names. This is a compromise between SQL92 and SQL99 behavior and is what PostgreSQL and MS-SQL do. Ticket [f617ea3125e9c]. (check-in: c78b357c00 user: drh tags: trunk)
20:05
Make it easy to attach a debugger the test fixture process prior to any tests being run. (check-in: 53cd9ebfaf user: mistachkin tags: trunk)
19:56
Fix a crash that can occur if the sqlite_stat3 or sqlite_stat4 table is corrupt. (check-in: d51df8a8fc user: dan tags: sqlite_stat4)
18:43
Fix a crash that can occur following an OOM fault. (check-in: 9f80b26870 user: dan tags: sqlite_stat4)
16:18
Change some assert() statements in vdbe.c to ensure that a memory cell used to store a VdbeCursor object is not also used for some other purpose. (check-in: 71070c9fce user: dan tags: sqlite_stat4)
16:15
Make sure the ANALYZE command allocates enough VDBE registers. (check-in: 46fec9b1a1 user: drh tags: sqlite_stat4)
14:39
Add tests for sqlite_stat4 sample selection. And a fix for the same. (check-in: 1fb4d9d6f2 user: dan tags: sqlite_stat4)
14:27
Clarification and typo fixes in comments related to name resolution. No changes to code. (check-in: f30abdf9d8 user: drh tags: trunk)
08:06
Make it easy to attach a debugger the test fixture process prior to any tests being run. (Closed-Leaf check-in: c23acba11b user: mistachkin tags: dbgTestFixture)
2013-08-14
19:54
Change the way ANALYZE works to use a single cursor when scanning indices. (check-in: bdce612b35 user: dan tags: sqlite_stat4)
00:20
Fix a few more minor comment typos. No changes to code. (check-in: 9e999081a5 user: mistachkin tags: trunk)
2013-08-13
22:33
Fix an outdated comment and a comment typo. No changes to code. (check-in: ac33695949 user: mistachkin tags: trunk)
2013-08-12
20:14
If ENABLE_STAT3 is defined but ENABLE_STAT4 is not, have ANALYZE create and populate the sqlite_stat3 table instead of sqlite_stat4. (check-in: cca8bf4372 user: dan tags: sqlite_stat4)
17:31
If there is data in both the sqlite_stat4 and sqlite_stat3 tables for a single index, ignore the sqlite_stat3 records. (check-in: 2a41736728 user: dan tags: sqlite_stat4)
17:00
Handle a NULL input to decodeIntArray() that can result from a prior OOM. (check-in: fa1588adab user: drh tags: sqlite_stat4)
16:34
Re-enable reading from the sqlite_stat3 table (as well as sqlite_stat4). (check-in: 6d45078e62 user: dan tags: sqlite_stat4)
11:21
Fix a bug in calculating the average number of entries for keys not present in the sqlite_stat4 table. (check-in: ec3ffb1748 user: dan tags: sqlite_stat4)
09:29
Fix minor problems caused by adding the rowid to the records in stat4. (check-in: 088d1ff948 user: dan tags: sqlite_stat4)
2013-08-10
19:08
Add the rowid field to the end of sample records stored in the sqlite_stat4 table. (check-in: 3a5e8ab7dd user: dan tags: sqlite_stat4)
2013-08-09
19:04
Fix a couple of typos in a comment in analyze.c. No code changes. (check-in: 5bcccb93df user: dan tags: sqlite_stat4)
14:07
Update the header comment on analyze.c to describe the sqlite_stat4 table format. (check-in: 4d97809d6b user: drh tags: sqlite_stat4)
2013-08-08
19:38
Fix problems in estimating the number of rows visited by a range query using sqlite_stat4 data when the column subject to the range query is not the leftmost of the index. (check-in: 9228aaf54d user: dan tags: sqlite_stat4)
16:17
Use a binary search instead of a linear scan when comparing a sample key against data from the sqlite_stat4 table. (check-in: e50dc30523 user: dan tags: sqlite_stat4)
14:38
If the SQLITE_EXTRA_INIT function is defined, make sure it is called only once by the effective sqlite3_initialize() call. (check-in: e2b597cafe user: drh tags: trunk)
12:21
Fix a segfault in "ALTER TABLE t1 ADD COLUMN b DEFAULT (-+1)". Also an assert() failure that could occur if SQLITE_ENABLE_STAT4 were not defined. (check-in: 9fec3e3828 user: dan tags: sqlite_stat4)
11:48
Fix a bug in using stat4 data to estimate the number of rows selected by a range constraint. (check-in: f783938ea9 user: dan tags: sqlite_stat4)
2013-08-07
23:15
If the SQLITE_ALLOW_URI_AUTHORITY compile-time option is set, then allow non-localhost authorities on URI filenames and pass them through as a UNC to the underlying VFS. (check-in: 3adb6c1bfd user: drh tags: trunk)
19:46
Replace variable Index.avgEq (average number of rows in keys for which there is no sample in sqlite_stat4) with vector Index.aAvgEq. (check-in: 7b70b419c4 user: dan tags: sqlite_stat4)
18:42
Merge latest trunk changes with this branch. (check-in: 08f74c45ec user: dan tags: sqlite_stat4)
18:07
Merge in the latest changes from trunk. (Closed-Leaf check-in: c78b0d302c user: drh tags: uri-enhancement)
16:38
Fix typos in a comment in analyze.c. No code changes. (check-in: 812ed0c58f user: dan tags: sqlite_stat4)
16:15
Change the way samples for the sqlite_stat4 table are collected. (check-in: 13ed5ac135 user: dan tags: sqlite_stat4)
16:04
Fix the ".dump" command on the command-line shell so that it works for "sqlite_stat4" in addition to "sqlite_stat1". (check-in: 1e80c4b12d user: drh tags: sqlite_stat4)
15:57
Remove the unused sqlite3Utf8to16() utility function. (check-in: 9159b43eb2 user: drh tags: sqlite_stat4)
15:52
When estimating the number of rows scanned using data from the sqlite_stat4 table, avoid allocating UnpackedRecord and KeyInfo structures until they are definitely required. (check-in: 353950a526 user: dan tags: sqlite_stat4)
14:18
Add a guard #ifndef to test_intarray.h to prevent harm if it is #included more than once. Add a comment on the closing #endif of the guards on sqlite3.h and test_multiplex.h. (check-in: 0ad83ceb79 user: drh tags: trunk)
01:18
Fix typos and add clarification to comments in where.c. No code changes. (check-in: f8d8790ede user: drh tags: trunk)
2013-08-06
20:15
Fixes for builds without SQLITE_ENABLE_STAT4. (check-in: 84999e27cc user: dan tags: sqlite_stat4)
20:01
When possible, use the multi-column samples in sqlite_stat4 to estimate the number of index rows scanned by a query plan. (check-in: 2973f5ca73 user: dan tags: sqlite_stat4)
19:18
Fix a test case related to partial indices so that it works even if STAT3 is disabled. (check-in: 153c645025 user: drh tags: trunk)
18:35
Adjust #ifdefs in test_autoext.c so that it compiles with SQLITE_OMIT_LOAD_EXTENSION. Fix compiler warnings in two other test modules. No changes to the core. (check-in: 89930ea3c3 user: drh tags: trunk)
18:21
Update the configure script to use the latest version number (3.8.0). (check-in: 52e8ec5e24 user: drh tags: trunk)
17:24
Add a testcase() macro to verify OOM coverage. (check-in: d43dcbc488 user: drh tags: trunk)
16:56
Remove unreachable branches in expr.c, replacing them with assert() and testcase() statements. (check-in: 9103c27ceb user: drh tags: trunk)
14:52
Merge in the latest changes from trunk. (check-in: 69d5bed017 user: drh tags: sessions)
14:36
For the ".import" command of the command-line shell, start a transaction if there is not one active already. (check-in: 5dcc2d91bd user: drh tags: trunk)
14:01
Clean up the input reader in the command-line shell for improved legibility and performance. (check-in: 2b1743d601 user: drh tags: trunk)
07:45
More than double the speed of the resolveP2Values() routine in vdbeaux.c by moving from an extended if-else on every opcode to a switch. Opcodes are reordered in mkopcodesh.awk to put the switched opcodes close together, for additional performance and to reduce code footprint. (check-in: 924f7e4d7a user: drh tags: trunk)
2013-08-05
22:05
Performance optimization: Avoid calling convertCompoundSelecctToSubquery() on queries that do not use the UNION, EXCEPT, or INTERSECT operators. (check-in: c589b2fed7 user: drh tags: trunk)
21:54
For the vtshim module, always zero out the xChildDestroy function pointer after calling it. (check-in: 240f7252c6 user: mistachkin tags: trunk)
19:11
Factor all KeyInfo object allocations into a single function: sqlite3KeyInfoAlloc(). Always allocate enough space so that sqlite3VdbeRecordCompare() can avoid checking boundaries and hence run faster. (check-in: 7301bedd94 user: drh tags: trunk)
19:04
Modify the vdbe code generated by ANALYZE to use fewer memory cells and cursor slots. (check-in: 4a51cf289f user: dan tags: sqlite_stat4)
18:00
Use N separate cursors when scanning an index with N columns to collect sqlite_stat4 data. This fixes a problem with collecting incorrect nEq values from multi-column indexes. (check-in: 3a71afe674 user: dan tags: sqlite_stat4)
15:32
Improve performance of sqlite3VdbeRecordCompare() by using an approximation that might give false negatives and only running the more expensive exact subexpression if the approximation fails. (check-in: 28979dcd16 user: drh tags: trunk)
12:31
Add a missing '#include "tcl.h"' to test_rtree.c. (check-in: 4b8b426f10 user: drh tags: trunk)
05:34
Fix a couple of problems in code related to sqlite_stat4. (check-in: badd24d987 user: dan tags: sqlite_stat4)
2013-08-03
20:24
Begin adding experimental sqlite_stat4 table. This commit is buggy. (check-in: 2beea303a1 user: dan tags: sqlite_stat4)
2013-08-02
23:40
Updates to requirements marks. No code changes. (check-in: 213020769f user: drh tags: trunk)
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: 7e1acb3907 user: drh tags: sessions)
20:11
Add NEVER() and ALWAYS() macros on some unreachable yet prudent branches. (check-in: c5c0a8ab6c user: drh tags: trunk)
16:41
Add support for partial indices. (check-in: 478113f18b user: drh tags: trunk)
14:18
Silently ignore database name qualifiers in CHECK constraints and in partial index WHERE clauses. (Closed-Leaf check-in: 2e8c845eb5 user: drh tags: partial-indices)
13:31
Fix typos in documentation for SQLITE_DBSTATUS_DEFERRED_FKS . No changes to code. (check-in: f3efbfcd51 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: e3c8935f87 user: drh tags: trunk)
22:26
Fix an incorrect expected result in a test case in corruptG.test. (check-in: 6913831ad2 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: e436b2f4e5 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: c3baca99f4 user: drh tags: trunk)
17:43
Add test case for the problem fixed by [127a5b776d]. (check-in: 65816718b5 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: 127a5b776d 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: 31b4e63b3c 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: 2e3df0bc90 user: drh tags: partial-indices)
15:09
More test cases and corresponding bug fixes. (check-in: 0c8cfdfae2 user: drh tags: partial-indices)
13:04
Fill out an initial implementation of the sqlite3ExprImpliesExpr() function. (check-in: 8e07aa2ad5 user: drh tags: partial-indices)
12:21
Refactor internal function name sqlite3VdbeGetValue() to sqlite3VdbeGetBoundValue(). (check-in: 81834c3023 user: drh tags: partial-indices)
04:39
Fix the ANALYZE command to work with partial indices. (check-in: 60353124f4 user: drh tags: partial-indices)
03:36
Test cases and bug fixes for the partial index logic. (check-in: 6b73ae7c12 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: fb9044d15a 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: 136fc2931b 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: 8ca3eac111 user: drh tags: partial-indices)
22:39
Slight modifications to path name translation handling for Cygwin. (check-in: 33ba1f4c5d 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: c93d891b03 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: bb06e15790 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: f2aa7842c8 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: 6794b2dcb4 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: eb6d4278b8 user: drh tags: trunk)
2013-07-29
19:03
For the MSVC makefile, recompile vdbe.lo and parse.lo first. (check-in: 9e819f0f12 user: mistachkin tags: trunk)
15:54
Comment and preprocessor macro cleanup. (check-in: c0809b5e32 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: a94a66d10f 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: 8bcbb33fd0 user: drh tags: trunk)
16:41
Fix a typo in main.c: SQLITE_DEAULT_AUTOMATIC_INDEX -> SQLITE_DEFAULT_AUTOMATIC_INDEX (check-in: cc78e21c77 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: 4698a82ef8 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: de05eb75ec user: drh tags: uri-enhancement)
2013-07-23
22:28
Get the new URI logic working for Windows. (Closed-Leaf check-in: 0165789f08 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: 74c12dee17 user: drh tags: uri-enhancement)
2013-07-20
00:39
Merge updates from trunk. (check-in: dd4b77c82a user: mistachkin tags: toTypeFuncs)
00:34
Add 'queryplantest' target to the MSVC makefile. (check-in: ad0551e039 user: mistachkin tags: trunk)
2013-07-19
23:58
Fixes to test numbering. (check-in: f755b4b21c user: mistachkin tags: trunk)
2013-07-18
20:28
Remove unused "codec" code from the command-line shell. (check-in: 37abfe0c1e user: drh tags: trunk)
18:45
Improved documentation for sqlite3_set_auxdata(). Ticket [406d3b2ef91c]. (check-in: 62465ecba7 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: 153deac8fa user: dan tags: trunk)
18:28
Fix a typo in the previous commit. (Closed-Leaf check-in: cd9096e64b 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: 71effa59c9 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: 5dcffa671f 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: 7acc8cd32d 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: b1b0de29fd user: drh tags: trunk)
18:12
Enhance the sqlite3_analyzer tool to give reports on the sizes of individual indices. (check-in: 3b4096cc8a 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: 64bf8148b8 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: 20dba3a7fb 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: 5e19d05410 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: cdce87eb88 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: 92adaee5bd 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: 7d829bdea3 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: 8dfc0b78c3 user: drh tags: sessions)
15:22
Add the experimental "query_only" pragma. (check-in: 6557c40798 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: 527121ac3c 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: d39e65fe70 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: 3a2ab74c85 user: drh tags: sessions)
03:09
Environment variable names in nmake must be in all uppercase. (check-in: 0328e873f2 user: mistachkin tags: vsix2013)
2013-07-10
21:33
More corrections to VS 2013 integration. (check-in: 7a8b0e362b user: mistachkin tags: vsix2013)
19:53
Use the VisualStudioVersion variable instead of _MSC_VER. (check-in: 603e9db817 user: mistachkin tags: vsix2013)
19:39
More changes to support MSVC 18. (check-in: 29c458e2c2 user: mistachkin tags: vsix2013)
18:14
Fix harmless compiler warnings in the progress callback logic. (check-in: 908141d5bf 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: ece960c496 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: 3e8b02011d 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: f003bea9fe user: drh tags: trunk)
13:05
Pull in all the latest changes from trunk. (check-in: af3ca4c6e5 user: drh tags: sessions)
12:36
Modify several extensions to use the new exported function naming. Fix some shared library compilation issues. (check-in: 1e39f85077 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: 52a49cbc16 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: 776e65f98c 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: 3b30b75b34 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: 9415db6ef2 user: drh tags: trunk)
2013-07-06
18:07
Fixes for test cases running in the "mmap" permutation. (check-in: cdb97d41ab 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: 0ae7e75b21 user: dan tags: trunk)
2013-07-05
19:16
Fix two test script problems revealed by permutations.test. (check-in: 60cf7e4487 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: ff8c3f7840 user: dan tags: trunk)
11:10
Add missing "static" qualifier to functions in where.c. (check-in: 5c906e914b user: dan tags: trunk)
10:46
Make a couple of implicit casts explicit to fix compiler warnings. (check-in: 9676280a93 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: f2ab874782 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: 1452defb8c 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: 1d44e5d3c2 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: c2972b6aed user: dan tags: sessions)
15:25
Remove a surplus local variable (check-in: 91bc840eea user: drh tags: trunk)
10:06
Fix a minor typo in a comment in where.c. (check-in: 4a9d51e792 user: dan tags: trunk)
00:06
Fix harmless typos in comments of two extensions. (check-in: 1c3ed47b71 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: 3d49c593dc 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: 72919ec34f user: drh tags: trunk)
11:05
Further minor comment corrections and enhancements in where.c. (check-in: 0d68d4d018 user: drh tags: trunk)
10:38
Make a trivial comment fix in where.c. (check-in: 0ffaab3b9c 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: 60b65e5ee3 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: b003b2b2b6 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: 338826ef3f 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: 459b317902 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: f308c48517 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: 60c19b8679 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: 5480d124b7 user: drh tags: trunk)
01:24
Refactor the Vdbe.noIO field as Vdbe.bIsReader. The meaning is inverted. (check-in: 59f98c5c24 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: 14f7969634 user: drh tags: trunk)
19:12
Fix an error in e_expr.test. (check-in: fd4ece18c9 user: dan tags: trunk)
17:40
Make sure that sqlite3_stmt_readonly reports false for PRAGMA journal_mode and PRAGMA wal_checkpoint. Ticket [a589ec069e3]. Also keep track of whether a prepared statement does no reading or writing. (check-in: 1937fd8eec user: drh tags: trunk)
14:24
Add a test to ensure that if BEGIN IMMEDIATE fails with SQLITE_BUSY, it does not leave the user with an open read transaction (unless one was already open). (check-in: 22bced36f0 user: dan tags: trunk)
14:07
If the filename argument to the ".import" command in the command-line shell begins with '|' then treat it as an input pipe rather than a file. (check-in: 4c02b344f5 user: drh tags: trunk)
13:26
Improved handling of backslash escapes on double-quoted arguments to dot-commands in the command-line shell. (check-in: 656a1fe5dd user: drh tags: trunk)
13:01
The undocumented and unsupported ".selftest" command in the command-line shell utility is now only available if compiled with SQLITE_DEBUG. Also fix a windows compiler warning in that command. (check-in: e88fd5b221 user: drh tags: trunk)
11:46
Add extended error code SQLITE_BUSY_SNAPSHOT - returned in WAL mode when a read-transaction cannot be upgraded to a write-transaction because it is reading from a snapshot other than the most recently committed. (check-in: 361c22969a user: dan tags: trunk)
2013-06-26
22:46
Update the ".import" command of the command-line shell so that it can accept field values that span multiple lines and so that it issues error messages if the input text does not strictly conform to RFC4180. (check-in: 93f632152e user: drh tags: trunk)
18:04
Add the "vtshim" extension, implementing a wrapper around the virtual table interface to make it Disposable for the CLR. No changes to the core. (check-in: 6c3839ef31 user: drh tags: trunk)
16:30
Update the boundary3.tcl script so that it can be run with tcl 8.5 or 8.6 to regenerate boundary3.test. (check-in: ebac5afa47 user: dan tags: trunk)
13:31
Bring the sessions branch up-to-date with all the latest trunk changes. (check-in: 086a127236 user: drh tags: sessions)
13:22
Add the SQLITE_STMTSTATUS_VM_STEPS option for sqlite3_stmt_status(). (check-in: bd4267f17b user: drh tags: trunk)
11:49
Omit tables from the FROM clause of a join if their presence makes no difference in the final output. (check-in: 6505e2ab02 user: drh tags: trunk)
11:43
Cut over the next generation query planner. Increase the version number to 3.8.0. (check-in: 0fe31f60ca user: drh tags: trunk)
00:34
Fix an uninitialized variable detected by valgrind. Unclear whether or not this should apply to trunk. (Closed-Leaf check-in: 19ab4811d5 user: drh tags: nextgen-query-plan-exp)
2013-06-25
22:01
Add a new (experimental) sqlite3_stmt_status() verb that returns the number of VM steps. (Closed-Leaf check-in: f1366bab73 user: drh tags: status-vm-step)
2013-06-22
15:44
Add the ability to disable the omit-join-table optimization for testing purposes. (Closed-Leaf check-in: d929df9b1b user: drh tags: omit-join-table-opt)
2013-06-21
19:39
Enhance error message handling for the vtshim module. (Closed-Leaf check-in: b4a0d5327a user: mistachkin tags: disposable-vtable)
19:29
Merge in the latest changes from trunk. Simplify the implementation of the tointeger() and toreal() functions. Fix test cases and put unambiguous labels on all testcase names. (check-in: 9b837b0508 user: drh tags: toTypeFuncs)
18:36
Remove an unused function declaration from the FTS3 source code. (check-in: 096ae1d8f9 user: drh tags: trunk)
18:32
Merge updates from trunk. (check-in: fa2a91e6c6 user: mistachkin tags: toTypeFuncs)
18:29
Merge the fts4-notindexed branch with the trunk. (check-in: 361084e1eb user: dan tags: trunk)
18:18
Add a few more tests for the fts4 notindexed option. (Closed-Leaf check-in: b53c0c41f9 user: dan tags: fts4-notindexed)
17:30
Add the "notindexed" option to fts4. (check-in: 8ff2b8f594 user: dan tags: fts4-notindexed)
07:54
Update comments and package flavor error message. (check-in: 9d1b96182a user: mistachkin tags: vsix2013)
02:15
Only eliminate inner loops of a JOIN if they are the RHS of a LEFT JOIN and if they give no more than a single result. This appears to give correct answers in all cases. (check-in: d7a25cc797 user: drh tags: omit-join-table-opt)
02:05
Attempt to disable inner loops of a join that do not generate output. This does not work, since the inner loops might run zero times and thus inhibit all output. Needs to be enhanced to work only for LEFT JOINs or when we know that the inner loop will always run at least once. (check-in: ca839723a2 user: drh tags: omit-join-table-opt)
00:35
Modify the query planner interface so that it always passes in the result set. This is the first step toward adding an optimization that will omit tables from a join that do not contribute to the result. (check-in: 2c2577e69c user: drh tags: omit-join-table-opt)
2013-06-20
19:55
Add tests for modifying the docid and languageid fields of an fts table with a non-zero languageid_bits field. (Closed-Leaf check-in: 949425d467 user: dan tags: fts-languageid-bits)
19:07
Use the target platorm version in the VS props file as well. (check-in: ce5a8cc1cf user: mistachkin tags: vsix2013)
18:53
VSIX tooling changes to support Visual Studio 2013. (check-in: c5954c58c0 user: mistachkin tags: vsix2013)
18:32
Fix some issues related to ORDER BY and fts tables with a non-zero languageid_bits setting. (check-in: 81527768ef user: dan tags: fts-languageid-bits)
17:32
Add a NEVER() macro and an explanation comment around an unreachable branch in the STAT3 logic. (check-in: 604c3c5de6 user: drh tags: nextgen-query-plan-exp)
16:22
Add extra tests for fts with a non-zero languageid_bits setting. Fix querying by docid with the same. (check-in: b1df00f3f1 user: dan tags: fts-languageid-bits)
14:17
Pull in the posix_fallocate() change from trunk. (check-in: d94db3fd92 user: drh tags: nextgen-query-plan-exp)
14:07
Disable posix_fallocate() for all systems, all the time, unless the HAVE_POSIX_FALLOCATE compile-time macro is supplied. (check-in: b674462243 user: drh tags: trunk)
11:48
Add tests (and a fix) for large and small fts docid values with various languageid_bits settings. (check-in: 8dc261b765 user: dan tags: fts-languageid-bits)
11:01
Fix fts handling of the case where both a rowid and docid are specified as part of an insert statement. (check-in: 610e7e9612 user: dan tags: fts-languageid-bits)
01:27
The vtshim xCreate and xConnect functions need to store the pAux pointer into the newly created vtable object. Style fixes. (check-in: 43913c7bd5 user: mistachkin tags: disposable-vtable)
00:20
Integration adjustments for the vtshim module. (check-in: bf2e28ddb2 user: mistachkin tags: disposable-vtable)
2013-06-19
23:48
Merge in trunk changes to os_unix.c that allow the code to build on unix platforms that lack posix_fallocate(). (check-in: bf5764067a user: drh tags: nextgen-query-plan-exp)
20:13
Add the languageid_bits= option to fts. Still some problems to work out. (check-in: d36d7e6833 user: dan tags: fts-languageid-bits)
18:01
Add in the cost of doing a table lookup on OR searches. Make test case changes to deal with difference in STAT3 behavior. (check-in: d97898e8e3 user: drh tags: nextgen-query-plan-exp)
14:49
Only default HAVE_POSIX_FALLOCATE on for linux, and then only if it is not previously defined. (check-in: 2b2ade9278 user: drh tags: trunk)
14:28
Only enable posix_fallocate by default on linux and mac. (check-in: b9b30d4f98 user: drh tags: trunk)
13:59
Additional compiler warning fixes. (check-in: 8d2ae8e2f3 user: drh tags: nextgen-query-plan-exp)
13:32
Fix a harmless uninitialized variable warning. (check-in: 9d3ef3bd2c user: drh tags: nextgen-query-plan-exp)
12:34
Simplify and add invariants to the WhereLoop merging logic inside of whereLoopInsert(). (check-in: 8f27f35f28 user: drh tags: nextgen-query-plan-exp)
03:27
Fix compiler warnings. Fix a harmless off-by-one error in the solver. (check-in: 10021941d0 user: drh tags: nextgen-query-plan-exp)
2013-06-18
20:06
Adjustments to testcase() macros for improved testability. (check-in: 4fbb0c4d26 user: drh tags: nextgen-query-plan-exp)
01:52
Remove some redundant and unreachable code. (check-in: 4c6d58d75d user: drh tags: nextgen-query-plan-exp)
2013-06-17
21:37
Add more testcase() macros. Fix a memory leak following OOM in the virtual table analysis logic. (check-in: b61402af69 user: drh tags: nextgen-query-plan-exp)
18:20
Simplifications to the NGQP. Add the queryplantest makefile target. Add testcase() macros in the NGQP. (check-in: eaf1f1b405 user: drh tags: nextgen-query-plan-exp)
14:18
Use automatic indices on subqueries of the FROM clause when appropriate. (check-in: e8f124284e user: drh tags: nextgen-query-plan-exp)
2013-06-15
15:11
Fix compiler warnings. (check-in: 3e8ac46918 user: drh tags: nextgen-query-plan-exp)
2013-06-14
13:27
Comment tweaks in where.c. No changes to code. (check-in: cecc5fdd5d user: drh tags: nextgen-query-plan-exp)
02:51
Add a new ORDER BY optimization that bypasses ORDER BY terms that are constrained by == and IS NULL terms of the WHERE clause. (check-in: b920bb70bb user: drh tags: nextgen-query-plan-exp)
2013-06-13
17:58
An index might be useful for ORDER BY if any indexed column is in the ORDER BY clause, not just the first indexed column. (check-in: ade473b5ae user: drh tags: nextgen-query-plan-exp)
17:28
Make sure that disabling the covering index scan optimization does not prevent a covering index from being used to satisfy an ORDER BY clause. (check-in: e8b7ea8202 user: drh tags: nextgen-query-plan-exp)
15:50
Restore the ability to do a BETWEEN query on the rowid. Also fix a nearby comment. (check-in: 459a7b9068 user: drh tags: nextgen-query-plan-exp)
15:16
Make the MIN() and MAX() macros available in sqliteInt.h. Add TUNING comments to the NGQP and adjust costs slightly. (check-in: 3a72af2a95 user: drh tags: nextgen-query-plan-exp)
14:51
Fix an off-by-one error in the WhereCost to integer conversion. (check-in: b5ca80d924 user: drh tags: nextgen-query-plan-exp)
00:32
Add a prototype for an extension that sits in between the SQLite native code virtual table interface and a CLR IDisposable object. (check-in: 10bba8d082 user: drh tags: disposable-vtable)
2013-06-12
20:18
Activate the one-pass optimization. Update comments, especially the descriptions of the various objects. (check-in: e120c558a5 user: drh tags: nextgen-query-plan-exp)
17:55
Bug fixes in the handling of virtual tables. (check-in: 25c0f7292a user: drh tags: nextgen-query-plan-exp)
17:17
Merge all changes from trunk. (check-in: f2e15b1974 user: drh tags: nextgen-query-plan-exp)
17:08
"make test" now passing. (check-in: addd7f466d user: drh tags: nextgen-query-plan-exp)
14:52
Add the "queryplanner" test permutation. Continuing refinements to NGQP. (check-in: 25e2cde105 user: drh tags: nextgen-query-plan-exp)
03:48
Continue refining the NGQP (check-in: 40567fddd4 user: drh tags: nextgen-query-plan-exp)
02:53
Another attempt at disabling virtual tables. This one leaks memory. (Closed-Leaf check-in: 399e28283b user: drh tags: disable-vtab)
2013-06-11
22:41
Add the ability to disable future calls to virtual table methods by invoking sqlite3_create_module() with a NULL sqlite3_module pointer. (check-in: 6b77d61adb user: drh tags: disable-vtab)
18:59
Improved processing of DISTINCT. (check-in: ba897100fe user: drh tags: nextgen-query-plan-exp)
14:22
Add the SQLITE_FTS3_MAX_EXPR_DEPTH compile time option. (check-in: 24fc9d4438 user: dan tags: trunk)
13:30
Fix the Parse.nQueryLoop state variable to work with NGQP. (check-in: f1cac24f06 user: drh tags: nextgen-query-plan-exp)
02:36
Use a logarithmic rather than linear cost and row-count measures. Do not report row count estimates in EQP output. (check-in: b777b1097d user: drh tags: nextgen-query-plan-exp)
02:32
Fixes to EXPLAIN QUERY PLAN output. Change weights back to something closer to what they are in legacy. More test case fixes. (Closed-Leaf check-in: 36373b85f9 user: drh tags: nextgen-query-plan-logcost)
01:50
Handle virtual tables correctly when using logarithmic costs. Fixes to test cases. (check-in: e612664aa2 user: drh tags: nextgen-query-plan-logcost)
2013-06-10
23:30
Fix test cases for the new EXPLAIN QUERY PLAN format. Add the wherecosttest tool. Other fixes to logarithm cost. (check-in: aa580e368e user: drh tags: nextgen-query-plan-logcost)
20:46
Fix some minor issues with logarithmic cost in NGQP. (check-in: 69cf877283 user: drh tags: nextgen-query-plan-logcost)
19:12
First attempt to store costs and row counts as a logarithm. (check-in: 9e8109673c user: drh tags: nextgen-query-plan-logcost)
14:56
Simplification and performance tweak to the high-speed NGQP bypass. (check-in: 0f8a38ee54 user: drh tags: nextgen-query-plan-exp)
12:34
Performance improvements for whereScan methods. (check-in: aae14350a3 user: drh tags: nextgen-query-plan-exp)
12:17
Add a high-speed bypass for the NGQP for the common case of a simply query with quality constraints that outputs a single row. (check-in: 8d1ba30921 user: drh tags: nextgen-query-plan-exp)
12:15
Minor problems in the high-speed NGQP fixed. (Closed-Leaf check-in: 20eeccf1f2 user: drh tags: nextgen-query-plan-fast)
2013-06-09
20:22
Fix the memory leak in CREATE TABLE that occurs if there are two or more COLLATE clauses on the same column. (check-in: 7e3820e5b9 user: drh tags: trunk)
20:16
Add test cases to demonstrate the memory leak on the COLLATE clause. (Closed-Leaf check-in: 0a60212c9c user: drh tags: memleak)
17:21
High-speed version of NGQP. Still has some minor problems. (check-in: db2415fa67 user: drh tags: nextgen-query-plan-fast)
2013-06-08
19:58
Candidate fix for a memory leak that occurs if a CREATE TABLE statement contains two or more COLLATE clauses on the same column definition. (check-in: 60fc77bc53 user: drh tags: memleak)
2013-06-07
22:12
Improve manual cleaning step performed by the multi-platform build tool for MSVC. (check-in: d5bc1fe1c4 user: mistachkin tags: trunk)
02:04
Must faster computation of estimated logarithm. (check-in: dfbca3acae user: drh tags: nextgen-query-plan-exp)
00:29
Further prepare-time performance improvements. (check-in: 02741d177b user: drh tags: nextgen-query-plan-exp)
2013-06-06
23:44
Performance improvements. (check-in: 9f8e84ab98 user: drh tags: nextgen-query-plan-exp)
23:02
Improved management of the space to hold WhereLoop.aLTerm[]. (check-in: d4141ecbea user: drh tags: nextgen-query-plan-exp)
19:25
Remove some commented-out code that was mistakenly left in the previous check-in. (check-in: b4a5dbad36 user: drh tags: nextgen-query-plan-exp)
19:16
Clean up and reorganize the elements of the various objects in the analysis tree for the NGQP. (check-in: bfc76ae1e9 user: drh tags: nextgen-query-plan-exp)
2013-06-05
23:39
Move the definitions of the WhereLevel and WhereInfo objects out of sqliteInt.h and into where.c. This will facilitate future refactoring of the internal query planner data structures. (check-in: 1574653b9b user: drh tags: nextgen-query-plan-exp)
17:53
Performance improvement for the OR-clause analysis in the NGQP. (check-in: 9b1c4954e4 user: drh tags: nextgen-query-plan-exp)
16:19
Minor performance tuning of the NGQP. (check-in: cbef38c2d1 user: drh tags: nextgen-query-plan-exp)
16:17
Up until now the fts4 "unicode61" tokenizer has treated all private use codepoints except the first and last of each of the three ranges as alphanumeric (eligible to be part of tokens). This commit fixes this so that all private use codepoints are considered alphanumeric. In other words, it fixes the handling of codepoints 0xE000, 0xF8FF, 0xF0000, 0xFFFFD, 0x100000 and 0x10FFFD. (check-in: 6cfd9af525 user: dan tags: trunk)
12:47
Performance tweak to whereLoopInsert(). (check-in: 1c4a78807b user: drh tags: nextgen-query-plan-exp)
12:18
Add a test case contributed on the mailing list that works in NGQP but fails in legacy. (check-in: 96afe50866 user: drh tags: nextgen-query-plan-exp)
2013-06-04
23:40
Update some variable names and comments in the ORDER BY optimizer. Fix a bug in the ORDER BY optimizer dealing with IS NULL constraints. Updates to test cases. (check-in: cf96eb5945 user: drh tags: nextgen-query-plan-exp)
18:27
Restore the PRAGMA reverse_unordered_selects behavior. (check-in: f49cd6c4e7 user: drh tags: nextgen-query-plan-exp)
18:03
Get the index-only optimization working for OR queries. (check-in: 774d5ff857 user: drh tags: nextgen-query-plan-exp)
15:31
Test case updates. (check-in: 0360fec7c0 user: drh tags: nextgen-query-plan-exp)
13:37
Better determination of when an index is UNIQUE. (check-in: 63fd025ad9 user: drh tags: nextgen-query-plan-exp)
13:07
Increase the estimated full-scan cost for an FTS3 table. (check-in: 8d9f29f847 user: drh tags: nextgen-query-plan-exp)
12:58
Fix a display issue with EXPLAIN QUERY PLAN. (check-in: ff2fa40755 user: drh tags: nextgen-query-plan-exp)
12:42
Refactor the ORDER BY optimizer in the NGQP so that it is easier to maintain and so that it can support optimizing out GROUP BY and DISTINCT clauses. (check-in: e605c468e3 user: drh tags: nextgen-query-plan-exp)
2013-06-03
22:08
Remove more vestiges of sqlite_query_plan from the test cases. (check-in: eb27086e8a user: drh tags: nextgen-query-plan-exp)
21:25
Adjust the xBestIndex methods on both the fuzzer and transitive_closure virtual tables so that an unused MATCH operator gets a really large cost. Remove ambiguities from the fuzzer test cases. (check-in: e2c1af78b6 user: drh tags: nextgen-query-plan-exp)
20:46
Pull in recent trunk changes. Fix the ORDER BY optimizer so that it is better able to deal with COLLATE clauses. Clean up ambiguities in the descidx1.test script. (check-in: 6bc71dfcf0 user: drh tags: nextgen-query-plan-exp)
20:39
Fix a typo in a collating function inside the e_reindex.test script. (check-in: 4d74fccf02 user: drh tags: trunk)
19:17
Do not use an index fullscan for an UPDATE or DELETE or if disabled by sqlite3_test_control() or sqlite3_config(). (check-in: fabb21854e user: drh tags: nextgen-query-plan-exp)
19:01
Resolve ambiguities in test cases in collate2.test. (check-in: dcbbcb2e6c user: drh tags: nextgen-query-plan-exp)
18:50
Fix a bug in the transitive_closure virtual table that NGQP exposes. Update between.test module to avoid using sqlite_query_plan. (check-in: aa66b86420 user: drh tags: nextgen-query-plan-exp)
18:14
Fix EXPLAIN QUERY PLAN row counts for the rtree virtual table tests. (check-in: 15328987cc user: drh tags: nextgen-query-plan-exp)
17:35
Update the NGQP to make use of STAT3 information if it is available. (check-in: ff134e6ee9 user: drh tags: nextgen-query-plan-exp)
16:56
Honor the orderByConsumed boolean returned from virtual table query planner. (check-in: aaf7f5896d user: drh tags: nextgen-query-plan-exp)
16:03
Fix to the logic that disables constraints on virtual tables. (check-in: 62d382406b user: drh tags: nextgen-query-plan-exp)
15:34
Fix an issue that was causing ORDER BY DESC to come out in ascending order. (check-in: 0298401240 user: drh tags: nextgen-query-plan-exp)
15:24
Virtual tables now always report 25 rows instead of 0 rows in the EXPLAIN QUERY PLAN output. Adjust tests accordingly. (check-in: 7d91f68881 user: drh tags: nextgen-query-plan-exp)
15:07
Set the WHERE_UNIQUE flag on loops that can only run once. (check-in: 510f4d8ecf user: drh tags: nextgen-query-plan-exp)
14:15
Add test cases to verify that ticket [bc1aea7b725f2761] has been fixed in the NGQP. (check-in: 9b97af94ae user: drh tags: nextgen-query-plan-exp)
12:47
Enhance the shell to provide more flexibility when entering numeric arguments on dot-commands. In particular, allow hexadecimal arguments to .wheretrace and .testctrl commands. Cherrypick from [b9578c371ee5]. (check-in: 3bd5ad095b user: drh tags: trunk)
12:34
Further improvements to error handling of the run-time loading of SQLite into TCL. (check-in: 7cc0c4ee11 user: drh tags: trunk)
2013-05-31
20:43
The NGQP might not find a solution if INDEXED BY constraints on the query are set wrong. If that is the case, print a "no query solution" error and abort before trying to use the non-existant solution. (check-in: 42511a7e12 user: drh tags: nextgen-query-plan-exp)
20:28
Do not search using ON clause constraints of LEFT JOINs to the right of the table. (check-in: 723f901a63 user: drh tags: nextgen-query-plan-exp)
20:00
Make sure a unique cursor number is allocated for automatic indices. (check-in: 433d1aecd3 user: drh tags: nextgen-query-plan-exp)
19:14
Do not attempt to generate code in the NGQP if there have been prior errors, since with prior errors some of the expressions might not be fully named resolved. (check-in: 665e4291c6 user: drh tags: nextgen-query-plan-exp)
18:20
Fix a problem with code generation on LEFT JOIN of tables without an index. (check-in: 0b1bee92a0 user: drh tags: nextgen-query-plan-exp)
18:13
Another virtual table fix in NGQP. (check-in: 2f2ce41677 user: drh tags: nextgen-query-plan-exp)
17:55
Fix problems in the virtual table logic for NGQP. (check-in: 23af28e24b user: drh tags: nextgen-query-plan-exp)
15:50
Remove the definitions of objects that are no longer used: WhereCost, WherePlan, and WhereBestIdx. (check-in: 816f8add7e user: drh tags: nextgen-query-plan-exp)
15:36
Improved handling of errors when doing run-time loading of an SQLite shared-library into TCL. (check-in: b3f23d1864 user: drh tags: trunk)
15:18
Allow tracing of whereLoopInsert() when the 0x8 bit is set on ".wheretrace". Remove the use of sqlite_query_plan from where2.test. Fix a bug in the code generator for OR clause optimizations. (check-in: 707f032326 user: drh tags: nextgen-query-plan-exp)
14:31
Enhance the shell to provide more flexibility when entering numeric arguments on dot-commands. In particular, allow hex arguments to .wheretrace. (check-in: b9578c371e user: drh tags: nextgen-query-plan-exp)
13:36
Futher enhancements to the ORDER BY optimizer. (check-in: d8efa5f8b6 user: drh tags: nextgen-query-plan-exp)
12:43
Improved detection of unnecessary ORDER BY clauses. (check-in: 58805eb36b user: drh tags: nextgen-query-plan-exp)
11:57
Fix the constructAutomaticIndex() routine so that it works with NGQP. (check-in: 5e1e613995 user: drh tags: nextgen-query-plan-exp)
2013-05-30
23:21
Improvements to the ORDER BY suppressor in the NGQP. (check-in: 24a2e9ddce user: drh tags: nextgen-query-plan-exp)
22:27
Incremental check-in with various NGQP fixes. Many tests still fail. (check-in: a51d8c9249 user: drh tags: nextgen-query-plan-exp)
19:29
Futher simplifications to the NGQP. Fix some test cases to use EXPLAIN QUERY PLAN rather than the (now obsolete) sqlite_query_plan global variable. (check-in: ae985db4fa user: drh tags: nextgen-query-plan-exp)
19:28
The expected result in a test case can be of the form "*glob*" or "~*glob*" to match or not match the GLOB pattern. This is useful for matching EXPLAIN QUERY PLAN output that contains regular expression syntax characters like "?", "(", and ")". (check-in: a3b4e261bd user: drh tags: nextgen-query-plan-exp)
17:43
Cut over the NGQP query planner. Remove lots of legacy code. This check-in compiles but does not work. The test suite gets incorrect answers and crashes. (check-in: 001539df4b user: drh tags: nextgen-query-plan-exp)
11:48
Merge recent trunk changes into the NGQP branch. (check-in: aebe1f2603 user: drh tags: nextgen-query-plan-exp)
2013-05-29
17:48
Updates to the Codec interface to support codecs on attached databases and to allow rekeying in the middle of a transaction. These changes are only applicable if SQLite is compiled with SQLITE_HAS_CODEC. (check-in: d5b084e9d8 user: drh tags: trunk)
14:22
Add tests for running FTS 'merge' and 'optimize' commands in shared cache mode. (check-in: 09e5a7ad85 user: dan tags: trunk)
2013-05-28
20:25
Add the percentile() SQL function as a loadable extension in the ext/misc directory. (check-in: a64d760d92 user: drh tags: trunk)
17:30
Finish removing the sqlite3.inTrans field. In the previous check-in, it was merely commented out because I failed to select File->Save on my text editor. (check-in: 2f97e38a66 user: drh tags: trunk)
17:25
Remove the obsolete and unused sqlite3.inTrans field. (check-in: c3381cd495 user: drh tags: trunk)
12:11
Many small harmless comment changes. Removal of obsolete comments and fixing misspelled words. No changes to code. (check-in: a0d5cc9315 user: drh tags: trunk)
10:52
Merge autoconf-package branch with trunk. (check-in: a72f50ef76 user: dan tags: trunk)
2013-05-27
18:37
Add the "dist" target to main.mk. For building the amalgamation autoconf package. (Closed-Leaf check-in: 3fdc8b5649 user: dan tags: autoconf-package)
17:59
Update the NGQP to record which loops need be run in reverse order to satisfy ORDER BY clauses. (check-in: 211f7a5374 user: drh tags: nextgen-query-plan-exp)
17:19
Add the files used to build the amalgamation-autoconf package. (check-in: 048865e8fd user: dan tags: autoconf-package)
10:11
When writing to an FTS table, take an exclusive shared-cache lock on the %_segdir table before writing. Otherwise, an xCommit() call may report an SQLITE_LOCKED error. (check-in: 3cd2da42e9 user: dan tags: trunk)
2013-05-24
14:52
Record in the WhereLoop object the set of virtual table constraints that need not be separately checked. (check-in: b49fa74561 user: drh tags: nextgen-query-plan-exp)
13:55
Merge the latest trunk changes into the NGQP branch. (check-in: 7c8f992c04 user: drh tags: nextgen-query-plan-exp)
12:47
Set _XOPEN_SOURCE to 600 so that fchmod() will (hopefully) work on FreeBSD. (check-in: 61a1045239 user: drh tags: trunk)
11:57
Fix harmless compiler warnings in the shell. (check-in: 9e2c17c535 user: drh tags: trunk)
2013-05-23
20:52
Add OGC GeoPackage files to the magic.txt database. (check-in: dab6a32847 user: drh tags: trunk)
10:15
Have the "make fulltest" command run the "mmap" permutation test. (check-in: 82ad373f85 user: dan tags: trunk)
10:13
Avoid unnecessary calls to FCNTL_SIZE_HINT. Return an error to the user if the file-control invoked by "PRAGMA mmap_size" returns a value other than SQLITE_OK or SQLITE_NOTFOUND. (check-in: 40cfde8b4a user: dan tags: trunk)
01:40
Cause the mmap_size PRAGMA to immediately change the mmap space if the database connection is already active. In particular, reducing mmap_size will immediately free up process address space. (check-in: 761177927c user: drh tags: trunk)
2013-05-22
20:49
Use the NGQP plan for EXPLAIN QUERY PLAN output. This change causes 207 errors in veryquick.test, many of which are benign. (check-in: f783e8e6b1 user: drh tags: nextgen-query-plan-exp)
17:01
Allow the rowid at the end of an index to be used in a constraint on that index. (check-in: 9bf0524df7 user: drh tags: nextgen-query-plan-exp)
02:06
Improvements to ORDER BY handling in the NGQP. Fix an "exit" mistakenly left in a test script during the previous check-in. (check-in: 12c709b436 user: drh tags: nextgen-query-plan-exp)
2013-05-21
19:23
Enhanced "wheretrace" output in the NGQP solver routine. (check-in: 04dfb85a2a user: drh tags: nextgen-query-plan-exp)
15:52
Work toward improving the NGQP's ability to optimize out ORDER BY clauses. (check-in: 67367f1e1f user: drh tags: nextgen-query-plan-exp)
2013-05-20
15:14
Merge in all trunk changes up through the 3.7.17 release. (check-in: 14ab6675e5 user: drh tags: nextgen-query-plan-exp)
13:01
Update the sessions branch to the official 3.7.17 release code. (check-in: fc88f7311b user: drh tags: sessions)
00:56
Version 3.7.17 (check-in: 118a3b3569 user: drh tags: trunk, release, version-3.7.17)
2013-05-17
20:16
Remove a stray tab character from the transitive_closure extension source code. (check-in: 7a9aa21c35 user: drh tags: trunk)
17:15
Fix a bug in SQLITE_TRACE_SIZE_LIMIT that was introduced by check-in [1a1cf5aa86734c8]. That check-in was to remove harmless compiler warnings. So once again, we have introduced a real bug into SQLite by attempting to eliminate a harmless compiler warning. (check-in: cec2bcb45a user: drh tags: trunk)
16:41
In test file test_syscall.c, include sqliteInt.h before any tcl or system include files. This ensures that the magical defines in sqliteInt.h really do enable large file support (and set things up so that sizeof(off_t)==8). (check-in: 0f355bb17f user: dan tags: trunk)
12:52
Use sum() instead of total() in mptest/multiwrite01.test too. (check-in: d0c2288c72 user: drh tags: trunk)
12:51
Use sum() instead of total() in the mptest/crash01.test script. (check-in: 8ba0fc9811 user: drh tags: trunk)
12:25
Add extra "PRAGMA mmap_size = N" statements to mmap1.test and mmap2.test. (check-in: cec0a06c17 user: dan tags: trunk)
12:10
In os_unix.c and os_win.c, initialize the default mmap-limit of a new file descriptor to the current global default mmap-limit, not the current global maximum allowable mmap-limit. (check-in: 1def4ea3a0 user: dan tags: trunk)
10:58
Update the sessions branch to the latest 3.7.17 beta. (check-in: af8057ef5d user: drh tags: sessions)
2013-05-16
19:15
Fix minor test script issues causing releasetest.tcl to fail. (check-in: d8ded9d8a1 user: dan tags: trunk)
18:33
Fix a typo in Makefile.in preventing compilation with the --disable-amalgamation option. (check-in: 8ffbefe7d7 user: dan tags: trunk)
14:28
Several releasetest.tcl related fixes to test cases. No code changes. (check-in: e97d744ba1 user: dan tags: trunk)
12:41
Fix compilation with SQLITE_OMIT_WAL on Win32. (check-in: 6d45a79fb1 user: mistachkin tags: trunk)
11:57
In sqlite3_close_v2(), do not attempt to roll back a transaction if there exist active statement objects. Any open transaction will be rolled back when the last of these statement objects is finalized. (check-in: d11e76072a user: dan tags: trunk)
01:02
Treat identifiers in the HAVING clause the same as in the WHERE clause. Only consider AS names from the result set to match if there are no other matches. Continuation of the fix for [2500cdb9be05]. This check-in fixes a bug found by SqlLogicTest during release testing for version 3.7.17. (check-in: 9ffff3d052 user: drh tags: trunk)
2013-05-15
20:35
Apply compilation fix from [a58af81483] to the other makefiles as well. (check-in: 7e76889d67 user: mistachkin tags: trunk)
18:45
Update the sessions branch with the latest trunk changes. (check-in: d09355050a user: drh tags: sessions)
18:34
Fixes to allow testfixture to be compiled with SQLITE_OMIT_VIRTUAL_TABLE defined. (check-in: 00231fb012 user: dan tags: trunk)
17:47
The sqlite3ExprCollSeq() function can no longer be called while parse the schema, so remove the code path inside of sqlite3ExprCollSeq() that dealt with that case. (check-in: 867b3e3b29 user: drh tags: trunk)
17:08
Make sure an sqlite3_close() or a rollback on one shared-cache connection does not disrupt the operation of other connections using the same shared cache. Fix for ticket [e636a050b709]. (check-in: 5cc1cc55d2 user: drh tags: trunk)
16:24
Extra test for commit [6dae62c4e5]. (check-in: b10b9e758b user: dan tags: trunk)
16:16
Add main.c to the list of files compiled with SQLITE_TEST defined when building testfixture. (check-in: a58af81483 user: dan tags: trunk)
16:08
Fix the sharedA.test module so that it does not attempt to run TCL callbacks on a different thread from where the interpreter was originally created. (Closed-Leaf check-in: 65ff754e35 user: drh tags: shared-cache-fixes)
15:53
Do not run sharedA.test if the system is not threadsafe. (check-in: d484eaf8d6 user: dan tags: shared-cache-fixes)
15:42
Merge latest trunk changes with this branch. (check-in: 47dd65a890 user: dan tags: shared-cache-fixes)
15:16
When loading a database schema that contains an index definition that includes a COLLATE clause for which the collation sequence is unavailable, do not assume that that index uses BINARY instead. Fix for [0fc59f908b]. (check-in: 6dae62c4e5 user: dan tags: trunk)
13:05
Add the rot13.c loadable extension. (check-in: 8f9bd8e7a8 user: drh tags: trunk)
10:21
When closing a connection, avoid tripping active cursors belonging to a different shared-cache client. Also, if sqlite3_close() is called while there are still active statements belonging to the connection, return SQLITE_BUSY and do not roll back any active transaction. Proposed fix for ticket [e636a050b709]. (check-in: 6071b7cce0 user: dan tags: shared-cache-fixes)
08:00
Merge updates from trunk. (check-in: 6fbad95725 user: mistachkin tags: toTypeFuncs)
2013-05-14
23:13
Merge together the fork in this branch. (check-in: 164e3d4da2 user: drh tags: shared-cache-fixes)
23:12
Fix an assert() in unlockBtreeIfUnused() so that it checks for the existance of an untripped cursor, not for the existance of any cursor at all. (check-in: a6f851d0fe user: drh tags: shared-cache-fixes)
20:36
Avoid deleting a b-tree "has-content" vector belonging to another shared-cache connection from within sqlite3_close(). (check-in: 93462df782 user: dan tags: shared-cache-fixes)
15:31
First attempt to get ORDER BY optimization working in NGQP. (check-in: 9fe2029255 user: drh tags: nextgen-query-plan-exp)
2013-05-13
18:23
Candidate fixes for problems revealed by notify2.test. Notify2.test is still failing at this point. (check-in: ea0428f9b6 user: dan tags: shared-cache-fixes)
2013-05-11
00:06
Minor fixes to the OR-clause processing in the NGQP. (check-in: d6946f33c7 user: drh tags: nextgen-query-plan-exp)
2013-05-10
20:26
Now generating OR-clause plans. (check-in: e17003fcfe user: drh tags: nextgen-query-plan-exp)
15:16
Update the NGQP so that it can produce plans that include automatic indices. (check-in: 586b55d8d7 user: drh tags: nextgen-query-plan-exp)
03:30
Factor out common operations into whereLoopAddAll(). Add stubs for missing features. (check-in: 0278e42061 user: drh tags: nextgen-query-plan-exp)
02:11
Merge in the latest trunk changes. (check-in: 5ed31c8279 user: drh tags: nextgen-query-plan-exp)
02:00
Free up bits of wsFlags for reuse. Install the ORDER BY optimization infrastructure for the NGQP. (check-in: 82d50e1980 user: drh tags: nextgen-query-plan-exp)
2013-05-09
23:40
Merge trunk changes into the sessions branch. (check-in: 512f8a1ef8 user: drh tags: sessions)
18:12
Add assert()s to the implementation of xRead() in the built-in VFSes to verify that the offset parameter is always non-negative. (check-in: cf5c364224 user: drh tags: trunk)
14:20
Do not move WHERE clause terms inside OR expressions that are contained within an ON clause of a LEFT JOIN. Fix for ticket [f2369304e47167e3e]. (check-in: 1128575d0a user: drh tags: trunk)
00:40
Refine and reform all Windows OSTRACE macro usage. Replace all usage of sqlite3TestErrorName() with sqlite3ErrName() and add missing return codes. (check-in: 610425f190 user: mistachkin tags: trunk)
2013-05-08
20:05
Fix memory leaks in the NGQP logic for virtual tables. (check-in: 3c2e83a4a2 user: drh tags: nextgen-query-plan-exp)
18:50
Merge all recent trunk changes into the sessions branch. (check-in: ae6c4a0906 user: drh tags: sessions)
17:06
Fix a couple of harmless compiler warnings in the fts3_tokenize virtual table. (check-in: 1fa8c45739 user: drh tags: trunk)
16:57
Make sure the ORDER BY collating sequences are compatible with the comparison collations before using the merge algorithm for compound SELECT statements. Fix for ticket [6709574d2a8d8]. (check-in: ce853a7506 user: drh tags: trunk)
14:20
Fix the wholenumber virtual table so that it returns higher costs for unconstrained usage. Cherrypick from [ceff8955020cd13]. (check-in: 7227b61512 user: drh tags: trunk)
14:14
NGQP working with virtual tables, though many legacy tests fail and there are yet some memory leaks. (check-in: bd9327a968 user: drh tags: nextgen-query-plan-exp)
14:13
Fix the wholenumber virtual table so that it returns higher costs for unconstrained usage. (check-in: ceff895502 user: drh tags: nextgen-query-plan-exp)
04:22
More bug fixes to the WhereLoop generator and the solver in NGQP. Now finds the best plan for TPC-H Q8. This seems to prove the concept, but there is still much work to be done. (check-in: 8e5aad3752 user: drh tags: nextgen-query-plan-exp)
03:22
Bug fixes in the solver. (check-in: b36034bbd1 user: drh tags: nextgen-query-plan-exp)
03:05
Add the NGQP solver. (check-in: 5d37587c50 user: drh tags: nextgen-query-plan-exp)
2013-05-07
23:06
Continued progress on generating good WhereLoop objects for the new query planner. (check-in: 15cc8a1648 user: drh tags: nextgen-query-plan-exp)
19:44
Inserting a few WhereLoop objects without leaking memory. Costs are not correct. Inequality and IN constraints are not implemented. (check-in: e8881a8b2f user: drh tags: nextgen-query-plan-exp)
17:49
Make sure the ORDER BY collating sequences are compatible with the comparison collations before using the merge algorithm for compound SELECT statements. Candidate fix for ticket [6709574d2a8d8]. (Closed-Leaf check-in: fc3630cdef user: drh tags: tkt-6709574)
12:16
Modify the fts3tokenize table implementation so that it does not use the SQL function fts3_tokenizer. The user may have installed an authorizer callback that prohibits this. (check-in: 0ba67b64de user: dan tags: trunk)
2013-05-06
21:01
In the command-line shell, output the elements of the schema in the order that they appear in the sqlite_master table. This is necessary in some cases to make the schema parsable. (check-in: e5b3cd747b user: drh tags: trunk)
20:28
In the command-line shell, make sure the output of dot-commands goes to the same redirected output stream as the result of queries. Ticket [2f96536e7ff7dba] (check-in: b72d365920 user: drh tags: trunk)
14:57
Add an assert() to fts3_expr.c in order to silence a clang warning. (check-in: d8dc2c5fb5 user: drh tags: trunk)
13:22
Make sure the authorizer callback gets a valid pointer to "ROWID" for the column-name parameter when doing an UPDATE that changes the rowid. Fix for ticket [0eb70d77cb05bb2272]. (check-in: 26a59bb88d user: drh tags: trunk)
2013-05-04
20:25
In where.c, make findTerm() a wrapper around methods to a new WhereScan object which is capable of finding all suitable matching terms, not just the first. This check-in includes some prototype functions for building WhereLoop objects. (check-in: dd92b8fa92 user: drh tags: nextgen-query-plan-exp)
2013-05-03
20:08
Add magic numbers for Bentley Systems application files. (check-in: 9314b08099 user: drh tags: trunk)
18:29
Merge all recent trunk changes into the sessions branch. (check-in: 3879ab1b53 user: drh tags: sessions)
15:23
Allocate meta(8) in the header as the "application ID" and add the "PRAGMA application_id" command to query and set it. (check-in: b2efe4f225 user: drh tags: trunk)
2013-05-02
17:37
Minor fixes for compilation with SQLITE_OMIT_WAL defined. (check-in: b81e87e72b user: dan tags: trunk)
00:15
Begin inserting some experimental code for the next generation query planner. (check-in: ccaf4c3f7e user: drh tags: nextgen-query-plan-exp)
2013-05-01
20:40
Fix comments in the magic number file. (Closed-Leaf check-in: 5a500848d2 user: drh tags: application-id)
20:36
Preserve the application-ID across VACUUM. Updates to the magic number file. (check-in: 4a190bea18 user: drh tags: application-id)
19:49
Allocate 4 bytes of unused header space for an "Application ID". Add the "PRAGMA application_id" command to set and query this identifier. Add the "magic.txt" file to show how the posix file command might use this application id. (check-in: 28c9e7fdee user: drh tags: application-id)
17:58
Do not use a transitive constraint to an IN operator where the RHS is a constant if there exists a direct == operator to another table in an outer loop. (check-in: faedaeace9 user: drh tags: trunk)
17:22
Avoid redundant constraint checking due to transitive constraints. (check-in: 329478cbed user: drh tags: trunk)
2013-04-30
14:25
Update the documentation to explain that when the 3rd parameter to sqlite3_bind_text() and friends is NULL the result is to bind a NULL SQL value. Ticket [19b44e35753ba] (check-in: bd92de0e8d user: drh tags: trunk)
14:06
Make sure extra parentheses around subqueries in the FROM clause are harmless. Ticket [28c6e830f239ea5]. (check-in: 1c79569226 user: drh tags: trunk)
07:58
Add the #ifdefs for sqlite3ErrName() to sqliteInt.h as well. (Closed-Leaf check-in: 400fc4c37f user: mistachkin tags: winOsTrace)
07:54
Define the sqlite3ErrName() function only when necessary. More robust handling of unknown return codes. (check-in: e47cd31437 user: mistachkin tags: winOsTrace)
2013-04-29
18:07
Improve the error message issued when an FTS query exceeds the maximum allowable tree depth. (check-in: f480b1fe60 user: dan tags: trunk)
17:12
Fix an off-by-one in the code for limiting the depth of FTS expression trees. (check-in: 72ac73189c user: dan tags: trunk)
09:20
Merge mmap test fix from trunk. (check-in: 95811877fd user: mistachkin tags: winOsTrace)
09:17
Fix mmap1.test so that it passes on windows as well as unix. (check-in: 52417eac3e user: dan tags: trunk)
08:58
Adjust a WAL test result due to changes in the corresponding return code name. (check-in: 9272009f79 user: mistachkin tags: winOsTrace)
08:56
Merge updates from trunk. (check-in: 3a245a832d user: mistachkin tags: winOsTrace)
07:01
Update 'fuzzerfault' test for its new module loading command. Fix several test names in 'io.test' and make sure the database gets closed between tests. (check-in: e81e9ca11d user: mistachkin tags: trunk)
03:09
More refinements to Windows OSTRACE usage. Replace all usage of sqlite3TestErrorName() with sqlite3ErrName() and add missing return codes. (check-in: 05ba5e23fc user: mistachkin tags: winOsTrace)
2013-04-28
01:44
Initial work on reforming usage of OSTRACE by the Windows VFS. (check-in: b347b5d1a0 user: mistachkin tags: winOsTrace)
2013-04-27
18:06
Remove spellfix virtual table documentation from the source tree. Reference the separate documentation on the website instead. (check-in: adcf78909f user: drh tags: trunk)
12:13
Untested fix for building on VxWorks. (check-in: f14d55cf35 user: drh tags: trunk)
2013-04-26
19:33
Fix a formatting typo in a comment. No changes to code. (check-in: 7a97226ffe user: drh tags: trunk)
18:36
Avoid unnecessarily reseting the pager cache after committing a transaction that takes advantage of the SQLITE_IOCAP_ATOMIC related optimization. (check-in: c47144e98c user: dan tags: trunk)
17:00
Avoid using posix_fallocate() in WAL mode, as it is not supported by all file-systems. (check-in: 1bbb4be1a2 user: dan tags: trunk)
16:09
Avoid using posix_fallocate() in WAL mode, as it is not supported by all file-systems. (Closed-Leaf check-in: 9c7523dabf user: dan tags: avoid-fallocate)
15:55
Update documentation with new hyperlinks. No changes to code. (check-in: 640eb54ad6 user: drh tags: trunk)
14:13
Rebalance FTS expressions after parsing to limit recursion during evaluation. Avoid recursion when deleting FTS expression trees. Enforce a limit (currently 12) on the depth of an expression tree. (check-in: 49d23ef61f user: dan tags: trunk)
14:04
Merge another trunk change. (Closed-Leaf check-in: 2648966f17 user: dan tags: fts3-expr-rebalance)
13:14
Fix harmless compiler warnings in the FTS expression parser. (check-in: 3c78af8c53 user: drh tags: fts3-expr-rebalance)
12:08
Reduce the default SQLITE_MAX_MMAP_SIZE slightly so that it fits in a signed 32-bit integer. (check-in: 460752b857 user: drh tags: trunk)
06:58
Merge latest trunk changes. (check-in: 4d08e74d34 user: dan tags: fts3-expr-rebalance)
2013-04-25
20:34
Rebalance FTS expressions after parsing to limit recursion during evaluation. Avoid recursion when deleting FTS expression trees. Enforce a limit on the depth of an expression tree. (check-in: f968d43f80 user: dan tags: fts3-expr-rebalance)
19:31
Added the nextchar.c extension. Minor changes to the spellfix.c extension so that it can be appended to an amalgamation and compiled without duplicating symbols. (check-in: 56b9a417f5 user: drh tags: trunk)
17:27
Fix the tool/build-shell.sh script to remove references to files that are now loadable extensions. (check-in: aabeea98f5 user: drh tags: trunk)
17:07
Add wiki documentation files for the spellfix1 virtual table. (check-in: 381564e91b user: drh tags: trunk)
16:52
Merge the std-ext branch into trunk. This merge adds several new extensions to the ext/misc folder, including transitive_closure, ieee754, and amatch, and it converts some older src/test_*.c file into extensions in the ext/misc folder. (check-in: bbe607c7d1 user: drh tags: trunk)
16:42
Added the transitive_closure, ieee754, and amatch extensions. (Closed-Leaf check-in: 84018099c8 user: drh tags: std-ext)
14:59
Move the test_spellfix.c module to ext/misc/spellfix.c. (check-in: de556add10 user: drh tags: std-ext)
14:36
Fix the MSVC makefile so that it works with the ext/misc/*.c extensions. (check-in: 680822e892 user: drh tags: std-ext)
14:31
Convert the fuzzer virtual table into a loadable extension and move it to the ext/misc/fuzzer.c file. (check-in: c8c69307f6 user: drh tags: std-ext)
11:58
Make test_wholenumber.c into a loadable extension and move it to ext/misc/wholenumber.c. (check-in: efcc9dd012 user: drh tags: std-ext)
00:57
Make sure the affinity and datatype of sub-subqueries are initialized prior to subqueries as the latter relies on the former. (check-in: 39b4e6ff93 user: drh tags: trunk)
2013-04-24
13:50
Fix a simple comment typo. No changes to code. (check-in: f136bd9582 user: drh tags: trunk)
2013-04-23
20:10
Make "test_regexp.c" into a loadable extension and move it over to ext/misc/regexp.c. Add the "load_static_extension" command for testing purposes. (check-in: 860fc393bf user: drh tags: std-ext)
2013-04-22
23:59
Merge the latest trunk changes into the sessions branch. (check-in: 6994826c07 user: drh tags: sessions)
23:38
Fix harmless compiler warnings. (check-in: 1a1cf5aa86 user: drh tags: trunk)
19:56
Do not allow a virtual table to cancel the ORDER BY clause unless all outer loops are guaranteed to return no more than one row result. Candidate fix for ticket [ba82a4a41eac1]. (check-in: 49cfa14fce user: drh tags: trunk)
17:07
Update MSVC makefile for the fts3tokenize virtual table. Clear some harmless compiler warnings in the fts3tokenize code. (check-in: 2b3fed09eb user: drh tags: trunk)
15:30
Add virtual table module 'fts3tokenize' to fts3. fts3tokenize provides SQL access to FTS tokenizer implementations. (check-in: c5a4b21a15 user: dan tags: trunk)
13:51
Enhanced documentation for the SQLITE_CONFIG_SQLLOG mechanism and the test_sqllog.c demonstration file. No changes to code. (check-in: 206caf21f6 user: drh tags: trunk)
02:39
Use transitivity to move constraints into the outer loops of a join whenever possible, thereby reducing the amount of work that needs to occur in inner loops. (check-in: 5f4907e1c6 user: drh tags: trunk)
2013-04-19
12:32
Add the "warning" command to the TCL test infrastructure. Fix problems with the loadext.test module. (check-in: 514adbbd8c user: drh tags: trunk)
02:47
Enhance the extension loading mechanism so that the same source code can be used for run-time loadable extensions and statically linked extensions, and to mask architectural differences in shared libraries. (check-in: a85b6ecefa user: drh tags: trunk)
01:23
Make the SQLITE_EXTENSION_INIT1 and SQLITE_EXTENSION_INIT2 macros into no-ops if the extension is statically linked. (Closed-Leaf check-in: 86eb3eed4c user: drh tags: loadext)
2013-04-18
22:56
Experiments in making loadable extensions easier to program. The shared library filename tries various operating-system specific extensions if the bare library name does not work. And the entry point is derived from the filename is the legacy entry point name "sqlite3_extension_init" is not found. (check-in: 6cfa1d73d7 user: drh tags: loadext)
20:33
Fix an incorrect comment (a copy/paste error) in the mptester. No code changes. (check-in: e94783f36a user: drh tags: trunk)
15:11
Add the --breakpoint and --show-sql-errors commands to mptester. (check-in: d0898fd76a user: drh tags: trunk)
03:10
Fix a compiler warning in sqlite3_compileoption_used(). (check-in: e9f9d84b22 user: drh tags: trunk)
02:55
Do not suppress the ORDER BY clause on a virtual table query if an IN constraint is used. Fix for ticket [f69b96e3076e]. Testing done on TH3 using cov1/where37.test. (check-in: 61b2a7be3b user: drh tags: trunk)
2013-04-17
19:42
Fix the --match command in mptester so that it checks the entire result, not just a prefix of the result. (check-in: 3e3ecad2b5 user: drh tags: trunk)
18:56
In the mptester, add --glob and --notglob and --testcase. Make --exit work on the main thread. Enable the load_extension() SQL function. (check-in: c273c171f5 user: drh tags: trunk)
17:33
In the command-line shell, allow a dot-command to occur after a multi-line c-style comment. (check-in: e2c94ab930 user: drh tags: trunk)
14:04
Improvements to some of the comments that are used to render documentation concerning loadable extensions. No changes to code. (check-in: 76f4e31245 user: drh tags: trunk)
12:19
Update the command-line shell to give an exit code of 0 when the ".quit" command is run from the command-line. (check-in: 467e218120 user: drh tags: trunk)
2013-04-16
18:24
Omit sqlite3_compileoption_used() entries that are not explicitly stated on the compiler command-line, except keep SQLITE_THREADSAFE around so that there is always at least one compilation option. (check-in: 109d6767d2 user: drh tags: trunk)
14:58
Remove the unused SQLITE_CURDIR macro. (check-in: 16f7ba4afa user: drh tags: trunk)
14:52
Disable memory-mapped I/O when the codec is enabled. (check-in: 340cca3079 user: drh tags: trunk)
2013-04-15
20:08
Expand scope of the SQLITE_MAX_MMAP_SIZE define for the Win32 VFS. (check-in: f4b8faab45 user: mistachkin tags: trunk)
17:03
Refactoring the mmap interface. The controlling pragma is now "mmap_size" instead of "mmap_limit". Also change SQLITE_CONFIG_MMAP_LIMIT and SQLITE_FCNTL_MMAP_LIMIT to SQLITE_CONFIG_MMAP_SIZE and SQLITE_FCNTL_MMAP_SIZE, respecctively. The default mmap_size is now always 0, meaning that memory mapped I/O is off by default. There is a new compile-time option SQLITE_MAX_MMAP_SIZE that determines a hard upper bound on the mmap_size. Setting SQLITE_MAX_MMAP_SIZE to zero disables the memory-mapped I/O logic and causes it to be omitted from the build. An extra argument is added to SQLITE_CONFIG_MMAP_SIZE that can optionally lower the SQLITE_MAX_MMAP_SIZE at start-time. The SQLITE_MAX_MMAP_SIZE is zero for platforms where we know that it does not work, meaning that it cannot be turned on by mistake on those platforms. (check-in: ea1404a10a user: drh tags: trunk)
13:10
Fix a formatting typo in a comment. No changes to code. (check-in: 3412424990 user: drh tags: trunk)
2013-04-14
23:51
Only consider AS names from the result set as candidates for resolving identifiers in the WHERE clause if there are no other matches. In the ORDER BY clause, AS names take priority over any column names. Fix for ticket [2500cdb9be]. (check-in: d0d5af79a0 user: drh tags: trunk)
2013-04-13
19:59
Only consider AS names from the result set as candidates for resolving identifiers in the WHERE clause if there are no other matches. In the ORDER BY clause, AS names take priority over any column names. Candidate fix for ticket [2500cdb9be]. (Closed-Leaf check-in: ad53924dca user: drh tags: tkt-2500cdb9be)
2013-04-12
16:53
Add a test case for detaching a database referenced by an fts4aux table created in the temp schema. (check-in: 6d6f0592ab user: dan tags: trunk)
16:47
Change the fts4aux virtual table module so that fts4aux tables created in the temp database may report on fts3/fts4 tables in any attached database. (check-in: 546a187f13 user: dan tags: trunk)
13:53
Fix the xCheckReservedLock() method on the windows VFS so that it cannot return a false positive when two or more processes use it at the same time on the same file. Ticket [7ff3120e4fa54abb55]. Update to version 3.7.16.2. (check-in: 67b3c0efa7 user: drh tags: sessions)
11:52
Version 3.7.16.2 (Leaf check-in: cbea02d938 user: drh tags: release, version-3.7.16.2, branch-3.7.16)
01:04
In mptester: improve the way that child processes are dispatched. Pass the --vfs option through to children. Log the command used to start child processes when the tracing level is high enough. (check-in: 55718ae346 user: drh tags: trunk)
2013-04-11
22:52
Expand scope of the SQLITE_DISABLE_MMAP define for the Win32 VFS. (Closed-Leaf check-in: daa168f3da user: mistachkin tags: winDisableMmap)
21:13
For the multi-process tester on Win32, make use of the GetCurrentProcessId API. (check-in: f1b524b9d9 user: mistachkin tags: trunk)
19:04
Increase the version number to 3.7.16.2 and cherrypick the fix for ticket [7ff3120e4fa54abb55]. This check-in is a release candidate. (check-in: 86f26f9152 user: drh tags: branch-3.7.16)
18:28
Fix the xCheckReservedLock() method on the windows VFS so that it cannot return a false positive when two or more processes use it at the same time on the same file. Ticket [7ff3120e4fa54abb55] (check-in: dd3510bb20 user: drh tags: trunk)
13:26
Fix pragma code generation so that it always outputs an OP_Trace opcode so that pragmas are shown in sqlite3_trace() output. (check-in: 663f04bd48 user: drh tags: trunk)
11:53
Show the process-id on log messages from mptester. (check-in: 6748a83dc5 user: drh tags: trunk)
01:16
Have the UNIX VFS issue warnings via sqlite3_log() if a database file is renamed or unlinked or linked to more than one name while the file is open. (check-in: e238dcf918 user: drh tags: trunk)
00:45
Correct minor typo in two regular expressions. (check-in: f1eed92b7b user: mistachkin tags: sessions)
00:13
Experimental changes to support a Win32 VSIX package flavor. (Closed-Leaf check-in: abedd7cb45 user: mistachkin tags: vsixWin32)
00:09
Enhance multi-process tester integration with the Win32 API. (check-in: 0fdc743583 user: mistachkin tags: trunk)
2013-04-10
23:48
Add new primary error codes SQLITE_NOTICE and SQLITE_WARNING for use with sqlite3_log(). Add new extended error codes SQLITE_NOTICE_RECOVER_WAL and SQLITE_NOTICE_RECOVER_ROLLBACK to use with sqlite3_log() messages that occur on each recovery. (check-in: be7d2c5482 user: drh tags: trunk)
16:13
Add the sqlite3_strglob() interface. (check-in: 41d6ff32a6 user: drh tags: trunk)
15:01
Designate the beginning and the end of the sqlite3session.h file in the constructed sqlite3.h file. (check-in: 53f5be7432 user: drh tags: sessions)
12:01
Use symbolic names for tasks in mptester. (check-in: f0d95afc73 user: drh tags: trunk)
03:22
Backport the multi-process tester to the last released version. (Leaf check-in: bf6ca21b36 user: mistachkin tags: branch-3.7.16)
03:06
Fix typo in name of mptest executable files in clean targets. (check-in: 4c7d9e1ed8 user: mistachkin tags: trunk)
02:56
Correct test numbering on several rtree tests. (check-in: 0adf8a3a4f user: mistachkin tags: trunk)
2013-04-09
20:04
Limit integrity_check output to 10 lines in mptester scripts. (check-in: 67ee0dc0f4 user: drh tags: trunk)
19:19
Check in the instrumented code for the mptest test case that appears to show a spontaneously disappearing journal file. (Closed-Leaf check-in: 96f04d99f3 user: dan tags: missing-journal-file)
18:36
Change the rollback journal so that it invokes sqlite3_log() make a record of a recovery, just as the WAL journal does. (check-in: 7cd3f6cd3a user: drh tags: trunk)
16:19
Add extra #ifndef statements in os_unix.c and os_win.c to make sure the memory mapped I/O really is disabled when SQLITE_DISABLE_MMAP is set. (check-in: c1e2523c90 user: drh tags: trunk)
2013-04-08
20:47
Disable the use of memory-mapped I/O if the SQLITE_DISABLE_MMAP macro is defined. Automatically define this macro for OpenBSD and QNX. Other systems are likely to be added to the disabled list over time. (check-in: 8a4314a398 user: drh tags: trunk)
19:13
In mptester, handle startScript no-change commits using a retry rather than grabbing an exclusive transaction. (check-in: ae8bb24bfb user: drh tags: trunk)
18:58
Still more tests using mptester. Added test cases that leave rollback journals that must be recovered by other threads. (check-in: 437b674f00 user: drh tags: trunk)
17:57
Adding tests to the mptester scripts. (check-in: e121adceb1 user: drh tags: trunk)
15:36
Change mptester to avoid reporting SQLITE_BUSY errors if the busy handler is turned off and the tracing level is set low. (check-in: d77407ae6a user: drh tags: trunk)
15:30
Handle the case in os_unix.c where SQLITE_FCNTL_MMAP_LIMIT requests that the mmap limit be set to a value smaller than the current mapping. (check-in: 360473493e user: dan tags: trunk)
14:41
Merge the multi-process tester into trunk. (check-in: ea53c45d79 user: drh tags: trunk)
14:28
Add the "mptester" target to the makefiles. Make mptester run with synchronous off by default. (Closed-Leaf check-in: 1397830bfe user: drh tags: mptest)
13:59
Fix harmless compiler warnings in mptest.c. (check-in: 59bdbb10ed user: drh tags: mptest)
13:48
Add the vfsname() and eval() SQL functions to mptest.c. Enhancements to the test/config01.test script. (check-in: 91397a147c user: drh tags: mptest)
13:13
Add --if, --else, --endif processing to mptest.c. (check-in: 51265acae3 user: drh tags: mptest)
10:38
Fix an incorrect type cast in an assignment in vdbe.c. (check-in: 320b5295da user: dan tags: trunk)
2013-04-06
18:35
Fix the --source command so that its argument is relative to the script. Verify that the SQLite header and library match. Print SQLite version and compile-time configuration information on startup. (check-in: 15cb0db758 user: drh tags: mptest)
18:10
Merge trunk changes into the mptest branch. The mptest needs the SQLITE_MAX_SCHEMA_RETRY fix in particular. (check-in: fb7a777396 user: drh tags: mptest)
18:06
Increase the default SQLITE_MAX_SCHEMA_RETRY to 50. Make sure that macro covers every case where a prepared statement might need to be reprepared due to a schema change. The sqlite3_exec() interface now uses sqlite3_prepare_v2(). (check-in: c1d7304c80 user: drh tags: trunk)
14:30
Add SQLITE_CONFIG_LOG error logging to the mptest program. (check-in: 716c25bd12 user: drh tags: mptest)
14:16
Get the build of mptest working on mac. (check-in: a0bae686c9 user: drh tags: mptest)
14:04
Get the mptest program running on windows. (check-in: 3966b33284 user: drh tags: mptest)
13:09
Many improvements to the mptest program. Added a simple test script. (check-in: 07b0401a9b user: drh tags: mptest)
11:03
Add tests to "permutations.test coverage-pager" to cover uncovered branches. (check-in: 07a0e4e982 user: dan tags: trunk)
00:19
Add a prototype TH3-script-style test harness that starts multiple processes operating on the same database file at the same time. (check-in: c318fafe68 user: drh tags: mptest)
2013-04-05
20:40
Improve the code coverage of "permutations.test coverage-pager". (check-in: b095e2cdb6 user: dan tags: trunk)
2013-04-04
19:32
Add further multi-client tests to mmap1.test. (check-in: a107f75d93 user: dan tags: trunk)
17:28
Disable memory-mapped I/O for the win32lock.test module (check-in: 2b3d9805a2 user: drh tags: trunk)
01:54
Updates to the file-control documentation. No changes to code. (check-in: 51fab480d0 user: drh tags: trunk)
00:51
Increase the version number to 3.7.17. (check-in: 5c8c5a2a12 user: drh tags: trunk)
00:40
Try to use mmap() to speed access to the database file on windows, linux, and mac. (check-in: fff2be6077 user: drh tags: trunk)
2013-04-03
21:23
Release resources prior to bailing out of the btreeCreateTable() routine following an OOM error. (Closed-Leaf check-in: b2a72be9ba user: drh tags: experimental-mmap)
20:04
Remove an unreachable branch in the direct blob I/O logic of btree.c. (check-in: f97d7274f4 user: drh tags: experimental-mmap)
13:38
Fix a bug in the detection of iOS when setting the default mmap_limit. (check-in: ac1432b3a8 user: drh tags: experimental-mmap)
13:09
Change the mmap_limit pragma to report the new limit, or to report the existing limit if called with no arguments. Report the default mmap_limit as part of PRAGMA compile_options. Set the default mmmap_limit to 0 for all systems other than linux, mac, windows, and solaris. (check-in: 2d9f1327fe user: drh tags: experimental-mmap)
11:52
Remove the restriction on using xFetch to load the root pages of tables and indexes. It appears to have been based on a misconception. (check-in: 5b082efead user: dan tags: experimental-mmap)
11:38
When moving a page to make way for the root page of a new table or index in an auto-vacuum database, save the positions of any cursors that may be holding xFetch references to the page being moved. (check-in: 9d9b1da54a user: dan tags: experimental-mmap)
11:17
In btree.c, save the positions of other cursors open on the same table when writing via an incremental blob handle. Otherwise, they may be left holding an out-of-date xFetch page reference. (check-in: 3f09fba18f user: dan tags: experimental-mmap)
10:50
Initialize the mmap_limit of temporary files to the configured mmap_limit. (check-in: 24bab7596b user: drh tags: experimental-mmap)
03:53
Make use of xFetch, if it is available when doing a VACUUM or a backup. (check-in: 83bc37af07 user: drh tags: experimental-mmap)
01:26
Add the -mmap option to the command-line shell, for setting the default mmap_limit. (check-in: fc30d06c94 user: drh tags: experimental-mmap)
00:42
Fix the unix driver to check defined(_BSD_SOURCE) rather than just the plain _BSD_SOURCE macro. This fixes the build for OpenBSD. (check-in: 1dd42ef414 user: drh tags: experimental-mmap)
2013-04-02
20:55
Fix a resource leak in os_unix.c. (check-in: b29cda03fe user: dan tags: experimental-mmap)
20:29
Adjustments to mmap1.test so that it works better on windows. It still gets some answers wrong, but it no longer crashes. (check-in: ee8d3ceeec user: drh tags: experimental-mmap)
20:19
Fix a bug in mmap2.test that was leaving an invalid sqlite3_log() callback installed, causing a crash. (check-in: c0cdaa0735 user: dan tags: experimental-mmap)
20:13
Add assert to the Windows VFS pertaining to the size of the SIZE_T type. (check-in: 4eeea58354 user: mistachkin tags: experimental-mmap)
18:33
Add test cases to mmap1.test and pagerfault.test. (check-in: 3050136be9 user: dan tags: experimental-mmap)
18:31
Change an assert in pager.c to acknowledge that it is possible for sqlite3PagerRollback() to return SQLITE_CORRUPT. (check-in: d641d3d20d user: dan tags: experimental-mmap)
18:25
Fix the build for Mac. (check-in: d36ce0bbad user: drh tags: experimental-mmap)
15:37
Add new test file btreefault.test. (check-in: 7fe908afeb user: dan tags: experimental-mmap)
14:37
Fix a faulty assert() in the os_win.c VFS. (check-in: fd6ee54969 user: drh tags: experimental-mmap)
13:56
If the SQLITE_TRACE_SIZE_LIMIT compile-time parameter is set to a positive integer then limit the expansion of strings and blobs in trace output to approximately that many bytes. (check-in: e5b710849d user: drh tags: trunk)
12:04
Add test cases for errors in mmap() or mremap() is os_unix.c. (check-in: 3098a3c1e7 user: dan tags: experimental-mmap)
10:29
Proposed template preprocessor magic for activating mmap only on platforms where we know it works. (check-in: d96272f031 user: drh tags: experimental-mmap)
01:45
Reorder two conditions to make coverage testing easier. (check-in: 793ba4e996 user: drh tags: experimental-mmap)
00:41
Remove an unreachable condition from pager.c. (check-in: 3628e86bf1 user: drh tags: experimental-mmap)
00:15
Always send the SQLITE_FCNTL_MMAP_LIMIT pragma to the VFS, even if the limit is zero and even if the VFS does not support xFetch(). (check-in: 01ffdabbad user: drh tags: experimental-mmap)
2013-04-01
22:42
Remove a debugging printf() accidently left in the previous check-in. (check-in: 8198cdd8ac user: drh tags: experimental-mmap)
22:38
Add the SQLITE_CONFIG_MMAP_LIMIT configuration option for overriding the SQLITE_DEFAULT_MMAP_LIMIT compile-time setting. Enhance "PRAGMA mmap_limit" so that without a specific database name, it sets the limit on all database files and changes the default for any future databases that might be added using ATTACH. (check-in: 78141d0a16 user: drh tags: experimental-mmap)
18:25
Add a comment to xUnfetch on windows to say that the call to winUnmapfile() might be unnecessary. (check-in: e3c63c31a2 user: drh tags: experimental-mmap)
18:15
In windows, round down the size of the memory mapped region to the next smaller multiple of the page size. (check-in: 0e44ed1bad user: drh tags: experimental-mmap)
17:58
Merge accidental fork. (check-in: 5f4437c0e3 user: dan tags: experimental-mmap)
17:56
Attempt to emulate mremap() on non-Linux systems by allocating a second mapping immediately following the first in virtual memory. (check-in: 4d67433db8 user: dan tags: experimental-mmap)
17:56
Bug fix in the winMapfile() subroutine: Be sure to record the map object handle in the sqlite3_file object. (check-in: ee4d188e20 user: drh tags: experimental-mmap)
17:22
Add xFetch and xUnfetch methods to the os_win.c VFS. (check-in: a1653a257d user: drh tags: experimental-mmap)
16:56
Ensure that a checkpoint does not use an out-of-date mapping. (check-in: a1040f0397 user: dan tags: experimental-mmap)
14:35
Fix a typo in a log message in wal.c. (check-in: 83fc48d165 user: dan tags: experimental-mmap)
14:29
Fix a problem in btree.c that could cause a crash following an OOM. (check-in: b724aa5889 user: dan tags: experimental-mmap)
14:20
Minor changes to unixMapfile() function. (Leaf check-in: 80c63443c4 user: dan tags: two-mappings)
2013-03-29
19:52
For the clean target, tidy up a couple more generated (or copied) source files. (check-in: 5687e5ee7b user: mistachkin tags: trunk)
19:38
Further fixes for test scripts. (check-in: 23ffa4f9fb user: dan tags: two-mappings)
18:52
Fix a problem in btree.c that could cause a crash following an OOM. Also various test script problems. (check-in: e8bcdf938e user: dan tags: two-mappings)
13:44
Version 3.7.16.1 (check-in: 527231bc67 user: drh tags: trunk, release, version-3.7.16.1)
11:24
Avoid assuming the page-size is 4096 bytes in os_unix.c. (check-in: 3b7ec8d79e user: dan tags: two-mappings)
2013-03-28
11:40
Adjustment to an extreme corner case in the sqlite3Atoi64() routine. (check-in: 39534b4baa user: drh tags: trunk)
01:19
Merge the changes for the 3.7.16.1 release candidate into the sessions branch. (check-in: ee35a89712 user: drh tags: sessions)
2013-03-27
20:41
Fix harmless compiler warnings coming from MSVC64 in test code. No changes to the core. (check-in: 274d2a2266 user: drh tags: trunk)
19:53
Modify various test cases so that they work if the file is extended in units of the system page-size. (check-in: 0e3d511927 user: dan tags: two-mappings)
19:46
Increment the version number to 3.7.16.1. (check-in: 7e32eb7b66 user: drh tags: trunk)
17:20
In order to optimize out the ORDER BY clause, outer loops must generate values for ORDER BY terms that are unique or else the inner loops must generate no more than a single row. Fix for ticket [a179fe7465]. (check-in: 2936f7466e user: drh tags: trunk)
16:42
Restore additional ORDER BY optimizations that where broken by the recent ORDER BY fix. (Closed-Leaf check-in: c77ee6e20d user: drh tags: orderby-fix)
16:05
Improved optimization of ORDER BY. (check-in: 97e5c70f2f user: drh tags: orderby-fix)
15:04
A fix and test-case for the ORDER BY problem identified by ticket [a179fe7465]. This change causes sorting to occur in some cases where it is not strictly necessary. Further work is needed to avoid those extra sorts. (check-in: 488089e615 user: drh tags: orderby-fix)
03:15
Candidate fix for ticket [6bfb98dfc0c]: Make sure invalid cursors drop all references to database pages prior to doing any insert or update. (check-in: 322a5f086d user: drh tags: trunk)
2013-03-26
20:32
Change os_unix.c to use either one or two mappings internally. (check-in: e7698cba9b user: dan tags: two-mappings)
18:48
Fix a comment in os_unix.c. No code changes. (check-in: 72813b8ec9 user: drh tags: experimental-mmap)
14:36
Change the name of the Pager.pFree field to Pager.pMmapFreelist. (check-in: 611bd824c2 user: drh tags: experimental-mmap)
14:16
In btree.c, save the positions of any open cursors before moving any pages around to auto-vacuum the database on commit. (check-in: 30c0a69363 user: dan tags: experimental-mmap)
01:07
Previous check-in accidently left mmap turned off by default. This checkin fixes that. Unfortunately, shared.test is now segfaulting. All other veryquick tests appear to work, however. (check-in: a850c7319c user: drh tags: experimental-mmap)
2013-03-25
23:09
Memory-mapped I/O is now on by default. The "PRAGMA mmap_limit(N)" can be used to issue a hint to the VFS to limit mmap space to N bytes. The VFS is free to ignore that hint if desired. However, if "PRAGMA mmap_limit(0)" is used, xFetch is never called. (check-in: 1b37c4effd user: drh tags: experimental-mmap)
20:50
Add munmap and mremap to the set of os interfaces that can be overloaded in os_unix.c. (check-in: 8776047bd7 user: drh tags: experimental-mmap)
20:30
Use mremap() on Linux. (check-in: 431aecc860 user: dan tags: experimental-mmap)
19:57
Merge all recent trunk changes into the experimental-mmap branch. (check-in: a607d63f0b user: drh tags: experimental-mmap)
19:05
Add a test that simulates an error in mmap(). (check-in: 6ec7367d8e user: dan tags: experimental-mmap)
18:25
Simulate OOM errors in the sqlite3OsFetch() function. Run malloc.test as part of the "mmap" permutation. (check-in: 77443ef2cd user: dan tags: experimental-mmap)
17:00
Change the signature of the xUnfetch method to "int (*xUnfetch)(sqlite3_file*, sqlite3_int64 iOfst, void *p)". (check-in: 115b830509 user: dan tags: experimental-mmap)
16:28
Remove unnecessary code to round the size of a memory mapping to 4KB from os_unix.c. Rename SQLITE_IOERR_MREMAP to SQLITE_IOERR_MMAP. Fix other small issues in os_unix.c. (check-in: dce35c01a5 user: dan tags: experimental-mmap)
14:31
Do not return SQLITE_IOERR when the user attempts to open a small file that is not a database with mmap enabled. Instead return SQLITE_NOTADB. (check-in: bbcaab3e80 user: dan tags: experimental-mmap)
13:50
Fix a case in the pager where an xFetch() reference was being leaked following an OOM error. (check-in: 5885ba6ce7 user: dan tags: experimental-mmap)
12:02
Add a second test for [38b1ae018f]. (check-in: 5062db672c user: dan tags: trunk)
11:38
In fts3, when filtering lists for hits in a specific column, edit the list in place in the same way as it is for NEAR filtering. Fix for [38b1ae018f]. (check-in: f85f9103cf user: dan tags: trunk)
2013-03-24
22:56
Remove the SQLITE_OMIT_MERGE_SORT compile-time option and its related code. The merge sorter is now a required component. (check-in: 8b44d6fb15 user: drh tags: trunk)
2013-03-23
21:00
Replace the sqlite3_io_methods.xMremap interface with sqlite3_io_methods.xFetch and xUnfetch. (check-in: 1431be9557 user: dan tags: experimental-mmap)
17:29
Improve a comment in wal.c. No code changes. (check-in: 60b9f5e4dd user: dan tags: experimental-mmap)
14:20
Fix a case where a checkpoint operation could write to an invalid part of a memory mapped region. (check-in: 8dbe89d05c user: dan tags: experimental-mmap)
12:15
In the winMremap VFS function, unmap the region prior to attempting to truncate the file. (check-in: 8870c4cc6c user: mistachkin tags: experimental-mmap)
10:09
Do not unmap the mapped file region in winTruncate as there may be outstanding pointers to it. (check-in: f57a9c91e9 user: mistachkin tags: experimental-mmap)
09:56
Preliminary changes to support the xMremap VFS method on Windows. (check-in: 75a85a1c6a user: mistachkin tags: experimental-mmap)
2013-03-22
20:15
Update wal mode tests so that they work with the mmap test permutation. (check-in: f7295872a3 user: dan tags: experimental-mmap)
19:56
Fix a potential NULL-pointer dereference in btreeSwapOutMmap(). (check-in: e81ccdcd87 user: drh tags: experimental-mmap)
19:17
Fix a case where the mapped part of a database file may be written during a backup operation. (check-in: c8d67aefff user: dan tags: experimental-mmap)
18:20
Allow the database file to be memory mapped in wal mode. (check-in: d190ddabc3 user: dan tags: experimental-mmap)
17:46
Add a fix for the assert() statements added by the previous commit. (check-in: 19345416ed user: dan tags: experimental-mmap)
08:58
Add assert statements to os_unix.c to ensure that any mapped region of the database file is not being read or written using the xRead() or xWrite() methods. (check-in: 765615f9fb user: dan tags: experimental-mmap)
2013-03-21
21:20
Many spelling fixes in comments. No changes to code. (check-in: 6f6e2d5094 user: mistachkin tags: trunk)
20:39
Fix cases where xRead() was being used to read from a memory mapped part of the database file. (check-in: 5c9e9df27b user: dan tags: experimental-mmap)
20:00
Avoid calling xRead() on a part of the database file that is memory mapped. (check-in: c8eac290a7 user: dan tags: experimental-mmap)
15:57
Fix a problem when opening a write-transaction while there exist read-only b-tree cursors in mmap mode. (check-in: 32e0bbb736 user: dan tags: experimental-mmap)
14:47
Do not use the Linux mremap() call. Use the same strategy for xMremap() as on OSX instead. (check-in: 5ed8ad780c user: dan tags: experimental-mmap)
2013-03-20
18:25
Optimize the xMremap method in os_unix.c some. (check-in: 9529ed88a7 user: dan tags: experimental-mmap)
14:26
When possible, use memory mapping when appending new pages to a database file. (check-in: 14135da3cd user: dan tags: experimental-mmap)
12:04
Fix text-to-numeric type casting so that it works correctly on UTF16 strings that contain characters where the LSB is numeric but the MSB is non-zero. Ticket [689137afb6da41] (check-in: 5b22053f91 user: drh tags: trunk)
10:07
Add test file mmap1.test. (check-in: aee1f53a74 user: dan tags: experimental-mmap)
2013-03-19
19:28
Add the sqlite3_io_methods.xMremap() method to the VFS interface. Also "PRAGMA mmap_size". (check-in: 6183f1bd86 user: dan tags: experimental-mmap)
17:10
Also export the sqlite3changeset interfaces in the amalgamated version of the sessions extension. (check-in: 5b399f2bc4 user: drh tags: sessions)
16:12
Bring makefiles and build scripts into alignment with the sessions branch. No changes to code. (check-in: d1f41089ab user: drh tags: trunk)
15:23
Include the sqlite3session.h header file in with sqlite3.h. Make sure the session APIs are all public. (check-in: ec490336bc user: drh tags: sessions)
2013-03-18
17:18
Clarifications to the documentation for the sqlite3_aggregate_context() API. Also, shorten an over-length source line in sqlite.h.in. (check-in: 4fe2db1d86 user: drh tags: trunk)
16:24
Adjust the MSVC makefile so that it correctly handles the sessions extension being included in the amalgamation. Import the test case changes that appeared in 3.7.16 final. (check-in: 9bac09a99a user: drh tags: sessions)
11:39
Version 3.7.16 (check-in: 66d5f2b767 user: drh tags: trunk, release, version-3.7.16)
2013-03-16
20:19
When possible, use memcpy() to and from the mapped region instead of xWrite() and xRead(). (check-in: f8ca5622d9 user: dan tags: experimental-mmap)
2013-03-15
19:13
Fix a dropped error code in pager.c. (check-in: 022fdc986b user: dan tags: experimental-mmap)
18:29
Allow read-only cursors to use mmap pages even if there is an open write transaction. (check-in: b387e2f9d2 user: dan tags: experimental-mmap)
2013-03-14
18:34
Use mmap() to read from the database file in rollback mode. This branch is unix only for now. (check-in: 6f21d9cbf5 user: dan tags: experimental-mmap)
2013-03-13
20:52
Merge updates from trunk. (check-in: d63fa039a0 user: mistachkin tags: toTypeFuncs)
19:02
Fix typos in MSVC makefile. (check-in: 2d15c26857 user: mistachkin tags: sessions)
12:20
Fix main.mk so that it builds the amalgamation correctly. (check-in: 0b84e27724 user: drh tags: sessions)
11:42
Fix a compiler warning in sqlite3VdbePreUpdateHook(). Add sqlite3session.c to the amalgamation. Fix the Makefile.in to work with sessions. (check-in: e54b0225f2 user: drh tags: sessions)
07:02
Enhance tests for ticket [4dd95f6943]. (check-in: 0b452734fa user: dan tags: trunk)
06:48
Rename the experimental todouble() function to toreal(), update comments. (check-in: 12c318ef1b user: mistachkin tags: toTypeFuncs)
06:34
Merge latest trunk changes into this branch. (check-in: d6cd3c780c user: dan tags: sessions)
00:13
Fix the ORDER BY with IN constraint logic so that it works with all combinations of DESC on the ORDER BY clause, on the RHS of the IN operator, and in the index used by ORDER BY and IN. Fix for ticket [4dd95f6943fbd18]. (check-in: 839aa91faf user: drh tags: trunk)
2013-03-12
23:58
Add a single new test case to the ORDER BY with IN logic verify that if the RHS of the IN is a descending index that it still works. Add testcase() macros to the ORDER BY with IN logic to help verify that corner cases are tested. (Closed-Leaf check-in: 7e7356f155 user: drh tags: desc-orderby-fix-1)
23:03
Fix typo in sqlite3_close() function documentation reported on the mailing list. (check-in: c9a75d890f user: mistachkin tags: trunk)
22:13
Fix a test case that had an ambiguous result. (check-in: 38c6bddf8c user: drh tags: desc-orderby-fix-1)
20:58
Fix typo in sqlite3_close() function documentation reported on the mailing list. (Closed-Leaf check-in: 7232093d6c user: mistachkin tags: docTypo)
20:38
Fix the ORDER BY optimization with IN constraints when the RHS of the IN constraint is a descending index. (check-in: 62316ebaca user: drh tags: desc-orderby-fix-1)
18:49
Revise the patch to make it easier to understand. (check-in: 3ce7eb0265 user: drh tags: desc-orderby-fix-1)
18:44
Add test cases for [4dd95f6943]. (check-in: 723c144c76 user: dan tags: desc-orderby-fix-1)
18:40
Revised fix for the DESC ORDER BY and IN constraint bug, ticket [4dd95f6943fbd18]. The previous check-in was incorrect. (check-in: 8b2eb7a43b user: drh tags: desc-orderby-fix-1)
18:34
A proposed fix for the DESC ORDER BY bug of ticket [4dd95f6943fbd18]. Seems to work, but lots more testing is needed prior to moving to trunk. (check-in: 614a038ad2 user: drh tags: desc-orderby-fix-1)
11:38
Merge recent changes to trunk into sessions branch. (check-in: 62adb0e0d7 user: dan tags: sessions)
09:07
Increase strictness of the new experimental functions and add more tests. (check-in: 05c4463ec5 user: mistachkin tags: toTypeFuncs)
2013-03-11
13:37
Define _BSD_SOURCE when building on OpenBSD. This is required for fchmod(). (check-in: f9027cb47b user: dan tags: trunk)
11:57
Fixes for compiling with SQLITE_OMIT_AUTOVACUUM and/or SQLITE_OMIT_TRIGGER defined. (check-in: 1da15adba8 user: dan tags: trunk)
11:49
Fixes for compiling with SQLITE_OMIT_AUTOVACUUM and/or SQLITE_OMIT_TRIGGER defined. (Closed-Leaf check-in: 938b91e855 user: dan tags: omit-fixes)
06:24
Add more tests. (check-in: f9468e334d user: mistachkin tags: toTypeFuncs)
01:23
Add experimental tointeger() and todouble() SQL functions. (check-in: 465fd853d3 user: mistachkin tags: toTypeFuncs)
2013-03-09
14:49
Add a test case for the problem fixed by the previous commit. (check-in: e899b058a7 user: dan tags: trunk)
14:40
Fix a problem with resolving "db.view.column" references that appear in UPDATE or DELETE statements executed against views. (check-in: ddee56c9b2 user: dan tags: trunk)
2013-03-08
18:16
If SQLITE_OMIT_UTF16 is defined, avoid setting the 'enc' field of Schema objects to any value except SQLITE_UTF8. Otherwise, assert() statements may fail or spurious SQLITE_NOMEM errors may be returned at the vdbe level later on. (check-in: f2fecfb2d3 user: dan tags: trunk)
07:10
If SQLITE_OMIT_UTF16 is defined, avoid setting the 'enc' field of Schema objects to any value except SQLITE_UTF8. Otherwise, assert() statements may fail or spurious SQLITE_NOMEM errors may be returned at the vdbe level later on. (Closed-Leaf check-in: 69746ef787 user: dan tags: experimental)
2013-03-07
14:00
Fix the char() function so that it works even if SQLITE_OMIT_UTF16 is defined. (check-in: af542c82e8 user: drh tags: trunk)
11:03
Avoid an assertion fault and/or freeing memory while it is still in use when an error occurs during virtual table construction. Cherrypick of [a02599ad85d]. (check-in: 760072ceea user: dan tags: branch-3.7.14)
09:39
Skip tests that require UTF-16 support when compiled with SQLITE_OMIT_UTF16. (check-in: e39391422e user: mistachkin tags: trunk)
06:42
Fix two compilation issues, one warning and one error, that occur only when SQLITE_OMIT_UTF16 is defined. (check-in: 10ace06be7 user: mistachkin tags: trunk)
2013-03-06
11:44
Fix a problem in incrvacuum_ioerr.test. Do not run ioerr6.test with an in-memory journal. (check-in: 66576b450a user: dan tags: trunk)
02:12
Merge all the latest trunk changes into the sessions branch. (check-in: d69d21903b user: drh tags: sessions)
01:55
Fix a bug (ticket [fc7bd6358f59]) that caused incorrect query results in three way queries that involved comparing INTEGER and TEXT columns for equality. (check-in: 7097241c12 user: drh tags: trunk)
01:48
Add the SQLITE_READONLY_ROLLBACK extended error code. Do not try to set the permissions on journal or wal files except if the filesize is initially zero (indicating that it is a new file.) (check-in: ce4ac66a4b user: drh tags: trunk)
01:41
Fix an operator precedence problem on the [1d8086902e] check-in. (Closed-Leaf check-in: 4f5f3aebe8 user: drh tags: ex-robust-open)
2013-03-05
16:54
Failed merge experimental branch with trunk. (check-in: 4e6e07a60e user: dan tags: ex-robust-open)
15:27
Do not attempt to set the permissions on an existing journal or wal file. Do this only immediately after creating a new file (or opening one zero bytes in size). (Closed-Leaf check-in: 1d8086902e user: dan tags: experimental)
15:09
Add extended error code SQLITE_READONLY_ROLLBACK. Returned if a read-only connection cannot read the database because doing so would require it to roll back a hot-journal. (check-in: 39247b14a5 user: dan tags: experimental)
11:27
Fix a bug in the recent incremental-vacuum related changes. (check-in: 717863fca6 user: dan tags: trunk)
01:46
Simplified error message on the showdb utility. (check-in: 8e0ced1af7 user: drh tags: trunk)
2013-03-04
17:41
Omit a test that uses the progress handler callback from view.test if OMIT_PROGRESS_HANDLER is defined. (check-in: f40552ada5 user: dan tags: trunk)
16:35
Remove an assert() statement that has been incorrect since the recent incremental-vacuum related changes in [26e235b7a4]. (check-in: 090a47127f user: dan tags: trunk)
2013-03-03
20:26
Add the test_fs.c test module to Makefile.in. Adjust the success criteria on index5-1.3 so that it works under auto_vacuum configurations. (check-in: b457c8870a user: drh tags: trunk)
2013-03-02
03:25
Update comments on the free-page allocator to accurately reflect the latest implementation. Add new asserts to the free-page allocator. (check-in: 9a135e37b6 user: drh tags: trunk)
2013-03-01
23:40
Complete the initialization of the loadable extension thunk table. Also fix other (harmless) compiler warnings. (check-in: 780d06c5e5 user: drh tags: trunk)
23:24
Update the cygwin interface to use the newer 1.7 APIs instead of the 1.5 APIs. Also shorten over-length source code lines in os_win.c. (check-in: 6b2838336a user: drh tags: trunk)
23:13
Prevent Tcl file encoding issues in the tests for the unicode() and char() functions. (check-in: c9c2b82c86 user: mistachkin tags: trunk)
21:01
Fix an overly restrictive assert() in the pager. (check-in: f476eace86 user: drh tags: trunk)
15:02
Fix the handling of UTF16 surrogate pairs in the char() function. (check-in: ff67d87894 user: drh tags: trunk)
01:07
Always use strncmp() rather than memcmp() when comparing strings where one or other string might be less than the length parameter, since optimized versions of memcmp() might read past the first difference and in so doing generate an access violation. (check-in: d73435587b user: drh tags: trunk)
2013-02-26
18:54
In the incrvacuum3 test, add missing call to the Tcl close command. (check-in: cd80672384 user: mistachkin tags: trunk)
12:57
When comparing names during name resolution, make sure the names match exactly and that one name isn't merely a prefix of the other. Fix for ticket [7a31705a7e6c95d51]. (check-in: c2d5a23b1a user: drh tags: trunk)
06:14
Change the way test script incrvacuum3.test copies database files in order to avoid trying to read the (locked) 512 byte 'pending-byte' region. (check-in: fa1842e462 user: dan tags: trunk)
05:44
Prevent Tcl file encoding issues in the tests for the unicode() and char() functions. (Closed-Leaf check-in: d2e7dfca5a user: mistachkin tags: funcTestEncoding)
05:42
Remove extra use of the sqlite3_value_int64() function. (check-in: 6d7973524a user: mistachkin tags: trunk)
2013-02-25
14:39
Add new SQL functions unicode() and char(). (check-in: be24939052 user: drh tags: trunk)
13:55
Strengthen the final test case in index5.test. Also provide additional diagnostic information out the output. (check-in: 47b6418242 user: drh tags: trunk)
13:44
Fix an error in test script index5.test. (check-in: d87e5acf28 user: dan tags: trunk)
13:31
Merge the incr-vacuum-opt branch with the trunk. (check-in: 26e235b7a4 user: dan tags: trunk)
12:06
Add test file incrvacuum3.test. No code changes. (Closed-Leaf check-in: bf57534188 user: dan tags: incr-vacuum-opt)
07:12
Catch a dropped error code in backup.c. (check-in: ac8ca3ecee user: dan tags: incr-vacuum-opt)
2013-02-24
11:50
Fix a case where database corruption may cause an assert() to fail. (check-in: ba33bb059e user: dan tags: incr-vacuum-opt)
2013-02-23
19:43
Fix a case in the incremental vacuum code where database corruption was going unreported. (check-in: 4cd30c7262 user: dan tags: incr-vacuum-opt)
19:11
Fix a cut-and-paste bug causing the library to fail to report database corruption in a few cases. (check-in: f921df5956 user: dan tags: incr-vacuum-opt)
18:58
Enhancements to test scripts. No code changes. (check-in: ccab94c10d user: dan tags: incr-vacuum-opt)
17:49
Fix off-by-one bug in [c3939d2491] uncovered by th3. (check-in: 66f9faa9a9 user: dan tags: incr-vacuum-opt)
16:40
If a rollback mode transaction reduces the size of the database file, avoid actually truncating the file until after the transaction has been committed (but before the db has been unlocked). This means pages that are removed from the database by truncating the file need not be journalled. (check-in: b73847f17b user: dan tags: incr-vacuum-opt)
2013-02-22
20:57
Fix a problem with the previous commit. (check-in: 720a3ceafc user: dan tags: incr-vacuum-opt)
20:16
Avoid moving pages more than once in an incremental vacuum operation. (check-in: c3939d2491 user: dan tags: incr-vacuum-opt)
19:34
Two new SQL functions: unicode() and char(). (Closed-Leaf check-in: 209b21085b user: drh tags: unicode-function)
2013-02-20
00:54
On Minix, disable the ".timer" command in the shell in order to avoid calling getrusage(). (check-in: 9bd9bd9cab user: drh tags: trunk)
2013-02-19
22:26
Enhance the showdb tool with options to show PTRMAP usage and content. (check-in: 06bd91305e user: drh tags: trunk)
20:25
Fix the showdb utility so that it displays the correct secondary usage of a page when reporting on an error of a page being used more than once. (check-in: 4507f0b3d4 user: drh tags: trunk)
18:45
Enhance the pgidx of the showdb utility so that it provides better information even if the sqlite_master table is corrupt. (check-in: d14263a719 user: drh tags: trunk)
18:34
Do not rollback the schema if a parsing error occurs while parsing the schema and writable_schema is set. (check-in: 680d3ab56b user: drh tags: trunk)
18:34
Truncate over-length source lines in sqliteInt.h to 80 characters or less. (check-in: d71abab085 user: drh tags: trunk)
11:51
Add the edit_cost_table= command to the spellfix1 virtual table, permitting the edit distance cost table to be changed at runtime. (check-in: 89d6368250 user: drh tags: trunk)
2013-02-16
02:41
Fix an unsafe VM register deallocation. (check-in: cfba2c8dad user: drh tags: trunk)
2013-02-15
04:21
Check for a NULL handle prior to manually calling winClose. (check-in: 843e1c543a user: mistachkin tags: trunk)
2013-02-14
16:16
Verify that the schema has not changed before running PRAGMA table_info, index_list, index_info, and foreign_key_list. (check-in: 82952d08f3 user: drh tags: trunk)
2013-02-13
22:54
On WinCE, fill in the winFile structure after winceCreateLock has succeeded. (check-in: ec13544ce3 user: mistachkin tags: trunk)
14:04
Add recent API additions to the extension mechanism. (check-in: 7e10a62d0e user: drh tags: trunk)
13:42
Enhancements to the query planner to make use of indices for ORDER BY even when IN constraints are in the WHERE clause. Add extended error codes for all SQLITE_CONSTRAINT errors. (check-in: 7e14dc734d user: drh tags: sessions)
01:00
Allow an index to be used for sorting even if prior terms of the index are constrained by IN operators. (check-in: 2cef8b68f0 user: drh tags: trunk)
2013-02-12
22:20
Improve memory allocation error handling on WinCE. (check-in: cdbca259da user: drh tags: trunk)
22:09
A bug report coming from from Firefox (https://bugzilla.mozilla.org/show_bug.cgi?id=840377) describes an infinite recursion. We are unable to reproduce the problem. Nevertheless, this check-in should prevent the problem from ever occurring again. (check-in: b7222a2bd0 user: drh tags: trunk)
09:46
Improve memory allocation error handling on WinCE. (Closed-Leaf check-in: 09dfc0c915 user: mistachkin tags: wince)
2013-02-11
13:47
Add extended error codes for all SQLITE_CONSTRAINT errors. (check-in: 939d828274 user: drh tags: trunk)
2013-02-09
15:37
Rename SQLITE_CONSTRAINT_RAISE to SQLITE_CONSTRAINT_TRIGGER. Put the extended constraint error codes in alphabetical order. Add many test cases for the extended constraint error codes. (Closed-Leaf check-in: 3f67437536 user: drh tags: constraint-error-codes)
13:58
Add extended error codes for constraint errors. (check-in: 5461104668 user: drh tags: constraint-error-codes)
2013-02-08
23:18
Fix a potential NULL-pointer dereference following an OOM error in the query planner logic for virtual tables with OR-connected terms. (Closed-Leaf check-in: 71b6c26053 user: drh tags: IN-with-ORDERBY)
20:39
Make sure the virtual tables that take advantage of IN operators sort the RHS of the IN operator in the correct order according to the ORDER BY clause. (check-in: b016b7546d user: drh tags: IN-with-ORDERBY)
18:48
Loop through the elements on the RHS of an IN operator in reverse order when the ORDER BY clauses specifies DESC. (check-in: f78395c889 user: drh tags: IN-with-ORDERBY)
16:04
Allow the "a=?1 OR a=?2" to "a IN (?1,?2)" transformation to work on virtual tables again. This was formerly restricted because virtual tables could not optimize IN terms. (See check-in [fad88e71cf195e].) But IN terms are now used by virtual tables (as of check-in [3d65c70343]) so the restriction can now be removed. (check-in: a917c1f092 user: drh tags: IN-with-ORDERBY)
2013-02-07
21:15
Allow an index to be used for sorting even if prior terms of the index are constrained by IN operators. (check-in: 98bf668ab1 user: drh tags: IN-with-ORDERBY)
09:33
Fix harmless compiler warnings. (check-in: 4a7b4ee011 user: drh tags: trunk)
05:12
Add the ability to skip defining the localtime() function when being compiled for WinCE. (check-in: e1640876df user: mistachkin tags: trunk)
2013-01-30
01:46
Remove some debugging logic accidently left in the limit.test module. (check-in: 7d346250e8 user: drh tags: trunk)
2013-01-29
23:55
Fix LIMIT and OFFSET so that they work and do not leak memory even on complex queries involving deeply nested views of UNION ALL compounds. Ticket [db4d96798da8]. Secondary to ticket [d58ccbb3f1b7]. (check-in: 497ee36cb8 user: drh tags: trunk)
19:14
New debugging pragmas: PRAGMA vdbe_debug=ON is short-hand for the sql_trace, vdbe_listing, and vdbe_trace pragmas. PRAGMA vdbe_debug enables tracing of sqlite3VdbeAddOp() calls. None of this is active unless compiled with SQLITE_DEBUG. (check-in: ae565ff3e0 user: drh tags: trunk)
2013-01-28
22:52
Fix an issue with the SQLITE_TESTCTRL_EXPLAIN_STMT and compound queries with multiple terms. (check-in: a6499c2521 user: drh tags: trunk)
19:00
Issue an error message and quit (rather than overflowing a reference counter) if the number of references to a table exceeds the maximum due to nested UNION views. Fix for ticket [d58ccbb3f1]. (check-in: c2462a95ed user: drh tags: trunk)
18:18
Cause the command-line shell to issue an error message if you give something that does not look like a boolean value to a dot-command that wants a boolean argument. (check-in: b4d94947fc user: drh tags: trunk)
2013-01-26
19:31
Add a single test case to fts4unicode.test to verify that title-case maps to lower case. (check-in: 955a9459da user: drh tags: trunk)
19:26
Add a single test case to fts4unicode.test to verify that title-case maps to lower case. (Leaf check-in: 46f7c9301e user: drh tags: branch-3.7.15)
2013-01-25
19:11
Fix the test_spellfix.c extension so that it can be made loadable at run-time. Add spellfix to the shell when building using the build-shell.sh script. (check-in: 7813b17d8b user: drh tags: trunk)
18:33
Enhance the command-line shell so that adding a non-zero numeric argument to the ".exit" command causes an immediate exit without cleaning up. This can be used (for example) to cause journal files to be left behind. (check-in: 8ba951d1b7 user: drh tags: trunk)
15:59
Add btree-page decoding logic to showwal.c. Commands of the form: "showwal $FILE 123bmc" show the content of the btree page in frame 123. "b" means decode the btree. "c" means show cell content. "m" means give a map of the btree page. (check-in: 93b159da5d user: drh tags: trunk)
15:31
Further improvements to showwal.c: Reset the checksum after each frame so that only individual checksum failures are shown. And only show failures, not correct checksums. (check-in: 4e2bf57549 user: drh tags: trunk)
15:09
Enhance the "showwal" utility program to show checksum failures on frames. (check-in: a7f6d19816 user: drh tags: trunk)
02:10
Enhancements to the query planner to exploit transitive relationships in the WHERE clause, and other minor changes to bring the sessions branch into alignment with the trunk. (check-in: 82d3d1ae82 user: drh tags: sessions)
2013-01-23
18:53
Improved parsing of the arguments to the ".backup" command in the command-line shell. (check-in: f1127e87b9 user: drh tags: trunk)
18:44
Fix a double-free() call that can occur when SQLITE_ENABLE_TREE_EXPLAIN is defined. (check-in: 5bfb5967d7 user: drh tags: trunk)
2013-01-20
00:18
Fix a typo in a comment in the test_regexp.c test file. (check-in: 68346af70b user: drh tags: trunk)
2013-01-18
03:35
The \xXX escape in the test_regexp.c must be followed by exactly two hex digits. (check-in: 82957495aa user: drh tags: trunk)
2013-01-17
17:20
Enhance the query planner to exploit transitivity of join constraints. (check-in: 38852f158a user: drh tags: trunk)
17:05
Improved error messages on the RTREE virtual table. Make the "fs" virtual table used for testing available on windows. (check-in: c0b90d75a8 user: drh tags: trunk)
16:43
Add the ability to disable transitive constraints using the sqlite3_test_control(SQLITE_TESTCTRL_OPTIMIZATIONS) interface. (Closed-Leaf check-in: 593d67c8b0 user: drh tags: transitive-constraints)
16:18
Avoid unnecessary collating sequence and affinity restrictions on the use of transitivity. Add test cases to show that the restrictions are not needed. (check-in: 56549f4566 user: drh tags: transitive-constraints)
15:05
Make more aggressive use of transitivity in optimizing queries. Add a test case. (check-in: d96762841a user: drh tags: transitive-constraints)
03:18
Enhance RTree virtual table creation error messages that involve the getNodeSize() function. (Closed-Leaf check-in: 652233d646 user: mistachkin tags: rtreeErrMsg)
03:18
Make the 'fs' virtual table module portable to Windows. (Closed-Leaf check-in: dd473cae5b user: mistachkin tags: fsVfsWin)
00:08
Improved comments explaining the operation of the findTerm() utility routine in where.c. Increase the maximum number of levels of transitivity from 4 to 11. (check-in: fe152f8b04 user: drh tags: transitive-constraints)
2013-01-16
20:33
Fix the activate_extensions pragma so that it is a no-op when the required argument is omitted. (check-in: 6195ebd833 user: drh tags: trunk)
17:08
Enhance the query planner to exploit transitivity of join constraints in a multi-way join. (check-in: 13171eb5dc user: drh tags: transitive-constraints)
00:46
Improvements to query planning for joins: Avoid unnecessary calls to "optimal scan" checks in cases where table reordering is not possible. Make sure optimal scan checks are carried out for CROSS JOINs and LEFT JOINs. (check-in: d5ebb78778 user: drh tags: trunk)
2013-01-15
18:49
Fix a missing word in a comment. Enhance the "wheretrace" debugging output to show the estimated cost of each table option while planning the join order. (check-in: ac4e119a87 user: drh tags: trunk)
16:15
Clarification to a comment in where.c. No code changes. (check-in: 04507c1763 user: drh tags: trunk)
2013-01-11
09:58
Add another test for the fts4 content= option. (check-in: 7e6007a000 user: dan tags: trunk)
2013-01-09
15:44
Check in an extra test for the fts4 "content=" option. No code changes. (check-in: 0d0e5ab8f1 user: dan tags: trunk)
14:49
Merge latest trunk changes into the sessions branch, especially the ORDER BY bug fix of 3.7.15.2. (check-in: 34af6fac67 user: drh tags: sessions)
11:53
Version 3.7.15.2 (check-in: c0e09560d2 user: drh tags: version-3.7.15.2, branch-3.7.15)
11:44
Fix an over-aggressive optimization of ORDER BY on a three-way join where the second table is UNIQUE and the ORDER BY occurs on the third table. Ticket [c997b11c4d53a2ee]. (check-in: 3d0609c958 user: drh tags: branch-3.7.15)
11:31
Fix an over-aggressive optimization of ORDER BY on a three-way join where the second table is UNIQUE and the ORDER BY occurs on the third table. Ticket [c997b11c4d53a2]. (check-in: 5774f2175c user: drh tags: trunk)
11:27
Fix the date on the new orderby3.test test case. (check-in: 7249bfc2ca user: drh tags: trunk)
11:25
Add a test case that demonstrates ticket [c997b11c4d53a2ee9983]. (check-in: 598f5f7596 user: drh tags: trunk)
2013-01-08
17:24
Merge updates from trunk. (Closed-Leaf check-in: f29680c468 user: mistachkin tags: configReadOnly)
12:48
Do not raise an error if an unknown SQL function is found in a CHECK constraint while parsing the schema of an existing database. (check-in: cda790280a user: drh tags: trunk)
2013-01-07
17:31
Merge updates from trunk. (check-in: bf90f1fbf8 user: mistachkin tags: configReadOnly)
13:26
Do not raise an error if an unknown SQL function is found in a CHECK constraint while parsing the schema of an existing database. This version causes a run-time error when processing STAT3 tables. (Closed-Leaf check-in: 0a1207c895 user: dan tags: mistake)
2013-01-05
17:17
More bug fixes to the test_regexp.c module. Bring test_regexp.c into alignment with the regexp.c file in the Fossil sources. (check-in: 7695b88fe0 user: drh tags: trunk)
2013-01-04
22:26
Remove superfluous text from a comment. (check-in: e9ac533960 user: mistachkin tags: trunk)
20:45
Do not use umask() since it change the umask for the entire process, not just the thread using SQLite. Make whatever permission changes are needed using fchmod() after the file is created, instead. (check-in: 6c4c2b7dba user: drh tags: trunk)
19:22
Fix an out-of-order local variable declaration in test_regexp.c. (check-in: 8285b15a05 user: drh tags: trunk)
14:06
Fix the zInit[] optimization of test_regexp.c when the initial string contains 3-byte UTF8 characters. (check-in: 357231ec97 user: drh tags: trunk)
2013-01-03
22:22
Merge recent trunk changes into the sessions branch. (check-in: 7e068e39b3 user: drh tags: sessions)
19:34
Bring back test_regexp changes that were made when porting to Fossil. Also fix some bugs that were introduced by the Fossil port. (check-in: 45c158b1a0 user: drh tags: trunk)
18:07
Improvements to column name resolution in queries with parenthesized FROM clauses. Also includes a fix for ticket [beba9cae6345a3]. (check-in: 99127a669c user: drh tags: trunk)
17:34
Further corner-case fixes to the name resolution logic. (Closed-Leaf check-in: 20730bad70 user: drh tags: name-resolution-fix)
16:54
Remove an incorrect assert() statement (ticket [beba9cae6345a]). Fix other minor problems in the name resolution logic. (check-in: afe96a118c user: drh tags: name-resolution-fix)
00:45
Now supports result sets of the form "TABLE.*" with nested FROM clauses. (check-in: 4cf5ed7ea1 user: drh tags: name-resolution-fix)
2013-01-02
14:57
When resolving result-set name collisions, make them x:1, x:2, x:3, etc. instead of x:1, x:1:1, x:1;1;1. (check-in: ef01e30456 user: drh tags: name-resolution-fix)
12:29
Merge all the latest trunk changes into the name-resolution enhancement branch. (check-in: a5f4d2b641 user: drh tags: name-resolution-fix)
2013-01-01
14:01
Reduce the size of the Index object (by 8 bytes on x64). (check-in: 5a2ac94483 user: drh tags: trunk)
13:55
Enhance the table_info pragma so that the pk column shows the order of the columns in a multi-column primary key. (check-in: 3076a89015 user: drh tags: trunk)
2012-12-31
20:16
More test cases for the REGEXP operator. Fix minor bugs uncovered by these test cases. (check-in: a611c75061 user: drh tags: trunk)
19:18
Add the test_regexp.c module containing a cross-platform implementation of the REGEXP operator. (check-in: 46c8c01b75 user: drh tags: trunk)
2012-12-21
16:15
Ensure the database size field in the db header of a backup database is set correctly. Fix for [0cfd98ee201]. (check-in: ff6857b6ed user: dan tags: trunk)
2012-12-20
01:15
Add PRAGMA foreign_key_check. Name the child and parent tables as part of a "foreign key mismatch" error. (check-in: e408dc9080 user: drh tags: trunk)
00:32
Remove an unreachable branch operation from the foreign_key_check pragma. (Closed-Leaf check-in: b5a8f3160b user: drh tags: foreign-key-check)
2012-12-19
20:39
Version 3.7.15.1 (check-in: 6b85b767d0 user: drh tags: release, version-3.7.15.1, branch-3.7.15)
17:10
Backport to the 3.7.15 branch the fix to the segfault problem of ticket [a7b7803e8d1e869] which involved the use of "AS" named result columns as logical terms of the WHERE clause. Also, change the version number to 3.7.15.1. (check-in: bae528f486 user: drh tags: branch-3.7.15)
16:58
Fix the segfault problem of ticket [a7b7803e8d1e869] which involved the use of "AS" named result columns as logical terms of the WHERE clause. (check-in: b3c9e8f812 user: drh tags: trunk)
16:32
A couple more test cases. (Closed-Leaf check-in: 0ae142178d user: drh tags: tkt-a7b7803e)
16:25
Additional test cases involving the use of a result column specified by its "AS" name as a logical term of the WHERE clause. Ticket [a7b7803e8d1e8699cd]. (check-in: d7cc364e87 user: drh tags: tkt-a7b7803e)
15:53
Proposed fix for ticket [a7b7803e8d1e8699cd8a]. (check-in: 3d0e00c731 user: drh tags: tkt-a7b7803e)
13:41
Add commentary to the ExprList object to explain how zSpan is overloaded. Add test cases for the new name resolution functionality. (check-in: 3e7d84db78 user: drh tags: name-resolution-fix)
02:36
Better resolution of table and column names in joins where some of the terms of the FROM clause are parenthesized. (check-in: 7344e791b9 user: drh tags: name-resolution-fix)
2012-12-18
19:36
Optimize the degenerate case of a FROM clause table name enclosed all by itself inside parentheses. Generate code as if the parentheses did not exist, rather than the old behavior of manifesting the parenthesized table into a transient table. Also, tag every FROM-clause SELECT subquery that is generated by a parenthesized FROM-clause expression using the SF_NestedFrom flag. The new SF_NestedFrom flag is not yet used for anything. (check-in: 7fecced466 user: drh tags: trunk)
16:07
Resolve names in FROM-clause subqueries prior to resolving names in the result set expressions of a SELECT statement. (check-in: 9b67c633d9 user: drh tags: trunk)
13:12
Remove old commented-out code from parse.y. Fix some over-length source lines in parse.y. No logical changes. (check-in: 7e30c021ab user: drh tags: trunk)
11:59
On atomic-write capable systems, if copying the contents of an in-memory journal to disk fails, close the (on disk) journal file before returning the error to the caller. This causes the subsequent rollback operation to use the in-memory journal. Fix for [df678d738adb]. (check-in: 8183d8d7ae user: dan tags: trunk)
2012-12-17
22:32
Added test cases for PRAGMA foreign_key_check. Fixed a bug that appears when the column order of the child and parent differ. (check-in: 25411f83f9 user: drh tags: foreign-key-check)
20:57
Add to the foreign_key_check pragma an extra output column "parent" that contains the name of the parent table for the constraint that failed. (check-in: 97f7f73772 user: drh tags: foreign-key-check)
20:40
Enhance the error message for "foreign key mismatch" to include the names of the child and parent tables. Begin adding test cases for PRAGMA foreign_key_check. Make sure PRAGMA foreign_key_check gets all necessary table locks. (check-in: 0f9963526c user: drh tags: foreign-key-check)
18:43
"PRAGMA foreign_key_check" with no argument checks the foreign keys on all tables. (check-in: 57d47423a6 user: drh tags: foreign-key-check)
18:05
Fix an issue with child keys that are not INTEGER PRIMARY KEY referencing INTEGER PRIMARY KEY in the parent. (check-in: 603b695bf0 user: drh tags: foreign-key-check)
16:46
Prototype for PRAGMA that checks all foreign key constraints on a table. (check-in: 01c980e9bb user: drh tags: foreign-key-check)
2012-12-14
17:54
Optimize IN operators in the WHERE clause of queries using virtual tables. (check-in: 3d65c70343 user: drh tags: trunk)
17:48
Remove an unreachable branch. Improvements to comments. (Closed-Leaf check-in: d2fb7619b0 user: drh tags: vtab-IN-opt)
15:54
Merge in all the trunk changes that have occurred since this branch was opened. (check-in: 6d507e4de9 user: drh tags: vtab-IN-opt)
15:36
Fix the virtual table IN optimizer so that it work even if the virtual table implementation leaves the sqlite3_index_info.aConstraintUsage[].omit flag clear for an equality constraint that it intends to use. (check-in: d6e045f89c user: drh tags: vtab-IN-opt)
2012-12-13
18:57
Generalize the min/max optimization so that if an appropriate index exists, the index it can be used by any aggregate query that contains only a single max() or min() and does not contain a GROUP BY clause. (check-in: 52e755943f user: drh tags: trunk)
18:51
Increase the version number to 3.7.16 in advance of adding new features for the next release. (check-in: 8bcf5f51d8 user: drh tags: trunk)
16:37
Attempt to further generalize the min/max optimization so that, if an appropriate index exists, it can be used by any aggregate query that contains only a single aggregate of the form max(colname) or min(colname) and does not contain a GROUP BY clause. (Closed-Leaf check-in: 7280e14cd8 user: dan tags: minmax-opt)
2012-12-12
14:30
Allow the error message from "PRAGMA integrity_check" to be longer than 20,000 bytes. (check-in: 120c82d56e user: drh tags: trunk)
13:36
Version 3.7.15 (check-in: cd0b37c526 user: dan tags: trunk, release, version-3.7.15)
2012-12-11
19:40
Update requirements marks and test cases for multi-VALUE INSERT and to fix typos in requirements text. (check-in: 81d9ee0f0d user: drh tags: trunk)
19:10
Fix a typo in a comment that is used to generate documentation. No changes to code. (check-in: e38adb60a7 user: drh tags: trunk)
2012-12-10
22:19
When an arithmetic operation with two integer operands must give a floating-point answer due to overflow, make sure the answer is not rounded back to integer by affinity. (check-in: bd7aeeb691 user: drh tags: trunk)
10:22
Modify releasetest.tcl so that it runs the "checksymbols" test on a build without SQLITE_DEBUG defined. If SQLITE_DEBUG is defined, the sqlite3WhereTrace variable causes the test to fail. (check-in: 75e545a9e2 user: dan tags: trunk)
09:08
Remove a reference to JumpOnce from a comment in vdbe.c. No code changes. (check-in: ee662c039d user: dan tags: trunk)
2012-12-08
23:37
Pull the latest trunk changes into the sessions branch, and in particular the collating-sequence refactorization. (check-in: 4f6d69ae94 user: drh tags: sessions)
22:14
Factor some work out of the index loop of the bestBtreeIndex() routine for a small performance increase. (check-in: 92c9ab56b1 user: drh tags: trunk)
21:51
Refactor collating-sequence handling as a fix for ticket [71e333e7d2e642]. The Expr.pColl field is removed from the Expr object. The COLLATE operator now becomes a separate instance of Expr in the expression tree. The code generator looks up the correct collating function as needed, rather than referring to Expr.pColl. (check-in: 8542e6180d user: drh tags: trunk)
21:36
Adjustments to the collating-sequence refactoring to facilitate full-coverage testing and to fix some minor issues found by TH3. (Closed-Leaf check-in: cdbfa66483 user: drh tags: ticket-71e333e7)
14:16
Make sure WHERE clause constraints A=B and B=A work the same even with COLLATE clauses. (check-in: b3f5366811 user: drh tags: ticket-71e333e7)
13:26
Fix the header comment on the OP_Compare operator. (check-in: 2722f4074f user: drh tags: ticket-71e333e7)
06:46
Merge updates from trunk. (check-in: e65db42c9f user: mistachkin tags: configReadOnly)
04:10
Duplicating check constraint expressions prior to code generation is no longer required, and so it is removed. (check-in: 1a9db8dc2f user: drh tags: ticket-71e333e7)
03:34
Veryquick passes all tests now. (check-in: 7b96115e81 user: drh tags: ticket-71e333e7)
00:52
Recognize TK_COLLATE operators that have been transformed into TK_REGISTER. Skip both TK_COLLATE and TK_AS operators when looking for the top of an expression. (check-in: f66c1db296 user: drh tags: ticket-71e333e7)
2012-12-07
23:23
Improved error messages when column integers in an ORDER BY clause are out of range. (check-in: bd960d937f user: drh tags: ticket-71e333e7)
23:10
For an ORDER BY on a compound SELECT, take the collating sequence from the left-most term of the compound. (check-in: 8e724b383d user: drh tags: ticket-71e333e7)
22:54
Do not report missing collating functions while parsing the schema. Also remove a stray comment. (check-in: e313edca04 user: drh tags: ticket-71e333e7)
22:18
Fix a long-standing issue with the distinct-as-aggregate optimization that only expressed when the new collating-sequence logic is turned on. (check-in: 0aaf52a339 user: drh tags: ticket-71e333e7)
21:02
Fix the processing of ORDER BY clauses with COLLATE terms on compound queries. 52 veryquick test failures remain. (check-in: 49654453ad user: drh tags: ticket-71e333e7)
20:31
Many more tests are passing. Only about 100 failures remain in veryquick. (check-in: f9fa7581c0 user: drh tags: ticket-71e333e7)
19:28
Ensure the VerifyCookie sub-routine has been run before the database is accessed in an obscure case. Fix for ticket [d6b36be38]. (check-in: 2d5f37c99a user: dan tags: trunk)
18:38
Some errors in veryquick resolved. Many more to go. (check-in: 972443b4eb user: drh tags: ticket-71e333e7)
14:02
Veryquick now runs to completion without segfaulting or asserting. But there are still lots of errors. (check-in: 7fafab12e4 user: drh tags: ticket-71e333e7)
10:55
Do not run test file malloc3.test as part of the inmemory_journal permutation. Explanation is in a comment at the top of malloc3.test. (check-in: df1827b19e user: dan tags: trunk)
09:08
Spelling and header fixes for the async extension. (check-in: 930ba85262 user: mistachkin tags: trunk)
04:46
Backport VSIX tooling and packaging fixes and enhancements. (check-in: e890bcde34 user: mistachkin tags: branch-3.7.14)
2012-12-06
23:16
In the async VFS, treat the new error code SQLITE_IOERR_DELETE_NOENT as success for xDelete. (check-in: c507ca4a8e user: mistachkin tags: trunk)
21:16
Remove the Expr.pColl field and compute the collating sequence as it is needed. This fixes the test script "shared9.test", though there is still a memory leak. And there are other problems. Consider this a work-in-progress. (check-in: fd011cb22f user: drh tags: ticket-71e333e7)
20:27
Cherrypick [79ef8e3c77] (Apply the same restrictions on constant refactoring to statements within a trigger program as top-level statements). (Leaf check-in: 34aafb7436 user: dan tags: branch-3.7.9)
20:19
Cherrypick [557c69055a3] and [0064bab7714] (OP_Once-related fixes for triggers). (check-in: 0d7b5d455c user: dan tags: branch-3.7.9)
19:41
Merge the constant-refactoring-in-triggers branch with the trunk. (check-in: 79ef8e3c77 user: dan tags: trunk)
19:37
Apply the same restrictions on constant refactoring to statements within a trigger program as top-level statements. Candidate fix for [ae3c5670b6]. (Closed-Leaf check-in: 0c31a46801 user: dan tags: constant-refactoring-in-triggers)
19:01
Add the SQLITE_FCNTL_TEMPFILENAME file control that asks the underlying VFS to return a new temporary filename. Per request from NSS team at Mozilla. (check-in: 1a63b1d5fa user: drh tags: trunk)
15:15
Add a test case that demonstrates ticket [71e333e7d2e642]. (check-in: cc6e0785df user: drh tags: ticket-71e333e7)
04:33
For the sqlite3-all.c target, use backslashes when calling the splitter script via the MSVC makefile. (check-in: d507648d82 user: mistachkin tags: trunk)
04:19
Bring the ancient malloc3.test file closer into relevance with the latest core code. (check-in: 9793a21c13 user: mistachkin tags: trunk)
02:56
Stop using the TCL_LIBS configuration variable when linking with Tcl. Remove superfluous 'rm' command from the "clean" target. (check-in: 1551277208 user: drh tags: trunk)
01:03
Remove obsolete comments from the definition of the CollSeq object. (check-in: 7b6951016f user: drh tags: trunk)
00:16
Stop using the TCL_LIBS configuration variable when linking with Tcl. Remove superfluous 'rm' command. (Closed-Leaf check-in: e1feab9834 user: mistachkin tags: noTclLibs)
2012-12-05
19:04
Disable a couple of tests in where.test when running the "no_optimization" permutation. (check-in: 5e961e37c5 user: dan tags: trunk)
16:44
Modify a query in test/thread001.test to ensure that results are returned in the order expected by the test. (check-in: 51cbddd51d user: dan tags: trunk)
14:37
Fixes to a test case in shared_err.test. The fix is to prevent sqlite3_prepare() from being called when the test intends to test the response of sqlite3_step() to an OOM condition. (check-in: 40c143955e user: dan tags: trunk)
14:31
Make sure memory is freed using a routine that is compatible with the routine used to allocate the memory. The SQLITE_MEMDEBUG compile-time option enforces this. (check-in: 9f6c68856b user: drh tags: trunk)
11:30
Since errors are ignored anyway, use sqlite3OsFileControlHint() instead of OsFileControl() to invoke the SQLITE_FCNTL_BUSY_HANDLER file-control. (check-in: bdceca2738 user: dan tags: trunk)
10:01
If the atomic-write property is enabled, a transaction may be committed in journal_mode=DELETE mode without ever actually creating a journal file on disk. In this case, do not attempt to unlink() the journal file when committing the transaction. (check-in: 11aa47b0a8 user: dan tags: trunk)
09:12
Update a couple of test scripts so that they work in auto-vacuum mode. (check-in: 04ab2dc691 user: dan tags: trunk)
2012-12-04
11:03
Fix a harmless compiler warning. (check-in: 12693deba9 user: drh tags: trunk)
05:24
Add a test to ensure that the fix in [b0c1ba655d] has worked. (check-in: 41806de5c8 user: dan tags: trunk)
05:21
Add a test to ensure that the fix in [b0c1ba655d] has worked. (Closed-Leaf check-in: 59c233942e user: dan tags: mistake)
00:59
Improvements to the 'tcl' shell output mode. Escape doublequotes, set separator to space when mode is set, and skip separator after final column. (check-in: 487ba75313 user: drh tags: trunk)
00:53
Fix an uninitialized variable detected by valgrind. (check-in: ffd1e51490 user: drh tags: trunk)
00:37
Fix an out-of-order function declaration when compiled with MEMDEBUG. (check-in: 6d31557837 user: mistachkin tags: trunk)
00:23
Improvements to the 'tcl' shell output mode. Escape double quotes, set separator to space when mode is set, and skip separator after final column. (Closed-Leaf check-in: 41fd9dd290 user: mistachkin tags: tclMode)
2012-12-03
19:42
Remove an unreachable condition. Replace it with an assert(). (check-in: 7d5fc1a339 user: drh tags: trunk)
17:04
Make sure that the optimization that set the maximum column that will be used on a particular query does not mistakenly change an opcode other than OP_OpenRead or OP_OpenWrite. In particular, make sure it does not overwrite the P4 field of an OP_SorterOpen. (check-in: b0c1ba655d user: drh tags: trunk)
2012-12-01
20:21
Do not exit the command-line shell if a ".read" command invokes a script that contains two errors. But reported on the mailing list. (check-in: 2e5e651527 user: drh tags: trunk)
2012-11-29
14:26
Mark the "async" module as deprecated as its functionality has been superceded by WAL mode. This closes ticket [f46ca03b55ae0e] (check-in: 3d548db7eb user: drh tags: trunk)
2012-11-27
21:56
Update the sessions branch to include the SQLLOG enhancement, the SQLITE_IOERR_DELETE_NOENT fix, and a fix for the number-of-documents bug in FTS4. (check-in: ba8d08b670 user: drh tags: sessions)
21:22
Add the SQLLOG capability to trunk. (check-in: f0843f885a user: drh tags: trunk)
21:12
Improved detection of file-does-not-exist in winDelete. (check-in: 92e9b5bc05 user: drh tags: trunk)
16:39
Get SQLLOG working on windows. Fix a couple of compiler warnings. (Closed-Leaf check-in: b3809c937b user: drh tags: sqllog)
15:56
Fix a problem causing the "number-of-documents" field maintained by FTS4 to be set incorrectly by REPLACE queries. (check-in: e38fb02d5e user: dan tags: trunk)
10:56
Fix problems in test_sqllog.c. Clarify the experimental SQLITE_CONFIG_SQLLOG interface. Handle at least the more likely error conditions in test_sqllog.c. (check-in: 429c5b2056 user: dan tags: sqllog)
2012-11-26
19:50
Add an option to register global hooks used for logging all SQL executed by an application. (check-in: cd501bbccf user: dan tags: sqllog)
2012-11-21
02:10
In winDelete, determine that a file does not exist by checking for a last error of ERROR_FILE_NOT_FOUND or ERROR_PATH_NOT_FOUND. (Closed-Leaf check-in: 692ad3c02b user: mistachkin tags: winNotFound)
2012-11-20
15:06
Have the windows implementation of xDelete return SQLITE_IOERR_DELETE_NOENT if the file to be deleted does not exist. The unix implementation was previously modified to behave this way. The current changes simply brings the two implementations into alignment. (check-in: d4c36d4991 user: drh tags: trunk)
2012-11-13
11:16
Strive to use posix_fallocate() rather than ftruncate() when posix_fallocate() is available. Ticket [5eaa61ea18]. (check-in: 29980b08ec user: drh tags: trunk)
11:08
Use preprocessor macros to automatically detect whether or not posix_allocate() is available. (It is generally available on Linux but not on Mac.) Ticket [5eaa61ea1881040b17449ca043b6f8fd9ca55dc3] (Closed-Leaf check-in: 597333f102 user: drh tags: tkt-5eaa61ea18)
10:54
When available, use posix_fallocate() rather than ftruncate() to allocate space for mmap()ed -shm files, since posix_fallocate() gives an error if no disk space is available whereas ftruncate() is silent and leaves the system vulnerable to a SIGBUS upon first write to the mmap()ed region. Ticket [5eaa61ea1881040b17449ca043b6f8fd9ca55dc3] (check-in: 356259617c user: drh tags: tkt-5eaa61ea18)
2012-11-10
01:27
Merge the latest changes from trunk: chiefly the outer/inner loop query optimizer scoring enhancement and the INSTR() function. (check-in: 2993ca2020 user: drh tags: sessions)
2012-11-09
21:40
Only log unlink() errors if the error is something other than SQLITE_IOERR_DELETE_NOENT. The error is still reported up the stack, it is simply not added to the sqlite3_log(). (check-in: 5a3b07f0f5 user: drh tags: trunk)
20:17
Change os_unix.c to propagate ENOENT errors back to sqlite as SQLITE_IOERR_DELETE_NOENT. Have SQLite ignore these where they are benign and propagate them back to the caller where they may indicate a file-system malfunction of some description. (check-in: bed9c172ce user: dan tags: trunk)
18:32
Take into account the cost of inner loops when selecting which table of a join to use for the next outer loop. (check-in: 3f87f4593b user: drh tags: trunk)
18:22
Disable the table selection rule that tried to prevent full table scans from migrating to the outer loop unless they were optimal. The new scaling of outer-loop costs by cost of inner loops obviates the need for that step. And, in fact, that step causes problems with the new inner-loop cost accounting. (Closed-Leaf check-in: 51bfd63b7f user: drh tags: inner-loop-cost)
17:59
Try to take into account the cost of inner loops when selecting which table of a join to use for the outer loop. (check-in: 942556342a user: drh tags: inner-loop-cost)
2012-11-06
20:39
Adjust the SQLITE_DBSTATUS_STMT_USED calculation to take the modified usage of sqlite3VdbeClearObject() into account. (check-in: 82eb7eadb8 user: mistachkin tags: trunk)
18:41
In test_quota.c, provide a work-around for the missing _chsize_s() function in mingw. (check-in: 6b4979e86c user: drh tags: trunk)
2012-11-05
16:36
Merge the omit-wal-fix branch into branch-3.7.9 where it belongs, and in so doing get branch-3.7.9 working with SQLITE_OMIT_WAL. (check-in: 0391951792 user: drh tags: branch-3.7.9)
13:51
Add the INSTR() SQL function. (check-in: a4c181cbcf user: drh tags: trunk)
2012-11-02
23:42
Merge the fix for ticket [bfbf38e5e9956ac6] into trunk. (check-in: 4f7dfc32aa user: drh tags: trunk)
19:08
Adding test cases for ticket [bfbf38e5e9956a] (Closed-Leaf check-in: 62ebfa7476 user: drh tags: ticket-bfbf38e5e9)
18:48
Proposed fix for ticket [bfbf38e5e9]. (check-in: 18ae030dad user: drh tags: ticket-bfbf38e5e9)
18:24
Fix an out-of-date comment. No changes to code. (check-in: 10cc12b16b user: drh tags: trunk)
2012-10-30
21:03
Pull all the latest trunk enhancements into the sessions branch. (check-in: fce667f2d9 user: drh tags: sessions)
18:09
Enable the use of coroutines as an alternative to manifesting views used in a FROM clause. (check-in: 9dca18f5fe user: drh tags: trunk)
15:31
Make sure that the optimizer never tries to create an automatic index on a coroutine subquery. (Closed-Leaf check-in: f83aa0de84 user: drh tags: subquery-as-coroutine)
14:44
Fix a typo in the header comment for the OpenPseudo opcode. (check-in: 4f1061230e user: drh tags: subquery-as-coroutine)
14:39
Make it possible to disable the subquery-by-coroutine optimization using sqlite3_test_control(). Remove an always-false conditional. (check-in: 564631f3e4 user: drh tags: subquery-as-coroutine)
00:29
Add an optimization that attempts to run a subquery as a coroutine rather than manifesting it into a temporary table. (check-in: 7af3acbbd4 user: drh tags: subquery-as-coroutine)
2012-10-29
14:27
Make the multiplexor and the IntArray extensions callable from C++. (check-in: cbd8fddf3b user: drh tags: trunk)
2012-10-28
19:35
Merge VSIX tooling and packaging enhancements to trunk. (check-in: 99f27d642f user: mistachkin tags: trunk)
2012-10-26
19:22
Fix a 32-bit integer overflow problem that could cause an error in a CREATE INDEX statement that writes more than 16GB of data. (check-in: e24ba5bee4 user: dan tags: trunk)
18:40
Make sure the automatic index optimization is checked even if the covering index scan optimization was previously selected. (check-in: ac1d5d8a55 user: drh tags: trunk)
13:46
Add QNX-specific performance tweaks to the unix VFS. (Cherry-pick merge of [b02849e7bde458].) (check-in: 63a7dd75e6 user: drh tags: trunk)
13:34
Backport the shared-cache-fix branch. (check-in: 325364a984 user: drh tags: branch-3.7.14)
13:25
Add QNX-specific performance tweaks to the unix VFS. (Cherry-pick merge of [b02849e7bde458].) Put auxiliary libraries after libsqlite3.a in the testfixture target of the "main.mk" makefile. (Cherry-pick merge of [8fc8548f52ab8fcfb5].) (check-in: cbfd1b120a user: drh tags: branch-3.7.14)
00:55
Make sure all virtual table cursors have been closed on a prepared statement prior to unlinking the perpared statement from its database connection. The test case for this is in TH3, in the main39.test module. (check-in: 6d42d806ad user: drh tags: trunk)
00:11
Make sure all virtual table cursors have been closed on a prepared statement prior to unlinking the perpared statement from its database connection. (Closed-Leaf check-in: f7c5abe873 user: drh tags: deferred-close-order)
2012-10-25
23:47
Further work on getting ssdsim to run. This is an incremental checkin to save my place while jumping off to work on other things. (Leaf check-in: ae2f1627b1 user: drh tags: ssdsim)
19:25
Fix a bug in fts3 causing it to return SQLITE_NOMEM when NEAR, OR and some auxiliary functions were used together. Also a segfault in vtab.c that could follow an OOM condition. (check-in: 33f4f9817e user: dan tags: trunk)
17:21
Use a constant string "BINARY" for the unspecified collating sequence. This is part of check-in [635e3a762dd] that is being back-ported. (check-in: 9078ea75f5 user: drh tags: branch-3.7.9)
15:43
Fix typo in usage text for the command-line shell. Also, in the same usage text, make the file name argument to -init uppercase for consistency. (check-in: a6d906cfeb user: mistachkin tags: trunk)
15:32
Merge the command-line shell enhancements from trunk. Other edits toward trying to get ssdsim to run. (check-in: 848f87e22f user: drh tags: ssdsim)
15:23
Improvements to the command-line argument parsing in the command-line shell. Command-line options can now occur either before or after the database name and first command and are still accepted and processed. Command-line options are processed even if no database name is given (and :memory: is assumed). (check-in: 317c80cba3 user: drh tags: trunk)
03:07
Implementation of the INSTR() SQL function, as found in SQL Server, MySQL, and Oracle. (Closed-Leaf check-in: 49ccae964f user: drh tags: instr)
01:50
Initial check-in of a test VFS designed to simulate a NAND-flash SSD for the purpose of measuring and subsequently minimizing write amplification caused by SQLite. The code in this check-in compiles but does not run. (check-in: 9e6efcf054 user: drh tags: ssdsim)
2012-10-24
00:47
Translate the Debug/Release project configurations to the Debug/Retail VSIX package configurations. (Closed-Leaf check-in: 5023a7adca user: mistachkin tags: vsixFlavor)
2012-10-20
09:35
Modify clean target to handle all VSIX package flavors. (check-in: 023217ea9e user: mistachkin tags: vsixFlavor)
08:40
Modify VSIX build tools in support of an additional package flavor. (check-in: 702ebc646b user: mistachkin tags: vsixFlavor)
2012-10-19
19:22
Correct the design-time library file path in the VSIX package now that it is per-configuration. (check-in: 521024d4a7 user: mistachkin tags: branch-3.7.14)
02:10
Make sure substructure elements have proper alignment in the ICU tokenizers of FTS2 and FTS3. (check-in: aaa2d9b0db user: drh tags: trunk)
00:23
Add detailed comments to the build tools used to generate the VSIX package. Also, allow the build configurations and native library directories to be overridden for the multi-platform build tool for MSVC. (check-in: 0482c73bfd user: mistachkin tags: trunk)
2012-10-18
20:49
Put auxiliary libraries after libsqlite3.a in the testfixture target of the "main.mk" makefile. (check-in: 8fc8548f52 user: drh tags: trunk)
15:01
Merge Watcom compiler warning fixes into trunk. (check-in: 5be96788a1 user: drh tags: trunk)
10:35
More warning fixes. (Closed-Leaf check-in: 51a6a797e1 user: mistachkin tags: warnings)
09:39
Fix harmless compiler warnings. (check-in: 018e09c703 user: mistachkin tags: warnings)
2012-10-17
20:28
Add a comment to fts3_snippet.c. (check-in: b5f5ba3103 user: dan tags: trunk)
20:15
Initialize variables used as outputs of custom tokenizer method calls in fts4. (check-in: 514505a84b user: dan tags: trunk)
16:20
Add a test for the problem fixed by [bf44d73d3e]. (check-in: db9b1fa597 user: dan tags: trunk)
15:28
Change the way the tcl crash-test code works to avoid triggering an assert() in os_unix.c. (check-in: b8b7b8f9e9 user: dan tags: trunk)
13:15
Remove an incorrect "#ifndef SQLITE_OMIT_AUTOVACUUM" from pager. (check-in: bf44d73d3e user: drh tags: trunk)
2012-10-16
23:17
Enable optimization of IN operators on constraints to virtual tables. (check-in: aa650746b1 user: drh tags: vtab-IN-opt)
23:08
Merge updates from trunk. (check-in: f021559d8a user: mistachkin tags: configReadOnly)
21:08
An optimization that converts "a IN (b)" into "a==b". Seems to work, but needs additional test cases. (Leaf check-in: 8b4c3c5e50 user: drh tags: degenerate_IN)
2012-10-15
23:15
Change the ICU tokenizer so that it does not attempt to call strlen(NULL). This is a cherry-pick of the fix in [04298f1ac42c40c] on 2012-03-31 first appearing in release 3.7.12. (check-in: 49ffbc11c5 user: drh tags: branch-3.7.9)
20:28
Correct comments and enhance readability of the mkvsix tool. (check-in: 2c3af657fe user: mistachkin tags: trunk)
18:02
Hold the mutex on the shared-cache for the duration of a VACUUM operation. (check-in: 629a42d47a user: dan tags: trunk)
16:24
Dequote column names generated by the query flattener. (check-in: 5526e0aa3c user: drh tags: trunk)
14:25
Merge all the latest core changes into the sessions branch. (check-in: 76767d651f user: drh tags: sessions)
11:28
Fix a failing assert() in wal.c. (check-in: 8745530b9a user: dan tags: trunk)
2012-10-13
23:16
Ensure that when the source of a backup is a database that is zero bytes in size, the final destination database consists of at least one page. Truncating it to zero bytes is equivalent to zeroing the schema cookie and change counter, which can cause problems for existing clients. (check-in: ca86138bda user: drh tags: trunk)
20:55
Mark an always-true conditional as such. (Closed-Leaf check-in: ae025cae22 user: drh tags: zero-byte-backup-fix)
20:20
Modify backup4 test name prefix to make the resulting test names unique. (check-in: 637fb1c1b7 user: mistachkin tags: zero-byte-backup-fix)
19:58
Ensure that when the source of a backup is a database that is zero bytes in size, the final destination database consists of at least one page. Truncating it to zero bytes is equivalent to zeroing the schema cookie and change counter, which can cause problems for existing clients. (check-in: af5c9ee4a4 user: dan tags: zero-byte-backup-fix)
09:31
Allow the showdb tool to be compiled with MSVC. (check-in: dce391fc63 user: mistachkin tags: trunk)
2012-10-12
18:22
Backport of tooling support for including the debug build in the VSIX package. (check-in: c188896719 user: mistachkin tags: branch-3.7.14)
18:06
Tooling support for including the debug build in the VSIX package. (check-in: de784399ed user: mistachkin tags: trunk)
2012-10-10
13:59
Fix duplicate test name in whereD.test. (check-in: 1182b54af0 user: mistachkin tags: trunk)
12:14
Define the sqlite3PagerWalFramesize() function even if SQLITE_OMIT_WAL is used. (check-in: 96247853ef user: drh tags: trunk)
10:52
Add support for URI filenames in sqlite3_analyzer. (check-in: 6dc987d32b user: drh tags: trunk)
09:46
Move a couple of WAL-related function declarations in sqliteInt.h and pager.h into "#ifndef SQLITE_OMIT_WAL" blocks. Otherwise, the amalgamation fails to build using some compilers with SQLITE_OMIT_WAL (static function declared but not defined). (check-in: f7437153b9 user: dan tags: trunk)
2012-10-09
21:07
Merge the fix for ticket [d02e1406a58ea02] into trunk. (check-in: dd34bec389 user: drh tags: trunk)
18:51
Attempt to suppress warnings generated by Coverity. (check-in: 7b1a6e6cb5 user: drh tags: trunk)
14:58
Merge the latest trunk changes, especially the ORDER BY optimizer enhancements but also other fixes, onto the sessions branch. (check-in: f1fbb8c5bf user: drh tags: sessions)
14:36
Avoid an assertion fault and/or freeing memory while it is still in use when an error occurs during virtual table construction. (check-in: a02599ad85 user: drh tags: trunk)
09:26
Bring some comments up to date in the query planner, and especially the ORDER BY optimizer. Also add testcase() macros. (check-in: bb5c0f1c92 user: drh tags: trunk)
01:39
Remove an unused variable. Fix code that occurs before a variable declaration. (check-in: 01dc032b5b user: drh tags: trunk)
01:23
Replace an always-false conditional with an assert(). (check-in: 981b9943e4 user: drh tags: trunk)
2012-10-08
23:25
Changes to facilitate full test coverage. (check-in: 28d1eb40bf user: drh tags: trunk)
21:51
Merge ORDER BY optimization refactoring and repair into trunk. (check-in: c027a9af91 user: drh tags: trunk)
21:01
All test cases (veryquick.tcl and min.rc) pass. A few branch operations in ORDER BY optimization logic are untested by min.rc. (Closed-Leaf check-in: 8314fd6078 user: drh tags: qp-enhancements)
20:27
Further tweaks to the ORDER BY optimizer, to fix a bug and to get the optimizer to recognize some additional cases. (check-in: bcb4f26247 user: drh tags: qp-enhancements)
19:41
Bug fixes in the ORDER BY optimizer. (check-in: 301bbee404 user: drh tags: qp-enhancements)
18:23
Continued refactoring of the ORDER BY optimization logic. This check-in is close to working, but it still has issues. A few test cases fail. (check-in: adbdc663f3 user: drh tags: qp-enhancements)
14:36
Manually define the Win32 file-mapping APIs for WAL if SQLITE_WIN32_FILEMAPPING_API is defined. (check-in: 1c2c0a2880 user: mistachkin tags: trunk)
2012-10-07
14:14
Merge updates from trunk. (check-in: bbb0d189b7 user: mistachkin tags: configReadOnly)
05:34
Corrections to test names to eliminate duplicates and follow naming conventions. (check-in: 50679889c7 user: mistachkin tags: trunk)
00:52
Manually define the Win32 file-mapping APIs for WAL if SQLITE_WIN32_FILEMAPPING_API is defined. (Closed-Leaf check-in: 585e2070ee user: mistachkin tags: winFileMapping)
2012-10-06
03:48
Changes for WinRT compatibility. Also, allow version resource compilation and embedding to be disabled at compile-time. (check-in: 4b0facc13b user: mistachkin tags: trunk)
2012-10-05
19:43
Fix a problem in shared-cache mode where a COMMIT statement might cause a busy-handler belonging to a shared-cache connection other than the current writer to be invoked. (check-in: e0c889d66c user: dan tags: trunk)
19:10
Add QNX-specific performance tweaks to the unix VFS. (check-in: b02849e7bd user: drh tags: branch-3.7.9)
18:38
Fix an accidental fork on branch-3.7.9. (check-in: cd9efeb3eb user: drh tags: branch-3.7.9)
18:35
Backport fixes to shared-cache mode, from the shared-cache-fix branch, to version 3.7.9 (check-in: ac81ae493f user: drh tags: branch-3.7.9)
17:44
Merge the shared-cache related fixes from the shared-cache-fix branch to the trunk. (check-in: 698ec7769d user: dan tags: trunk)
17:18
Add a test for the collation-sequence/CHECK constraint problem fixed by the previous commit. (Closed-Leaf check-in: 82b6aa77c8 user: dan tags: shared-cache-fix)
16:30
Fix a problem with shared-cache mode and CHECK constraints causing one db handle to invoke a collation sequence function registered with another. (check-in: c2c776ab73 user: dan tags: shared-cache-fix)
14:43
Consolidate all occurrences of the "no such collation sequence" error message into a single spot. (check-in: 8ea67522fb user: drh tags: trunk)
07:36
Rename a tool batch file subroutine to avoid confusion about its purpose. (check-in: 43155b1543 user: mistachkin tags: trunk)
2012-10-04
22:45
Merge the 3.7.14.1 release including the fix for the LEFT JOIN problem into the sessions branch. (Leaf check-in: 17644c0e33 user: drh tags: sessions-3.7.14)
19:37
Version 3.7.14.1 (check-in: 091570e46d user: drh tags: release, version-3.7.14.1, branch-3.7.14)
19:33
Shared-cache mode fixes for views and virtual tables. (check-in: 2b370dea70 user: dan tags: shared-cache-fix)
16:00
Candidate fix for ticket [d02e1406a58ea02]. (check-in: 81fd941da6 user: drh tags: branch-3.7.14)
15:36
Increase the version number to 3.7.14.1. The version of autoconf used is different from the previous release so there are huge differences in the generated "configure" script. (check-in: 972dbd5fcc user: drh tags: branch-3.7.14)
12:10
Yet another refactoring of ORDER BY logic in the query planner. This particular check-in works mostly, but still has a few minor issues. (check-in: 8f4487450b user: drh tags: qp-enhancements)
2012-10-03
20:25
Merge updates from trunk. (check-in: 1138815c62 user: mistachkin tags: configReadOnly)
20:20
Add experimental sqlite3_reconfig() interface to more fully support the SQLITE_CONFIG_READONLY option. (check-in: 9dc2eaa64b user: mistachkin tags: configReadOnly)
18:26
Work around an optimization issue with the MSVC compiler for ARM. (check-in: 2ce625fdbe user: drh tags: sessions-3.7.14)
18:20
A branch off of the sessions branch corresponding to release 3.7.14. (check-in: 86633e01fe user: drh tags: sessions-3.7.14)
18:09
Fix an out-of-order memset() that occurs before all variable declarations are finished. Also fix a line that exceeds the 80-character line length limit. (check-in: ba2f492f95 user: drh tags: trunk)
12:56
Update the query planner to recognize more cases where ORDER BY clauses can be optimized out. Add test cases to verify correct behavior of the ORDER BY optimization when the covering-index-scan optimization is disabled. Fix a harmless compiler warning in the TCL interface. (check-in: 956e4d7f89 user: drh tags: trunk)
12:38
Fix a query planner problem that only occurs when covering-index-scan is disabled. Fix to tests whose output changed due to the new and more aggressive ORDER BY optimization. (Closed-Leaf check-in: 0f9bb90100 user: drh tags: qp-enhancements)
11:11
Fix the TCL interface so that SQL functions implemented in TCL honor the "nullvalue" setting. Also remove from the TCL interface some unused legacy UTF8 translation code left over from SQLite2. (check-in: 9bf64b6612 user: drh tags: branch-3.7.14)
11:02
Fix the TCL interface so that SQL functions implemented in TCL honor the "nullvalue" setting. Also remove from the TCL interface some unused legacy UTF8 translation code left over from SQLite2. (check-in: c1f10a2643 user: drh tags: trunk)
00:25
Further attempts to optimize out unnecessary ORDER BY clauses. (check-in: 6744d9a37f user: drh tags: qp-enhancements)
2012-10-02
23:26
Work around an optimization issue with the MSVC compiler for ARM. (check-in: 9fab9edd0d user: drh tags: branch-3.7.14)
22:54
Work around an optimization issue with the MSVC compiler for ARM. (check-in: 7d301fdfee user: mistachkin tags: trunk)
15:19
More lenient handling of ORDER BY optimization in joins with mixed ASC/DESC. This is a better and less restrictive fix for the problem addressed by the previous check-in. (check-in: abcf6a5d05 user: drh tags: trunk)
14:11
Only continue an ORDER BY optimization into inner loops if the equality constraints on the inner loop match terms of an outer ordered index that are actually used by the ORDER BY clause. (check-in: b0e7b4df6c user: drh tags: trunk)
01:46
Factor an invariant out the loop termination condition for the ORDER BY satisfied-by-index analyzer routine. (check-in: 545bb33688 user: drh tags: trunk)
01:25
Make sure the outer loop cursor numbers are recorded in time for them to be used by the ORDER BY optimizer. (check-in: 351dc8d9ca user: drh tags: trunk)
01:10
Improvements to the wheretrace output. (check-in: 76b2776556 user: drh tags: trunk)
2012-10-01
20:32
Fix harmless compiler warnings. (check-in: 59c2be75ff user: drh tags: trunk)
20:12
Fix several compiler warnings seen with MSVC. (Closed-Leaf check-in: 8b5f617c2a user: mistachkin tags: msvcWarnings)
18:44
Add SQLITE_FCNTL_BUSYHANDLER. Invoked to provide access to the busy-handler callback to custom VFS implementations. (check-in: 1262d2f471 user: dan tags: trunk)
17:44
Minor changes to the query planner for improved test coverage. (check-in: c12044df32 user: drh tags: trunk)
12:44
Omit the sqlite3GetReservedNoMutex() routine in build configurations where it is not used. (check-in: f193dbb6b9 user: drh tags: trunk)
12:16
Make sure the size parameter to read and write VFS methods in the unix VFS do not become too big or go negative. This was not actually possible in the current code. The checks are added to make sure some future bug does not make it possible. (check-in: daebe3bd2d user: drh tags: trunk)
06:50
Ensure that the value returned by xSectorSize() is reasonable (currently defined as between 2^5 and 2^16 bytes) before using it to calculate the amount of padding to add to a wal file. (check-in: 6b4ff83bff user: dan tags: trunk)
2012-09-29
19:10
Improved ORDER BY optimization when outer loops of a join return a single row. (check-in: 62225b4a4c user: drh tags: trunk)
15:45
Disable the bigfile tests on Macs. (check-in: d869eddaf2 user: drh tags: trunk)
14:45
Fix compiler warnings found on Lion. (check-in: fd74d3d917 user: drh tags: trunk)
2012-09-28
20:23
Avoid calling sqlite3BtreeEnter() in a corner case where the corresponding database handle mutex (sqlite3.mutex) may not be held. This prevents a potential deadlock or crash that can occur if the backup API, shared-cache mode and SQLITE_HAVE_CODEC are all in use. (check-in: 89b8c377a6 user: dan tags: trunk)
18:13
Modify the clearCell function to use SQLITE_CORRUPT_BKPT in the one place it was not. (check-in: 472beb306a user: mistachkin tags: trunk)
13:05
Merge the latest trunk changes (especially "PRAGMA busy_timeout" and the ORDER BY query planner optimizations) into the sessions branch. (check-in: 6ca8eae1f8 user: drh tags: sessions)
12:55
Update the sessionfault-9.1 and -9.2 tests to account for the change in version 3.7.11 in which a pending statement no longer blocks ROLLBACK but instead causes the next call on that statement to return SQLITE_ABORT. (check-in: fae9eb197f user: drh tags: sessions)
10:57
Merge the latest trunk changes (PRAGMA busy_timeout and the ORDER BY query planner enhancements) into the apple-osx branch. (check-in: 6a5c59dd7e user: drh tags: apple-osx)
00:44
Query planner enhancements to be more agressive about optimizing out ORDER BY clauses - in particular the query planner now has the ability to omit ORDER BY clauses that span multiple tables in a join. (check-in: 1e874629d7 user: drh tags: trunk)
2012-09-27
23:27
Fix some corner case behavior in the new ORDER BY optimization logic. Remove the SQLITE_OrderByIdx bit from the SQLITE_TESTCTRL_OPTIMIZATIONS mask, since enabling it caused many TH3 tests to fail when the NO_OPT configuration parameter was engaged, and since there really isn't any need to turn that optimization off. The SQLITE_OrderByIdxJoin bit remains. (Closed-Leaf check-in: 98b633717a user: drh tags: qp-enhancements)
21:03
Modify generation of resource header file for MSVC so that it can work from outside the working directory. (check-in: 20caf80cb3 user: mistachkin tags: trunk)
19:53
More test cases an bug fixes for the ORDER BY optimization of joins. All veryquick tests now pass. (check-in: 0d57332005 user: drh tags: qp-enhancements)
17:31
Test cases and bug fixes applied to the ORDER BY optimization for joins. Some test cases fail, but except for the new orderby1.test failures, all failures appear to be issues with the tests, not with the core code. (check-in: 75cda864ed user: drh tags: qp-enhancements)
15:05
Add more bits to the bit vector that is used to disable optimizations for built-in test. Add specific bit patterns to disable ORDER BY using an index in general and for joins. Use macros to test for bits in the disabled-optimization bit vector, in order to make the code clearer. (check-in: d2fcba1e14 user: drh tags: qp-enhancements)
14:11
Enable ORDER BY clauses that span joins to be optimized out. (check-in: c29538f9b1 user: drh tags: qp-enhancements)
12:11
Merge the "PRAGMA busy_timeout" change into trunk. (check-in: 1a679a1ef3 user: drh tags: trunk)
12:05
Further tweaks to the query planner logic in preparation for adding ORDER BY opt-out for joins. (check-in: 53efc10af9 user: drh tags: qp-enhancements)
2012-09-26
23:17
Further refactoring of the ORDER BY related query-planning logic in order to make it easier to extend to support optimizing out ORDER BY on joins. No actual behavior changes, yet. (check-in: 96496ddae1 user: drh tags: qp-enhancements)
2012-09-25
20:43
Augment the WhereBestIdx structure to pass down into the query planner information that might be used to better detect ORDER BY and DISTINCT optimizations spanning multiple tables of a join. (check-in: 4226e51ff8 user: drh tags: qp-enhancements)
14:29
Pass information around between the major routines of the query planner using a single pointer to a structure rather than a long list of parameters. (check-in: 1104d42e10 user: drh tags: qp-enhancements)
12:45
Merge updates from trunk. (check-in: 4a470741b6 user: mistachkin tags: configReadOnly)
2012-09-24
19:50
Remove an unused subfunction parameter and an obsolete comment from the query planner logic in where.c. (check-in: 349a55cd8b user: drh tags: trunk)
15:30
Change the internal sqlite3WhereBegin() to report that the ORDER BY clause is satisfied by indices using the WhereInfo.nOBSat field of the returned structure. (check-in: 22989f3588 user: drh tags: trunk)
11:43
Update documentation to describe the threadsafety of sqlite3_enable_shared_cache(). (check-in: e081890cd7 user: drh tags: trunk)
2012-09-21
22:50
Enable query planner tracing using the new (and undocumented) ".wheretrace 1" command in the command-line shell if both the shell and the core are compiled with SQLITE_DEBUG and SQLITE_ENABLE_WHERETRACE. This is not a supported API. Use for testing and debugging only. (check-in: 1be4b16b9e user: drh tags: trunk)
13:40
Command-line shell enhancements: Added the ".print" command. Enhanced the ".width" command so that negative widths will right-justify. (check-in: a1d8269da3 user: drh tags: trunk)
00:04
Consolidate more of the DISTINCT processing logic into a single spot in the code. Reduce the number of OP_Column operations needed to perform a WHERE_DISTINCT_ORDERED. (check-in: 79e922f7ae user: drh tags: trunk)
2012-09-20
15:41
Continuing incremental enhancements of SELECT code generation: Remove the Select.affinity field. Use SelectDest.affSdst instead. (check-in: cf40b7b5eb user: drh tags: trunk)
14:26
Refactoring of DISTINCT code. Change the name of the local variable "distinct" to "distinctTab". Generate cleaner code w/o unnecessary P4 and P5 values on the OP_Null for WHERE_DISTINCT_ORDERED. (check-in: 0cda241a2b user: drh tags: trunk)
2012-09-19
21:15
Tighter VDBE code for the WHERE_DISTINCT_ORDERED case of DISTINCT keyword handling. (check-in: 94b48064db user: drh tags: trunk)
17:31
Add comments to the WHERE_DISTINCT_* macros. No changes to code. (check-in: 8232050190 user: drh tags: trunk)
00:35
Merge the covering-index-scan optimization into trunk. (check-in: ddd5d789e7 user: drh tags: trunk)
2012-09-18
23:21
Silence harmless compiler warning seen with SQLITE_OMIT_DEPRECATED. (check-in: c5cee96932 user: mistachkin tags: trunk)
19:29
Enhance IN processing to allow efficient use of indices with numeric affinities. Add test cases for IN processing that would have spotted the error in the [2be661a48023f4] check-in. (check-in: 5ded9b6838 user: drh tags: trunk)
17:32
This change generates incorrect code when there are two or more IN operators in the WHERE clause that are both used by the same index. Was: Omit an unnecessary OP_IfNull that immediately follows an OP_Rowid. (Closed-Leaf check-in: 2be661a480 user: drh tags: mistake)
17:08
Enhancements to the comments on sqlite3FindInIndex(). No code changes. (check-in: b1a4c39499 user: drh tags: trunk)
14:00
Add the stack_usage.tcl script for analyzing the output of objdump on the amalgamation and estimating the sizes of stack frames on each function. (check-in: 030013ff0c user: drh tags: trunk)
13:20
Update the vdbe-compress.tcl script so that it accepts variable declarations inside of #ifdef...#endif. This enhancement is needed due to the change of check-in [39866c0ede5d6ef4]. (check-in: e7db056a0d user: drh tags: trunk)
2012-09-17
21:24
Make sure the WHERE_IDX_ONLY flag is not set on query plans that will not be using an index. (Closed-Leaf check-in: 698b2a2800 user: drh tags: fullscan-covering-index)
20:44
Add the ability to disable the covering-index-scan optimization at compile-time, start-time, or at run-time. Add test cases to check this configurability. (check-in: ccb8ecc30c user: drh tags: fullscan-covering-index)
19:26
Merge recent trunk changes into the fullscan-covering-index branch. (check-in: 1c0bf0305c user: drh tags: fullscan-covering-index)
19:12
Remove obsolete bits from the bitvector that defines disabled optimizations in the SQLITE_TESTCTRL_OPTIMIZATIONS verb of sqlite3_test_control(). (check-in: 4c21ee2d26 user: drh tags: trunk)
18:56
Remove an unnecessary parameter from sqlite3Utf8Read() resulting in a slight performance increase. (check-in: 8b962c94a2 user: drh tags: trunk)
17:16
Make sure the KeyInfo.aSortOrder array is always allocated so that we never have to test for KeyInfo.aSortOrder==0 in performance-critical loops. (check-in: 45793f0b84 user: drh tags: trunk)
15:36
Performance enhancement in the sqlite3VdbeSerialType() routine. (check-in: ad298f52ef user: drh tags: trunk)
2012-09-15
18:45
Attempt to use a covering index even on a full table scan, under the theory that the index will be smaller and require less disk I/O and thus be faster. (check-in: cfaa7bc128 user: drh tags: fullscan-covering-index)
13:39
Make sure the name of rollback journal files are double-zero terminated when they are passed into the VFS. (check-in: 8711a8447d user: drh tags: trunk)
13:29
Factor out the code that generates a co-routine for evaluating the SELECT on the RHS of an INSERT statement so that the same code can potentially be reused in other places. (check-in: a93ee09cdc user: drh tags: trunk)
2012-09-13
19:59
Improved alignment of fields in the Expr object gives an 8-byte size reduction on 64-bit machines. (check-in: 6b252a0d1a user: drh tags: trunk)
16:12
Fix WAL capability checking in one of the test files. (check-in: 0ebe7cc574 user: mistachkin tags: trunk)
15:26
Fix an unused variable warning with SQLITE_OMIT_WAL. (check-in: 39866c0ede user: mistachkin tags: trunk)
15:24
Improved reporting of filename translation errors in the Windows VFS. (check-in: eb0f1c292e user: mistachkin tags: trunk)
14:42
Reduce the size of the Table object by 16 bytes on 64-bit machines, mostly by avoiding intermixing pointer fields with integer fields. (check-in: 1cb9aedfcf user: drh tags: trunk)
14:22
Change boolean fields in the Column object from unsigned characters into bits in a single bit mask variable. (check-in: 4163f5f194 user: drh tags: trunk)
12:10
Add the RTREE_INT_ONLY configuration parameter to the compile-time options logic. (check-in: 98b971fb24 user: drh tags: trunk)
01:51
Allow SQLite to work on Win32 with SQLITE_OS_WINNT=0 as long as WAL is disabled. (check-in: c1a8557008 user: mistachkin tags: trunk)
2012-09-12
18:45
Add an implementation of the REGEXP operator and function. Only defined if compiled with SQLITE_ENABLE_REGEXP. (Closed-Leaf check-in: 8398f77c5a user: drh tags: regexp)
00:11
Update version number to 3.7.15. Delete some obsolete build scripts. (check-in: 9402f81fad user: drh tags: trunk)
2012-09-11
02:00
Added sqlite3_errstr API to translate a result code to the corresponding error message. (check-in: bf8a9ca5b5 user: mistachkin tags: trunk)
2012-09-10
23:44
Correct two duplicated test names. (check-in: ced49974a9 user: mistachkin tags: trunk)
15:02
Remove the stale implementation of the ifnull and coalesce functions - code that has been commented out for ages. No functional changes. (check-in: c2ad691174 user: drh tags: trunk)
10:29
Initial prototype of SQLITE_CONFIG_READONLY. (check-in: 7c3401657a user: mistachkin tags: configReadOnly)
09:33
Avoid using the sqlite3ErrStr function in the Tcl package if USE_SYSTEM_SQLITE is defined. (check-in: a716b9a309 user: mistachkin tags: trunk)
08:48
Make header comments for some Tcl test commands more consistent. No changes to code. (check-in: af870ca982 user: mistachkin tags: trunk)
07:56
More test cleanup. (Closed-Leaf check-in: b8d5359bb7 user: mistachkin tags: testClean)
07:29
Refine error messages in the sqlite3 Tcl command when a NULL database connection is returned from sqlite3_open_v2. (check-in: f260d7d567 user: mistachkin tags: trunk)
06:02
Fix typo in documentation for sqlite3_open_v2. No changes to code. (check-in: b532120a4a user: mistachkin tags: trunk)
2012-09-07
20:10
Correct two test names to make them unique. (Closed-Leaf check-in: 43e474d3e9 user: mistachkin tags: busy-timeout-pragma)
18:49
Have PRAGMA busy_timeout return 0 if the busy handler has been changed or cancelled. (check-in: 7be5bc3679 user: drh tags: busy-timeout-pragma)
16:46
Add an experimental busy_timeout pragma to facilitate access to the sqlite3_busy_timeout() interfaces for programmers that are working from behind a language wrapper that does not expose that interface. (check-in: 22ebc66851 user: drh tags: busy-timeout-pragma)
2012-09-04
21:34
Avoid repeating calls to the sqlite3_trace() callback when the same statement is evaluted multiple times by sqlite3_step() due to an SQLITE_SCHEMA reprepare. (check-in: 39f763bfc0 user: drh tags: trunk)
2012-09-03
15:42
Version 3.7.14 (check-in: c0d89d4a97 user: drh tags: trunk, release, version-3.7.14)
12:40
Fix compiler warnings in test_spellfix1.c (check-in: ebb08d0b4d user: drh tags: trunk)
11:39
Add resources describing the version number and other information to EXEs and DLLs generated using MSVC. (check-in: a15a70840e user: drh tags: trunk)
11:14
Insert additional tab character. (Closed-Leaf check-in: 3af7c1a6af user: mistachkin tags: win32Resources)
11:01
Linking and cleaning fixes for the tclsqlite3.exe target in the MSVC makefile. (check-in: 96d43c7a35 user: mistachkin tags: win32Resources)
10:32
Add Win32 version resources to the applicable binaries built by the MSVC makefile. (check-in: e2f27d28b5 user: mistachkin tags: win32Resources)
2012-08-31
14:55
In the spellfix phonehash() function, add letter W into the same character class as V. (check-in: 7536101317 user: drh tags: trunk)
14:23
Update with latest trunk changes. (check-in: 87995dc940 user: dan tags: sessions)
14:10
Merge in latest trunk changes. (check-in: bc9b9cd058 user: dan tags: apple-osx)
12:31
Changes for ERROR_PATH_NOT_FOUND in addition to ERROR_FILE_NOT_FOUND in winAccess(). (check-in: 527340abff user: drh tags: trunk)
2012-08-30
20:24
Exclude the atof1.test test script from the valgrind permutations test since valgrind sets up the floating point hardware in an unusual way that makes atof1 fail. (check-in: d3cf6832a5 user: drh tags: trunk)
11:22
Fix an out-of-bounds read in the demonstration code in test_spellfix.c. (check-in: 5919431154 user: dan tags: trunk)
2012-08-29
10:28
Fix a typo in a comment in vdbe.c. No changes to code. (check-in: 9fbe858b62 user: drh tags: trunk)
2012-08-28
14:45
Fix a case where SQLite was failing to detect a syntax error in queries like "SELECT ... FROM (<select-1> UNION ALL <select-2>)" when <select-1> and <select-2> return different numbers of result columns. (check-in: 200a81358c user: dan tags: trunk)
04:20
Issue a log message if the temporary directory has not been set when running on WinRT. (check-in: 9ee3910294 user: mistachkin tags: trunk)
01:44
Enable the use of a simpler command line when cross-compiling in the MSVC build environment. (check-in: 8ade136a03 user: mistachkin tags: trunk)
00:17
Formatting changes to the C code example in the documentation for sqlite3_temp_directory(). No changes to code. (check-in: 5b4b39788e user: drh tags: trunk)
00:09
Update API docs to include notes about the WinRT temporary directory. No changes to code. (check-in: eaeeb06992 user: mistachkin tags: trunk)
2012-08-27
21:19
Add to #undef statements to the command-line shell, go make sure that the macros definitions that follow do not collide with system definitions. (check-in: 24420d6d20 user: drh tags: trunk)
14:39
Fix an incorrect assert in the virtual table logic - it could fire following an I/O error after sqlite3_close_v2() was added. (check-in: 4ccc18e999 user: drh tags: trunk)
2012-08-25
10:01
Fix all known instances of 'repeated the' style typos in comments. No changes to code. (check-in: 9b19b84753 user: mistachkin tags: trunk)
02:11
Fix a harmless compiler warning. (check-in: 929b51840b user: drh tags: trunk)
01:38
Merge all the latest trunk changes into the apple-osx branch. (check-in: 6723add4f4 user: drh tags: apple-osx)
01:21
Merge the latest trunk changes into the sessions branch. (check-in: aa62d6881b user: drh tags: sessions)
00:49
Backport check-in [62678be3df35cd]: When the same index is used for all OR-terms in a WHERE clause, then try to use that index as a covering index. (Leaf check-in: 865dfcbaa5 user: drh tags: branch-3.7.2)
2012-08-24
23:56
When the same index is used for all OR-terms in a WHERE clause, then try to use that index as a covering index. (check-in: 62678be3df user: drh tags: trunk)
23:24
Move field WhereLevel.pCovidx inside the union to WhereLevel.u.pCovidx. (Closed-Leaf check-in: b722143d07 user: drh tags: multi-or-covering-index)
21:54
Remove a NEVER() that is in fact reachable on an OOM. This probably has nothing to do with the multi-or-covering-index change but just happened to be found while testing that change. (check-in: 5499af53eb user: drh tags: multi-or-covering-index)
19:58
Another test for whereD.test. (check-in: 29d586178d user: dan tags: multi-or-covering-index)
19:52
Add extra tests to whereD.test. (check-in: 7e961eef6b user: dan tags: multi-or-covering-index)
18:44
Fix a problem to do with multi-or queries and automatic indexes. (check-in: a3e26038a1 user: dan tags: multi-or-covering-index)
17:52
More test cases for OR-optimization covering indices. (check-in: e5c3190c27 user: drh tags: multi-or-covering-index)
15:29
Additional test cases for OR-optimization with covering indices, including one test case that currently fails. (check-in: d8b7ab3712 user: drh tags: multi-or-covering-index)
10:52
Experimental change to support the covering index optimization for queries with OR terms in the WHERE clause that search a single index more than once. (check-in: 1dc8c7c741 user: dan tags: multi-or-covering-index)
01:07
Merge the nested aggregate query enhancements into trunk. (check-in: d4cd6017c9 user: drh tags: trunk)
2012-08-23
22:45
Merge changes for the new sqlite3_win32_set_directory API to trunk. (check-in: 20f184f2d5 user: mistachkin tags: trunk)
19:46
Add test cases and fix bugs associated with the previous check-in enhancements to nested aggregate subquery processing. (Closed-Leaf check-in: 00b1dc71be user: drh tags: nested-agg)
16:18
Further improvements to the processing of nested aggregate queries. (check-in: 3c3ffa901f user: drh tags: nested-agg)
2012-08-22
15:16
Do not let the multi-core sorter use lookaside memory, which is not thread-safe. (Leaf check-in: acdc7d1270 user: drh tags: threads-sort-ex1)
00:39
Modify the MSVC makefile to make it easier to select the heap subsystem to use. (check-in: b1dbf49086 user: mistachkin tags: trunk)
00:18
Add assert to check that the memory block for the previous directory value was allocated via sqlite3_malloc or related function. (Closed-Leaf check-in: 1246f15b14 user: mistachkin tags: win32SetDir)
2012-08-21
23:33
Added sqlite3_win32_set_directory API to assist in portability to WinRT. (check-in: 600de08d40 user: mistachkin tags: win32SetDir)
17:46
Merge in all the latest trunk changes. (check-in: 45cdc32f1e user: drh tags: threads-sort-ex1)
17:44
Update the spellfix virtual table so that all OOM errors are reported out to the application. (check-in: 573770f5a6 user: drh tags: trunk)
17:36
Cherry-pick [555fc07]: Changes to the thread routines to disable them when threading is turned off using sqlite3_config(). Also merge all recent trunk changes. (check-in: c92b0fe137 user: drh tags: threads)
13:08
Update the spellfix virtual table so that all OOM errors are reported out to the application. ERROR: A single edit was missed in spellfix1 which means that this particular check-in won't build "make test". (Closed-Leaf check-in: c2cf498513 user: drh tags: mistake)
2012-08-20
17:24
Add the SQLITE_DISABLE_FTS4_DEFERRED compile time option. (check-in: e799222f3b user: dan tags: trunk)
16:23
Change the checkSpacing utility program to ignore whitespace at end-of-line unless the --wseol option is used. (check-in: be1faadebd user: drh tags: trunk)
16:08
Silence harmless compiler warnings in the test code. (check-in: 7653973a52 user: drh tags: trunk)
15:53
Remove tab characters from source code files. Replace them with spaces. (check-in: 7edd10a960 user: drh tags: trunk)
15:46
Add a command-line program to tool/ that will check source code files for the presence of tabs, carriage-returns, whitespace at the ends of lines, and blank lines at the ends of files. (check-in: 656a9c8b47 user: drh tags: trunk)
12:36
Changes to the thread routines to disable them when threading is turned off using sqlite3_config(). (check-in: 555fc07efd user: drh tags: threads-sort-ex1)
2012-08-17
13:44
Clarify that the number-of-bytes parameter to sqlite3_bind_blob() must be non-negative. (check-in: b1b01c4cd9 user: drh tags: trunk)
12:13
Fix MSVC compiler warning in the spellfix module. Also, add an assert. (check-in: e66cf0401f user: mistachkin tags: trunk)
11:47
Skip defining some WAL specific things in the Win32 VFS code when compiling without WAL support. Also, fix an example command line in the MSVC makefile. (check-in: 61b1ae1217 user: mistachkin tags: trunk)
2012-08-16
20:05
Attempt to use two cores to do sorting. Unfortunately, instead of making sorts go faster as was hoped, this changes slows sorting down by about 10%. (Later:) The previous measurement was compiled using -pg. When compiled using -Os, this new code is roughly 10% faster than the original. (check-in: 11dd05e598 user: drh tags: threads-sort-ex1)
11:24
Update the threads branch to include all the latest trunk changes. (check-in: f4125771e2 user: drh tags: threads)
2012-08-15
16:43
Changes to the spellfix test script to make the results deterministic. (check-in: 31c07db256 user: drh tags: trunk)
16:21
Merge all the latest trunk changes into the sessions branch. (check-in: fc07a4795e user: drh tags: sessions)
16:06
Change autoconf so that the --with-tcl=DIR option will override the TCL configuration that is found using tclsh. (check-in: 772d0de3f3 user: drh tags: trunk)
15:57
Experimental change to speed up ORDER BY clauses that sort based on a single expression. (Leaf check-in: 2bb8c49261 user: dan tags: sorter-exp)
2012-08-14
19:04
Silence three harmless compiler warnings in vdbesort.c. (check-in: a5431c86df user: drh tags: trunk)
18:43
Add an assert() to the btree rebalancer in order to silence a clang/scan-build warning. (check-in: 6730579cf5 user: drh tags: trunk)
17:29
Update the spellfix virtual table to the latest development code. (check-in: 6954fef006 user: drh tags: trunk)
01:45
Refer to the file mapping Win32 API functions only when absolutely necessary. (check-in: 1de2237d00 user: mistachkin tags: trunk)
2012-08-13
22:05
Refer to the WaitForSingleObjectEx and SetFilePointerEx Win32 functions only for platforms where they are going to be used. (check-in: 9888ce9294 user: mistachkin tags: trunk)
2012-08-08
14:04
When populating an index b-tree as part of a CREATE INDEX or REINDEX statement, distribute cells between up to three siblings in balance_nonroot() instead of four. This produces identical database files, but is slightly faster. (check-in: b0d31e779e user: dan tags: trunk)
11:55
When building a b-tree as part of a CREATE INDEX or REINDEX statement, attempt to pack keys into pages as tightly as possible. (check-in: efea62b96c user: dan tags: trunk)
10:14
Change to securedel2.test so that it works even if SQLITE_DEFAULT_AUTOVACUUM=1 is defined. (check-in: 1e6f5ea481 user: dan tags: trunk)
2012-08-07
22:53
Simplifications to the sorter to support full-coverage testing. (check-in: de804f4c90 user: drh tags: trunk)
17:41
Add extra tests for secure-delete mode. (check-in: e380cd3ce3 user: dan tags: trunk)
15:19
Fix a bug in hash.c introduced by [305b66672653]. (check-in: 17cb5e951e user: dan tags: trunk)
14:18
Do not run test script spellfix.test if SQLITE_OMIT_VIRTUAL_TABLE is defined. Fix walro.test so that it works if DEFAULT_AUTOVACUUM is defined. (check-in: 26428b459b user: dan tags: trunk)
13:55
Fix a bug in walthread.test causing intermittent failures. (check-in: a192a718d5 user: dan tags: trunk)
01:37
Parser bug fix: Make sure the table constraints allowed by prior releases can still be parsed, even if they are technically not allowed by the syntax diagram. This is a cherry-pick of [a1c014d8a87c8940b3], [38bf90af1ede6ee64e], and [e536ac041815b118c4]. (Leaf check-in: 28aed847c6 user: drh tags: apple-osx-ml)
2012-08-06
23:21
Backport VSIX packaging support and related changes. (Closed-Leaf check-in: 0620285da6 user: mistachkin tags: vsix-3.7.13)
22:29
Modify VSIX package generation tool to put the PDB files in the Debug directory. (check-in: 9d0720833f user: mistachkin tags: trunk)
19:28
Merge the sorter-coalesce-writes branch into the trunk. This improves CREATE INDEX performance on some platforms. (check-in: e1e9cb08b0 user: dan tags: trunk)
19:12
Fix a crash that could follow an OOM condition. (Closed-Leaf check-in: 2e5741f774 user: dan tags: sorter-coalesce-writes)
18:50
When reusing pages as part of creating a new index, allocate the leaves from each free-list trunk page in ascending order, instead of trying to maximize localization for each individual allocation. This increases the chance that pages will be written to disk in ascending order by a large CREATE INDEX statement, improving overall performance. (check-in: d045f8b2d4 user: dan tags: sorter-coalesce-writes)
18:10
Update sorter-coalesce-writes branch with latest trunk changes. (check-in: 214f8cda17 user: dan tags: sorter-coalesce-writes)
10:51
Update description strings in the VSIX package. (check-in: 541e9310a7 user: mistachkin tags: trunk)
2012-08-03
10:00
Correct comment about WinRT compiler define. No changes to code. (check-in: 335e91e599 user: mistachkin tags: trunk)
2012-08-01
20:20
Fix typos of function names sqlite3_result_error_toobig and sqlite3_result_error_nomem in the documentation. No changes to code. (check-in: bec97c9813 user: mistachkin tags: trunk)
2012-07-31
08:15
Make the list of platforms dynamic in the SDK manifest inside the VSIX package. (check-in: 22b72e499d user: mistachkin tags: trunk)
00:43
Modify metadata for the VSIX package and add tooling support for PDBs. (check-in: 12cbf6a934 user: mistachkin tags: trunk)
2012-07-30
14:53
Replace a few sqlite3_malloc()+memset() sequences with calls to sqlite3MallocZero(). (check-in: 305b666726 user: dan tags: trunk)
2012-07-27
23:03
Improve consistency in handling of build outputs and native library paths in the multi-platform build tool for MSVC. (check-in: e71f2de2cc user: mistachkin tags: trunk)
22:29
Minor adjustments to the multi-platform build tool for MSVC. (check-in: e76b8f7765 user: mistachkin tags: trunk)
08:33
For the clean makefile targets, delete the generated VSIX file as well. (check-in: d575d9619a user: mistachkin tags: trunk)
08:21
Modify the multi-platform build tool for MSVC to support the latest RC version. (check-in: 95b65883bb user: mistachkin tags: trunk)
07:13
Add tool to build the core DLL for multiple platforms using MSVC. (check-in: e42f5812f1 user: mistachkin tags: trunk)
02:36
Add tool to generate a VSIX package usable by Visual Studio 2012 RC. (check-in: 8b90e0c4db user: mistachkin tags: trunk)
2012-07-26
09:21
Update some comments in vdbesort.c. (check-in: f4b3fded23 user: dan tags: sorter-coalesce-writes)
2012-07-24
19:46
Mark parameters to sorter interfaces as const where appropriate. (check-in: d8da26f1f4 user: drh tags: trunk)
06:02
Add another define to the MSVC makefile that is sometimes required to build cleanly for WinRT. (check-in: d582cd890d user: mistachkin tags: trunk)
2012-07-23
21:43
Refactor field names in the SelectDest object to make them distinct and easier to grep for. (check-in: b589f1efb3 user: drh tags: trunk)
20:10
Fix an edge case in vdbesort.c. (check-in: 4ba266fc53 user: dan tags: sorter-coalesce-writes)
19:25
Modify the code in vdbesort.c so that most reads and writes to temporary files are aligned page-sized blocks. (check-in: 55e47ef338 user: dan tags: sorter-coalesce-writes)
06:47
Add an assert() to help verify the return code from the Win32 thread wait function. (check-in: ed3dc7a89f user: mistachkin tags: threads)
02:00
Enhance implementation of the Win32 thread wait function. (check-in: 049b041173 user: mistachkin tags: threads)
2012-07-21
22:49
Add Win32 support to the internal threads interface. Also, add several asserts and fix a few typos. (check-in: 793195d371 user: mistachkin tags: threads)
19:40
Add an internal interface that allows the code to take advantage of multiple cores by pushing subcomputations off into separate threads. The interface is not currently used. (check-in: 0e4d977a4a user: drh tags: threads)
2012-07-19
20:27
Further tweaks to malloc paths. (Closed-Leaf check-in: 0a33444105 user: dan tags: calloc)
2012-07-18
16:07
Remove another branch from the DbMalloc() paths. (check-in: defd828e90 user: dan tags: calloc)
11:28
Reorganize code to remove a few of the branches introduced into the critical sqlite3DbMallocXXX() path by the previous commit. (check-in: 75c095ee46 user: dan tags: calloc)
2012-07-17
19:32
Enhance the custom memory allocation interface to allow the user to specify a calloc() function. (check-in: 8752237d12 user: dan tags: calloc)
17:46
Cherrypick [8c9ee1d78f] and [e416359633] from trunk: Ensure that there is always at least one aReadMark slot usable by an unprivileged reader while a checkpoint is running. Also, if one or more transactions are recovered from a log file, initialize one of the aReadMark slots to contain mxFrame as part of the recovery process. (check-in: 6503591226 user: drh tags: apple-osx)
14:37
Ensure that there is always at least one aReadMark slot usable by an unprivileged reader while a checkpoint is running. Also, if one or more transactions are recovered from a log file, initialize one of the aReadMark slots to contain mxFrame as part of the recovery process. (check-in: e416359633 user: dan tags: trunk)
02:56
Amplification of a comment in wal.c. Change the aReadMark[] processing so that one read mark is left at zero when a WAL resets. (check-in: 8c9ee1d78f user: drh tags: trunk)
2012-07-16
23:13
Merge the spellfix1 changes for supporting matchlen into trunk. (check-in: 6f167adf60 user: drh tags: trunk)
22:16
Fix compiler warnings about unused code in spellfix. Fix the editDist3Core() routine to return the matchlen in characters instead of bytes. (Closed-Leaf check-in: f96d4e7bd7 user: drh tags: spellfix-matchlen)
14:52
Fix a bug in the phonetic-hash routine in spellfix1: Even if the first character of a word is deemed to be "silent", do not apply the special handling intended for the first character of each word to the second. (check-in: 6333b42dd2 user: dan tags: spellfix-matchlen)
10:25
Merge trunk changes. (check-in: 90df64ab80 user: dan tags: spellfix-matchlen)
10:06
If a specific database is nominated as part of a "PRAGMA integrity_check" or "PRAGMA quick_check" command, search for problems in the nominated database only. i.e. "PRAGMA main.quick_check" now only scans the main database, not all attached databases as before. (check-in: 4353e40b74 user: dan tags: trunk)
2012-07-13
19:26
Add the "matchlen" column to the spellfix1 virtual table. (check-in: f24b9d87f6 user: dan tags: spellfix-matchlen)
16:15
Update test_spellfix.c with latest changes. (check-in: cba2a65870 user: dan tags: trunk)
11:09
Fix bug in spellfix1 xUpdate() method introduced by the previous commit. (Closed-Leaf check-in: b31aafa5a3 user: dan tags: spellfix-matchlen)
2012-07-12
19:43
Add the "matchlen" column to the spellfix virtual table. (check-in: 4a582c4d30 user: dan tags: spellfix-matchlen)
2012-06-30
22:22
Setup the necessary library paths for cross-compilation with MSVC. (check-in: 7fac56ed9f user: mistachkin tags: trunk)
19:24
Simplify usage of some linker options in the MSVC makefile. (check-in: 0301602066 user: mistachkin tags: trunk)
16:22
Make use of the predefined nmake command macro CC when possible instead of the literal string 'cl.exe'. Improve support for cross-compilation. Eliminate problematic use of double quotes in macro preprocessing expressions. (check-in: 6c88229aa3 user: mistachkin tags: trunk)
2012-06-27
16:41
Another changes to the shell in support of SQLITE_OMIT_AUTOINIT. (check-in: 3b4f5add04 user: drh tags: trunk)
16:12
Update the shell so that it works with SQLITE_OMIT_FLOATING_POINT and SQLITE_OMIT_AUTOINIT. (check-in: 95c0c995fd user: drh tags: trunk)
2012-06-21
17:21
Remove code that was incorrectly changing SQLITE_MISUSE errors into SQLITE_OK in sqlite3_finalize(). (check-in: d5e6880279 user: drh tags: trunk)
15:51
Add the sqlite3_close_v2() interface (from the deferred-close branch) that allows close operations to happen out-of-order in bindings to garbage-collected langauges. (check-in: fb8893abee user: drh tags: trunk)
15:22
Merge changes to trunk that ensure that floating point values are exactly preserved on a round-trip through ".dump". (check-in: 4cebd60704 user: drh tags: trunk)
15:12
Fix spelling typo. (check-in: 6131a0002f user: mistachkin tags: trunk)
15:09
Remove more references to OS/2. (check-in: eebd594d6b user: mistachkin tags: trunk)
15:02
Disable the atof1.test module when compiling on MSVC. (Closed-Leaf check-in: 0f706acfc7 user: drh tags: floating-point-conversions)
14:31
Increase the version number to 3.7.14 and rerun autoconf (check-in: 8c9f564a2a user: drh tags: trunk)
14:25
Fix the SQLITE_ZERO_MALLOC compile-time option so that it works on windows. (check-in: b80bc52f89 user: drh tags: trunk)
14:05
Merge several compiler compatibility fixes to trunk. (check-in: d3d491a546 user: mistachkin tags: trunk)
13:00
Remove support for OS/2 from the source tree. (check-in: ff828c67e5 user: drh tags: trunk)
04:21
When linking to the MSVC runtime library, use the debug library when necessary. Also, link dynamically to the MSVC runtime library when required (e.g. WinRT) or requested via the USE_CRT_DLL build macro. (check-in: f6be345ad5 user: mistachkin tags: trunk)
2012-06-19
06:35
Add tests to check that the "unicode61" and "icu" tokenizers both identify white-space codepoints outside the ASCII range. (check-in: bfb2d4730c user: dan tags: trunk)
04:36
Move variable declaration to fix compilation with MSVC. (check-in: d45f7a013f user: mistachkin tags: floating-point-conversions)
03:59
Fix an incorrect testcase for the round() function. All tests are passing now, including new real->text->real round-trip tests. (check-in: 963eb24f73 user: drh tags: floating-point-conversions)
03:35
Round-trip conversions of real->text->real are now lossless on x64 with GCC. Untested on other platforms so far. Still a corner-case problem with round(). (check-in: fd7bd4a593 user: drh tags: floating-point-conversions)
03:11
Improved accuracy on text-to-real and real-to-text conversions. Most conversions now round-trip correctly. Still need to fix some corner cases. (check-in: 8ecffca900 user: drh tags: floating-point-conversions)
00:45
Improved rounding accuracy on text-to-float conversions. (check-in: 699b792c6a user: drh tags: trunk)
2012-06-18
20:52
Fix a problem with identifying white-space characters outside of the ascii range in the ICU tokenizer. (check-in: 892b74116a user: dan tags: trunk)
17:15
Allow the SQLITE_API macro to apply to the sqlite3_win32_sleep function. (Closed-Leaf check-in: 21266c68af user: mistachkin tags: compiler-compat)
14:23
Add the ieee754() SQL function that interprets a blob as a big-endian double. Arrange for the quote() SQL function to emit ieee754() functions in its output so that floating-point values in the database are exactly preserved by a ".dump" command in the shell. (Closed-Leaf check-in: 87597e988f user: drh tags: ieee754-func)
08:00
Fix a few compilation issues that can occur with certain compilers (e.g. GCC 2.95.3, MSVC). (check-in: f970a3de61 user: mistachkin tags: compiler-compat)
2012-06-16
15:26
In Lemon, when comparing the output to the *.h file to see if it has changed, make sure that the proposed new output and the preexisting output are the same size before deciding that they are the same. (check-in: 0c2fb18d25 user: drh tags: trunk)
2012-06-15
20:42
Fix compiler warning. (Closed-Leaf check-in: 37d9bc061d user: mistachkin tags: deferred-close)
2012-06-11
02:05
Version 3.7.13 (check-in: f5b5a13f73 user: drh tags: trunk, release, version-3.7.13)
2012-06-09
19:15
Merge latest trunk changes with sessions branch. (check-in: 47f8f0711d user: dan tags: sessions)
18:52
Add missing targets for fts3_unicode.lo and fts3_unicode2.lo to Makefile.in. (check-in: 0ae0ce630a user: dan tags: trunk)
2012-06-08
14:11
Merge the vtab1 test script fix and the FTS3 memory leak fix from trunk into the apple-osx branch. (check-in: 892d8779cc user: drh tags: apple-osx)
14:01
Fix an obscure memory leak in FTS3 that can come about when two memory allocations are immediately adjacent to one another. (check-in: 025227be54 user: drh tags: trunk)
11:48
Fix a problem in vtab1.test causing it to fail when run with any permutation that executes SQL within the tcl "sqlite3" command. (check-in: 006db55526 user: dan tags: trunk)
01:13
Merge trunk changes into the apple-osx branch. (check-in: 9d1b851562 user: drh tags: apple-osx)
2012-06-07
23:58
Merge all trunk changes, including the WinRT enhancements, into the sessions branch. (check-in: c621403983 user: drh tags: sessions)
17:57
Documentation and evidence mark updates. Remove a redundant assert(). (check-in: cfcbf9375f user: drh tags: trunk)
17:16
Fix a problem preventing a shared in-memory database from being attached to a read-only connection. (check-in: 7caca1939c user: dan tags: trunk)
15:53
Add the "tokenchars=" and "separators=" options, for customizing the set of characters considered to be token separators, to the unicode61 tokenizer. (check-in: e56fb462aa user: dan tags: trunk)
07:24
Fix a malloc/free mismatch in pager.c (sqlite3_free() called on a buffer allocated by sqlite3DbMalloc()). (check-in: 506008f000 user: dan tags: trunk)
02:35
Provide an (undocumented) compile-time option to disable the page cache overflow counter, in order to avoid a mutex. (check-in: 208825cd83 user: drh tags: trunk)
2012-06-06
23:59
Fix harmless Clang warnings. (check-in: 31fe1985ad user: drh tags: trunk)
23:25
Fix an #if that is applicable to WinRT, even thought it is currently disabled by another #if. (check-in: baa8b78307 user: mistachkin tags: trunk)
23:23
Merge the changes need to compile on WinRT into trunk. (check-in: 61360ca6ca user: drh tags: trunk)
19:51
Disable FTS unicode61 by default. It is enabled by specifying compile time option SQLITE_ENABLE_FTS4_UNICODE61. (check-in: eccd6b6580 user: dan tags: trunk)
19:30
Have the FTS unicode61 strip out diacritics when tokenizing text. This can be disabled by specifying the tokenizer option "remove_diacritics=0". (check-in: 790f76a589 user: dan tags: trunk)
19:01
Avoid resetting the shared-cache schema when on of the connections using the shared cache closes. Delay resetting the schema until the last connection closes. (check-in: 635e3a762d user: drh tags: trunk)
10:56
Make sure the Index.azColl pointers do not point to connection-specific memory. Also, remove an unnecessary reinitialization to sqlite3.pDfltColl. (Closed-Leaf check-in: c469850b2e user: drh tags: shared-schema)
2012-06-05
19:20
Merge the latest trunk changes into shared-schema branch. Also fix a C99-ism in that branch. (check-in: 42338e9e69 user: drh tags: shared-schema)
13:56
Add sqlite3_quota_ferror() and sqlite3_quota_file_available() interfaces to test_quota.c. Change sqlite3_quota_fwrite() to use a const input buffer. (check-in: 61669c9585 user: drh tags: trunk)
02:24
Correct docs regarding use of malloc and free by the Windows VFS layer. No changes to code. (Closed-Leaf check-in: 8e8590a4dc user: mistachkin tags: winrt)
2012-06-04
05:18
When not compiling for WinRT, skip using a couple Win32 APIs unavailable when compiling with MinGW. (check-in: eb29e2d939 user: mistachkin tags: winrt)
2012-06-02
17:09
Revert sqlite3_close() to legacy behavior. Create a new sqlite3_close_v2() interface that exhibits the deferred-close behavior. This minimizes the chance of breakage in legacy apps. (check-in: c4b8621125 user: drh tags: deferred-close)
14:32
The sqlite3_close() interface returns SQLITE_OK even if there are outstanding sqlite3_stmt and sqlite3_backup objects. The connection becomes a zombie. Resource deallocation is deferred until the last sqlite3_stmt or sqlite3_backup object closes. This is intended to help SQLite play nicer with garbage collectors. (check-in: e276a02b7f user: drh tags: deferred-close)
2012-05-31
22:12
Update several APIs to enable compilation with newer revisions of WinRT. (check-in: 54de739f05 user: mistachkin tags: winrt)
13:10
Avoid calling fchown() if the process is not running as root. (check-in: 70c419a434 user: drh tags: trunk)
00:21
Only call fchown when running as root and supporting files mismatch the database owner & perms (check-in: ed53b645cc user: adam tags: apple-osx)
2012-05-29
19:25
Link the NDEBUG macro to SQLITE_DEBUG so that when SQLITE_DEBUG is defined, NDEBUG is automatically undefined an dwhen SQLITE_DEBUG is undefined NDEBUG is automatically defined. (check-in: 07935d10d3 user: drh tags: trunk)
17:59
Fix a typo (a repeated "or") in the documentation. No changes to code. (check-in: 6fec6cf1fb user: drh tags: trunk)
17:02
Changes some NDEBUG macros to SQLITE_DEBUG in os_unix.c. The is a notational change only and really should not effect the code. (check-in: 8e3025709e user: drh tags: trunk)
00:48
Merge the 64-to-32-bit RTree rounding fixes from trunk into the sessions branch. (check-in: 7eff45c280 user: drh tags: sessions)
00:39
In the RTree module, make sure all double-to-float conversions round in a direction to increase the size of element bounding boxes. (check-in: 0abdc2903d user: drh tags: trunk)
00:30
Refactor the float-to-double rounding routines so that they compile without warnings. (Closed-Leaf check-in: f607ad27c1 user: drh tags: rtree-32bit-rounding)
2012-05-28
20:22
Fix the MSVC makefile so that it works with the unicode61 tokenizer. (check-in: 480158143b user: drh tags: trunk)
20:16
Simplification to the coordinate rounding logic in RTree. (check-in: df24072de2 user: drh tags: rtree-32bit-rounding)
19:19
When converting 64-bit floating point coordinates to 32-bit in RTree, take care to round the values such that the size of the bounding box is enlarged. (check-in: f4e8ff03ea user: drh tags: rtree-32bit-rounding)
18:22
Merge the unicode61 tokenizer and the shared-cache-memory database changes into the sessions branch. (check-in: df817e70af user: drh tags: sessions)
17:51
Updates regarding URI query parameters and shared cache in the documentation derived from comments in sqlite.h.in. No changes to code. (check-in: bcc72d413e user: drh tags: trunk)
15:32
Fix Makefile.in so that it works with the new unicode tokenizer of FTS3/4. Update the version number to 3.7.13. (check-in: b8720d0416 user: drh tags: trunk)
13:58
Add the mode=memory option to URI filenames, which when present forces the database to be an in-memory database. This enables named in-memory databases. (check-in: 651520fa84 user: drh tags: trunk)
12:22
Omit the fts3 unicode character class routines from the build if fts3/4 is disabled. (check-in: c00bb5d460 user: drh tags: trunk)
2012-05-27
22:42
Merge into trunk the changes that permit :memory: databases to use shared cache. (check-in: e72179f3a4 user: drh tags: trunk)
01:19
Have user interfaces report out the filename of in-memory databases as an empty string, as it always has. This simplifies the changes. (Closed-Leaf check-in: 595dfdbffe user: drh tags: shared-cache-memdb)
00:11
Fix corner-case problems with shared-cache for in-memory databases. (Closed-Leaf check-in: 997ef5f61e user: drh tags: shared-cache-memdb)
2012-05-26
20:08
Only allow :memory: databases to share cache if there are created using a URI filename. This minimizes the risk of breakages in legacy applications that have shared-cache enabled but also use :memory: databases which they expect to keep separate. (check-in: e3ad61e030 user: drh tags: shared-cache-memdb)
18:42
Merge fts4-unicode branch with trunk. (check-in: 25ba1f84f2 user: dan tags: trunk)
18:28
If SQLITE_DISABLE_FTS3_UNICODE is defined, do not build the "unicode61" tokenizer. (Closed-Leaf check-in: e71495a817 user: dan tags: fts4-unicode)
18:06
Enable the use of shared cache for an in-memory database, so that separate database connections can share the same in-memory database. (check-in: 4590e433f2 user: drh tags: shared-cache-memdb)
17:57
Change the format of the tables used by sqlite3FtsUnicodeTolower() to make them a little smaller. (check-in: b89d3834f6 user: dan tags: fts4-unicode)
16:22
Add coverage tests for fts3_unicode.c. (check-in: 07d3ea8a3c user: dan tags: fts4-unicode)
15:44
Add fault-injection tests that use the unicode61 tokenizer. Fix a problem revealed by the same. (check-in: ed28c48a3d user: dan tags: fts4-unicode)
14:54
Change the name of the "unicode" tokenizer to "unicode61" to emphasize that the case folding and separator-character identification routines are based on unicode version 6.1. (check-in: 8f3e60aa22 user: dan tags: fts4-unicode)
2012-05-25
19:50
Add special fast paths to sqlite3FtsUnicodeTolower() and Isalnum() for codepoints in the ASCII range. (check-in: cf7b25d476 user: dan tags: fts4-unicode)
18:48
Fix comments in generated file fts3_unicode2.c. (check-in: 3dc567ef47 user: dan tags: fts4-unicode)
17:50
Add an experimental tokenizer to fts4 - "unicode". This tokenizer works in the same way except that it understands unicode "simple case folding" and recognizes all characters not classified as "Letters" or "Numbers" by unicode as token separators. (check-in: 0c13570ec7 user: dan tags: fts4-unicode)
2012-05-22
19:25
Use the new test suite helper procedure 'get_pwd' to query the current directory from tests. (check-in: 1dd01e4081 user: mistachkin tags: winrt)
17:39
Merge the 3.7.12.1 trunk changes into the WinRT branch. (check-in: b9ed0b26de user: drh tags: winrt)
13:11
Version 3.7.12.1 (check-in: 972e75bb5d user: drh tags: apple-osx)
13:01
Version 3.7.12.1 (check-in: d07b7b67d1 user: drh tags: sessions)
02:45
Version 3.7.12.1 (check-in: 6d326d44fd user: drh tags: trunk, release, version-3.7.12.1)
2012-05-21
22:45
Increase the version number to 3.7.12.1. Minor changes to test scripts. (check-in: 5519cc5ef4 user: drh tags: trunk)
21:26
Merge the nested aggregate query fix (ticket [c2ad16f997ee9c8ed]) unto trunk. (check-in: e459c3360b user: drh tags: trunk)
21:20
Mark and always-true conditional as such. Add the fuzz-oss1.test test module. (Closed-Leaf check-in: bdc01fd0fa user: drh tags: nested-agg)
20:13
Candidate fix for the nested aggregate query problem of ticket [c2ad16f997ee9c8e]. (check-in: f3dd1fafd4 user: drh tags: nested-agg)
19:11
Convert the NameContext object from using u8 booleans to using individual bits in a single u8 as its booleans. This change might become a basis for a fix for [c2ad16f997ee9c]. (check-in: 7222609693 user: drh tags: nested-agg)
16:59
Make sure lookaside memory allocations are unusable after they are freed. (check-in: 3869aef634 user: drh tags: trunk)
12:25
Move some #defines earlier in the file for test_quota.c in order to avoid a use before definition. (check-in: fda1ea0bee user: drh tags: trunk)
05:02
Allow the sqlite3ExplainBegin function to be compiled by MSVC. (check-in: 18555128f5 user: mistachkin tags: trunk)
03:15
Change the ".schema" command of the shell to output VIEWs in declared order, rather than alphabetical order, so that nested views will appear in the correct order. Fix for ticket [cfe84e86839e59e8]. (check-in: e092ff69e2 user: drh tags: trunk)
2012-05-20
20:23
Fix a test case so that it works even with very long pathnames. (check-in: ecd4a06359 user: drh tags: trunk)
20:14
Check-in included unrelated debugging code by mistake. Was: Fix a test case in the shell1.test script so that it works even for very long pathnames. (Closed-Leaf check-in: 0c0a03987c user: drh tags: mistake)
2012-05-17
21:04
Merge updates from trunk. (check-in: 224c65e4a5 user: mistachkin tags: winrt)
14:17
Stylistic fixes: limit source code line length to 80 characters. C89-style comments only, not C++/C99 style. (check-in: 4068abe05c user: drh tags: apple-osx)
2012-05-16
22:08
Improve error reporting from sqlite3_file_control, SQLITE_FCNTL_REPLACE_DATABASE shouldn't copy file security/ACL metadata, bad bit mask fixed (check-in: 92e7bb9078 user: adam tags: apple-osx)
14:29
Return SQLITE_MISUSE if an application attempts to register a virtual table module with the same name as an existing module. (check-in: ea2cd55e09 user: dan tags: shared-schema)
01:24
Avoid using sqlite3ResetAllSchemasOfConnection() purely for its side-effects. (check-in: 5587c73bad user: drh tags: shared-schema)
2012-05-15
18:28
The former sqlite3ResetInternalSchema() routine was really two different routines, selected by parameter, each with a confused mission. So split this routine up into three separate smaller routines, calling each separately as needed. Hopefully this will make further refactoring and schema reset collateral damage containment easier. (check-in: aa0c3493d3 user: drh tags: shared-schema)
17:15
When a connection disconnects from a shared-cache database, only delete the in-memory schema if there are no other connections. (check-in: 46f4eb5430 user: dan tags: shared-schema)
12:49
Add assert()s to verify that Table objects in the schema never use lookaside memory. (check-in: 736d6ea677 user: drh tags: trunk)
2012-05-14
12:20
Add an assert() that verifies that the statement pointer from the sqlite3_prepare() family of functions is always NULL if the routines return other than SQLITE_OK. (check-in: 0bb1cfc63f user: drh tags: trunk)
02:05
Version 3.7.12 (check-in: d9348b2a4e user: drh tags: apple-osx)
01:58
Version 3.7.12 (check-in: be71d2f667 user: drh tags: sessions)
01:41
Version 3.7.12 (check-in: 8654aa9540 user: drh tags: trunk, release, version-3.7.12)
2012-05-12
22:36
Fix a typo in a comment which is used to generate documentation. No changes to code. (check-in: af525b5d25 user: drh tags: trunk)
18:29
Parser bug fix: Make sure the table constraints allowed by prior releases can still be parsed, even if they are technically not allowed by the syntax diagram. (check-in: e536ac0418 user: drh tags: trunk)
14:59
Merge trunk changes with apple-osx branch. (check-in: bf57f0fb73 user: dan tags: apple-osx)
11:50
Update sessions branch with trunk changes. (check-in: 3f4848a871 user: dan tags: sessions)
05:30
Before running each test script, make sure the FTS enhanced query syntax is disabled. (check-in: f84d87bcc0 user: dan tags: trunk)
01:14
Use the regexp result option for a test case in shell1.test. (check-in: 93061c6e06 user: drh tags: trunk)
2012-05-11
23:03
Adjust some of the pager tests to accommodate longer database pathnames. (check-in: 22eef1d8a8 user: drh tags: trunk)
23:01
Fix the wal2.test script so that it works on big-endian machines. (check-in: c4ab72f750 user: drh tags: trunk)
20:43
Fix a bug in the wal.test script so that it works on big-endian systems. (check-in: 40fe9088fb user: drh tags: trunk)
15:53
Fix a harmless compiler warning inside an assert() statement within test code. (check-in: e68a3527de user: drh tags: trunk)
15:31
Fix an evidence-mark typo in the comments of sqlite3.h. No changes to code. (check-in: 2b07408591 user: drh tags: trunk)
11:28
Fix a harmless compiler warning. (check-in: 2b77301b96 user: drh tags: trunk)
00:56
Make sure the WAL file is deleted when changing to DELETE journal mode. (check-in: 6670868590 user: drh tags: apple-osx)
2012-05-10
17:43
Have the FTS auxiliary functions correctly handle terms that appear in non-matching branches of the FTS expression. Fix for [bdc6bbbb38]. (check-in: 4d3e1673b3 user: dan tags: trunk)
13:03
Merge the table constraint parser fixes from trunk. (check-in: 12bb31dd6f user: drh tags: winrt)
12:17
Merge in the windows AV-defense enhancements for open() and the table constraint parser fixes for legacy schemas, all from trunk. (check-in: 323570b8bd user: drh tags: sessions)
12:09
Merge in the legacy table constraint parsing fixes from trunk. (check-in: e87702834e user: drh tags: apple-osx)
2012-05-09
22:36
Added support for SQLITE_ENABLE_PERSIST_WAL compile time macro, retrieving lastErrno from WAL file and setting last errno when writes fail due to space constraints (check-in: 6547929410 user: adam tags: apple-osx)
2012-05-08
11:17
Further changes to constraint parsing to support legacy syntax. (check-in: 38bf90af1e user: drh tags: trunk)
2012-05-07
22:29
Merge parser adjustments from the trunk. (check-in: 0d8b920b2c user: mistachkin tags: winrt)
20:28
Merge Windows directory checking changes from trunk. (check-in: 7a7466f400 user: mistachkin tags: winrt)
19:21
Adjust the parser so that certain legacy schema constructs (that are not valid according to the syntax diagram) continue to be accepted, so that older databases that happen to use those constructs are still readable. This fixes an issue introduced by check-in [1b75f301affac6] (check-in: a1c014d8a8 user: drh tags: trunk)
18:10
Merge Windows directory checking changes to trunk. (check-in: a4555a53ea user: mistachkin tags: trunk)
17:16
Simplify directory checking for winOpen and add checking to winDelete. (Closed-Leaf check-in: b08530e1a0 user: mistachkin tags: win-check-dir)
13:15
Do not do the AV retry loop on open if the file that is attempting to be opened is really a directory. (check-in: 03875633f4 user: drh tags: win-check-dir)
2012-05-05
01:03
Merge the latest trunk changes into the apple-osx branch. (check-in: 2a99c0074a user: drh tags: apple-osx)
2012-05-04
23:31
Update the sessions branch with all the latest changes from trunk. (check-in: 0f347fbfc7 user: drh tags: sessions)
23:11
Sync the latest trunk changes into the winRT branch. (check-in: be4ab188cf user: drh tags: winrt)
13:22
Minor tweaks to the hebrew transliteration tables. (Leaf check-in: 7b6de5c35d user: drh tags: translit-tokenizer)
02:58
Add an experimental tokenizer to FTS3/4: one that transliterates latin, greek, cyrillic, and hebrew characters into pure ascii. (check-in: 930115693a user: drh tags: translit-tokenizer)
2012-05-01
14:21
Update a test in io.test to account for [05f98d4eec]. (check-in: bfa61e781c user: dan tags: trunk)
2012-04-27
16:38
Fix a minor deviation from the coding style guidelines. (check-in: 1e51bffe77 user: drh tags: trunk)
01:09
Enhance the processing of ORDER BY clauses on compound queries to better match terms of the order by against expressions in the result set, in order to enable better query optimization. (check-in: a49e909c87 user: drh tags: trunk)
01:08
Enhance the do_test proc in the test suite so that if the expected result is of the form "/.../" or "~/.../" then regular expression matching is done between result and the "..." part of the expectation. In the ~/.../ case, we expect there to be no match. (check-in: c9a734406c user: drh tags: trunk)
2012-04-26
22:47
Allow virtual table constructors to be invoked recursively. A test case for this has been added to TH3. (check-in: 696a5a40bb user: drh tags: trunk)
2012-04-24
13:14
New test cases for the ".dump" and ".mode insert" commands of the shell. (check-in: dfce856976 user: drh tags: trunk)
12:46
Move the shell test scripts into the test/ subfolder so that they are run automatically by "make test". (check-in: 9fb7da6904 user: drh tags: trunk)
12:12
Fix a sign-extension problem for BLOB output in ".insert" mode of the command-line shell. (check-in: 282f2a74c2 user: drh tags: trunk)
2012-04-23
12:38
Update the ".table" command in the shell to show all tables in all attached databases, and to avoid using the deprecated sqlite3_get_table() function. (check-in: ce2d06e253 user: drh tags: trunk)
2012-04-21
11:33
If terminating interactive input to the command-line shell with ^D, issue an extra \n to move the cursor to the next line before exiting. This check-in also accidently adds the test_spellfix.c file to the source tree. (check-in: feff1ef0b8 user: drh tags: trunk)
00:31
Merge the latest trunk changes into the WinRT branch (fixes for tickets [2a5629202f] and [385a5b56b9]). (check-in: 25478dcff5 user: mistachkin tags: winrt)
2012-04-20
16:59
Do not consider a DISTINCT clause redundant unless a subset of the result-set is collectively subject to a UNIQUE constraint and it can be guaranteed that all columns of the subset are NOT NULL (either due to NOT NULL constraints WHERE clause terms). Fix for [385a5b56b9]. (check-in: 7b8548b187 user: dan tags: trunk)
15:24
Fix for [2a5629202f]. When considering whether or not a UNIQUE index may be used to optimize an ORDER BY clause, do not assume that all index entries are distinct unless there is some reason to believe that the index contains no NULL values. (check-in: 9870e4c4fe user: dan tags: trunk)
12:02
Remove obsolete art. (check-in: 372a90e226 user: drh tags: trunk)
08:23
Merge the latest trunk changes into the WinRT branch (fixes various MSVC compiler warnings). (check-in: 294a5cca50 user: mistachkin tags: winrt)
2012-04-19
20:43
Update the apple-osx branch so that it includes all of the latest trunk changes. (check-in: b72f07b4a2 user: drh tags: apple-osx)
20:00
Merge the latest trunk changes into the sessions branch. (check-in: 2b7a91e617 user: drh tags: sessions)
18:04
Fix harmless compiler warnings on x64 MSVC, mostly in test code, but also in tclsqlite.c and in the FTS4 module. (check-in: 3281972eaa user: drh tags: trunk)
17:19
Fix a harmless compiler warning in tclsqlite.c for MSVC x64. Fix a test case associated with the FTS4 merge feature. (check-in: de3f7187eb user: drh tags: trunk)
15:49
Fix harmless compiler warnings (unused parameter warnings) in the aggregate query analyzer. (check-in: 2d43562084 user: drh tags: trunk)
2012-04-18
10:29
Merge build tool updates from trunk. Also, modify MSVC makefile to allow for debugging of build tool issues. (check-in: b2a2fdb0ac user: mistachkin tags: winrt)
10:13
Fix a harmless compiler warning in the mkkeywordhash.c utility program. (check-in: 6015200beb user: drh tags: trunk)
09:59
Fix a typecast problem in lemon that could cause problems on 64-bit machines. (check-in: 4a5641cc0a user: drh tags: trunk)
05:57
Import all the latest trunk changes into the WinRT branch. Refactor and/or remove WinCE-specific macros and functions used for file locking to improve clarity of presentation. (check-in: ad5cd15f49 user: mistachkin tags: winrt)
01:41
Import all the latest trunk changes into the sessions branch. (check-in: 87a0eab5d9 user: drh tags: sessions)
2012-04-17
21:00
When compiling for WinRT, always use the 'appcontainer' linker option. (check-in: 300bcfe311 user: mistachkin tags: winrt)
16:38
Improved handling of aggregate subqueries within an aggregate query. (check-in: 430bb59d79 user: drh tags: trunk)
09:09
Add an undocumented and possibly ephemeral ".breakpoint" command to the command-line shell, to call a no-op routine on which it is convenient to set a symbolic debugger breakpoint. (check-in: 8e2363ad76 user: drh tags: trunk)
2012-04-16
17:22
Fix a bug in the command-line shell logic that attempts to continue with a ".dump" even after encountering database corruption. (check-in: 020b5e90f9 user: drh tags: trunk)
2012-04-14
13:25
In the unix VFS, always set every open file to close-on-exec using either O_CLOEXEC at open (preferred) or FD_CLOEXEC in an ioctl after opening. Before this changes, many files were done this way, but not all. (check-in: 9efbeb11ae user: drh tags: trunk)
11:48
Fix a typo in a comment that is extracted for documentation. No changes to code. (check-in: e87371c508 user: drh tags: trunk)
2012-04-11
23:22
Add a testcase() macro to ensure that the sqlite3AuthCheck() call inside the query flattener really is effective. (check-in: a134e6e739 user: drh tags: trunk)
11:38
Fix harmless static-analysis warnings, mosting having to do with memory leaks in the command-line shell. Add a clang analysis of the command-line shell to the "warnings-clang.sh" script. Other minor cleanups to the command-line shell code. (check-in: 93a0f452a7 user: drh tags: trunk)
2012-04-10
17:53
Add new interfaces to the test_quota.c module: sqlite3_quota_ftruncate(), sqlite3_quota_file_size(), sqlite3_quota_file_truesize(), and sqlite3_quota_file_mtime(). (check-in: 2fa9f54309 user: drh tags: trunk)
16:05
Fix a copy/paste error in a comment in the fuzzer. No changes to code. (check-in: 7433f2b550 user: drh tags: trunk)
2012-04-07
00:09
Fix the application-defined function logic so that functions with a variable number of parameters can be replaced or deleted correctly. Also refactor some of the function-finder code for clarity of presentation. (check-in: 09d5581c81 user: drh tags: trunk)
2012-04-06
00:09
Update sqlite3_analyzer to correctly find all database files when the multiplexor is being used. (check-in: 1bfc30cb0f user: drh tags: trunk)
2012-04-05
20:04
Ignore the value of SQLITE_FCNTL_CHUNK_SIZE if it is negative. (check-in: 1b08fef945 user: drh tags: trunk)
01:37
Performance improvements for the RowSet object when it undergoes many cycles between RowSetInsert and RowSetTest. (check-in: 49d20ede5f user: drh tags: trunk)
2012-04-04
16:56
Add the ".trace" option to the command-line shell. (check-in: b9ac3d7e34 user: drh tags: trunk)
13:58
Fix the multiplexor logging so that it works with SQLITE_ENABLE_8_3_NAMES. (check-in: 9e1e2fe295 user: drh tags: trunk)
13:51
Fix the multiplexor logging so that it works with SQLITE_ENABLE_8_3_NAMES. (Leaf check-in: 627eff32a2 user: drh tags: nx-devkit)
13:47
In the multiplexor extension, improve the error logging when a chunk fails to open. (check-in: e6806f0dc6 user: drh tags: nx-devkit)
13:43
In the multiplexor extension, improve the error logging when a chunk fails to open. (check-in: 781453c686 user: drh tags: trunk)
2012-04-03
19:43
Cherrypick commit [1d5e744cc6] from the trunk in order to avoid leaving a file-descriptor open in test scripts capi3.test and capi3c.test. This is the version of SQLite that ships by default on the original Mountain Lion release. (check-in: 86b8481be7 user: dan tags: apple-osx, mountain-lion)
18:34
Do not run attempt to run test file fts4merge3.test unless the build includes FTS. (check-in: 0506bf86d3 user: dan tags: trunk)
18:33
Modify capi3.test and capi3c.test so that they work with SQLITE_OMIT_AUTORESET builds. (check-in: 1d5e744cc6 user: dan tags: trunk)
17:43
Modify the integrity-check code to reduce the size of the large allocation from 4 bytes to 1 bit for each page in the database file. (check-in: fa3a498dfe user: dan tags: trunk)
17:05
Fix a typo in the rtree6.test script that prevented it from running. (check-in: 221fe4a8ea user: drh tags: trunk)
17:01
Rerun autoconf to update the configure script for version 3.7.12 (check-in: 6d73eb20e8 user: drh tags: trunk)
15:10
If the SELECT that finds all root pages in the showdb fails, then report an error. (check-in: 4b16141501 user: drh tags: trunk)
14:59
Enhance the "showdb" utility program with the "pgidx" option. Now requires linkage with the amalgamation. (check-in: 4b5737014c user: drh tags: trunk)
2012-04-02
23:42
bad assert (check-in: 0c0150f2a3 user: adam tags: apple-osx)
23:35
Merge in latest changes, autologging options, read only file system wal support, test config conditionalization, WAL frame write prebuffering (check-in: d51c086e5c user: adam tags: apple-osx)
21:35
The SQLITE_RTREE_INT_ONLY compile-time option causes the RTree extension to use only integer math and store only integer coordinates. (check-in: 02b7640f51 user: drh tags: trunk)
17:18
Add #ifdefs to allow a test build to succeed even if SQLITE_ENABLE_FTS3 is not defined. (check-in: fb121980e4 user: drh tags: trunk)
2012-03-31
19:12
Fix a compiler warning by removing a redundant variable. (check-in: af602d8773 user: drh tags: trunk)
17:50
Test cases for RELEASE and ROLLBACK TO of a nested savepoint while queries are pending. Ticket [27ca74af3c083] (check-in: d2bf0efa7d user: drh tags: trunk)
17:17
Do not abort pending queries on a RELEASE of a nested SAVEPOINT. This is a candidate fix for ticket [27ca74af3c083f787]. (check-in: 79a4a3a84f user: drh tags: trunk)
15:08
Modify selectColumnsFromExprList() to avoid ever incorrectly returning SQLITE_NOMEM. (check-in: e7cb6b73ac user: dan tags: trunk)
11:58
Change the ICU tokenizer so that it does not attempt to call strlen(NULL). (check-in: 04298f1ac4 user: dan tags: trunk)
09:59
Fix a bug in the EXPLAIN code for listing trigger programs that was causing an out-of-bounds read. (check-in: c9342ca581 user: dan tags: trunk)
02:46
Merge all the latest trunk changes into the apple-osx branch. (check-in: 18ec60cacd user: drh tags: apple-osx)
02:34
Do more aggressive optimization of the AND operator where one side or the other is always false. (check-in: f9a7e179cb user: drh tags: trunk)
2012-03-30
17:30
Merge all recent trunk changes into the sessions branch. (check-in: fb9b9987de user: drh tags: sessions)
16:44
Avoid using the OVERLAPPED struct on WinCE. (check-in: 196ca3a8b0 user: mistachkin tags: trunk)
15:57
Simplify the winRead and winWrite VFS functions to reduce the number of system calls. (check-in: b34491869c user: drh tags: trunk)
15:48
When a named CHECK constraint fails, include the name of the constraint in the error message. (check-in: 1b75f301af user: drh tags: trunk)
14:59
Fix MSVC compiler warnings in test code. (check-in: cb7a850439 user: drh tags: trunk)
14:01
Merge the latest trunk changes into the winrt branch. (check-in: a1a85b846a user: drh tags: winrt)
13:34
Fix an FTS4 test script problem for windows. (check-in: 36aa6665e7 user: drh tags: trunk)
12:27
Simplify the winRead and winWrite VFS functions to reduce the number of system calls. (check-in: 10ce846759 user: mistachkin tags: winrt)
12:10
Change the name of a local variable from "not" to "bNot" to lessen the chances of it colliding with some prior #define in the appliation. (check-in: cbdd863876 user: drh tags: trunk)
00:05
In the ".output" command of the shell, if the first character of the output filename is '|' then use popen() instead of fopen(). (check-in: fa82062c65 user: drh tags: trunk)
00:00
Fix compiler warnings on GCC and MSVC and fix a C89-ism that broke the build for MSVC. (check-in: b451c0f97f user: drh tags: trunk)
2012-03-29
15:11
Merge fts4-incr-merge with trunk. (check-in: 4d6de3e9be user: dan tags: trunk)
14:29
Disable the LIKE optimization if the column on the left-hand-side of the LIKE operator belongs to a virtual table. (check-in: 0bacb879e1 user: dan tags: trunk)
07:51
Fix an out of date comment on sqlite3ArrayAllocate(). (check-in: 4afdd5ae53 user: dan tags: trunk)
2012-03-28
18:08
Do the accounting for incr-merge work in pages instead of blocks. (Closed-Leaf check-in: 83037d5844 user: dan tags: fts4-incr-merge-exp)
16:44
Merge in the latest changes from trunk. (Closed-Leaf check-in: 66c4aaadda user: drh tags: fts4-incr-merge)
16:22
Avoid loading overflow pages just to satisfy typeof() or length() functions if the correct result can be computed without the extra page fetches. (check-in: 0733c98c32 user: drh tags: trunk)
16:14
Minor changes to the core of OP_Column for performance and to clarify the critical path. (Closed-Leaf check-in: 868394761e user: drh tags: faster-typeof-and-length)
15:44
This change turned out to the code slower. Side track it. Was: Tweaks to the OP_Column opcode for clarity of presentation. (Closed-Leaf check-in: 4d516240d2 user: drh tags: mistake)
13:55
Fix a problem in fts4merge3.test. (check-in: 64fc8b30f8 user: dan tags: fts4-incr-merge)
13:41
Improvements to comments. Minor changes to code in the hot path of OP_Column - with the hope of get a few cycles of performance improvement. (check-in: ca09310343 user: drh tags: faster-typeof-and-length)
02:51
Test cases for length() of a large blob in an aggregate query. (check-in: d095fa4bfa user: drh tags: faster-typeof-and-length)
02:43
Fix the typeof() and length() optimization so that it works for aggregates as well as scalar queries. (check-in: bc18215a8a user: drh tags: faster-typeof-and-length)
01:34
Evaluate typeof(X) and length(Y) where X is any column and Y is a blob column without actually loading X and Y from disk. (check-in: b899dbeb60 user: drh tags: faster-typeof-and-length)
2012-03-27
18:00
Add output of PRAGMAs auto_vacuum and encoding to the "schema" command of the fts3view utility program. (check-in: e310763193 user: drh tags: fts4-incr-merge)
15:10
Really delete the fts3merge.test script (should have been deleted by the previous commit). (check-in: 83838149d9 user: dan tags: fts4-incr-merge)
15:00
Remove the fts3merge.test script in favour of changing the fts4merge.test script so that it runs tests using both fts4 and fts3. Fix some problems with incr-merge and FTS3 tables. (check-in: 5c447e226a user: dan tags: fts4-incr-merge)
14:54
In the fts3view utility, label the blank segments used to mark the end of a segment sequence for a level/idx as "null". Improve the alignment of root segment names. (check-in: 04aea0245e user: drh tags: fts4-incr-merge)
13:51
Enhance the fts3view tool with the big-segment command and fix a bug in the display of doclists. (check-in: e9436d8038 user: drh tags: fts4-incr-merge)
13:44
Merge the fts4-incr-merge-exp branch with fts4-incr-merge. (check-in: eb00b95885 user: dan tags: fts4-incr-merge)
11:48
Allow multiple incremental merges to proceed concurrently. This is required to prevent a large crisis-merge from occuring while an even larger incremental-merge is underway. (Closed-Leaf check-in: 7ed9d2f24a user: dan tags: fts4-incr-merge-exp)
00:38
Minor correct errors in the file format description for FTS3/4 contained in the fts3.c header comment. (check-in: fb8aacdd8f user: drh tags: fts4-incr-merge)
00:34
Enhance fts3view to show decodes of segments and doclists. (check-in: 6d09de231b user: drh tags: fts4-incr-merge)
2012-03-26
21:57
Add the fts3view utility program. (check-in: f936c8ea16 user: drh tags: fts4-incr-merge)
14:36
Fix FTS3 so that it works even without SQLITE_DEBUG. (check-in: a18c103121 user: drh tags: fts4-incr-merge)
10:57
Modify the FTS integrity-check so that the checksums do not depend on the results of signed integer overflow, which is undefined in C. (check-in: f907fc3fb3 user: dan tags: fts4-incr-merge)
10:47
Add a comment to explain how the FTS integrity-check works. (check-in: 64e8a116f3 user: dan tags: fts4-incr-merge)
10:36
Add an experimental integrity-check function to FTS. (check-in: 40fc880474 user: dan tags: fts4-incr-merge)
2012-03-25
17:25
Increase the version number to 3.7.12 (check-in: d95f9fb713 user: drh tags: trunk)
2012-03-24
20:09
Add SQLITE_DBSTATUS_CACHE_WRITE to the command-line shell. (check-in: 30b8dd326d user: drh tags: trunk)
20:06
Add SQLITE_DBSTATUS_CACHE_WRITE. Used to query a database connection for the cumulative number of database pages written. (check-in: 05f98d4eec user: drh tags: trunk)
19:44
Add SQLITE_DBSTATUS_CACHE_WRITE. Used to query a database connection for the cumulative number of database pages written. (check-in: 3cb6a879f1 user: dan tags: fts4-incr-merge)
17:29
Enable fts3 tables to use incremental merge by automatically creating the %_stat table when it is needed. (check-in: cc051fc0b2 user: drh tags: fts4-incr-merge)
17:09
Fix a failing assert() in the FTS3_LOG_MERGES related code. (check-in: 4220d52cb3 user: dan tags: fts4-incr-merge)
16:43
Add a comment to fts3SyncMethod() to justify the nMinMerge=64 constant. (check-in: af55ca5fc6 user: dan tags: fts4-incr-merge)
16:18
Fix a bug in debugging code enabled when FTS3_LOG_MERGES is defined. (check-in: 2e06babf49 user: drh tags: fts4-incr-merge)
16:11
Remove the Fts3Table.mxLevel variable. (check-in: 67a0cffc9d user: dan tags: fts4-incr-merge)
14:45
Merge auto-incr-merge with incr-merge branch. (check-in: 1c68687ab6 user: dan tags: fts4-incr-merge)
14:45
Modify the way the number of leaves written and the maximum relative level are calculated in the auto-incr-merge code. (Closed-Leaf check-in: 0d841c957c user: dan tags: fts4-auto-incr-merge)
02:20
An attempt at automatic incremental merging for FTS4. (check-in: ed69434cd8 user: drh tags: fts4-auto-incr-merge)
2012-03-23
18:26
Fix a spurious SQLITE_CONSTRAINT error that may be returned by an incr-merge operation. (check-in: ed7c17ea16 user: dan tags: fts4-incr-merge)
15:38
Add a test to verify that sqlite3_total_changes() works with incr-merge operations. (check-in: 1c72cecc6b user: dan tags: fts4-incr-merge)
14:38
Remove an incorrect assert() statement. Fix a const-related warning. (check-in: 96ed47493b user: dan tags: fts4-incr-merge)
14:23
When an incremental blob cursor is invalidated (occurs when an SQL statement modifies or deletes the row the blob cursor points to) release all page references held by the cursor. Otherwise, the presence of these references may cause other code in btree.c to incorrectly infer that the database is corrupt. (check-in: 341b703ce1 user: drh tags: trunk)
13:40
Fix another test case issue in trace2.test. (check-in: 02a8e4236c user: dan tags: fts4-incr-merge)
12:28
Update MSVC makefile to support compiling for WinRT using one setting. (check-in: c10794bfac user: mistachkin tags: winrt)
11:09
When an incremental blob cursor is invalidated (occurs when an SQL statement modifies or deletes the row the blob cursor points to) release all page references held by the cursor. Otherwise, the presence of these references may cause other code in btree.c to incorrectly infer that the database is corrupt. (check-in: 82c3f2ba42 user: dan tags: fts4-incr-merge)
11:07
Update a couple of existing test cases. (check-in: dcb8fa0f77 user: dan tags: fts4-incr-merge)
2012-03-22
17:48
Add test cases to fts4merge.test. (check-in: ecab208333 user: dan tags: fts4-incr-merge)
16:48
Following an incr-merge operation that does not completely consume its input segments, store context in the rowid==1 row of the %_stat table that allows the next incr-merge to pick up where the previous left off. (check-in: ab0a4f44fb user: dan tags: fts4-incr-merge)
12:50
Always quote the names of tables in the output of the shell's ".dump" command, even if the name is pure alphabetic text, in case the name is a keyword. (check-in: 638b711502 user: drh tags: trunk)
2012-03-21
14:34
Add fts4merge3.test, for testing that older versions of FTS4 may interoperate with incr-merge capable versions. (check-in: 903ec5126d user: dan tags: fts4-incr-merge)
2012-03-20
17:04
Merge trunk changes into the fts4-incr-merge branch. (check-in: f61d5fb028 user: drh tags: fts4-incr-merge)
15:10
Remove the _SafeInit() entry points from the TCL interface. They have long been no-ops. Removing them completely avoids confusion as to why they don't work. (check-in: 0fb26c7bfa user: drh tags: trunk)
11:35
Version 3.7.11 (check-in: 00bb9c9ce4 user: drh tags: trunk, release, version-3.7.11)
03:10
Fix out-of-bounds array references in the "echo" virtual table module used for testing. No changes to the SQLite core. (check-in: 7b449b301e user: drh tags: trunk)
02:18
Add WinRT comments to MSVC makefile. (check-in: ddea657bd8 user: mistachkin tags: winrt)
02:10
Remove version information from the MSVC makefile as it is no longer necessary. (check-in: 6f0c1f9761 user: mistachkin tags: winrt)
2012-03-19
23:32
Merge updates from trunk. (check-in: 4ab1ffd45d user: mistachkin tags: winrt)
23:28
Fix typo, use the syscall table for osOutputDebugStringA. (check-in: 9598c2a398 user: mistachkin tags: winrt)
17:42
Add additional test cases to e_insert.test. Update evidence marks. no changes to core code. (check-in: 036395c0a8 user: drh tags: trunk)
16:21
Merge latest trunk changes into apple-osx branch. (check-in: f999197b75 user: dan tags: apple-osx)
14:57
Fix one more compiler warning missed by the previous check-in. (check-in: bc03d99a78 user: drh tags: trunk)
14:51
Suppress harmless compiler warnings on windows in FTS4 and RTREE. (check-in: 4fd68647c8 user: drh tags: trunk)
14:28
Avoid a compiler warning (an incorrect compiler warning, at that) in vs2010. (check-in: 7dd97f12cd user: drh tags: trunk)
11:17
Merge the latest trunk changes into the sessions branch. (check-in: 2277c70b6f user: dan tags: sessions)
10:21
Ensure that compatible malloc and free functions are used with stat3 data if SQLITE_ENABLE_STAT3 is defined. (check-in: 32bb1ecee4 user: dan tags: trunk)
2012-03-18
03:22
On Windows, when no temporary path is available, skip prepending the directory separator. (check-in: 32b5c20e54 user: mistachkin tags: winrt)
01:32
Add SQLITE_OMIT_SHUTDOWN_DIRECTORIES compile-time option to disable clearing the sqlite3_data_directory and sqlite3_temp_directory variables during sqlite3_shutdown. Also, only clear the variables if the heap was actually shutdown. (check-in: 1ae9f9e4f7 user: mistachkin tags: winrt)
2012-03-17
16:56
Fix various incorrect and missing comments and other style issues in and around the FTS incremental merge code. (check-in: 7aabb62c8c user: dan tags: fts4-incr-merge)
15:12
In pager1.test, use "file attr test.db -readonly 0" before "file attr test.db -perm rw-rw-rw-", not after. (check-in: 4f5283f18f user: dan tags: trunk)
09:43
Modify a test in ioerr2.test to account for the new SQLITE_ABORT_ROLLBACK extended error code. (check-in: affaebde10 user: dan tags: trunk)
2012-03-16
17:00
Update the trace2.test script for languageid. (check-in: a11528ac57 user: drh tags: trunk)
16:52
Cherrypick the [3475092cff] fix for 32-bit overflow with large language-ids into trunk. (check-in: 2755edc7f1 user: drh tags: trunk)
15:54
Fix some integer overflow problems that can occur when using large langauge id values. (check-in: 3475092cff user: dan tags: fts4-incr-merge)
14:54
Add a comment to the FTS getAbsoluteLevel() function. No actual code changes. (check-in: 7e0f861bed user: dan tags: fts4-incr-merge)
10:28
Reset the sqlite3_data_directory and sqlite3_temp_directory variables when the sqlite3_shutdown function is called since they may refer to memory allocated by the heap subsystem that was just shutdown. (check-in: cd70bc4b78 user: mistachkin tags: winrt)
00:28
Fix harmless compiler warnings. (check-in: 74eadeec34 user: drh tags: trunk)
2012-03-15
22:54
Add the sqlite3_db_readonly() API to trunk. (check-in: fed134a5f3 user: drh tags: trunk)
21:28
Add the sqlite3_db_readonly() interface. This is still tentative, pending a closer look at other ideas to accomplish the same thing. (Closed-Leaf check-in: 254f99ea9f user: drh tags: db-readonly-api)
17:45
Modify incremental merge code to merge nMin segments at a time. (check-in: cd34bc1af4 user: dan tags: fts4-incr-merge)
03:40
Add SQLITE_WIN32_HEAP_CREATE compiler define to control whether or not the Win32 native allocator will create an isolated heap for all allocated data. (check-in: 8693fb652e user: mistachkin tags: winrt)
2012-03-14
23:08
Fix macro issues for osGetProcessHeap and sqlite3_win32_write_debug. (check-in: d3d071598a user: mistachkin tags: winrt)
20:20
Fix typos, use #if instead of #ifdef when checking for the Win32 native heap validation define. (check-in: 845aa46f69 user: mistachkin tags: winrt)
20:17
Avoid redefining macros. Enable use of the Win32 native heap on WinRT. Use the syscall table to call OutputDebugStringW and fix type casting warnings. (check-in: 46c412a8f6 user: mistachkin tags: winrt)
20:01
Add tests for incremental merge code. (check-in: 570473729d user: dan tags: fts4-incr-merge)
12:17
Avoid allocating a large object on the stack in the incremental merge code. Use sqlite3_malloc() instead. (check-in: 36ae510de4 user: dan tags: fts4-incr-merge)
11:51
Fix another bug in the incremental merge code. (check-in: f97b12e095 user: dan tags: fts4-incr-merge)
03:41
Remove SQLITE_OS_WINRT setting from MSVC makefile. (check-in: df4caf1326 user: mistachkin tags: winrt)
01:28
Add warning to the docs about changing the data directory when a database connection is open. (check-in: c07cd85ca9 user: mistachkin tags: winrt)
00:44
Add experimental support for resolving relative database file paths using a fixed user-defined directory. (check-in: 7354ae8fd3 user: mistachkin tags: winrt)
2012-03-13
19:56
Fix some bugs in the incremental merge code. Some remain. (check-in: bff2168370 user: dan tags: fts4-incr-merge)
03:38
Add assert to verify the number of characters to write in sqlite3_win32_write_debug. (check-in: 8083f6164f user: mistachkin tags: winrt)
03:35
Defer creation of the sleep event object until it is needed. Added sqlite3_win32_write_debug and sqlite3_win32_sleep APIs to assist in portability to WinRT. (check-in: 7af88ad306 user: mistachkin tags: winrt)
01:30
Cleanup the Windows syscall table, removing the unused CreateFileMapping entry. (check-in: fb7d8bf6ec user: mistachkin tags: winrt)
01:16
More changes required to compile for WinRT using VS 11 beta. Also, replace more APIs with their WinRT alternatives. (check-in: 6b997d9c32 user: mistachkin tags: winrt)
2012-03-09
22:02
Candidate fix for the optimizer problem described in ticket [b7c8682cc17f3] which can causes a LEFT JOIN to be changed into a INNER JOIN if there are OR terms in the WHERE clause. (check-in: 0dc4cb9355 user: drh tags: trunk)
12:52
Minor commenting and stylistic changes only. (check-in: a1747086c5 user: drh tags: fts4-incr-merge)
2012-03-08
20:39
Merge test current directory value fix from trunk and fix uri tests. (check-in: 88963c33c1 user: mistachkin tags: winrt)
20:28
On Windows, make sure the returned test current directory value does not contain any backslashes. (check-in: efee39e64b user: mistachkin tags: trunk)
20:22
Merge and manually resolve testing updates from trunk. (check-in: 5eecdb44dd user: mistachkin tags: winrt)
20:00
On Windows, make sure the current directory value used by the test suite is 'normalized' to what the parent command shell sees. Also, clean the test directories used by the quota2.test file. (check-in: 82bcd7ec15 user: mistachkin tags: trunk)
18:39
Add the 'merge=?,?' command to fts4. This still needs some work. (check-in: 741b8f8977 user: dan tags: fts4-incr-merge)
2012-03-07
20:11
When compiled for WinRT, use the CreateFile2 and LoadPackagedLibrary functions instead of CreateFile and LoadLibrary. (check-in: 27d6942ca2 user: mistachkin tags: winrt)
19:13
If a CHECK constraint is named, report that name on the error message when the constraint fails. (Closed-Leaf check-in: 9a0f90d9de user: drh tags: named-check-constraints)
16:52
Merge in the latest trunk changes. (check-in: ca4708531a user: drh tags: winrt)
2012-03-06
03:00
Fix for test issues when there is no current directory support due to being compiled for WinRT. (check-in: a811cb0152 user: mistachkin tags: winrt)
2012-03-05
22:52
Add compile-time define to indicate if the VFS supports the concept of a current directory (as WinCE and WinRT do not). Avoid using the GetTempPath and GetFullPathName APIs on WinRT. Some tests still need adjustments. (check-in: 86c049a171 user: mistachkin tags: winrt)
16:39
Pull in all the latest trunk changes. (check-in: 504bf49086 user: drh tags: apple-osx)
16:26
Merge in the latest trunk changes. (check-in: ff86875ca3 user: drh tags: sessions)
16:24
Fix a problem compiling the test code in fts3_test.c when SQLITE_ENABLE_FTS3 is not defined. (check-in: b00ccda307 user: dan tags: trunk)
15:33
Merge the fts4-languageid branch with the trunk. (check-in: 99a9073b5e user: dan tags: trunk)
2012-03-04
02:56
When creating the event used to sleep on WinRT, request the minimum access rights required for the desired operations on it (i.e. SYNCHRONIZE). (check-in: ed603d7594 user: mistachkin tags: winrt)
2012-03-03
18:46
Add the xLanguageid method to sqlite3_fts3_tokenizer versions 1 and greater. (Closed-Leaf check-in: f8e9c445dd user: dan tags: fts4-languageid)
13:15
When compiled for WinRT, avoid using MapViewOfFile and GetFileAttributes. Also, reset the private 'sleep' event handle when the VFS is cleaned up. (check-in: 38df8fc1b4 user: mistachkin tags: winrt)
01:44
Add a test case for ticket [3557ad65a076c]. (check-in: 4f34d7077b user: drh tags: trunk)
00:34
Fix a bug [3557ad65a07] that causes incorrect DISTINCT processing on an indexed query involving the IN operator. (check-in: dec9a995d7 user: drh tags: trunk)
2012-03-02
23:53
When compiled for WinRT, avoid using the FORMAT_MESSAGE_ALLOCATE_BUFFER flag to FormatMessage (i.e. because LocalFree is unavailable). (check-in: 9eb331be7e user: mistachkin tags: winrt)
22:41
Fix test pragma-19.5 so that it works on file names that may contain spaces and/or backslashes. (check-in: 9aaa1ab7c6 user: mistachkin tags: trunk)
22:38
When running on Windows with an NT-based kernel, always use the LockFileEx/UnlockFileEx functions (with the correct flags). (check-in: 3e7ba3ddb9 user: mistachkin tags: winrt)
20:34
Remove an obsolete comment from FTS3. No code changes. (check-in: 74d224b144 user: drh tags: trunk)
19:53
Fix problems with combining content= and languageid= in a single fts4 table. (check-in: 22491e7bc3 user: dan tags: fts4-languageid)
16:18
Add test for FTS 'rebuild' command. (check-in: 181bc35731 user: dan tags: fts4-languageid)
13:47
Add new Win32 APIs used to the system call table. Add error handling code for SetFilePointerEx. Make sure the last error number is saved from the call to GetFileInformationByHandleEx. (check-in: a782d2dc3c user: mistachkin tags: winrt)
12:26
Fix the FTS 'optimize' command on multi-lingual databases. (check-in: 65fa693729 user: dan tags: fts4-languageid)
11:48
Fix a bug in merging FTS language tables for languages other than language 0. (check-in: d281cb8984 user: dan tags: fts4-languageid)
00:00
Omit all ANSI APIs for winRT. (check-in: cbf23b461f user: drh tags: winrt)
2012-03-01
22:44
Use GetInformationByHandleEx() instead of GetFileSize() on winRT. (check-in: 119f251de7 user: drh tags: winrt)
22:33
Do not run the large file tests if a file named "skip-big-file" exists in the test directory. This enables tests to be run much faster on systems that lack sparse file support. (check-in: 5a83912352 user: drh tags: winrt)
22:06
Use SetFilePointerEx() instead of SetFilePointer() on winRT. (check-in: 36efafc618 user: drh tags: winrt)
21:30
Fix a typo in the header comment of sqlite3_commit_hook(). (check-in: 3784d1475b user: drh tags: trunk)
21:19
Use WaitForSingleObjectEx() as a substitute for Sleep on winRT. (check-in: bf897be0da user: drh tags: winrt)
20:05
Add recognition of the SQLITE_OS_WINRT compile-time option. Use InitializeCriticalSectionEx() under winRT. (check-in: 8b7ca8a09f user: drh tags: winrt)
19:44
Add the "languageid=" option to fts4. This code is still largely untested and alsmost certainly buggy. (check-in: bea257f70f user: dan tags: fts4-languageid)
19:14
Add back in some #includes that were removed incorrectly by the previous check-in. (check-in: 718905367f user: drh tags: winrt)
18:16
Remove unused #defines from os.h. (check-in: c0891296b4 user: drh tags: winrt)
2012-02-28
17:57
Fix spurious errors that may occur if an empty database is opened and then initialized as a WAL database by a second connection. (check-in: 16330a2f72 user: dan tags: trunk)
11:52
Fix a case where an error code was being overwritten in multiplexDelete(). (check-in: c267893a08 user: dan tags: trunk)
2012-02-27
14:28
Fix the xDelete implementation of the multiplexor VFS so that it correctly deletes overflow WAL files. (check-in: e44e26771e user: drh tags: trunk)
2012-02-24
16:13
Separate multiplexor overflow pages for -wal and -journal files into separate namespaces when in 8+3 filename mode. (check-in: d6850667ea user: drh tags: trunk)
15:57
Fix the multiplexor so that it works with WAL mode and 8+3 filenames. (check-in: a9fcb46bc0 user: drh tags: trunk)
14:33
Add #ifdef SQLITE_ENABLE_ZIPVFS around those bits of code that are only used by ZIPVFS. (check-in: 3130275c64 user: drh tags: trunk)
00:03
If the SQLITE_FCNTL_PRAGMA file control returns something other than SQLITE_NOTFOUND, then skip the rest of Pragma code generation. (check-in: 9e6d340f55 user: drh tags: trunk)
00:02
A simple change that allows the SQLITE_32BIT_ROWID compile-time option to work better. (check-in: f9df4063fb user: drh tags: trunk)
2012-02-23
17:35
Fix an obscure bug that causes a crash when parsing certain invalid SQL statements. (check-in: c8c7846fb9 user: drh tags: trunk)
16:45
Fix a typo made inside an assert() statement in the previous commit. (check-in: f0640615f2 user: dan tags: trunk)
15:35
Add the sqlite3PagerWalFramesize() function to pager.c. This is used by zipvfs. (check-in: 786e24dc56 user: dan tags: trunk)
14:28
Expose the sqlite3_stricmp() interface. Add the SQLITE_FCNTL_PRAGMA file control. (check-in: c539cf21ef user: drh tags: trunk)
2012-02-22
20:08
Move test logic for SQLITE_FCNTL_PRAGMA out of os_unix.c and into test_vfs.c. (Closed-Leaf check-in: c81fc40b2b user: drh tags: file-control-pragma)
19:56
If the SQLITE_FCNTL_PRAGMA file-control returns anything other than SQLTIE_NOTFOUND and SQLITE_OK, then treat the result as an error. (check-in: 5643618108 user: drh tags: file-control-pragma)
19:03
Disable the "filename" pragma implemented by os_unix.c except when compiled with SQLITE_TEST. (check-in: 9a1da91850 user: drh tags: file-control-pragma)
18:21
Make benign any malloc failures inside the sqlite3_file_control() call within PRAGMA parsing. Add a couple simple tests for SQLITE_FCNTL_PRAGMA. (check-in: a1f29fa653 user: drh tags: file-control-pragma)
16:58
Change the SQLITE_FCNTL_PRAGMA file-control so that it can return a string value. (check-in: fd8d744027 user: drh tags: file-control-pragma)
14:45
Begin adding support for SQLITE_FCNTL_PRAGMA. (check-in: 5be07904ba user: drh tags: file-control-pragma)
2012-02-21
18:35
Avoid redefining NDEBUG if the fuzzer is included in an amalagmated source file. (check-in: f8ac826f95 user: drh tags: trunk)
18:00
Prevent the fuzzer from ever returning a string longer than 100 bytes. (check-in: 969095ca30 user: dan tags: trunk)
14:11
Further fuzzer test cases. Fix a case in the fuzzer where an error code was being dropped. (check-in: 8b77d3953f user: dan tags: trunk)
10:36
Add further test cases and minor fixes for the fuzzer. (check-in: 583dde93a9 user: dan tags: trunk)
2012-02-20
22:44
Updates to the instructions in the header comment of the fuzzer implementation. New test cases for the fuzzer. (check-in: bf1dc7907c user: drh tags: trunk)
20:03
Change the way the fuzzer (test_fuzzer.c) works so that it loads its configuration from a database table. (check-in: 90b7b957f8 user: dan tags: trunk)
19:36
Fix a case in test_fuzzer.c causing transformations from the wrong ruleset to be applied in some cases. (check-in: cb5f5ebc56 user: dan tags: trunk)
2012-02-14
18:56
Increase the maximum ruleset id in the fuzzer from 50 to 2^31-1. (check-in: 760e009adc user: drh tags: trunk)
15:34
Enhance the fuzzer virtual table to support multiple rule sets. (check-in: a82938731b user: drh tags: trunk)
2012-02-13
21:24
Merge the non-blocking ROLLBACK changes into trunk. (check-in: 9c572d424a user: drh tags: trunk)
20:28
Fix a harmless compiler warning introduced by the previous check-in. (check-in: a8a042a751 user: drh tags: trunk)
20:16
On unix, ignore the umask when creating journal files. That way, journal files will have exactly the same permissions as the original database and any process that has permission to write to the database can also recover hot journals. (check-in: 84b324606a user: drh tags: trunk)
17:01
Add the new SQLITE_ABORT_ROLLBACK extended error code to be returned for statements that are cancelled due to a rollback. (Closed-Leaf check-in: 549f4fd00d user: drh tags: nonblocking-rollback)
16:43
Change the ROLLBACK command so that pending statements to not block it. The pending statements instead return SQLITE_ABORT upon next access. Note: This causes separate shared-cache connections in read_uncommitted mode to abort as well. (check-in: 9b66c79e05 user: drh tags: nonblocking-rollback)
13:44
Generalize the interrupt mechanism so that individual statements can be interrupted and so that codes other than just SQLITE_INTERRUPT can be returned as a consequence of an interrupt. (Closed-Leaf check-in: 922bcbb423 user: drh tags: generalize-interrupt)
10:00
Changes to various test scripts so that veryquick.test runs with OMIT_COMPOUND_SELECT defined. (check-in: 76bb649ee2 user: dan tags: trunk)
08:50
Fix a typo in the type of the fchown() function in os_unix.c. (check-in: bfbfe05b81 user: dan tags: trunk)
2012-02-11
23:55
Make fchown() an overrideable system call in os_unix.c. (check-in: 98efac9630 user: drh tags: trunk)
22:19
Cleanup some directories and files left by the MinGW build, even when using the MSVC Makefile. (check-in: 3ab89e255d user: mistachkin tags: trunk)
21:56
Revise the preprocessor directives used to handle malloc.h and _msize, in order to detect and handle the MSVC special-case automatically. (check-in: 90e73dc368 user: mistachkin tags: trunk)
21:21
Silence GCC compiler warnings about unused return value from fchown(). (check-in: b022547389 user: drh tags: trunk)
19:53
Another attempt to fix warnings in the randomFunc() function. (check-in: 768df4e116 user: drh tags: trunk)
19:23
When creating journal files (including -wal and -shm files) try to set the ownership to be the same as the original database. This will prevent root from locking out the original owner of the file. (check-in: 1254dffe40 user: drh tags: trunk)
18:51
Remove a redundant test from the shared-memory logic in os_unix.c. (check-in: 31142ca795 user: drh tags: trunk)
2012-02-10
20:43
Fix a warning coming from the Solaris Studio compiler. (check-in: 33294bbd17 user: drh tags: trunk)
18:18
Pull the latest trunk changes into the apple-osx branch. (check-in: e248598649 user: drh tags: apple-osx)
17:54
Pull all the latest trunk changes into the sessions branch. (check-in: 361fb66a79 user: drh tags: sessions)
17:38
Disable the ability to have multiple values in the VALUES clause of an INSERT statement when SQLITE_OMIT_COMPOUND_SELECT is used. (check-in: 92131195d0 user: drh tags: trunk)
03:10
Fix an important bug in the handling of EINTR in unixRead(). Never came up on x86 but crashes on sparc. (check-in: 1a16db0bca user: drh tags: trunk)
01:25
Fix a boundary case for the integer affinity routine for non-x86 processors. (check-in: bea05ddddf user: drh tags: trunk)
2012-02-08
12:13
Add an autoconf test for malloc.h and use the results of that test to conditionally #include the malloc.h header file. (check-in: 16a471129d user: drh tags: trunk)
2012-02-07
14:22
Port the command-line shell enhancements including the new --cmd option to the nx-devkit branch. (check-in: 81ce52afb1 user: drh tags: nx-devkit)
14:13
Command-line shell enhancements: Reorganize the "usage" comment so that options are in alphabetical order. Add the new "--cmd" option. Allow either "--option" or "-option" for options. (check-in: 9497893b1b user: drh tags: trunk)
2012-02-02
21:02
More structure packing for smaller objects and less memory usage. (check-in: f14e7f29ff user: drh tags: trunk)
19:37
Reduce the size of the MemPage object by about 32 bytes. Other structure size optimizations. (check-in: 21695c3476 user: drh tags: trunk)
18:46
When non-aggregate columns occur in an aggregate query with a single min() or max(), then the values of the non-aggregate columns are taken from one of the rows that was the min() or max(). (check-in: fa13edd39c user: drh tags: trunk)
18:42
Fix a problem with NULL handling in aggregate min/max when returning values from the row containing the min or max. (Closed-Leaf check-in: f27c7b4fb1 user: drh tags: output-minmax-row)
17:35
For queries of the form "SELECT p, max(q) FROM t1", the value of column p returned is the one on the same row that holds the maximum value of q. (check-in: adb29232b6 user: drh tags: output-minmax-row)
15:50
Data structure cleanup. Remove unused fields. Rearrange other files for tighter packing and reduced memory usage. (check-in: 0bc594e861 user: drh tags: trunk)
03:38
Simplified array allocation in the IdList and AggInfo objects. (check-in: 25df2a7458 user: drh tags: trunk)
03:11
Fix a possible segfault after an OOM fault. This has been in the code for ages but only expressed itself following the previous check-in. (check-in: a3553b8a03 user: drh tags: trunk)
01:58
Remove the nAlloc field from the ExprList object. (check-in: 5963de303a user: drh tags: trunk)
2012-02-01
19:03
Very small performance enhancement and reduction in size of the sqlite3_stmt object. (check-in: a38d57a4e5 user: drh tags: trunk)
01:13
Fix ALTER TABLE RENAME so that it correctly handles triggers that attach to the table using the name in a different case. Ticket [ae6794effd404]. (check-in: 0d78ebb8e4 user: drh tags: trunk)
2012-01-31
23:34
Fix a compiler warning in FTS4. (check-in: b4cad1ce78 user: drh tags: trunk)
14:24
Futher pedantic fixes to the sqlite3_uri_boolean() interface. (check-in: 77b3430de6 user: drh tags: trunk)
13:35
Improvements to the documentation for sqlite3_uri_boolean(). (check-in: b0a161791d user: drh tags: trunk)
05:11
Change a comment in test script backup.test. (check-in: 313546b456 user: dan tags: trunk)
2012-01-30
18:40
Bring the documentation and implementation of sqlite3_uri_boolean() into closer agreement. Ticket [5f41597f7c9c] (check-in: 7b053d699f user: drh tags: trunk)
18:00
Fix compiler warnings in the TCL test harness. (check-in: c4cd38a0c7 user: drh tags: trunk)
16:13
Do not rely on the _WIN32_WINNT macro as vs2005 does not define it by default. Instead, always assume winNT unless the makefile explicitly sets SQLITE_OS_WINNT=0. (check-in: 4f0997c7fa user: drh tags: nx-devkit)
16:02
Do not rely on the _WIN32_WINNT macro as vs2005 does not define it by default. Instead, always assume winNT unless the makefile explicitly sets SQLITE_OS_WINNT=0. (check-in: 1ce4d21d52 user: drh tags: trunk)
2012-01-28
21:08
Update the .dump command of the command-line shell so that it (1) avoids putting the semicolon of a DDL statement on the same line as a comment, (2) avoids long expression, even when dumping a table with many columns, and (3) avoids unnecessary quoting of the table name. This fixes tickets [c04a8b8a4f] and [232637c465]. Shell change only; no changes to the SQLite core. (check-in: e6eea8d50d user: drh tags: trunk)
19:44
Remove a couple of unnecessary nonterminals from the grammar. (check-in: 2b2a7d8d73 user: drh tags: trunk)
19:41
Add support for IF NOT EXISTS on CREATE VIRTUAL TABLE. (check-in: 230983e86a user: drh tags: trunk)
15:26
Update the version number to 3.7.11 and rerun autoconf. (check-in: 6f9b265dd0 user: drh tags: trunk)
15:22
Add support for multiple rows of VALUES in an INSERT statement. (check-in: eb3b6a0ceb user: drh tags: trunk)
2012-01-25
22:08
Cherrypick the FTS fix in [c05c3fd20d9] into the nx-devkit branch. Ticket [edb497982c]. (check-in: 2a7170f03c user: drh tags: nx-devkit)
20:43
Only invalidate the schema when the OP_ParseSchema opcode fails, not on any general failure of a vdbe program. (check-in: 11f68d997d user: drh tags: trunk)
16:29
Fix an FTS problem triggered by querying for an N character prefix using an N+1 character prefix index after rows have been deleted from the FTS table. Fix for [edb497982c]. (check-in: c05c3fd20d user: dan tags: trunk)
2012-01-24
10:08
Changes to the async-io module so that the xFileControl method returns SQLITE_NOTFOUND when a file-control is not recognized and so that it adds the second nul-terminator byte to filenames passed to the xOpen method of the underlying VFS. (check-in: 7036886e83 user: dan tags: trunk)
2012-01-20
15:05
Cherrypick the fix from [629108c8e5376f989] into the nx-devkit branch. (check-in: d7374568cb user: drh tags: nx-devkit)
2012-01-19
16:57
Make the use and function of SQLITE_DYNAMIC clearer. Add assert() statement to help ensure that SQLITE_DYNAMIC is not misused. (check-in: ab80f2c3b2 user: drh tags: trunk)
2012-01-18
18:22
Avoid overriding the malloc_usable_size symbol using the C preprocessor as this might be confusing the build on some systems. (check-in: bbaec351dd user: drh tags: trunk)
12:46
Add the SQLITE_WITHOUT_MSIZE and SQLITE_WITHOUT_ZONEMALLOC macros in mem1.c to disable the use of _msize() on windows and the zone memory allocator on Apple products, respectively. (check-in: 238e35a441 user: drh tags: trunk)
01:14
Remove a redundant assignment from the VM. (check-in: d0dabe2f37 user: drh tags: trunk)
01:09
Fix typo in comment. (check-in: 199edb6869 user: mistachkin tags: trunk)
2012-01-17
15:29
Remove the undocumented PRAGMA omit_readlock hack. (check-in: 96900c47e4 user: drh tags: trunk)
2012-01-16
16:56
Enhance the command-lin shell to interpret CSV files as described by the wikipedia article on CSV. (check-in: 93aa17d866 user: drh tags: trunk)
16:39
Test the fts4 content and prefix options together. (check-in: de11cd5cc9 user: dan tags: trunk)
13:28
Version 3.7.10 (check-in: ebd01a8def user: drh tags: trunk, release, version-3.7.10)
13:00
Rebuild the configure script using autoconf 2.68 since autoconf 2.65 (previously used) appears to build incorrect scripts for Mac. (check-in: 9da1cd0a06 user: drh tags: trunk)
12:33
Support building with SQLITE_ENABLE_SESSION under MSVC. (check-in: 2845654d42 user: mistachkin tags: sessions)
2012-01-14
14:13
Merge the latest trunk changes into the apple-osx branch. (check-in: 2cc414cd14 user: drh tags: apple-osx)
13:50
Update sessions branch with latest changes from trunk. (check-in: 01c84fd391 user: dan tags: sessions)
03:34
Make sure the EXTERN macro is properly defined when building targets that require it (e.g. on MinGW). (check-in: 88ad2f23c5 user: mistachkin tags: trunk)
00:42
In the multiplexor routine that determines the size of an overflow file, return 0 and leave the error code unchanges if there were prior errors. This prevents some I/O errors from going unreported in nx-devkit tests. (check-in: 6da0821a47 user: drh tags: trunk)
2012-01-13
16:48
Fix documentation typos. No changes to code. (check-in: 0b857613e2 user: drh tags: trunk)
16:16
Add the -uri option to the usage comment that is printed by the "sqlite3" TCL command when an unknown command-line option is supplied. (check-in: 7987e28578 user: drh tags: trunk)
15:50
Update the documentation for the sqlite3_uri_*() routines to make it clear that there argument must be a database filename passed into xOpen(). No changes to code. (check-in: 08230a3a8c user: drh tags: trunk)
15:21
Fix backup2.test so that it passes on OpenBSD (which produces a slightly different error message in one case). (check-in: 227cfe11c4 user: dan tags: trunk)
14:50
Do not throw an error from within test_journal.c if a database file size is not an integer multiple of the page-size. (check-in: 3f4899a923 user: dan tags: trunk)
10:51
Omit test file zerodamage.test from the inmemory_journal permutation. (check-in: 0c0051b1a5 user: dan tags: trunk)
10:04
Fix test case issues related to errors in file-controls and the PSOW flag. (check-in: 5afbcd49f9 user: dan tags: trunk)
2012-01-12
16:41
Fix issues in test cases so that they work with DEFAULT_AUTOVACUUM defined. And with a small default cache-size. (check-in: a298465c39 user: dan tags: trunk)
15:05
Fix typos in a testcase() macro introduced by the previous commit. (check-in: 0467742fd6 user: dan tags: trunk)
14:25
Remove some assert() statements that can fail with corrupt databases. (check-in: 7654ae71bd user: dan tags: trunk)
2012-01-11
16:16
Remove code made unreachable by the enhancement of the previous check-in. (check-in: 9e31a275ef user: drh tags: trunk)
15:47
Make the pager less vulnerable to problems caused by shifting sector sizes when rolling back a hot journal. (check-in: 629108c8e5 user: drh tags: trunk)
11:20
Fix the sqlite3_quota_file() function in test_quota.c so that it adds the second nul-terminator to all file names that will be passed to a VFS xOpen method. (check-in: 3013f9a67c user: dan tags: trunk)
01:01
Prevent winOpenSharedMemory from masking the real return code from its call to winOpen. Also, add asserts to check the double-zero termination of database file names. (check-in: 93a65776dc user: mistachkin tags: trunk)
00:38
Make sure filenames handed to the VFS by the fake_big_file test procedure are double-zero terminated. (check-in: d0a868607e user: drh tags: trunk)
2012-01-10
23:18
Only require double-zero terminators on database filenames, not any every files supplied to the xOpen method. This backs out [2544f233f1]. Also refactor the fillInUnixFile() routine in os_unix.c to reduce the number of parameters. (check-in: cb774b26e1 user: drh tags: trunk)
17:59
Refactor sqlite3OsFileControlNoFail() into sqlite3FileControlHint(). (check-in: 722735a4f3 user: drh tags: trunk)
17:28
Avoid passing strings with a single nul-terminator (two are required) to the VFS xOpen() method from within the code that checks to see if a master-journal file may be safely deleted. (check-in: 2544f233f1 user: dan tags: trunk)
16:56
Add function sqlite3OsFileControlNoFail(), which is the same as sqlite3OsFileControl() except that it does not simulate OOM errors. This saves adding calls to the BenignMalloc() functions around each of the invocations of sqliteOsFileControl() that ignore the return code. (check-in: af59b182d7 user: dan tags: trunk)
16:40
Check the return code from sqlite3OsFileControl() in sqlite3BtreeCopyFile() and report any errors that it generates. (check-in: 7f852ac643 user: drh tags: trunk)
00:24
Remove the BenignMalloc() from around the call to FCNTL_OVERWRITE. Add new ones around sqlite3OsDelete(). Fix an assert that causes problems for the nx-devkit. (check-in: 38bc4236d5 user: drh tags: trunk)
2012-01-09
14:57
Cherry-pick the fix to surplus overflow files in the multiplexor, check-in [1238619756c0c] in the trunk. (check-in: 2f8c62c337 user: drh tags: nx-devkit)
14:19
Cosmetic changes to lemon. No changes to core functionality nor impact on SQLite. (check-in: 393fc78a18 user: drh tags: trunk)
13:41
Make sure the multiplexor does not create unnecessary overflow files. (check-in: 1238619756 user: drh tags: trunk)
11:37
Have test_multiplex.c add a second nul-terminator byte to the strings that it passes to the xOpen method of the underlying VFS, in case that VFS passes the string to sqlite3_uri_parameter() or similar. (check-in: 12f5b8c9c9 user: dan tags: trunk)
2012-01-08
22:18
Fix typos in commands. Combine the ExpandBlob and expandBlob macros into one. (check-in: fc9179e154 user: drh tags: trunk)
12:32
Make sure the shared-memory filename sythesized by os_win.c is double-zero terminated, so that it can be used with sqlite3_uri_parameter(). (check-in: 429380f99c user: drh tags: trunk)
00:54
Fix harmless compiler warning seen with MSVC. (check-in: 9612bcd648 user: mistachkin tags: trunk)
2012-01-07
15:17
Fix a bug in lemon in computation of which non-terminals can generate an empty string. This bug and the fix make absolutely no difference for the grammar used by SQLite, but it can make a difference when lemon is used in other grammars. (check-in: ce32775b23 user: drh tags: trunk)
2012-01-06
13:58
Add missing finish_test to the end of the zerodamage.test module. Disable the zerodamage module if virtual tables are omitted from the build. (check-in: d2a5685b5e user: drh tags: trunk)
2012-01-05
23:32
Combine various boolean variables in the BtShared structure into a single boolean vector. Also make performance improvement simplifications to sqlite3BtreeMovetoUnpacked(). (check-in: 119493318e user: drh tags: trunk)
21:19
Make sure the name of the shared memory file has two zero-terminators in the UNIX VFS, so that sqlite3_uri_parameter() will work correctly on that name. (check-in: 3d088ba5e3 user: drh tags: trunk)
18:33
Fix an incorrect assert() on the sqlite3FileSuffix3() function. (check-in: 24db54bd49 user: drh tags: trunk)
16:07
Change the unix VFS so that it ignores all but the least-significant bit of the syncDir flag to xDelete. Add an assert to prove that the core only ever uses that one bit. (check-in: e75fd3b274 user: drh tags: trunk)
13:02
Merge all of the latest trunk changes into the sessions branch. (check-in: a9bcb432f5 user: drh tags: sessions)
12:38
Ensure 8-byte alignment of Index.aiRowEst elements even if the size of an Index object is not a multiple of 8 bytes. (check-in: 1378f905d3 user: drh tags: trunk)
11:43
Remove the SQLITE_FCNTL_SYNC_OMITTED cases from the unix and windows VFSes as they are no longer needed because of check-in [fd3822f1f2]. (check-in: 7cf568a101 user: drh tags: trunk)
2012-01-04
12:57
Fix typos and comments and make minor changes to a few function names, as suggested by readership. (check-in: e9d05cbb76 user: drh tags: trunk)
2012-01-03
21:54
Pull all the latest trunk changes over into the apple-osx branch. (check-in: 8a048423f0 user: drh tags: apple-osx)
21:33
Experimental changes to prevent buffer overreads when parsing a corrupt database file. (Closed-Leaf check-in: 9e5add51ee user: drh tags: no-overread)
14:50
Make sure filenames passed into sqlite3OsOpen() always have the extra zero-terminators needed by sqlite3_uri_parameter(). (check-in: d73e93cfdc user: drh tags: trunk)
2012-01-02
18:20
Remove the code that attempts to find the sector size from the OS and hardcode the xSectorSize methods of the unix and windows VFSes to return SQLITE_DEFAULT_SECTOR_SIZE, which is now set to 4096 unless overridden. (check-in: 03d8362cd2 user: drh tags: trunk)
18:00
Change page quantities in pcache1.c to unsigned. (check-in: da52e6e8b4 user: drh tags: trunk)
16:38
Remove an incorrect assert() in btree.c. (check-in: c1691d998a user: drh tags: trunk)
15:45
Make sure large negative arguments to PRAGMA cache_size do not cause 32-bit signed integer overflow. Also correct a requirements mark. (check-in: 17c30634a7 user: drh tags: trunk)
14:50
Have SQLITE_FCNTL_SYNC_OMITTED use the normal method of returning an error code. (check-in: fd3822f1f2 user: dan tags: trunk)
12:41
Fix the build so that it works when SQLITE_ENABLE_8_3_NAMES=1. (check-in: d9761f15a1 user: drh tags: trunk)
2012-01-01
13:58
Tweaks to improve testability. (check-in: e3a929e431 user: drh tags: trunk)
2011-12-31
21:51
Fix typos in comments. No changes to code. (check-in: 6827338ecb user: drh tags: trunk)
10:18
Add calls to the BenignMalloc() functions around the SQLITE_FCNTL_OVERWRITE call in backup.c. (check-in: 3e0833dbb7 user: dan tags: trunk)
2011-12-30
18:16
Add calls to the BenignMalloc() functions around the SQLITE_FCNTL_SIZE_HINT call in pager.c. (check-in: c17a3f5e5d user: dan tags: trunk)
16:16
Fix a typo in the documentation for PCACHE2. No changes to code. (check-in: 46e7903ab9 user: drh tags: trunk)
16:09
Change dbstatus.test to account for the fact that the value reported by DBSTATUS_SCHEMA_USED may be slightly lower than the actual memory used on osx (check-in: 6f2010c862 user: dan tags: trunk)
16:07
Fix up requirements marks for syntax diagrams to reflect the new and improved GIF renderings. (check-in: 1bb23a3b52 user: drh tags: trunk)
15:17
Update the text of requirements associated with sqlite3_pcache_methods2. Update requirements marks embedded in code. All of the above are comment changes only; there are no changes to code in this check-in. (check-in: f945c41a72 user: drh tags: trunk)
11:43
Hold the database handle mutex for the duration of sqlite3_db_release_memory(). (check-in: eeaf298800 user: dan tags: trunk)
10:54
Minor changes to fix compilation with SQLITE_OMIT_WAL and SQLITE_OMIT_WSD defined. (check-in: 26a513a8d2 user: dan tags: trunk)
09:00
Change an implicit i64-to-int cast in pager.c to an explicit cast. (check-in: 6a71ba9ce9 user: dan tags: trunk)
05:08
Fix some typos in comments. No code changes. (check-in: 4edc5994b2 user: dan tags: trunk)
2011-12-23
20:49
Documentation updates. No changes to code. (check-in: a8a1a639fe user: drh tags: trunk)
13:32
Avoid excess syncs when padding a transaction in a WAL. (check-in: 1f24ae716d user: drh tags: trunk)
11:07
Fix a problem with [f9c4a7c8f4] as applied to this branch. (Leaf check-in: e6a04bf9f1 user: dan tags: branch-3.7.6)
02:07
Merge the POWERSAFE_OVERWRITE features and the use of statvfs() from the statvfs branch into trunk. (check-in: 2370d70eb5 user: drh tags: trunk)
01:04
Change the name ZERO_DAMAGE to the more descriptive POWERSAFE_OVERWRITE. The query parameter used to control this device characteristic is now "psow". (Closed-Leaf check-in: 6191c5e451 user: drh tags: statvfs)
00:25
Merge the latest trunk changes into the statvfs branch. (check-in: d5e36327c1 user: drh tags: statvfs)
00:07
Add interfaces sqlite3_uri_boolean() and sqlite3_uri_int64() which are wrappers around sqlite3_uri_parameter() combined with internal routines for converting strings to booleans and 64-bit integers. (check-in: 83d26b9a91 user: drh tags: trunk)
2011-12-22
18:44
Backport the fixes for Coverity-discovered problems in [1c27d84216], [676acce274], and [f9c4a7c8f4] from trunk to the 3.7.6 branch. (check-in: a61786e760 user: drh tags: branch-3.7.6)
17:31
Fix minor issues with FTS and RTREE discovered by coverity. (check-in: 1c27d84216 user: drh tags: trunk)
17:10
Check the return code from sqlite3_initialize() called from within sqlite3_soft_heap_limit64() and return an error from sqlite3_soft_heap_limit64() if sqlite3_initialize() fails. (check-in: 676acce274 user: drh tags: trunk)
15:30
Fix a problem in fts3_write.c causing stack memory to be referenced after it is out of scope. (check-in: f9c4a7c8f4 user: dan tags: trunk)
02:10
Merge recent trunk changes into the statvfs branch. (check-in: 995ec8a41a user: drh tags: statvfs)
01:46
Remove a redundant assignment operator. (check-in: 19a6852a1e user: drh tags: statvfs)
2011-12-21
23:38
Cherry-pick the SQLITE_DIRECT_OVERFLOW_READ fix for ticket [ac0ff496b7e] of changes [c5256b59ad] and [c723e3e18a] into the nx-devkit branch. (check-in: 42f31f190a user: drh tags: nx-devkit)
18:04
Fix other problems where 32-bit integer overflow may cause a problem. Two that require an improbably large sub-journal and two in test harness code. Ticket [ac0ff496b7e2] (check-in: c723e3e18a user: dan tags: trunk)
17:00
Avoid 32-bit overflow when calculating the byte offset of an overflow page in SQLITE_DIRECT_OVERFLOW_READ code. Fix for [ac0ff496b7]. (check-in: c5256b59ad user: dan tags: trunk)
14:42
Add the ability to enable or disable SQLITE_IOCAP_ZERO_DAMAGE using a URI parameter for both unix and windows. Add a file-control to query or disable the ZERO_DAMAGE setting. Add the -uri option to the "sqlite3" TCL command in tclsqlite3.c. Allow the sqlite3_uri_parameter() interface to accept a NULL pointer for its first parameter. (check-in: c83627b732 user: drh tags: statvfs)
2011-12-20
22:18
Remove the code that tries to detect OOO header writes on a WAL recovery. The code is made obsolete by syncing the WAL header. (check-in: 7ac713a14e user: drh tags: statvfs)
20:13
Refactor the sqlite3WalFrames() routine for clarity of presentation. Do the padded transaction sync as the write pointer crosses the final sector boundary instead of at the end, for efficiency. Always sync the WAL header immediately after it is written. (check-in: 92c73b421b user: drh tags: statvfs)
13:13
Assert that the isCommit parameter to sqlite3WalFrames() is zero if and only if the nTruncate parameter is zero. (check-in: 979daf92e0 user: drh tags: trunk)
2011-12-19
15:46
Add test for WAL mode to unixexcl.test. (check-in: 4d518bd480 user: dan tags: trunk)
11:57
Merge [21b76af6ed] into statvfs branch. (check-in: e694f7b166 user: dan tags: statvfs)
11:16
Fix a couple of test cases to account for the master-journal name related change in [cf3bccc2]. (check-in: 21b76af6ed user: dan tags: trunk)
10:07
Modify test cases to account for the ZERO_DAMAGE change. (check-in: 68684495f1 user: dan tags: statvfs)
00:31
Some fixes to the test suite so that it works with ZERO_DAMAGE set to true. Still lots more problems remain. (check-in: 41891b231e user: drh tags: statvfs)
2011-12-17
20:02
For improved clarity of presentation, refactor some of the code associated with ZERO_DAMAGE and sector-size. (check-in: 1dde96c9ee user: drh tags: statvfs)
19:49
Add SQLITE_IOCAP_ZERO_DAMAGE and enable it for both unix and windows. Use this device characteristic to reduce the required work in journaling. A side effect is that this changes the default page exists back to 1024 even with the use of statvfs(). (check-in: a0be6ea464 user: drh tags: statvfs)
16:25
Fix a bad #endif with the previous check-in on this branch. (check-in: 915713ffe4 user: drh tags: statvfs)
16:09
Add support for statvfs() in os_unix.c, for determining the sector size. This causes many TCL test failures under Linux. (check-in: e0d44450b9 user: drh tags: statvfs)
13:45
Merge in changes that cause the first sector of the WAL file to be synced when the WAL restarts. This is a fix for the power-loss corruption problem described in ticket [ff5be73dee086] (check-in: 44ca4d1233 user: drh tags: trunk)
08:10
Add tests to walcrash3.test. (check-in: d768804280 user: dan tags: trunk)
01:31
Make sure the Salt-1 value in the WAL file is sequentially numbered at each checkpoint, as it says it should be in the documentation. (check-in: 7b63b11b93 user: drh tags: trunk)
2011-12-16
21:26
Enhance the WAL header sync so that it honors the various synchronous pragmas, settings, and device characteristics. (Closed-Leaf check-in: 9799241f7d user: drh tags: wal-header-sync)
19:34
Proposed changes that ensure that the WAL header is written prior to the first commit mark. (check-in: 91d0437c07 user: drh tags: wal-header-sync)
17:01
Add code for a test that was failing before the persistent-wal related changes of [09ccc4a1be]. (check-in: 49d21ce50f user: dan tags: trunk)
15:38
Merge the fix for [a1fa75cbdd02] from the experimental branch. Also fix the persistent-wal mode feature of truncating the WAL on close so that it always truncates the WAL to zero bytes. (check-in: 09ccc4a1be user: drh tags: trunk)
15:11
Improved logging of master-journal name conflicts. (check-in: b1005ef46c user: drh tags: trunk)
13:42
Merge the nx-devkit changes into trunk. (check-in: cf3bccc2e9 user: drh tags: trunk)
13:24
Experimental fix for [a1fa75cbdd]. (Closed-Leaf check-in: 6492af76ea user: dan tags: experimental)
05:50
Tweaks to the way multiplexSubOpen() works, for backwards compatibility. (check-in: bb40338887 user: drh tags: nx-devkit)
05:09
Fix a potential infinite loop (inserted by the previous check-in) on the multiplexWrite() method of the multiplexor. (check-in: 022bf427c2 user: drh tags: nx-devkit)
04:57
The xTruncate method for the multiplexor now changes surplus overflow files to zero-length by default. Or if the "truncate" query parameter is used, it actually deletes the surplus overflow files. This allows VACUUM to shrink the database again. (check-in: 5aefef04d6 user: drh tags: nx-devkit)
01:30
Call sqlite3_log() with an appropriate message if unable to find a unique master-journal filename. (check-in: e9177f7d4e user: drh tags: nx-devkit)
01:21
A better solution to being unable to find a unique master-journal filename: just delete an existing master-journal and reuse it. (check-in: 2685c2b949 user: drh tags: nx-devkit)
00:33
Make sure the antipenultimate character of master-journal filenames is a "9" in order to avoid collisions with other files in 8+3 filename mode. Also, limit the number of attempts at finding a unique master-journal filename. (check-in: 34a0483605 user: drh tags: nx-devkit)
2011-12-15
17:44
Add stdio support to the quota VFS. (check-in: 322bd15f97 user: drh tags: trunk)
17:42
Use _commit() rather than FlushFileBuffers() as a substitute for fsync() on windows. Also cast for C++ and add support for SQLITE_FCNTL_VFSNAME. (Closed-Leaf check-in: e85cfe9a17 user: drh tags: quota-stdio)
17:00
When deleting a file with the multiplexor VFS, also delete any overflow files that exist. (check-in: 3af1feaa35 user: dan tags: nx-devkit)
13:29
Make sure the chunksize in test_multiplex does not cause the pending byte to fall near the end of a chunk. Adjust the chunksize upward as necessary to prevent this. (check-in: e05f8a2998 user: drh tags: nx-devkit)
11:45
Fix some problems with dropped error codes in multiplexOpen(). (check-in: 2d50f78188 user: dan tags: nx-devkit)
02:22
In the multiplexor, do not try to delete overflow files that do not exist. And assume all but the last overflow file is the size of the chunk size. (check-in: a822a80d3c user: drh tags: nx-devkit)
2011-12-14
18:33
Merge the nx-devkit changes into trunk. This includes the new SQLITE_FCNTL_VFSNAME file-control. (check-in: da118e02c0 user: drh tags: trunk)
18:28
Merge the VFSNAME file-control addition into the nx-devkit branch. (check-in: 08c1dc517c user: drh tags: nx-devkit)
17:53
Add a file-control that will discover the name of the bottom-level VFS and all the shims in between. (Closed-Leaf check-in: cdbfb553af user: drh tags: vfsname-filectrl)
01:38
Improvements to comments. No code changes. (check-in: 08bbbd8e38 user: drh tags: nx-devkit)
00:37
Treat a zero return value from the Win32 APIs MultiByteToWideChar and WideCharToMultiByte as an error condition. (check-in: c65e5a36f1 user: mistachkin tags: trunk)
00:04
Harden the utf8-to-mbcs converter in the quota module against failures. (check-in: 1cda511deb user: drh tags: quota-stdio)
2011-12-13
23:26
Enhancements to test_quota.c: Remove the external dependency on sqlite3_win32_utf8_to_msbc(). Add an extra parameter to quota_fflush() that will also do an fsync (or the equivalent). (check-in: 92f4188f90 user: drh tags: quota-stdio)
19:03
Add a hard limit to the number of chunks a multiplexed database may consist of if ENABLE_8_3_NAMES is defined. (check-in: 43a1264088 user: dan tags: nx-devkit)
18:22
Change the SQLITE_EXTRA_INIT routine to take a single argument which is a pointer to a string. Call SQLITE_EXTRA_INIT with a NULL argument. Fixes to multiplexor to treat the VFS properly in corner cases. Fix the initialization of multiplex3.test. (check-in: 8e65b91325 user: drh tags: nx-devkit)
16:40
Add extra tests for the multiplexor VFS. No changes to code. (check-in: c7de6f683d user: dan tags: nx-devkit)
15:37
Merge the nx-devkit changes into trunk. (check-in: 03a70c3dae user: drh tags: trunk)
15:25
Update the multiplex.test script to conform to that found in the "experimental" branch off of trunk. (check-in: 2eb79efbff user: drh tags: nx-devkit)
15:02
Move the multiplexor changes in the experimental branch (check-ins [255d21499b] and [199f52bced]) into the nx-devkit branch. (check-in: eb95d2f72c user: drh tags: nx-devkit)
12:10
This branch merged with nx-devkit and from there into trunk. Was: In the multiplexor, instead of generating a unique file-name when SQLite opens a temp file, allow the underlying VFS to generate a different temp file for each chunk. Given the changes to the xFileSize method, it is no longer necessary for the different chunks of a temp file to use the same base name. (Closed-Leaf check-in: 199f52bced user: dan tags: experimental)
11:15
Change the way IO errors are handled in the xFileSize method of the multiplexor VFS. Add test file multiplex3.test. (check-in: 255d21499b user: dan tags: experimental)
04:08
When an sqlite3_auto_extension() function fails, report back its actual error code, not the generic SQLITE_ERROR. (check-in: ce55f250f5 user: drh tags: nx-devkit)
02:41
When the multiplexor FileSize procedure fails to open the file, assume that the file is zero bytes in size. (check-in: dc8118cd89 user: drh tags: nx-devkit)
01:34
Add a compile-time shutdown procedure to be called by sqlite3_shutdown() to undo the effects of the compile-time initialization procedure. (check-in: c2ed86f594 user: drh tags: nx-devkit)
2011-12-12
20:01
Backport a minimal set of changes needed to get 8+3 filenames and the multiplexor shim playing well together. (check-in: c4e2ce4862 user: drh tags: nx-devkit)
19:48
Fix os_unix.c so that, unless 8.3 filenames are actually in use, journal and wal file permissions are assigned correctly even if SQLITE_ENABLE_8_3_NAMES is defined. (check-in: 169e12295c user: dan tags: trunk)
19:47
Make sure the quota logic is usable as C++. (check-in: f4534bd302 user: drh tags: quota-stdio)
18:55
Change the multiplexor VFS so that xTruncate is a no-op on database files. (check-in: ee1e012256 user: dan tags: trunk)
18:21
Fix for the xFileSize method of test_multiplex.c when used on a file opened with the DELETEONCLOSE flag set. (check-in: 713071c493 user: dan tags: trunk)
16:51
Add magic comments to shell.c to make it easier for scripts to insert additional version information displays for custom builds. (check-in: 9b2691aa91 user: drh tags: trunk)
2011-12-11
22:44
In the multiplexor shim, when using 8+3 filenames, begin numbering journal overflow files with 101 instead of 001 to avoid name collisions with the main database file. (check-in: 05bf8a0b17 user: drh tags: trunk)
21:51
Update comments describing the flattening optimization in select.c. (check-in: dab4c137a8 user: drh tags: trunk)
02:30
Fix STAT3 so that it works with the new uninitialized register logic of the VDBE. Ticket [7bbfb7d4422ff] (check-in: d11a57985c user: drh tags: trunk)
02:29
Fix harmless compiler warnings. (check-in: 1e6a698aab user: drh tags: trunk)
2011-12-10
23:18
Minor cleanups of the compound-subquery flattening logic. New test cases added for joins the compound subquery. (check-in: 5061d85ff9 user: drh tags: trunk)
17:17
Allow UNION ALL compounds to be promoted up to replace a simple wrapper SELECT even if the compounds are joins. (check-in: 3d4b4f4fb7 user: drh tags: trunk)
15:55
Import the experimental parse-tree explainer, with fixes, from the tree-explain branch. Disabled by default. Use SQLITE_ENABLE_TREE_EXPLAIN to turn it on. (check-in: bcbc7152d4 user: drh tags: trunk)
14:44
Merge the latest trunk changes into tree-explain branch. (Closed-Leaf check-in: 1a360da0f8 user: drh tags: tree-explain)
13:49
Always use _msize() to get memory allocation sizes on windows, without having to do anything special in the makefile. (check-in: 256e27bd11 user: drh tags: trunk)
2011-12-09
18:06
Change the VDBE so that all registers are initialized to "Invalid" instead of NULL and report errors on any attempted read of an Invalid register. This will help prevent future bugs similar to [7bbfb7d442]. (check-in: 0064bab771 user: drh tags: trunk)
17:51
Remove an unnecessary condition. (Closed-Leaf check-in: d9ba023c60 user: drh tags: uninit-vdbe-mem)
17:38
Remove an unnecessary initialization of Vdbe.aOnceFlag. (check-in: 421714dad3 user: drh tags: uninit-vdbe-mem)
17:27
Take out the OP_JumpOnce opcode. Revert compound SELECT to use OP_IfNot, which is the correct behavior. Mark trigger registers as initially invalid. (check-in: 6a9fb47d50 user: drh tags: uninit-vdbe-mem)
16:59
Previous check-in broke auto-increment. This check-in appears to fix it. (check-in: 28ffd39c71 user: drh tags: uninit-vdbe-mem)
16:21
Make no assumptions about the initial state of VDBE registers. (check-in: 521d72bdf6 user: drh tags: uninit-vdbe-mem)
13:24
Modify the OP_Once opcode so that it works correctly in trigger sub-programs. This is a candidate fix for [7bbfb7d442]. (check-in: 557c69055a user: dan tags: trunk)
05:52
The Windows OS flavor #ifdefs must be performed after the 'windows.h' file has been included. (check-in: 3702a31e56 user: mistachkin tags: trunk)
2011-12-08
21:08
Merge the latest trunk changes into the apple-osx branch. (check-in: 59e0d4f3d9 user: drh tags: apple-osx)
20:41
Hand merge the zone allocator for MacOS from the apple-osx branch. (check-in: 0d955c20c0 user: drh tags: trunk)
19:50
In persistent WAL mode, truncate the WAL file to the size specified by the journal_size_limit pragma when disconnecting from the WAL. (check-in: 9687b305c2 user: drh tags: trunk)
03:51
Follow the previously established pattern for detecting preprocessor defines for specific flavors of Windows (for NT in this case). (check-in: a0d92193dd user: mistachkin tags: trunk)
2011-12-07
22:49
Additional detail added to the tree-explain output for SELECT statements. (check-in: 7b457ea455 user: drh tags: tree-explain)
15:33
More compact notation for the parse-tree view. (check-in: 0eb3f8b1e3 user: drh tags: tree-explain)
01:55
Cherrypick the [7e5b56b1c6] fix for the sqlite3SelectDup() routine into trunk. (check-in: 7fc535090c user: drh tags: trunk)
01:47
Bug fix in sqlite3SelectDup(). Make sure the pNext pointer is valid. (check-in: 7e5b56b1c6 user: drh tags: tree-explain)
01:23
Improvements to the data-structure explain subsystem. Most queries now give a reasonably detailed graph of their parse tree. (check-in: 0aa7d3d234 user: drh tags: tree-explain)
2011-12-06
19:44
Begin adding the data-structure explaining subsystem. All is contained within (check-in: 79ae51c5b1 user: drh tags: tree-explain)
13:46
Add file tkt-3a77c9714e.test, containing tests to verify that the problem documented by ticket [3a77c9714e] has been fixed. (check-in: 162421dadf user: dan tags: trunk)
13:24
Do not reuse temp registers originally allocated to a subroutine within the main body of the program logic, since if the subroutine is called while the reused temp registers are in use, their values will get clobbered. Candidate fix for ticket [3a77c9714e63330] (check-in: 092d53315e user: drh tags: trunk)
00:47
Merge the winGetLastError fixes into trunk. (check-in: 5b03ba9db0 user: drh tags: trunk)
2011-12-03
00:13
Add the sqlite3_quota_fflush() interface. Enhance sqlite3_quota_remove() so that it can remove entire directories. (check-in: abcb65af4c user: drh tags: quota-stdio)
2011-12-02
15:31
One minor documentation enhancement. (check-in: 8cfd3575c8 user: drh tags: quota-stdio)
15:27
Documentation improvements and additional test cases. (check-in: fa71896089 user: drh tags: quota-stdio)
2011-12-01
22:12
Run quota-stdio tests in binary mode so that they work on windows. (check-in: 71e4e97d9c user: drh tags: quota-stdio)
22:07
Progress toward getting things to work better on windows. (check-in: 253dd7072e user: drh tags: quota-stdio)
20:48
Add test logic and some test cases. (check-in: a4730586cc user: drh tags: quota-stdio)
18:44
Add stdio-like I/O interfaces to the test_quota VFS. This is a prototype change for discussion and is mostly untested. This is an alternative to adding stdio-like I/O interfaces in the core. There is no guarantee that this code will make it into the trunk. If it does get to trunk, there could be many changes to the interface first. (check-in: bd3ce723f1 user: drh tags: quota-stdio)
02:32
Add a prototype implementation of stdio-like routines for accessing the VFS. This is intended as documentation. The code is untested. There is no guarantee that any of this will ever make it into trunk. Substantial revision is possible prior to reaching trunk, if it ever does. (Closed-Leaf check-in: 8936542b22 user: drh tags: vfs-stdio)
2011-11-29
15:40
Remove unused fields from the Parse object. Documentation and formatting improvements on data structure definitions. (check-in: 431556cac0 user: drh tags: trunk)
15:04
Remove unused boolean fields from the UnpackedRecord object. (check-in: b10d091ec0 user: drh tags: trunk)
14:46
Removed the unused "type" field from the CollSeq (collating sequence) object. (check-in: ab89b047e8 user: drh tags: trunk)
2011-11-25
21:51
Update the version number to 3.7.10. (check-in: ed0151ba83 user: drh tags: trunk)
17:51
Fix a typo in the documentation for sqlite3_stmt_busy(). (check-in: 7812626d1d user: drh tags: trunk)
17:21
Add the sqlite3_stmt_busy() interface. (check-in: 95cc4af686 user: drh tags: trunk)
2011-11-21
00:54
Cleanup the semantics surrounding use of the GetLastError function on Windows. (Closed-Leaf check-in: 7e657bbb80 user: mistachkin tags: winGetLastError)
2011-11-18
13:10
Change the multiplexor to use a 3-digit suffix. (check-in: 0b7edc4475 user: drh tags: trunk)
2011-11-17
11:49
Improvements to the documentation of the sqlite3_db_filename() interface. (check-in: 1c45b2a0c0 user: drh tags: trunk)
11:43
Restore the test for sqlite3OsFullPathname() failure that was mistakenly removed when [ceee03c79a] was backed out by [69ec53fc1c]. (check-in: 4d3cf9e1d8 user: drh tags: trunk)
00:56
Add the sqlite3_db_filename() interface. (check-in: 93a947989b user: drh tags: trunk)
2011-11-16
23:29
Back out the [ceee03c79a] change. (check-in: 69ec53fc1c user: drh tags: trunk)
19:29
Add the sqlite3_db_release_memory() interface and the shrink_memory pragma. (check-in: 3f58e7c889 user: drh tags: trunk)
18:08
Merge the PCACHE2 changes into trunk. (check-in: 457513f21f user: drh tags: trunk)
17:32
Change the multiplexor suffix from 2 to 3 digits. (Closed-Leaf check-in: 06e0cdaf91 user: drh tags: 3-digit-multiplex-suffix)
16:23
Remove code made obsolete by the changes to index processing that allow range search on the rowid. (check-in: a5418c7fc2 user: drh tags: trunk)
15:41
Fix an invalid assert() statement added by [3b58f5f066]. (check-in: 888b09dd8f user: dan tags: trunk)
15:27
Where possible, take advantage of the rowid at the end of index records to optimize range constraints (<, >, <=, >=) on the rowid column. (check-in: 3b58f5f066 user: dan tags: trunk)
08:18
Update memsubsys1.test to account for the recently increased size of the MemPage structure in btreeInt.h. (check-in: 4fb3ca756a user: dan tags: trunk)
2011-11-14
12:34
Further work on mmap(). Still does not work right - autovacuum tests are the first to fail. (Closed-Leaf check-in: 638a39bbaa user: drh tags: mmap-experimental)
03:00
Forward port the 8-byte alignment fix from branch-3.7.9. (check-in: ebf6eb6ed7 user: drh tags: trunk)
02:53
Fix a 8-byte alignment problem that causes a SIGBUS on Sparc. (check-in: 54cc119811 user: drh tags: branch-3.7.9)
01:55
Begin making experimental changes to use mmap() for reading content from a database. The code compiles, but crashes on the test suite. (check-in: 09be42d5fa user: drh tags: mmap-experimental)
2011-11-13
21:44
Add a version number to the sqlite3_pcache_methods2 object. Other PCACHE2 documentation improvements. (Closed-Leaf check-in: 9f839ac05a user: drh tags: experimental-pcache)
2011-11-12
23:10
Attempt to modify btree.c so that it assumes that calls to sqlite3PagerWrite() will reallocate the page buffer. As there is not good way to test this assumption yet, probably a few spots were missed. (check-in: ceee03c79a user: drh tags: experimental-pcache)
16:46
Remove a couple of incorrect assert statements so that the test suite will run with -DSQLITE_DEFAULT_CACHE_SIZE=0. (check-in: 87614b62ac user: drh tags: trunk)
15:41
Merge the windows xSyscall enhancements into trunk. (check-in: c1fab9aca1 user: drh tags: trunk)
03:17
Make sure to flag benign malloc failures in the Windows VFS as such. Expand use of the DO_OS_MALLOC_TEST to cover the VFS functions that can now return an out of memory error. Support an experimental --match option to the test suite that will run only those tests matching the specified pattern. (Closed-Leaf check-in: 76dec8aa9d user: mistachkin tags: winSyscall)
2011-11-11
23:51
Catch and report errors from sqlite3OsFullPathname(). (check-in: 77119785c8 user: drh tags: trunk)
23:31
Remove use of malloc and free from the Windows VFS. Also, prevent sqlite3BtreeOpen from assuming that sqlite3OsFullPathname cannot fail. (check-in: 8966ec1797 user: mistachkin tags: winSyscall)
22:08
Work in progress to implement the 'syscall' functionality for Windows. (check-in: ed88fb0024 user: mistachkin tags: winSyscall)
14:12
Pull over all the latest changes from trunk. (check-in: 1bbbf8574a user: drh tags: experimental-pcache)
00:27
Make sure a corrupt index does not cause a buffer overread in sqlite3VdbeRecordCompare(). (check-in: 471cf0d8e7 user: drh tags: trunk)
2011-11-10
21:45
Expand passing of a last error argument to the getLastErrorMsg function. Also, remove unused SQLITE_W32_THREADS define. (check-in: 8f28797984 user: mistachkin tags: trunk)
20:21
In winAccess, save the Win32 last error value prior to invoking user logging callback. Also, explicitly pass the Win32 last error value to winLogError in order to keep it accurate. Fixes a problem reported on the mailing list. (check-in: 32ab365715 user: mistachkin tags: trunk)
02:39
Follow-on to the previous check-in to prevent a division by zero if the lookahead slot size is something goofy like 6 on a 32-bit machine. (check-in: 6bda711f93 user: drh tags: experimental-pcache)
02:24
Use sqlite3MallocSize() to get the actual size of the memory allocation used for lookaside cache and increase the size of the cache to use the full allocation. (check-in: 0e53ecad94 user: drh tags: experimental-pcache)
2011-11-09
18:07
Omit an unnecessary Sleep() call in windows pending-lock retry logic. Enhance the comment on that logic to discourage people from copying it into other VFSes. (check-in: 0c951a9704 user: drh tags: trunk)
17:01
When compiling with MSVC, use the _msize function. (check-in: 797a147934 user: mistachkin tags: experimental-pcache)
16:12
Minor changes needed to restore full branch test coverage. (check-in: bc10a75357 user: drh tags: experimental-pcache)
14:23
A negative value N for the cache_size pragma adjusts the number of cache pages to use approximately N kibibytes of memory. (check-in: b3faa680ae user: drh tags: experimental-pcache)
01:53
For the mem1.c system malloc implementation, use the malloc_usable_size() function if the HAVE_MALLOC_USABLE_SIZE macro is defined. Update autoconf to look for that function when configuring. (check-in: 2e8ab3cedf user: drh tags: experimental-pcache)
00:06
Update the API documentation for the new pcache2 interface. Change the order of parameters on the xCreate method of pcache2. (check-in: 4da7095683 user: drh tags: experimental-pcache)
2011-11-08
20:08
Experimental change to the pcache interface to allow page buffers to be allocated separately from their associated container structures. (check-in: c275c9d323 user: dan tags: experimental-pcache)
15:06
Cherrypick the [5dbfaed8c3] patch so that SQLITE_OMIT_WAL works again. (Closed-Leaf check-in: a499ae3835 user: drh tags: omit-wal-fix)
2011-11-07
18:16
Make the unix VFS tolerant of read() calls that return less than the requested number of bytes. (check-in: a210695abc user: drh tags: trunk)
17:54
Amplify the restriction on commit-hooks that they cannot recursively run SQL on the same database connection. (check-in: 4fe5b73115 user: drh tags: trunk)
16:46
Add a makefile target for tclsqlite3.c to Makefile.in. (check-in: f521b6b7e4 user: drh tags: trunk)
13:05
Change the default file format from 1 to 4. This means that, unless PRAGMA legacy_file_format=ON is used first, new databases will not be readable by versions prior to 3.3.0 (2006-01-10). (check-in: a35f52b1ad user: drh tags: trunk)
2011-11-06
05:06
Move function sqlite3PagerClearCache() out of the "ifndef SQLITE_OMIT_WAL" block and into an "ifndef SQLITE_OMIT_VACUUM" block. (check-in: 5dbfaed8c3 user: dan tags: trunk)
2011-11-04
14:36
Update the xfer optimization code so that the xfer optimization can be used with INTEGER PRIMARY KEY ON CONFLICT ... as long as the destination table is initially empty. Improvements to the comments on the xfer optimization. New test cases added. (check-in: e3f368cd5e user: drh tags: trunk)
12:05
Change a memcpy() in sqlite3FileSuffix() to memmove() on the grounds that the source and destination may overlap. (check-in: 5e1d247e5b user: dan tags: trunk)
10:37
Add a missing va_end() macro to fts3.c. (check-in: e6f825748a user: dan tags: trunk)
02:24
Use mkdir() and rmdir() rather than open() and unlink() to create the lock files with the unix-dotlock VFS. The change is backwards compatible and, we are told, works better on some network filesystems. (check-in: e2f08426d7 user: drh tags: trunk)
00:35
Enhance the shell so that the ".schema" command works with case insensitive LIKE patterns even with PRAGMA cache_sensitive_like=ON. (check-in: b06bf3b360 user: drh tags: trunk)
00:23
Make sure the INSERT INTO ... SELECT statement works correctly even when the destination table contains an INTEGER PRIMARY KEY ON CONFLICT... column. Ticket [676bc02b87176125]. (check-in: 6f9898db7f user: drh tags: trunk)
2011-11-01
15:45
If the read() system call in unix returns fewer bytes than expected, retry it until it either returns zero or an error. (Closed-Leaf check-in: 7225663477 user: drh tags: retry-short-reads)
00:52
Version 3.7.9 (check-in: c7c6050ef0 user: drh tags: trunk, release, version-3.7.9)
2011-10-31
19:59
Fix a problem with sqlite3_backup_step() that resulted from a faulty merge. (check-in: dacdec78d0 user: drh tags: apple-osx)
19:34
Fix the os_unix.c source file so that it will build as part of an amalgamation on non-apple platforms. (check-in: b2f7639c8f user: drh tags: apple-osx)
14:42
Pull the latest trunk changes into the apple-osx branch. (check-in: 4fa9ee7947 user: drh tags: apple-osx)
14:34
Merge in all changes found in the version 3.7.9 release candidate. (check-in: 23580718e1 user: drh tags: sessions)
12:25
Fix a typo in a comment. No code changes. (check-in: 6635cd9a77 user: drh tags: trunk)
11:36
Add new file ext/fts3/README.content, describing the experimental FTS4 content option. (check-in: 13a9d085e1 user: dan tags: trunk)
06:52
Update fts3fault.test to account for the sqlite3_errmsg() related changes in [8f88cc4e61] and [dcb7879347]. (check-in: 3f2d49c678 user: dan tags: trunk)
2011-10-29
19:25
Update fkey_malloc.test to account for the sqlite3_errmsg() related changes in [8f88cc4e61] and [dcb7879347]. (check-in: 5b82ec6fbb user: dan tags: trunk)
15:29
Add a test for [48f29963] that does not depend on FTS. (check-in: fb15f5458e user: dan tags: trunk)
12:42
Fix some code formatting in sqlite3Ext.h to avoid lines longer than 80 characters. (check-in: 3ec20c3020 user: drh tags: trunk)
11:43
Avoid attempting to call savepoint related methods on deleted sqlite3_vtab objects. Fix for [48f299634a]. (check-in: 3565fcf898 user: dan tags: trunk)
01:33
Avoid reporting a NOMEM error if a memory allocation fails while copying the error message from a prepared statement into the database connection. (check-in: dcb7879347 user: drh tags: trunk)
2011-10-27
15:19
If an error occurs within sqlite3_step() on a statement prepared using sqlite3_prepare_v2(), transfer both the error code and error message to the database handle before sqlite3_step() returns (so that they are available via sqlite3_errcode() and sqlite3_errmsg(). Prior to this commit, only the error code was transfered. The error message was not available until after either sqlite3_reset() or sqlite3_finalize() had been called on the statement handle. (check-in: 8f88cc4e61 user: dan tags: trunk)
2011-10-25
21:18
Cherrypick the [3513bf6ee090d9] so that the sqlite_source_id() function works correctly even with newer versions of Fossil (check-in: 89d63a0e1d user: drh tags: branch-3.7.2)
20:36
Cherrypick changes [53f5cfe115] and [1f7ef0af8d] in order to fix an issue with DISTINCT (check-in: 14bc58ca70 user: drh tags: branch-3.7.2)
2011-10-22
21:00
Avoid a harmless reference to an uninitialized variable following an error in FTS3. This is not a bug. The change is to silence a valgrind warning. (check-in: d980c5b22f user: drh tags: trunk)
2011-10-21
19:06
Purge lingering references to SQLITE_STAT2 from the code and test scripts. (check-in: aed2bf7a3c user: drh tags: trunk)
17:18
Merge the latest trunk changes into the apple-osx branch. (check-in: be62ef058b user: drh tags: apple-osx)
17:08
Merge the latest trunk enhancements into the sessions branch. (check-in: 8baef58170 user: drh tags: sessions)
16:47
Remove stale requirements marks from the query planner. (check-in: 76de9914be user: drh tags: trunk)
14:27
If an error occurs while writing to the database file during a VACUUM, discard the contents of the in-memory cache. This is required as if the database is a zipvfs database, the contents of the cache may be inconsistent with respect to the database as stored on disk. (check-in: 07159e84b4 user: dan tags: trunk)
2011-10-20
18:23
Fix an issue with finding the access permissions of journal files when 8+3 filenames are in use. (check-in: 2b35c5144d user: drh tags: trunk)
00:55
Enhancements to the omittest.tcl script used to verify that the SQLITE_OMIT compile-time options are working. (check-in: 4344483f7d user: drh tags: trunk)
2011-10-19
18:21
Fix harmless compiler warnings in FTS4. (check-in: 1af4a25631 user: drh tags: trunk)
17:13
Fix comments on SQLITE_CONFIG_HEAP so that they do not interfere with the requirements scanner. (check-in: a3151ce15c user: drh tags: trunk)
16:20
Merge the fts4-content branch with the trunk. (check-in: 8a4077057d user: dan tags: trunk)
15:52
Have FTS3 ignore ^ prefixes. The ^ syntax is only supported on FTS4 tables. (Closed-Leaf check-in: df36ac9481 user: dan tags: fts4-content)
11:57
Change the way ^ tokens work in FTS so that the filtering is done as part of reading the FTS index instead of waiting until an entire doclist has been retrieved and then filtering it. (check-in: 9b58c59eb4 user: dan tags: fts4-content)
10:18
Add tests for FTS ^ searches and matchinfo(). (check-in: 92618c1463 user: dan tags: fts4-content)
09:40
Fix a problem in FTS to do with ^ tokens and the snippet() function. (check-in: 2c03b24f4c user: dan tags: fts4-content)
2011-10-18
22:07
Fix the virtual table rename logic so that it works even if the database encoding is something other than UTF8. Ticket [8290242b2a9a81683] (check-in: d65f63531c user: drh tags: trunk)
19:39
If a token within an FTS query is prefixed with a '^' character, it must be the first token in a column of data to match. (check-in: 63ac33c860 user: dan tags: fts4-content)
19:14
Fix an uninitialized variable in OR-clause processing. (check-in: 54aecd9298 user: drh tags: trunk)
18:10
Improved handling of USING and NATURAL JOIN in 3-way and higher joins. Ticket [3338b3fa19ac4ab] (check-in: 551ce407bd user: drh tags: trunk)
12:49
Cherrypick patch [3126754c72] from the trunk into the content= branch. (check-in: f9b5b21708 user: dan tags: fts4-content)
12:44
Fix a floating-point exception that can occur when an FTS4 query contains a large number of tokens connected by AND or NEAR operators. (check-in: 3126754c72 user: dan tags: trunk)
2011-10-17
23:15
Change the OP_JournalMode implementation so that it works even if a substitute sqlite3PagerFilename() that might return NULL is used. (check-in: 491ff5fb25 user: drh tags: trunk)
20:41
Avoid 32-bit integer overflow when evaluating the exponent of a floating point value during ascii to binary conversion. (check-in: 4becc47eb4 user: drh tags: trunk)
12:14
Performance improvement for ascii to floating-point conversions with very large exponents. (check-in: 59bb999c8b user: drh tags: trunk)
2011-10-15
00:16
Added the tool/warnings-clang.sh script. Changes so that there are no warnings with either gcc or clang even including FTS4 and RTREE and both with and without SQLITE_THREADSAFE=0. (check-in: 39408702a9 user: drh tags: trunk)
2011-10-14
22:57
Fix a few minor and harmless clang warnings in FTS3 and RTREE. (check-in: b3324f6cc2 user: drh tags: trunk)
21:49
Add assert() statements and eliminate needless variable assignments in order to get the clang scan-build utility to report zero problems against the SQLite core. Clang's static analysis did find one real problem - but it was in the command-line shell, not in the SQLite core. (check-in: 60fee9574b user: drh tags: trunk)
2011-10-13
18:08
Change the makefile to delete both plain and ".exe" variants of build tools. Ticket [92bd6eaf04e117] (check-in: 19536a3828 user: drh tags: trunk)
18:00
Simplifications to the upper() and lower() SQL functions. Updates to documentation on sqlite3_bind_text() and sqlite3_result_text() to make it clear that users should not try to create strings with embedded NULs and that if they do the result of expression on those strings is undefined. Ticket [57c971fc74524a] (check-in: 9984cc20ca user: drh tags: trunk)
17:16
Handle updating the only row of an FTS table correctly. Fix for [9fd058691]. (check-in: 7e24645be2 user: dan tags: trunk)
17:09
An improved fix for the page_count and quick_check problem previously patched at [150592b4b4d8637] (check-in: c3cb7f4fad user: drh tags: trunk)
16:36
Provide a complete prototype for isatty() in the command-line shell sources. (check-in: 8bf13b036a user: drh tags: trunk)
16:30
Change the command-line shell to do the ".dump" inside of a SAVEPOINT rather than a transaction, since this allows it to be run from within a transaction. (check-in: 6df7343b4c user: drh tags: trunk)
16:02
Enable large-file support for fopen() and friends in the command-line shell. Ticket [92af7da36b6fbd] (check-in: eeeba4f0d2 user: drh tags: trunk)
15:35
Make sure the query optimizer for aggregate queries knows that expressions (x='a') and (x='A') are different. Ticket [fa7bf5ec94801e7e] (check-in: e43da426e6 user: drh tags: trunk)
14:41
Make sure the page_count and quick_check pragmas work properly even when their names are capitalized. Fixes a problem reported on the mailing list. (check-in: 150592b4b4 user: drh tags: trunk)
14:18
Adjust the symbols.sh script for STAT3. Add the symbols-mingw.sh script for testing on windows with MinGW. (check-in: c41d1d4652 user: drh tags: trunk)
14:05
Make sure all non-API functions in os_win.c have file scope. Ticket [35c54c874987] (check-in: 17e4fde5c5 user: drh tags: trunk)
13:34
Do the ".dump" command inside of a transaction to prevent other processes from modifying the database while the dump is underway. Ticket [2466653295e65] (check-in: 1c00d5454c user: drh tags: trunk)
01:01
Fix a harmless compiler warning introduced into os_unix.c by one of the recent changes. (check-in: 4bf4d5ebfb user: drh tags: trunk)
00:41
If errors are encountered while processing the ".dump" command in the command-line shell, print error messages as comments in the output and ROLLBACK at the end rather than committing. Ticket [ee19e690ec9a5a2] (check-in: 8a8dcd6bd0 user: drh tags: trunk)
00:11
Be sure to allocate plenty of space for error messages coming out of sqlite3_load_extension(), so that filenames and procedure names are not truncated. Ticket [7d32c69b50f89d] (check-in: af8bcdd951 user: drh tags: trunk)
2011-10-12
23:49
The sqlite3_overload_function() interface returns an error if it is unable to create the overload function. Ticket [20f9d4fbbff3a3] (check-in: d5b6b374c5 user: drh tags: trunk)
23:13
The date/time functions return NULL if the xCurrentTime or xCurrentTimeInt64 VFS methods fail. Ticket [0b803bff856c644c] (check-in: c96651dd6c user: drh tags: trunk)
19:04
Suppress a compiler warning that occurs with SQLITE_OMIT_VIRTUALTABLE. (check-in: 6bedb49d68 user: drh tags: trunk)
18:52
Clean up obsolete comments in printf.c. (check-in: 97ef4f5013 user: drh tags: trunk)
17:00
Clarify a comment and fix a code formatting issue in btree.c. (check-in: 4f1a558d00 user: drh tags: trunk)
2011-10-11
20:41
Put in code to defend against signed/unsigned character problems in the command-line shell. (check-in: b94a80a832 user: drh tags: trunk)
20:14
Add a couple of asserts trying to make the operation of sqlite3SelectNew() clearer. (check-in: b21b1c7bc4 user: drh tags: trunk)
18:38
Simplify the readonly_shm implementation so that it conforms to the implementation on trunk. Update the test cases to agree with the new behavior. (check-in: 9efb74cefb user: drh tags: apple-osx)
18:18
Change the behavior of the readonly_shm=1 query parameter so that it never attempts to open the -shm file read/write. (check-in: f136400483 user: drh tags: trunk)
17:54
Remove all precision and width limits from formatting fields in the sqlite3_mprintf() family of functions. Malloc for space as necessary. The prevents a stack overflow on very large numbers using %f. (check-in: 1f843fb383 user: drh tags: trunk)
15:03
Fix a locking error introduced when porting the new Apple locking code. (check-in: cce1f52136 user: drh tags: apple-osx)
14:19
Merge the latest trunk changes into the apple-osx branch. (check-in: 7e2c489822 user: drh tags: apple-osx)
12:58
Merge all the latest trunk changes into the sessions branch - especially the SQLITE_ENABLE_STAT3 enhancements. (check-in: 403431cac6 user: drh tags: sessions)
12:39
Fix requirements marks associate with STAT3. (check-in: 9325c1a8c4 user: drh tags: trunk)
00:09
Patches to the apple-osx-377 branch so that it will compile and run on non-Mac unix platforms. (Leaf check-in: b431a63437 user: drh tags: apple-osx-377)
2011-10-10
23:53
Forward port the Apple-specific changes from [db5b7b778c] in the apple-osx-377 branch. Fix this up so that it will compile and run on Linux. (check-in: 6cb43f6c6e user: drh tags: apple-osx)
22:11
Merging in cherry picked diffs for persist wal, alloc padding, wal-safe vacuum and sqlite3_file_control based lockstate checking (check-in: db5b7b778c user: adam tags: apple-osx-377)
18:59
Cherrypick the sqlite_data_count() changes from [d4f95b3b6e] and [9913996e7b] into the apple-osx branch for version 3.7.7. (check-in: aef7945c42 user: drh tags: apple-osx-377)
16:06
Enhance sqlite3_analyzer so that it is able to deal with multiplexed databases that have 8+3 filenames. (check-in: e5169f9a5b user: drh tags: trunk)
12:04
Fix a typo in a comment for PRAGMA journal_mode. Also amplify that same comment. (check-in: c8ff2a4840 user: drh tags: trunk)
2011-10-08
21:39
All the soft_heap_limit to be exceeded by 10% in test cases. (check-in: 4be9dccc71 user: drh tags: trunk)
14:57
Add the SQLITE_DIRECT_OVERFLOW_READ compile time option. (check-in: 2ab14a8467 user: dan tags: trunk)
2011-10-07
23:52
Change the ANALYZE command so that it no longer tried to delete unused sqlite_stat2 and sqlite_stat3 tables. Change the DROP TABLE command so that it is able to drop those tables. (check-in: 589f3f5652 user: drh tags: trunk)
18:24
Make sure sqlite3_data_count() behaves as documented, even for EXPLAIN QUERY PLAN queries. (check-in: d4f95b3b6e user: drh tags: trunk)
17:52
Improved handling of OR terms in the WHERE clause with multi-column indexes. (check-in: b23ae13187 user: drh tags: trunk)
17:45
Add testcase() macros to ensure good test coverage. (Closed-Leaf check-in: 5c13259282 user: drh tags: or-opt)
16:57
Add the SQLITE_FCNTL_OVERWRITE file-control. Used by SQLite to indicate to the OS layer that the current transaction will overwrite the entire file. (check-in: 1da87fcdac user: dan tags: trunk)
16:08
More test cases for the OR optimization. (check-in: 4997d8b81c user: drh tags: or-opt)
14:40
Prevent infinite recursion of in the query planner for some pathological test cases by disabling OR-clause processing upon first recursion. (check-in: 9fca05eac5 user: drh tags: or-opt)
13:33
Begin an effort to enhance the query planner to do a better job with OR terms in the WHERE clause. This change allows ANDs outside of the OR to be factored into the OR terms if that is helpful in finding better indices. (check-in: 876bd21aaa user: drh tags: or-opt)
12:59
Enhance the sqlite3_data_count() routine so that it can be used to determine if SQLITE_DONE has been seen on the prepared statement. (check-in: 9913996e7b user: drh tags: trunk)
2011-10-05
19:46
Add the --pageinfo and --stats options to the sqlite3_analyzer utility. (check-in: baa80c7bc3 user: drh tags: trunk)
18:18
Update the sqlite3_analyzer utility program to provide more details about the compression performance of ZIPVFS database files. (check-in: fa5ed53296 user: drh tags: trunk)
17:36
Fix test code related to reporting the size of overflow pages in zipvfs databases. (check-in: ad7c9eed8b user: dan tags: trunk)
15:26
When finding the appropriate file permissions for journal files with SQLITE_ENABLE_8_3_NAMES, ignore "-" characters in the name of the containing directory. (check-in: 328cc1867f user: drh tags: trunk)
15:11
Change FTS4 so that if both the content=xxx option and column names are specified, the virtual table assumes that the named columns correspond to columns of table xxx. (check-in: 289ee43179 user: dan tags: fts4-content)
06:07
Fix a problem with IO error handling in the rebuild-index code. (check-in: c6ba81fcad user: dan tags: fts4-content)
2011-10-04
19:41
Improve test coverage of fts3.c. (check-in: 0f439944ab user: dan tags: fts4-content)
16:37
Add tests to check that modifying the schema of an FTS content table does not cause a crash in the FTS module. Also disable the deferred token optimization for content=xxx FTS tables. (check-in: be86c7061b user: dan tags: fts4-content)
11:22
Add experimental 'content' option to FTS4. (check-in: 1d27ea741f user: dan tags: fts4-content)
2011-10-03
15:30
Merge the STAT3 changes into trunk. (check-in: 774d0842bc user: drh tags: trunk)
2011-10-02
05:23
Update MSVC makefile to allow targets to be built with support for ICU. (check-in: eb5da5e1db user: mistachkin tags: trunk)
2011-09-30
12:01
Disable the xfer optimization if "PRAGMA count_changes=1" is configured. Ticket [c48d99d690]. (check-in: 9ddfe1e413 user: dan tags: trunk)
2011-09-28
01:10
In the shell, allow arbitrary table names on the ".import" command. Ticket [d1d84037b90a449]. (check-in: f4dd32d30e user: drh tags: trunk)
00:50
Enhance the stat VFS to report out the total size of all pages used by a table, even if the ZIPVFS compression backend is in play. Update the sqlite3_analyzer logic to use these new outputs. (check-in: 19b8eaaf70 user: drh tags: trunk)
2011-09-27
13:40
Changes to sqlite3_analyzer to try to avoid integer overflow problems when linking against older versions of TCL. (check-in: 8c846311a0 user: drh tags: trunk)
2011-09-26
19:32
Changes to the analyzer script to make it work with zipvfs databases. (check-in: d82cffab6a user: dan tags: trunk)
2011-09-25
17:49
If an open as read/write fails, do not try to reopen as read-only if in exclusive access mode. (check-in: 263c5fb280 user: drh tags: trunk)
17:47
If an open as read/write fails, do not try to reopen as read-only if in exclusive access mode. (Closed-Leaf check-in: 4a153f0100 user: drh tags: stat3-trunk)
2011-09-24
09:54
Fix misc3.test so that it works with OMIT_MERGE_SORT builds. (check-in: 87946c627f user: dan tags: trunk)
05:55
Fix some test files so that they work with SQLITE_OMIT_WAL builds. (check-in: a38668dcff user: dan tags: trunk)
2011-09-23
18:58
Add SQLITE_DBSTATUS_CACHE_HIT and _MISS to the ".stat" command in the shell. (check-in: d279e1a309 user: drh tags: trunk)
16:34
Add the -DBUILD_sqlite option to the compiler when building testfixture.exe using the configure script. (check-in: 15a13b6c59 user: drh tags: trunk)
14:40
Merge the latest trunk changes into the stat3-trunk branch. (check-in: 0beb88a92c user: drh tags: stat3-trunk)
13:59
Testability enhancements. (check-in: be44928cf2 user: drh tags: stat3-trunk)
13:25
Fix typos in the format description comment of analyze.c. (check-in: 74e27fad33 user: drh tags: stat3-trunk)
2011-09-22
20:52
Remove the restriction on the number of entries per index in sqlite_stat3. (check-in: 374343c8ad user: drh tags: stat3-trunk)
18:46
Fix an issue in ANALYZE when STAT3 is disabled but both sqlite_stat2 and sqlite_stat3 tables exist. Also add testability tweaks to the STAT3 code. (check-in: 3ca7e449e2 user: drh tags: stat3-trunk)
15:31
Remove a redundant (and undefined) "forcedelete" command from corruptE.test. (check-in: 6d8d4e1694 user: dan tags: trunk)
14:56
Remove the SQLITE_PAGECACHE_BLOCKALLOC compilation option. (check-in: 4eb4689834 user: dan tags: trunk)
14:41
Add the SQLITE_DB_STATUS_CACHE_HIT and MISS options. For querying the number of cache hits and misses on a per-connection basis. (check-in: 5100b6e9dc user: dan tags: trunk)
03:13
Merge the cache-stats enhancement into trunk. (Closed-Leaf check-in: 646db97188 user: drh tags: mistake)
00:56
Update the version number to 3.7.9. (check-in: 14e28eb954 user: drh tags: trunk)
00:28
Fix an uninitialized variable and a misuse of memcpy(). (check-in: ee110d5a4a user: drh tags: stat3-trunk)
00:06
Integrate build changes for sqlite3_analyzer into the MSVC makefile. Also, more cleanup of build files, including sqlite3_analyzer, for all makefiles. (check-in: af1c571829 user: mistachkin tags: trunk)
2011-09-21
20:10
Minor tweaks to the TCL code for sqlite3_analyzer. (check-in: 3a261f383f user: drh tags: trunk)
18:29
Remove unnecessary dependencies from the sqlite3_analyzer targets in makefiles. (check-in: 0bd8fd352d user: drh tags: trunk)
17:04
Fix the sqlite3_analyzer target in the configure-generated Makefile. (check-in: 256cdbdc81 user: drh tags: trunk)
16:43
Change the way the sqlite3_analyzer executable is built. (check-in: 05e3cced8a user: dan tags: trunk)
00:09
Pull in the latest changes from trunk. Update the STAT3 documentation. (check-in: 63fc3e4bea user: drh tags: stat3-trunk)
2011-09-20
15:53
Add SQLITE_STMTSTATUS_CACHE_HIT/MISS and SQLITE_DB_STATUS_CACHE_HIT/MISS. For querying the number of pager cache hits and misses on a statement or connection basis. (Closed-Leaf check-in: 892723575c user: dan tags: cache-stats)
2011-09-19
20:56
Minor comment change in the description of the different memory allocator options. No changes to code. (check-in: 36be31ff0a user: drh tags: trunk)
20:36
Merge in all changes through the 3.7.8 release. (check-in: 9607600b6c user: drh tags: stat3-trunk)
20:32
Merge in all trunk changes through the 3.7.8 release. (check-in: ade72b1874 user: drh tags: apple-osx)
20:28
Merge in all trunk changes through the version 3.7.8 release. (check-in: 98619a23fd user: drh tags: sessions)
18:00
Version 3.7.8 (check-in: 3e0da808d2 user: drh tags: trunk, release, version-3.7.8)
13:01
Increase the default lookaside cache line size from 100 to 128 bytes. (check-in: db01946503 user: drh tags: trunk)
11:57
Remove a stray merge-sort related change from pager.c and pager.h. (check-in: 69823ed163 user: dan tags: trunk)
2011-09-17
18:56
Remove a couple of comments that were causing problems for the amalgamation generator script. (check-in: ffed86bf96 user: drh tags: apple-osx)
17:29
Add a new script to build an amalgamation that omits FTS3/4 and RTREE. (check-in: b31a7d7db9 user: drh tags: trunk)
15:34
Make sure the file structure is zeroed prior to calling the VFS to open a file. (check-in: 29c4d0dd43 user: mistachkin tags: trunk)
2011-09-16
22:10
Fix a problem with SQLITE_OMIT_TRACE that was introduced by the recent OP_Once change. (check-in: 96be3f7b59 user: drh tags: trunk)
20:43
Fix #if's in winSync to avoid compiler warnings about unused local variables. Also, update version numbers in the MSVC makefile. (check-in: 2e66e41457 user: mistachkin tags: trunk)
20:16
Silence harmless compiler warning about redefinition of the _CRT_SECURE_NO_WARNINGS macro by shell.c. (check-in: 690220717f user: mistachkin tags: trunk)
19:40
Merge the latest trunk changes into the sessions branch. (check-in: 5efb02949d user: drh tags: sessions)
19:36
Merge the latest trunk fixes into the apple-osx branch. (check-in: 070bf203bb user: drh tags: apple-osx)
19:29
Merge all the latest trunk changes into the experimental STAT3 branch. (check-in: 51908c8f2b user: drh tags: stat3-trunk)
19:04
Remove unreachable branches from the previous change. Add additional test cases. (check-in: cf51ef8ab8 user: drh tags: trunk)
17:43
When analyzing the right-hand side of IN operators to see if the IN operator can work with an index, be sure to decend into nested subqueries. Fix for ticket [1a1308d2538d7] (check-in: 0156f10e23 user: drh tags: trunk)
16:00
Further streamlining of the subquery materializer. New test cases for ticket [002caede898a] (check-in: ff8b76b25b user: drh tags: trunk)
01:38
Merge the [002caede898] fix into trunk. (check-in: 95708ae223 user: drh tags: trunk)
01:34
Add the new OP_Once opcode. Use it to clean up and simplify various one-time initialization sections in the code, including the fix for ticket [002caede898ae]. (Closed-Leaf check-in: 7f00552b73 user: drh tags: tkt-002caede898)
2011-09-15
23:58
Materialize subqueries using a subroutine and invoke that subroutine prior to each use of the materialization. Fix for ticket [002caede898aee4] (check-in: 4b8357ee3c user: drh tags: tkt-002caede898)
19:39
Adding test case for ticket [002caede898] (check-in: 62dfc51a49 user: drh tags: tkt-002caede898)
00:40
Cleanup/fix error handling when no arguments are supplied to the SQLite analyzer. (check-in: 3fc566ac5d user: mistachkin tags: trunk)
2011-09-14
19:41
Merge latest changes from the trunk into the sessions branch. (check-in: c00e45ede7 user: dan tags: sessions)
19:05
Merge in the latest changes from trunk. (check-in: 2456b4d0d2 user: drh tags: apple-osx)
18:19
Remove 'const' from a variable that might actually be written when an OOM error occurs. Also, fix a couple MSVC/Win32 compiler warnings. (check-in: 3035dc1c73 user: mistachkin tags: trunk)
13:41
Remove unused parameters from internal routines in vdbesort.c. This is an additional simplification made possible by recent optimizations. (check-in: a1f3aeeb09 user: drh tags: trunk)
13:23
Remove code from vdbesort.c that was made unreachable by the recent sqlite3VdbeRecordUnpack() optimizations. (check-in: 607aba6cd7 user: drh tags: trunk)
2011-09-13
19:09
Merge the latest trunk changes into the stat3-trunk branch. (check-in: 11ca4ed8bf user: drh tags: stat3-trunk)
19:08
Allocate the correct size for the output buffer in fts3DoclistOrMerge(). Fix for [56be976859]. (check-in: 07788c0f7f user: dan tags: trunk)
2011-09-11
10:14
Cleanup pdb/ilk files generated by the MSVC makefile. (check-in: a9db247b75 user: mistachkin tags: trunk)
2011-09-05
20:16
Fix a minor performance regression in btreeMoveto(). (check-in: d0712dfb24 user: dan tags: trunk)
14:20
Refactor the sqlite3VdbeRecordUnpack() interface to better accommodate the vdbesort.c module. (check-in: f115b23035 user: dan tags: trunk)
2011-09-04
01:27
Fix a compiler warning about an unused parameter in the merge-sort code. (check-in: 6b657ae750 user: drh tags: trunk)
01:11
Improve the testability of the merge-sort logic. (check-in: b5179baf87 user: drh tags: trunk)
2011-09-03
17:07
Performance improvements to the external merge-sorter. Keep content on an in-memory linked lists rather than an ephemeral table prior to spilling to disk. Use the external merge-sorter to implement ORDER BY and GROUP BY in addition to CREATE INDEX. (check-in: 4c43e8b2d2 user: drh tags: trunk)
16:42
Simplification and performance tweaks in vdbeSorterMerge(). (Closed-Leaf check-in: 99e34bdce4 user: drh tags: merge-sort)
14:36
Reduce the number of VdbeRecordUnpack() calls made in vdbesort.c. (check-in: 666c2c3cff user: dan tags: merge-sort)
00:17
The build works again with -DSQLITE_OMIT_MERGE_SORT. The merge-sorter now avoids spilling to disk (letting the in-memory linked list grow without bound) if PRAGMA temp_store=3. (check-in: 68e26c4487 user: drh tags: merge-sort)
2011-09-02
21:42
Remove some dead code. Fix a faulty assert(). Improve some variable names. (check-in: a9a64592cf user: drh tags: merge-sort)
18:03
Combine two malloc calls in vdbesort.c. (check-in: cf48ad8353 user: dan tags: merge-sort)
15:41
Reduce the number of malloc() calls made when creating an index on more than 2 columns. (check-in: 065b0c9858 user: dan tags: merge-sort)
15:08
Remove unused local variable. (check-in: 61bda876af user: mistachkin tags: trunk)
11:45
If all data being sorted fits in memory, avoid writing any data out to temporary files in vdbesort.c. (check-in: 71075673c6 user: dan tags: merge-sort)
10:31
Instead of a temporary b-tree, use a linked-list and merge-sort to sort records in main memory in vdbesort.c. (check-in: 7769fb988d user: dan tags: merge-sort)
2011-09-01
16:01
Use OP_SorterOpen instead of OP_OpenEphemeral to implement GROUP BY. (check-in: ebf819aaa5 user: drh tags: merge-sort)
15:32
Experimental code-generator changes to utilize new opcodes for sorting. (check-in: bab2e560f6 user: drh tags: merge-sort)
2011-08-31
23:57
Avoid using uninitialized variables after failures in the merge sort code. (check-in: 2869ed2829 user: drh tags: trunk)
21:01
Formerly, we enabled fdatasync() on linux only. But now we learn that fdatasync() is not supported on Android. So we disable fdatasync() on Linux too. It can be reenabled at compile-time for those who really need it. (check-in: 70b5b30956 user: drh tags: trunk)
20:47
Add the SQLITE_MAX_SCHEMA_RETRY compile-time option to the set of options understood by "PRAGMA compile_options;" and by the "sqlite_compileoption_used()" function. (check-in: 1b124af40a user: drh tags: trunk)
19:40
The server1.test script should only run if mutexes are functional. Fix to the #ifdef change of check-in [9e6a4c1473]. (check-in: 6489848590 user: drh tags: trunk)
18:35
Always include the unixShm.id field, even when not debugging. (check-in: 0780347620 user: drh tags: trunk)
18:04
Only create the sqlite3OSTrace global variable if compiling with SQLITE_TEST. (check-in: 9e6a4c1473 user: drh tags: trunk)
17:46
Backslash escaping is not working right in tostr.awk on the latest ubuntu. The easiest fix is to simply not use any backslashes in the spaceanal.tcl script. (check-in: df55006665 user: drh tags: trunk)
13:27
Add checks to make sure cells in corrupt database files do not overflow a page when doing autovacuum. Problem detected by valgrind. (check-in: d0b347b412 user: drh tags: trunk)
2011-08-30
19:52
Enable the thread test logic to work with the SQLITE_HAS_CODEC compile-time option. (check-in: 20ddfb4780 user: drh tags: trunk)
01:29
Change the build process so that it does not require the unix "sort" command. This avoids confusion between ms-sort and mingw-sort on windows systems. (check-in: f1bd5bbae5 user: drh tags: trunk)
01:23
Make sure SQLITE_FCNTL_SIZE_HINT a no-op if the chunk size is not greater than zero. (check-in: 88b763e8d7 user: mistachkin tags: trunk)
00:58
Fix a total unimportant file descriptor leak in lemon. This is to silence warning messages. (check-in: e95cf2c576 user: drh tags: trunk)
00:53
Fix a buffer overrun in test logic. No impact on the core SQLite. (check-in: 49cd60e38b user: drh tags: trunk)
2011-08-29
18:24
Fix a broken assert() statement in select.c. (check-in: ad78ef2b3a user: dan tags: trunk)
11:56
Back out [05c9832e5f6eb] since it was causing a performance regression with no obvious benefit. (check-in: 639cc85a91 user: drh tags: trunk)
03:08
Merge performance enhancements into trunk. (check-in: 5a00d24b27 user: drh tags: trunk)
02:49
About a 1% overall performance improvement by using a macro to avoid no-op calls to sqlite3MemReleaseExternal(). (Closed-Leaf check-in: ff71d20a9e user: drh tags: experimental)
02:16
Small performance improvement to OP_Column. (check-in: b6b73a747a user: drh tags: experimental)
2011-08-28
02:15
About a 3% improvement in the performance of OP_Column. (check-in: edff9d4a99 user: drh tags: experimental)
00:19
Correctly display P4_ADVANCE values on opcode traces. Mark an always-taken branch in OP_Column as such. (check-in: 087dc96086 user: drh tags: experimental)
2011-08-27
18:48
Experimental changes to improve the performance of OP_Next. (check-in: 1a24984525 user: dan tags: experimental)
2011-08-26
20:55
Fix several harmless compiler warnings and a documentation bug. (check-in: 5454d0fe22 user: drh tags: trunk)
19:20
Merge the latest trunk changes into the sessions branch. (check-in: eb036d6f81 user: drh tags: sessions)
19:18
Merge the latest trunk changes into the apple-osx branch. (check-in: 55af80035f user: drh tags: apple-osx)
18:28
Veryquick and min.rc tests now passing. (Closed-Leaf check-in: a7e1846882 user: drh tags: stat3-3.7.2)
18:04
Merge the branch-3.7.2 changes into the stat3-3.7.2 subbranch. Also fix some test script issues. (check-in: a42db19d52 user: drh tags: stat3-3.7.2)
17:17
Cherrypick the recursion fix to test_vfs.c from [065e5a5ea4f82]. Also fix the nan.test module to handle upper/lower case changes in TCL. (check-in: 41b5f86971 user: drh tags: branch-3.7.2)
15:51
Get stat3 working after import from trunk-based the stat3-enhancement branch. There is still a problem in the wal2 test. (check-in: 01cc4ff6af user: drh tags: stat3-3.7.2)
13:52
Merge branches branch-3.7.2 and stat3-enhancement into a new branch for testing purposes. (check-in: 0df04f920b user: drh tags: stat3-3.7.2)
13:16
Merge the stat3-enhancement branch with trunk, but keep the resulting merge in a separate branch for now. (check-in: 63f2c7859f user: drh tags: stat3-trunk)
11:25
Update compiler error message regarding the choice of memory allocator defines. (check-in: 1dada51582 user: mistachkin tags: trunk)
11:18
Merge Win32 native heap support into trunk. (check-in: 5238a74987 user: mistachkin tags: trunk)
05:40
In the MSVC makefile, allow symbols to be enabled without NDEBUG defined. Also, for the win32lock test, make sure the database is closed prior to shutdown. (Closed-Leaf check-in: 5ed7633d41 user: mistachkin tags: winNativeHeap)
01:45
Disable checking the winMemData structure signature when compiled with NDEBUG. (check-in: 50edc2f914 user: mistachkin tags: winNativeHeap)
01:32
Allow the Win32 native heap flags to be overridden at compile-time. (check-in: 1c2ecec8e7 user: mistachkin tags: winNativeHeap)
00:34
Create a new pager type, PAGER_SORTER, for use in the external merge sort. Such pagers are always held in memory but do report when they are under memory pressure by calling pagerStress. (check-in: c71d73201d user: drh tags: trunk)
2011-08-25
20:18
Reorder some of the branches in backup.c in order to make the code easier to test. (check-in: 2c443d47ec user: drh tags: trunk)
19:28
Replace an assert() that a condition may not occur in backup.c with code to handle that condition, which can occur. (check-in: 472c74b345 user: dan tags: trunk)
18:54
Fix harmless compiler warnings in test code. No changes to the core. (check-in: 16f83fec77 user: drh tags: trunk)
18:01
Disable external merge source when SQLITE_TEMP_STORE==3. Add documentation to the OP_OpenSorter opcode. (check-in: 5a69048681 user: drh tags: trunk)
13:46
Fix the SQLITE_DISABLE_DIRSYNC compile time option. (check-in: 6deb3ea1f0 user: dan tags: trunk)
04:09
Add comments for the various debug levels. When debugging, disable optimizations. Prevent the win32lock tests from spinning forever. (check-in: 401859236b user: mistachkin tags: winNativeHeap)
03:38
Fix an file separator character issue with test_quota.c that was causing it to fail on windows. (check-in: ddb8d3e80d user: drh tags: trunk)
02:02
In the MSVC makefile, support several levels of debugging, each one building on the previous. Also, add comment about the SQLITE_WIN32_MALLOC_VALIDATE macro. (check-in: 4257e9b7ca user: mistachkin tags: winNativeHeap)
01:58
Cherrypick the [d4f6437f8d] change so that SQLITE_FCNTL_SIZE_HINT is always honored and never undone by memory pressure on windows. (check-in: 67ff8d27f6 user: drh tags: trunk)
01:42
Add the sqlite3_quota_file() interface to test_quota.c. (check-in: 2b7fe8e5b7 user: drh tags: trunk)
01:16
Make sure that SQLITE_FCNTL_SIZE_HINT on Windows does not shrink the file. (check-in: d4f6437f8d user: mistachkin tags: winNativeHeap)
00:14
Add the SQLITE_EXTRA_INIT macro. (check-in: a3220f36c1 user: drh tags: trunk)
2011-08-24
17:42
Add error logging to native Win32 heap support. (check-in: 7fca5a284c user: mistachkin tags: winNativeHeap)
16:13
Experimental work to allow SQLite to use the native Win32 heap API. (check-in: bf3d0ab538 user: mistachkin tags: winNativeHeap)
15:18
Updates to the sqlite3_mem_methods documentation. (check-in: 988998fe7b user: drh tags: trunk)
15:12
Fix some harmless compiler warnings. (check-in: 46f5a68bfa user: drh tags: trunk)
01:25
Changes to test_quota.c to make quota groups persistent even after files are closed. Files remain a part of the quota group until they are deleted. (check-in: 04111ce980 user: drh tags: trunk)
2011-08-23
23:41
Simplifications to the SQLITE_PAGECACHE_BLOCKALLOC logic. Reduce the number of difficult-to-reach branches. (check-in: d5d835fe83 user: drh tags: trunk)
20:11
If the application-defined openDirectory() function returns SQLITE_CANTOPEN, then silently ignore the error. This allows the chromium sandbox to disallow opening of directories without causing errors. (check-in: 880b51150a user: drh tags: trunk)
19:46
Change the way the "crash" VFS (test6.c) handles SQLITE_FCNTL_SIZE_HINT. (check-in: 40dd8a60be user: dan tags: trunk)
18:06
Merge latest trunk changes into the apple-osx branch. (check-in: c5f7977b89 user: dan tags: apple-osx)
16:41
Have the "crash" VFS used by the tcl tests (test6.c) handle SQLITE_FCNTL_SIZE_HINT internally, instead of passing it directly through to the underlying VFS. This is important if the crash VFS is simulating non-default device characteristics such as SQLITE_DEVCAP_SEQUENTIAL or ATOMIC. (check-in: fac8bc8f34 user: dan tags: trunk)
13:27
Ifdef out routines in pcache1.c that are used only when SQLITE_PAGECACHE_BLOCKALLOC is defined. (check-in: 0da292da3b user: drh tags: trunk)
12:50
Merge the PAGECACHE_BLOCKALLOC changes into trunk. (check-in: 768c1846d4 user: drh tags: trunk)
11:47
When copying a rollback mode database over a WAL database using the backup API, leave the destination database in WAL mode (instead of switching it to rollback mode). Fix for [af95b8c609]. (check-in: 35e6ac18e3 user: dan tags: trunk)
05:10
Change to test instrumentation of os_unix.c: Regard IO errors that occur within SQLITE_FCNTL_SIZE_HINT requests as benign. (This check-in was intended for trunk and went onto the branch accidentally.) (Closed-Leaf check-in: ca47da2a1f user: dan tags: pager-blockalloc)
00:01
Remove a branch that is always true. (check-in: a65681926d user: drh tags: trunk)
2011-08-22
20:33
Remove an unreachable branch in the FK code. (check-in: 6c227cc853 user: drh tags: trunk)
14:55
Modify test cases so that veryquick.test passes with PAGECACHE_BLOCKALLOC defined. (check-in: c61000705b user: dan tags: pager-blockalloc)
09:54
Fix for [b1d3a2e531]. (check-in: 3f3acee465 user: dan tags: trunk)
2011-08-19
18:15
Experimental change: If SQLITE_PAGECACHE_BLOCKALLOC is defined, instead of allocating pages one at a time, allocate blocks of between 15 and 63 pages in a single allocation. (check-in: 63597097ee user: dan tags: pager-blockalloc)
14:54
When retrying a write() after an EINTR error on unix, be sure to also rerun the previous lseek(). Ticket [e59bdf6116036a] (check-in: 21452f3ae6 user: drh tags: trunk)
2011-08-18
17:47
Ensure that the Tcl "db onecolumn" command returns an empty string if the SELECT statement returns zero rows. (check-in: 928bcaf0f0 user: dan tags: trunk)
13:45
Fix the stat3 analysis loader to be compatible with sqlite3_db_status(). Also fix some OOM issues with the stat3 analysis loader. (Closed-Leaf check-in: eaf447ea87 user: drh tags: stat3-enhancement)
02:51
Fix a bug in the cleanup of stat tables on a DROP TABLE in autovacuum mode. (check-in: 3fe5d54f63 user: drh tags: stat3-enhancement)
01:10
Fix an error with OOM processing in the ANALYZE logic. (check-in: b26ec79c69 user: drh tags: stat3-enhancement)
2011-08-17
07:46
Properly process x64 DLL exports, which do not contain a leading underscore, in the MSVC makefile. (check-in: d5936324d2 user: mistachkin tags: trunk)
02:19
Add vdbesort.c to the MSVC makefile. (check-in: 8eaa2cd3f4 user: mistachkin tags: trunk)
00:40
Use OP_Sort rather than OP_Rewind in order to sort the content of a new index on the CREATE INDEX statement. Add an ALWAYS() to the merge sort logic to document an unreachable branch. (check-in: f01766f423 user: drh tags: trunk)
2011-08-16
17:06
Fix a few harmless compiler warnings. Add SQLITE_ENABLE_STAT3 to the standard compiler warning script. (check-in: 3d68f9afee user: drh tags: stat3-enhancement)
02:07
Allow the sqlite3VdbeJumpHere() routine to accept a negative or zero address if a prior memory allocation error has occurred. The new sqlite_stat3 logic needs this. (check-in: 9650d79628 user: drh tags: stat3-enhancement)
01:15
Add the analyze8.test test module for sqlite_stat3. (check-in: 2c83ac89dc user: drh tags: stat3-enhancement)
2011-08-15
19:44
Updated comments on the multiplexor extension. No changes to code. (check-in: 0f42ef697e user: drh tags: trunk)
15:37
Fix an assert() in the merge-sort logic to account for I/O errors. (check-in: c1daa809a1 user: drh tags: trunk)
15:27
New makefile target "sqlite3-debug.c" builds an amalgamation that include appropriate "#line" macros relating the code back to the original source files. (check-in: 26f2da24b0 user: drh tags: trunk)
14:41
When opening a temporary file to use in a merge-sort, pass SQLITE_OPEN_TEMP_JOURNAL instead of SQLITE_OPEN_TEMP_DB. This is a better fit, as merge-sort files are written and read sequentially like journal files. (check-in: bd04756b66 user: dan tags: trunk)
12:58
Update some test cases to work with sqlite_stat3 instead of sqlite_stat2. (check-in: 2504bcfb0c user: drh tags: stat3-enhancement)
12:02
Fix a couple of typos in comments in analyze.c. (check-in: ae31dc67aa user: dan tags: stat3-enhancement)
2011-08-13
19:35
Further testing and bug fixing for sqlite_stat3. Added the Index.avgEq field to index statistics. Fixed several problems in the query planner associated with stat3. (check-in: 89b2f70884 user: drh tags: stat3-enhancement)
15:25
Add the sqlite_stat3.nDLT field. Use an linear congruence PRNG to choose which samples to select from among those with the same nEq field. (check-in: 1dcd24283e user: drh tags: stat3-enhancement)
10:47
Fix the header comment on the implementation of the file_control_sizehint_test TCL command in test1.c. (check-in: 309198085f user: drh tags: trunk)
00:58
The ANALYZE command picks for 15 samples for sqlite_stat3 with the largest nEq fields, plus 5 other evenly spaced samples. (check-in: 8225924ea0 user: drh tags: stat3-enhancement)
2011-08-12
16:47
Merge the experimental changes to use a merge-sort when creating an index into the trunk. (check-in: 346a453d1f user: dan tags: trunk)
16:34
Update Makefile.in and configure to account for new source file vdbesort.c. (Closed-Leaf check-in: 69e4b41de2 user: dan tags: experimental)
16:30
Merge latest trunk changes into experimental branch. (check-in: 7e515055f2 user: dan tags: experimental)
16:11
Remove an unused parameter from a function in vdbesort.c. Fix some comments and other details in the same file. (check-in: 1a8498d803 user: dan tags: experimental)
15:02
Add the SQLITE_OMIT_MERGE_SORT pre-processor directive. To omit the code in vdbesort.c. (check-in: 4ced2394b1 user: dan tags: experimental)
11:59
Add tests to improve coverage of vdbesort.c. (check-in: 87a15917d7 user: dan tags: experimental)
01:51
Begin a branch that experimentally replaces sqlite_stat2 with a new table called sqlite_stat3 that will hopefully facilitate better query planning decisions. (check-in: 52e1d7e8dd user: drh tags: stat3-enhancement)
2011-08-10
01:52
Make the openDirectory routine in os_unix.c overrideable so that it can be turned into a harmless no-op for the chromium sandbox. (check-in: 6b236069e1 user: drh tags: trunk)
2011-08-09
18:14
Add command-line utilities "offsets.c" and "extract.c" for use in low-level analyzsis of database files. (check-in: dfa22ed438 user: drh tags: trunk)
2011-08-08
23:48
In os_unix.c, do not open the directory containing the database file when the database file is opened. Instead, wait until time to fsync() the directory. And do not report an error if the open fails, since some systems (Ex: AIX and a chromium sandbox) are unable to open and fsync directories. (check-in: 713b1b7dc1 user: drh tags: trunk)
23:18
Allow the unlink() system call to be overridden in os_unix.c. (check-in: 8d1b5c3ac0 user: drh tags: trunk)
19:26
Remove redundant parameter from vdbeSorterInitMerge() in vdbesort.c. (check-in: eec8c0df07 user: dan tags: experimental)
17:18
Add code to actually use the sqlite_stat2.cnt field in the query planner. This changes some plans resulting in a few failures in analyze5.test. (Closed-Leaf check-in: d1248165e3 user: drh tags: query-planner-tweaks)
16:44
Add fault-injection and other tests (and fixes) to improve coverage of vdbesort.c. (check-in: 0e6defa6aa user: dan tags: experimental)
2011-08-07
01:31
Remove relevant elements from the sqlite_stat2 table when doing a DROP INDEX or DROP TABLE. (check-in: 3c8f97ae52 user: drh tags: trunk)
00:21
The ANALYZE command adds the sqlite_stat2.cnt column if it does not already exist. (check-in: 794fde6f91 user: drh tags: query-planner-tweaks)
2011-08-06
19:48
The sqlite_stat2.cnt field is parsed if it is present. But it is not yet used. A large comment added to analyze.c to explain the format of the ANALYZE system tables. (check-in: 6d1e2372fe user: drh tags: query-planner-tweaks)
15:09
Fix a problem with building large indexes introduced by the previous commit. (check-in: 038ec9ea92 user: dan tags: experimental)
12:01
In temp files used for merge sorting, store the size of each packed-memory-array at the start of the array itself. This is to avoid having to store the offsets of all arrays in the (potentially very large) file in main-memory. (check-in: 8051c1767c user: dan tags: experimental)
02:03
Merge together the fork in the query-planner-tweaks branch. (check-in: 2daab6bd42 user: drh tags: query-planner-tweaks)
01:22
Fix a compiler warning when STAT2 is off. More test cases. Fix legacy tests to deal with the new STAT2 logic. (check-in: 7e914aa999 user: drh tags: query-planner-tweaks)
2011-08-05
22:31
Bug fixes to the sample-count logic for STAT2. A few test cases added. (check-in: e93c248c84 user: drh tags: query-planner-tweaks)
21:13
Add a column to the sqlite_stat2 table that contains the number of entries with exactly the same key as the sample. We do not yet do anything with this extra value. Some tests in analyze2.test are failing. (check-in: eb43422827 user: drh tags: query-planner-tweaks)
11:49
Minor internal changes to vdbesort.c. Also, default to merging lists together 16 at a time. (check-in: 9ddc324a34 user: dan tags: experimental)
01:09
Allow the sqlite_stat2 table to contain a number of samples other than the default of 10. (check-in: b9d41c3490 user: drh tags: query-planner-tweaks)
2011-08-04
18:43
Fix a comment in vdbesort.c. (check-in: db8518cab8 user: dan tags: experimental)
12:14
Change to using packed-memory-arrays instead of b-trees when performing an offline merge-sort for CREATE INDEX. This makes it easier to control the number of disc seeks required when merging. (check-in: a4770d079c user: dan tags: experimental)
2011-08-03
22:06
Merge the winopen-retry-logic branch into trunk. The biggest change here is to test scripts, which should now use such as copy_file and delete_file from tester.tcl rather than the raw file commands of TCL. (check-in: b90c28be38 user: drh tags: trunk)
21:46
Merge the latest trunk changes into the sessions branch. (check-in: c570903608 user: drh tags: sessions)
21:32
Avoid segfaulting on an incremental blob write if SQLITE_ENABLE_PREUPDATE_HOOK set but no pre-update hooks are defined. (check-in: 62c4463404 user: drh tags: sessions)
16:40
Update the OP_Move opcode to shift the pScopyFrom pointer of aliases when compiled with SQLITE_DEBUG. Ticket [d63523637517386191]. (check-in: a2135ad130 user: drh tags: trunk)
01:07
Adjust the output row estimating logic when using STAT2. (check-in: c8ba8855d8 user: drh tags: query-planner-tweaks)
2011-08-02
23:45
Add explanatory comment to the win32lock-2.2 test case. (Closed-Leaf check-in: 4cb17881d9 user: mistachkin tags: winopen-retry-logic)
23:34
Correct subtle timing issues in the win32lock test cases and in the lock_win32_file Tcl command. Also, eliminate superfluous MSVC compiler warnings. (check-in: 7baf02946e user: mistachkin tags: winopen-retry-logic)
20:19
Fix missing info exists check for win32lock-2.2 (the one previously applied to win32lock-1.2). (check-in: 8a52698e64 user: mistachkin tags: winopen-retry-logic)
20:14
Exclude the 8_3_names.test script from the inmemory_journal permutation. (check-in: 78fc94c8d1 user: drh tags: trunk)
20:03
Replace the missed 'file copy' in malloc_common.tcl with copy_file. (check-in: cd20b4ef60 user: mistachkin tags: winopen-retry-logic)
20:01
Merge in the permutation changes from trunk. (check-in: b30a5e307f user: drh tags: winopen-retry-logic)
19:59
Also exclude backcompat.test from inmemory_journal since inmemory_journal is not compatible with WAL mode. (check-in: 861a5b6243 user: drh tags: trunk)
19:42
Merge the latest trunk changes into the winopen-retry-logic branch. (check-in: 8bef97a0eb user: drh tags: winopen-retry-logic)
19:30
Omit backcompat.test from the journaltest permutation because it uses WAL mode which is incompatible with journaltest. (check-in: 2bbf3150a4 user: drh tags: trunk)
18:25
Merge all the latest trunk changes into the apple-osx branch. (check-in: 77376b332b user: drh tags: apple-osx)
10:56
Minor fixes to vdbesort.c code in preparation for a major rework. (check-in: 7f339c0e26 user: dan tags: experimental)
01:57
Make sure IS NOT NULL constraints work on virtual tables. Fix for ticket [6c14288a473ceff]. (check-in: a55f4ab999 user: drh tags: trunk)
00:57
Add retry logic for AV defense to winOpen. Also, refactor test suite to allow the key Tcl file operations (e.g. copy and delete) to be retried. (check-in: 9007586fda user: mistachkin tags: winopen-retry-logic)
2011-07-30
23:50
Fix a (humorous) typo in the lemon documentation. (check-in: ed630b012f user: drh tags: trunk)
2011-07-28
20:48
Merge changes for the new sqlite3_file_control() that will cause the -wal and -shm files to persist after the last database connection closes. (check-in: 1b56677bdf user: mistachkin tags: trunk)
19:16
Remove redundant sub-expression from retry loop invariant in winAccess. Also, make check for SQLITE_ACCESS_READWRITE formally correct. (check-in: 93079a92c4 user: mistachkin tags: trunk)
07:34
Fix conditional for retry logic in winAccess and add missing call to logIoerr. (check-in: 8a145863d1 user: mistachkin tags: trunk)
00:14
Use osStat() instead of stat() consistently in os_unix.c (check-in: 9109128cb5 user: drh tags: trunk)
2011-07-26
17:53
Fix errors in a comment in sqlite3session.c. No changes to code. (check-in: d5f4c4c0bf user: dan tags: sessions)
16:23
Test cases added. Fix the query mode. (Closed-Leaf check-in: a9d8794ae9 user: drh tags: persistent-wal-patch)
16:03
Prototype change for a new sqlite3_file_control() that will cause the -wal and -shm files to persist after the last database connection closes. (check-in: e34c553bf0 user: drh tags: persistent-wal-patch)
15:57
Fix a test case in sessionfault.test. No changes to code. (check-in: dc6ecacd77 user: dan tags: sessions)
15:50
Fix a problem causing sqlite3changeset_invert() to effectively drop UPDATE changes. (check-in: bb3e65d972 user: dan tags: sessions)
2011-07-25
23:25
Enable the SQLITE_FCNTL_SIZE_HINT on unix even if SQLITE_FCNTL_CHUNK_SIZE has not been set. (check-in: 05c9832e5f user: drh tags: trunk)
2011-07-23
13:54
Merge the winAccess retry logic from the anti-antivirus branch into the trunk. (check-in: 08d0e8799e user: drh tags: trunk)
13:11
In the multiplexor, close auxiliary files before deleting them when doing a truncate. (check-in: 6fb7cfc2ef user: drh tags: trunk)
2011-07-22
21:25
Add retry logic for AV defense to winAccess(). Also allow OS tracing to be enabled by a compile-time option. (Closed-Leaf check-in: a6b85c7340 user: drh tags: av-defense)
12:49
Merge the latest trunk changes into the sessions branch. (check-in: 110cfd6920 user: drh tags: sessions)
11:23
Also add the sqlite3-all.c target to the MSVC makefile. (check-in: 8ce2b74a82 user: drh tags: trunk)
11:16
Add makefile targets sqlite3-all.c. (check-in: 71f7be586f user: drh tags: trunk)
10:53
Adjust the maximum number of open database connections in wal3.test down for OpenBSD. (check-in: b38e52f675 user: drh tags: trunk)
10:33
Use $(TCLSH_CMD) instead of tclsh in the autoconf makefile. (check-in: fd36d8067b user: drh tags: trunk)
2011-07-21
21:29
Compile with the SQLITE_ENABLE_8_3_NAME macro set to 2 to force 8+3 filenames to be on all the time. (check-in: ae83dac701 user: drh tags: trunk)
20:59
All multiplexor chunk sizes up to 4GiB. Disable the multiplexor if the chunk size is set to 0. (check-in: 83191ad6f3 user: drh tags: trunk)
2011-07-20
17:59
For an existing multiplexed database, try to set the chunk size automatically based on the sizes of the preexisting pieces. (check-in: 427a9a5120 user: drh tags: trunk)
17:13
All the SQLITE_OPEN_URI flag to propagate down into the VFS. (check-in: 29866f9598 user: drh tags: trunk)
16:35
When the multiplexor opens an auxiliary file, it now persists the name of that file until it is closed, as it should. Remove the limit on the number of auxiliary files used by the multiplexor. (check-in: 1ffa542bf9 user: drh tags: trunk)
2011-07-19
18:29
Formatting changes on the multiplexor code - make sure no lines exceed 80 characters. No logical changes. (check-in: ed5f0aad6b user: drh tags: trunk)
15:27
Increase the version number to 3.7.8. (check-in: 4355bf2908 user: drh tags: trunk)
2011-07-18
15:22
Fix the sqlite3session_isempty() method so that it returns, as documented, non-zero when no changes have been recorded by the session object. (check-in: d04e0fd82a user: dan tags: sessions)
2011-07-16
18:35
Fix error in a comment in sqlite3session.h. No changes to code. (check-in: 70c84e5020 user: dan tags: sessions)
18:05
Note in the documentation that when iterating through a changeset, all changes to a single table are grouped together. Also add the sqlite3session_isempty() function. (check-in: 364f3b820a user: dan tags: sessions)
2011-07-15
19:11
Add a few casts required by 64-bit VS2010 to the sessions code. (check-in: 5ac4a06111 user: dan tags: sessions)
13:43
In os_unix.c, check if the ESTALE macro is defined before using it. (check-in: 87017410f2 user: dan tags: trunk)
2011-07-13
18:53
Cherrypicked from trunk: Do not try to use STAT2 for row estimates if the index is unique or nearly so. (check-in: d55b64ef7e user: drh tags: branch-3.7.2)
18:31
Do not try to use STAT2 to refine the row estimate of a query that uses a unique or nearly-unique index. (check-in: efffc49baf user: drh tags: trunk)
16:03
Added the SQLITE_FCNTL_WIN32_AV_RETRY file control for configuring the retry counts and delays in the windows VFS. (check-in: 7aaf0a6ae1 user: drh tags: trunk)
15:21
Add the xFilter callback to the sqlite3changeset_apply() function. This callback allows the application to accept or reject changes on a per-table basis when applying a changeset. (check-in: 282474c42f user: dan tags: sessions)
2011-07-12
14:48
Cherrypick change [9f14fa56ba] (the fix for [54844eea3f]) from the trunk. (check-in: 7afb2354d3 user: dan tags: branch-3.7.2)
14:38
Merge the improved anti-virus defenses into the trunk. (check-in: 0207fd9b0c user: drh tags: trunk)
14:28
Experimental support for speeding up CREATE INDEX commands using an offline merge sort. (check-in: 30dbf0feab user: dan tags: experimental)
14:02
Revise logic in winDelete to check the file prior to attempting to delete it. (Closed-Leaf check-in: 36f11acc53 user: mistachkin tags: av-defense)
13:51
Improvements to the logging that occurs on an antivirus I/O retry. (check-in: ff0ff75c35 user: drh tags: av-defense)
11:04
Update the anti-virus retry logic for DeleteFile(). Invoke sqlite3_log() for each anti-virus retry. Make the retry delay configurable at compile-time. (check-in: 89f1848d7f user: drh tags: av-defense)
2011-07-11
23:45
Update the TCL commands for setting windows manditory locks. Add test cases for manditory lock delays under windows. (check-in: 03af4c175c user: drh tags: trunk)
19:45
Modifications so that the sessions extension works with blob handles. (check-in: 82ac16c4f8 user: dan tags: sessions)
18:17
Change the windows backend to retry read and write requests if the encounter ERROR_LOCK_VIOLATION and ERROR_SHARING_VIOLATION errors - which we think sometimes happens due to aggressive anti-virus software. (check-in: c20aca0661 user: drh tags: trunk)
15:52
Here is an attempted enhancement to the query planner that didn't work out. But it seems good to save this change for historical reference, even if it does not belong on the trunk. (Closed-Leaf check-in: 8daf6e1b42 user: drh tags: query-planner-deadend)
2011-07-09
16:17
Fix harmless compiler warnings on unix. (check-in: 90b1aea174 user: drh tags: trunk)
13:00
In where.c::findIndexCol - make sure that the Expr.op is TK_COLUMN before accessing the Expr.iColumn and Expr.iTable fields. Also fix a couple of unreachable branches. (check-in: 418a4da2a9 user: drh tags: trunk)
2011-07-08
17:02
Change the default chunk size on test_multiplex.c to 2147418112 bytes (formerly 1073741824 bytes) and make the default configurable at compile-time using SQLITE_MULTIPLEX_CHUNK_SIZE and at run-time using the "chunksize" URI query parameter. Add support fo test_multiplex to the shell. (check-in: e305b5a931 user: drh tags: trunk)
16:10
Fix for [54844eea3f]: Do not create automatic indexes on correlated sub-queries. (check-in: 9f14fa56ba user: dan tags: trunk)
13:07
Extend the SQLITE_TESTCTRL_OPTIMIZATIONS option to disable DISTINCT optimizations. (check-in: 18501dd1a8 user: drh tags: trunk)
2011-07-07
08:52
Update the tool/symbols.sh script to check for accidentally exported global variables. (check-in: 71b749a9dc user: drh tags: trunk)
08:19
Add a target to main.mk that will fail if the amalgamation contains any exported symbols that do not begin with "sqlite3_". Run this target from within releasetest.tcl. Add "static" to a couple of private functions in mem3.c. (check-in: a68b6580c7 user: dan tags: trunk)
07:37
Remove accidental global variable "doclist" from fts3Int.h. (check-in: f244b2f395 user: dan tags: trunk)
2011-07-06
09:36
Expose the value of compile time symbol SQLITE_MAX_DEFAULT_PAGE_SIZE to test scripts. (check-in: 335736637c user: dan tags: trunk)
2011-07-04
06:52
Adjust a couple of test scripts so that they work with OMIT_UTF16 builds. (check-in: 6c51bad0a3 user: dan tags: trunk)
2011-07-02
19:12
Add a testcase macro to ensure testing a boundary case in DISTINCT processing. (check-in: ff9fc722dc user: drh tags: trunk)
15:42
Cherrypick change [27c65d4d9c] into the 3.7.2 branch. (check-in: 9bbcd8c076 user: dan tags: branch-3.7.2)
15:32
Ensure that automatic indexes are only created in scenarios where they may be used more than once. (check-in: 27c65d4d9c user: dan tags: trunk)
13:34
Cherrypick [45e581bff7] into the 3.7.2 branch. (check-in: c593792ce0 user: dan tags: branch-3.7.2)
09:46
Merge experimental changes improving optimization of DISTINCT queries with the trunk. (check-in: 45e581bff7 user: dan tags: trunk)
06:44
Fix a broken assert() in where.c. (Closed-Leaf check-in: 090b29177f user: dan tags: experimental)
2011-07-01
18:43
Merge latest trunk changes with experimental branch. (check-in: e56be74eab user: dan tags: experimental)
18:26
Improve use of indexes to optimize DISTINCT queries. (check-in: 6c202ea024 user: dan tags: experimental)
14:22
Test case for ticket [d6ddba6706353915ceed] (check-in: 953e169e8a user: drh tags: trunk)
14:21
Improvements and tests for detection of redundant DISTINCT qualifiers. (check-in: 7337293c87 user: dan tags: experimental)
13:50
Ignore the database name on the target table when parsing a CREATE TABLE statement out of the sqlite_master table. This is a fix for ticket [d6ddba6706353] that preserves backwards compatibility. (check-in: 009c96ea78 user: drh tags: trunk)
2011-06-30
20:17
Experimental changes to improve optimization of DISTINCT queries. (check-in: f7ba0219ef user: dan tags: experimental)
2011-06-29
17:11
Pass the BTREE_UNORDERED hint into both sqlite3BtreeOpen() and into sqlite3BtreeCreateTable(). (check-in: 591de898f4 user: drh tags: trunk)
2011-06-28
17:39
Version 3.7.7.1. (Leaf check-in: af0d91adf4 user: dan tags: release, version-3.7.7.1, branch-3.7.7)
14:16
Merge the fts3-changes branch back into the trunk. (check-in: b9477eb056 user: dan tags: trunk)
11:58
Add a fix and tests for the FTS deferred token logic. (Closed-Leaf check-in: 91daea7d2e user: dan tags: fts3-changes)
09:51
Merge latest trunk changes with fts3-changes branch. (check-in: 226686475c user: dan tags: fts3-changes)
07:15
Changes to allow FTS to be compiled as a loadable module again. (check-in: 29e69f389c user: dan tags: trunk)
2011-06-27
23:39
Update the version number to 3.7.7.1 (check-in: de8ad5f817 user: drh tags: branch-3.7.7)
23:32
Create a branch that contains just the fix for the case_sensitive_like pragma bug, ticket [25ee81271091ec]. (check-in: ec8f23fc04 user: drh tags: branch-3.7.7)
19:37
Remove an unnecessary assignment from vdbeapi.c. (check-in: 6c871ac1fa user: dan tags: trunk)
19:25
Merge latest trunk changes. (check-in: 11ea98e454 user: dan tags: fts3-changes)
19:12
Remove an unnecessary assignment from vdbeapi.c. (check-in: 25e5b7686a user: dan tags: fts3-changes)
16:55
Add a case to permutations.test to run the veryquick test suite using sqlite3_prepare() instead of sqlite3_prepare_v2(). This helps to test the fix for bug [25ee812710]. (check-in: d9f7993bfa user: dan tags: trunk)
11:15
Changes to improve the selection of deferred tokens within phrases. (check-in: 2c4bbd90e2 user: dan tags: fts3-changes)
00:01
Make sure all new statements begin life unexpired, even if they registered functions or did other actions during preparation that would have expired all statements. Fix for ticket [25ee81271091] (check-in: faa38c8724 user: drh tags: trunk)
2011-06-26
23:44
Modifications to the "like.test" script in order to expose the problem reported by ticket [25ee81271091ec27a8c5]. (check-in: c4db5b6406 user: drh tags: trunk)
2011-06-25
21:43
Changes to make pragma synchronous sticky when SQLITE_DEFAULT_WAL_SAFETYLEVEL is used (check-in: c6158b254f user: adam tags: apple-osx)
16:35
Fix test cases so that they work with SQLITE_DEFAULT_WAL_SAFETYLEVEL defined. (check-in: 8f8b373eed user: dan tags: apple-osx)
01:14
Support using nmake via cmd.exe, allow Tcl related variables to be overridden via the environment, and add 'dll' to the 'all' target. (check-in: 0cb0f30603 user: mistachkin tags: trunk)
2011-06-24
21:47
Fix the build. (check-in: 97729542d5 user: drh tags: apple-osx)
20:47
Merging local changes to apple-osx (check-in: 34f0efa2b1 user: adam tags: apple-osx)
18:43
Explicitly cast an argument to printf() to (int), in case the result of the pointer arithmetic expression is a 64-bit integer on some platforms. (check-in: 90cfeaf7b6 user: dan tags: trunk)
13:50
Fix a Windows line ending issue in a test case that was causing an incrblob test to fail. (check-in: afbe9023a7 user: shaneh tags: trunk)
11:29
Fix some harmless compiler warnings that were occurring with THREADSAFE=0. (check-in: 9b191bb4c7 user: drh tags: trunk)
2011-06-23
19:49
Version 3.7.7. (check-in: 4374b7e83e user: drh tags: trunk, release, version-3.7.7)
17:42
Pull the last-minute fixes for 3.7.7 into the apple-osx branch. (check-in: 2d4458af59 user: drh tags: apple-osx)
17:40
Pull the latest version 3.7.7 release-candidate changes into the sessions branch. (check-in: 840bf9c2d9 user: drh tags: sessions)
17:29
Add a bit to the SQLITE_TESTCTRL_OPTIMIZATIONS setting that will disable affinity when writing to any index, regardless of whether or not the index is on a manifestation of a view. This allows better testing of the fix for ticket [91e2e8ba6ff2e2]. (check-in: b61a76a53a user: drh tags: trunk)
17:09
Fix some of the code issues (missing comments etc.) in the new FTS code. (check-in: 8230d83120 user: dan tags: fts3-changes)
16:40
Add a test for ticket [91e2e8ba6f]. No changes to code. (check-in: c271f7e88f user: dan tags: trunk)
16:18
Do not do affinity transformations on inserts into an index for the manifestation of a view or subquery. Fix for ticket [91e2e8ba6ff2e2]. (check-in: 0b3174e0b1 user: drh tags: trunk)
02:30
Pull the latest changes from trunk into the apple-osx branch. (check-in: b5acda0445 user: drh tags: apple-osx)
02:11
Pull the latest trunk changes into the sessions branch. (check-in: 5d95b42946 user: drh tags: sessions)
01:42
Provide the SQLITE_MAX_SCHEMA_RETRY compile-time parameter for adjusting the number of reparse attempts after a schema change. (check-in: 8dca748b23 user: drh tags: trunk)
01:07
Remove unused variables from test_vfs.c (check-in: 07884cc218 user: drh tags: trunk)
00:59
If "PRAGMA page_size" commands are not authorized, the FTS module will assume a page size of 1024. (check-in: ba39382ef5 user: drh tags: trunk)
2011-06-22
20:14
Added limited support to omittest.tcl for nmake makefile. (check-in: f5f46dc7b8 user: shaneh tags: trunk)
15:40
Update a test case for Windows that failed because of size_hint implementation differences. (check-in: f853fa63c3 user: shaneh tags: trunk)
15:21
Print a warning in oserror-1.1.1 that a valgrind warning might occur but that it is benign. (check-in: 13e96376e1 user: drh tags: trunk)
14:43
Adjust a test case in triggerC.test to handle non-default SQLITE_MAX_TRIGGER_DEPTH settings. (check-in: f14339c54b user: shaneh tags: trunk)
14:21
Add a flush of stdout so some test code reading from a command pipe works correctly on Windows. (check-in: 6705f21eff user: shaneh tags: trunk)
12:01
Update sessions branch with latest trunk changes. (check-in: 48d5cab3ac user: dan tags: sessions)
11:24
Update apple-osx branch with the latest trunk changes. (check-in: fb7ad09dec user: dan tags: apple-osx)
10:56
Change a test case in types3.test slightly so that it works with the latest versions of Tcl. (check-in: 6e1f4df51a user: dan tags: trunk)
10:37
Modify the implementation of the test code in test_vfs.c so that test VFS objects may be invoked recursively. (check-in: 065e5a5ea4 user: dan tags: trunk)
2011-06-21
19:39
Fix typo in previous tester.tcl commit. (check-in: c2e5faca14 user: shaneh tags: trunk)
19:38
Update filepath_normalize for unix. (check-in: 30dd4f8879 user: shaneh tags: trunk)
19:30
Update a few of the uri tests to work on Windows. (check-in: a2a0cd4aa4 user: shaneh tags: trunk)
18:12
Updates to nmake makefile to allow options to be passed to lib.exe. (check-in: 9eac4a6bbe user: shaneh tags: trunk)
15:58
Give the osLocaltime() function file scope in date.c. (check-in: 1abce55a1e user: dan tags: branch-3.7.6)
15:54
Give the osLocaltime() function file scope in date.c. (check-in: 1577484595 user: drh tags: trunk)
15:38
Initialize a variable introduced as part of the fix for [bd484a090c8077] in order to silence a compiler warning. (check-in: 6b9877fa43 user: dan tags: trunk)
15:34
Backport the localtime() failure patch from trunk. Ticket [bd484a090c8077]. (Leaf check-in: 2f5b37122b user: drh tags: branch-3.6.1)
15:27
Add a missing initializer for sqlite3GlobalConfig.bLocaltimeFault. (check-in: 7fe8ba2ec7 user: dan tags: trunk)
15:24
Fix main.mk so that the "amalgamation-testfixture" target works again. (check-in: 22265323f7 user: dan tags: trunk)
15:15
Backport the localtime() failure fix of ticket [bd484a090c8077] to the 3.7.6 branch. (check-in: 5d4b0c5bfc user: drh tags: branch-3.7.6)
15:01
Rework the localtime logic yet again in order to make all branches reachable and to follow GNU standards for HAVE_LOCALTIME_R-type macros. Ticket [bd484a090c8077]. (check-in: 176248095b user: drh tags: trunk)
14:35
Simplifications to the localtime() interface. Fix the case where localtime_r() is available so that it works. Ticket [bd484a090c8077]. (check-in: 5b68dae320 user: drh tags: trunk)
13:46
Change the error message returned when localtime_r() fails to "local time unavailable". Ticket [bd484a090c8077] (check-in: 0e82175fd8 user: dan tags: trunk)
12:53
Fix an error made in the previous commit. The parameters to localtime_s() were accidentally reversed. Ticket [bd484a090c807]. (check-in: 97e86ec6df user: dan tags: trunk)
12:47
Return an error if localtime_r() fails within one of the date/time functions. Fix for [bd484a090c]. (check-in: 76ae8257ef user: dan tags: trunk)
03:36
Add a new AWK script in the tool/ folder for converting text files into C string literals. Use it for building sqlite3_analyzer. (check-in: dcb46d3f68 user: drh tags: trunk)
01:30
Merge the latest trunk changes into the apple-osx branch. (check-in: 76005fdca0 user: drh tags: apple-osx)
01:29
Merge the latest trunk changes into the sessions branch. (check-in: f3d148e0d1 user: drh tags: sessions)
2011-06-20
23:51
More typo fixes in evidence marks. No code changes. (check-in: e60eefc76f user: drh tags: trunk)
22:34
Fix typos in evidence marks on tests. (check-in: bd980be471 user: drh tags: trunk)
21:47
Fix more documentation typos. (check-in: b9cbab739a user: drh tags: trunk)
20:52
Add ability to pass linker specific options to nmake makefile. (check-in: b4f09c9393 user: shaneh tags: trunk)
20:50
Fix a couple of compiler issues on Windows due to warning clean up. (check-in: 81e6f151d3 user: shaneh tags: trunk)
20:48
Add additional error check for disk full on Windows. (check-in: 3ee5d1a51d user: shaneh tags: trunk)
20:39
Fix documentation typos. No changes to code. (check-in: 3276f3f7c9 user: drh tags: trunk)
20:15
Remove the SQLITE_OMIT_CONFLICT_CLAUSE preprocessor define which was no longer in use. (check-in: 9024955973 user: drh tags: trunk)
19:00
More compiler warning fixes. (check-in: ed2dda9329 user: drh tags: trunk)
18:27
Fix compiler warnings in lemon by removing some of the code added by Ryan Gordon in [1e8b842039cc0]. (check-in: 76b18b2be0 user: drh tags: trunk)
18:00
Rework the autoconf script to better deal with utime() and dlopen(). (check-in: f69ed286ff user: drh tags: trunk)
17:41
Update a couple test scripts to account for more floating point display variation in Windows-based versions of TCL. (check-in: a4a8402bfe user: shaneh tags: trunk)
17:24
Fix various harmless compiler warnings in FTS3 and RTREE. (check-in: fe62179efd user: drh tags: trunk)
15:24
Enable crnl to nl translation for the mksqlite3c.tcl script. (check-in: 161379d205 user: drh tags: trunk)
12:24
Update some test cases in fts4aa.test. (check-in: 65e5f7706d user: dan tags: trunk)
11:57
Merge the latest trunk changes into the apple-osx branch. (check-in: 4c69e827f4 user: drh tags: apple-osx)
11:17
Merge trunk changes with sessions branch. (check-in: 699b884383 user: dan tags: sessions)
11:15
Fix a problem where FTS test code was not being included in the testfixture build when SQLITE_ENABLE_FTS4 was defined. (check-in: e539d08a4d user: dan tags: trunk)
10:46
Add tests for the "column:term" query syntax to fts3auto.test. (check-in: d138b0e659 user: dan tags: trunk)
10:44
Merge the latest trunk changes into the sessions branch. (check-in: 4c5e276c90 user: drh tags: sessions)
2011-06-19
21:17
Do not run test tkt-2d1a5c67d.test in the inmemory_journal permutation since that test requires WAL mode which does not work with inmemory_journal. (check-in: 228c43c726 user: drh tags: trunk)
2011-06-17
18:52
Fix a header dependency in nmake Makefile. (check-in: 54492212af user: shaneh tags: trunk)
17:37
Avoid loading doclists for infrequent terms that are part of phrases twice. (check-in: 8f939723f7 user: dan tags: trunk)
16:04
Add a missing declaration to fts3Int.h. (check-in: 3bfd4466f5 user: dan tags: trunk)
15:57
Fix a few more issues with the nmake makefile. (check-in: a117005f50 user: shaneh tags: trunk)
15:55
Update walro.test script for Windows. (check-in: d6443f8eb3 user: shaneh tags: trunk)
15:54
Force almagamation gen scripts to use unix line endings for consistency across platforms. (check-in: a4adc7f78b user: shaneh tags: trunk)
07:22
More updates to the nmake makefile. (check-in: 55bb56d336 user: shaneh tags: trunk)
07:07
Add Microsoft nmake compatible makefile; update a few test cases for Windows. (check-in: a7590af65f user: shaneh tags: trunk)
2011-06-16
16:06
Fix a problem with NEAR queries executed inside a transaction that writes the FTS table. (check-in: 051c756c36 user: dan tags: trunk)
00:54
Changes to #ifdefs so that the build goes correctly if the only FTS macro defined is SQLITE_ENABLE_FTS4. (check-in: a0b43a320e user: drh tags: trunk)
2011-06-15
23:34
Fix the multiplex.test module so that it works with the inmemory_journal permutation. (check-in: 03d9480fc4 user: drh tags: trunk)
19:18
Further tweaks to the wal7.test test case. (check-in: 177e2d72a8 user: drh tags: trunk)
17:04
Add a couple of pointer type casts to test file test_quota.c. (check-in: 0df061b055 user: dan tags: trunk)
16:07
Fix the wal7.test script so that it works even if secure_delete is engaged. (check-in: 68fb7a548c user: drh tags: trunk)
13:11
Merge the improved incremental doclist loading test from the broken-build branch (which is now fixed) into trunk. (check-in: f9750870ee user: drh tags: trunk)
13:02
Fix so that the TCL test harness works even if SQLITE_ENABLE_FTS is omitted. (Closed-Leaf check-in: 63ebcb52a1 user: drh tags: broken-build)
12:43
Fix a couple of compiler warnings. (check-in: 3899f3b95e user: drh tags: broken-build)
08:30
Add an interface to better test incremental loading of doclists by FTS4. Also some tests for this and term prefix queries. (check-in: 7a3813138d user: dan tags: broken-build)
2011-06-14
14:18
Fix a memory leak that can follow an OOM error in a user-function that uses sqlite3_set_auxdata(). (check-in: 0185c4b689 user: dan tags: trunk)
11:50
Merge fts3-prefix-search branch with trunk. (check-in: b1f9c1e0ac user: dan tags: trunk)
11:32
Add a couple of extra tests. (Closed-Leaf check-in: aefd46dfae user: dan tags: fts3-prefix-search)
09:00
Fix another bug caused by NEAR/matchinfo/order=DESC interaction. (check-in: 04907fbade user: dan tags: fts3-prefix-search)
07:22
Merge recent trunk changes into fts3-prefix-search branch. (check-in: 135ce30f62 user: dan tags: fts3-prefix-search)
07:14
Remove unused parameters from internal fts3 function. (check-in: 06de3f2cbc user: dan tags: fts3-prefix-search)
2011-06-13
18:21
Update trace2.test to account for new FTS queries. (check-in: 2c20129297 user: dan tags: fts3-prefix-search)
17:00
Add tests for deferred tokens to fts3auto.test. Fix a problem with OR queries and deferred tokens. (check-in: b9fb69e55b user: dan tags: fts3-prefix-search)
13:48
Changes to fts3auto.test to test OR, AND and NOT operations. (check-in: e4ab6cdb10 user: dan tags: fts3-prefix-search)
12:19
Use only unsigned values in the implementatin of LIKE and GLOB so that values won't overflow to negative when dealing with malformed UTF8. (check-in: 77f01578bb user: drh tags: trunk)
09:11
Fix a bug exposed by combining matchinfo(), NEAR and "ORDER BY rowid DESC". (check-in: 5f6b87f420 user: dan tags: fts3-prefix-search)
2011-06-10
18:33
When updating a field that requires foreign key constraints be checked, ensure that the indexes and tables are consistent when the FK logic is run. Otherwise, it may detect the inconsistency and report database corruption. (check-in: 2b3d9996a8 user: dan tags: trunk)
16:33
Fix minor problems with foreign key constraints where the parent table is the same as the child table. (check-in: 442d8d8bfe user: dan tags: trunk)
2011-06-09
17:53
Fix a line in pcache1.c where a global data structure is accessed without using the GLOBAL() macro. This causes a subtle malfunction on test systems that use SQLITE_OMIT_WSD. (check-in: b11b2e1f8c user: dan tags: trunk)
10:48
Fix problems to do with using both OR and NEAR operators in a single expression. (check-in: 4e8dd19eef user: dan tags: fts3-prefix-search)
2011-06-08
18:39
Fix various issues to do with deferred tokens, NEAR expressions and matchinfo(). (check-in: 3972a787df user: dan tags: fts3-prefix-search)
2011-06-07
18:35
Have NEAR queries use incremental merging. Fix issues surrounding the deferred token optimization. (check-in: 9d10a6846b user: dan tags: fts3-prefix-search)
18:31
Fix a comment type on the description of the Schema object. (check-in: 095cd9a6ec user: drh tags: trunk)
2011-06-06
18:14
Merge the latest trunk changes into the fts3-prefix-search branch. (check-in: 567dd84359 user: drh tags: fts3-prefix-search)
14:51
Modify fts3rnd.test to run tests for both "ORDER BY docid ASC" and "ORDER BY docid DESC" with both order=ASC and order=DESC FTS tables. Fixes for some bugs found. (check-in: 89f2f482e0 user: dan tags: fts3-prefix-search)
13:38
Add assert() statements to verify that u16 pointers associated with the enhancement in [897f56a158] are always 2-byte aligned. (check-in: 98ccfa930e user: drh tags: trunk)
06:55
Clean up the code for processing FTS4 options a bit. (check-in: 0425138a23 user: dan tags: fts3-prefix-search)
2011-06-04
20:13
Remove some unreachable code. (check-in: 650e1a79ed user: dan tags: fts3-prefix-search)
20:04
Allow the "order=DESC" and "order=ASC" parameters in FTS4 "CREATE VIRTUAL TABLE" statements. Tables created with "order=DESC" store all doclists in descending order, which allows optimizations normally applied to "ORDER BY docid ASC" queries to be used with "ORDER BY docid DESC" queries instead. (check-in: f6a0193f5a user: dan tags: fts3-prefix-search)
01:43
Performance improvement to the btree search routine. (check-in: 65db822f20 user: drh tags: trunk)
2011-06-03
23:28
Performance improvements on memory copies inside of btree by moving 2 bytes at a time instead of just 1 byte at a time. (check-in: 897f56a158 user: drh tags: trunk)
21:34
Performance enhancement to the blob-literal tokenizer. (check-in: 61aa2031f1 user: drh tags: trunk)
20:11
Create and use a function especially for adding the ParseSchema opcode. This gives a small reduction in code and a small performance increase. (check-in: 957b2ab67c user: drh tags: trunk)
18:00
FTS changes: Remove unreachable code. Fix bugs. When processing a large doclist incrementally, read from disk incrementally too. (check-in: a4c7e28208 user: dan tags: fts3-prefix-search)
17:50
Factor an "if" out of a loop in balance_nonroot() for about a 1% performance increase. (check-in: 1bd72d0c61 user: drh tags: trunk)
14:19
Hush some harmless compiler warnings in the URI parsing logic. (check-in: 0206bc6f87 user: drh tags: trunk)
13:28
Include more detailed version information in the command-line shell output. (check-in: 049c3c42fd user: drh tags: trunk)
13:06
Add shell scripts used for testing compiler warnings (tool/warnings.sh), for verifying that the library exports the correct symbols (tool/symbols.sh), and to demonstrate building a full-featured command-line shell (tool/build-shell.sh). (check-in: 3aca9a92c8 user: drh tags: trunk)
13:02
Fix the build when using SQLITE_OMIT_PRAGMA. (check-in: 051f4635bf user: drh tags: trunk)
12:15
Fix an #ifdef of SQLITE_OMIT_VIRTUALTABLE that had an extra "_" character. (check-in: 93e0be2bbf user: drh tags: trunk)
2011-06-02
19:57
Changes to improve performance and support LIMIT clauses on fts3 tables. This branch is unstable for now. (check-in: 28149a7882 user: dan tags: fts3-prefix-search)
17:24
Fix a faulty assert() in the WAL-mode logic for read-only shared memory. (check-in: a13cfe6162 user: drh tags: trunk)
15:48
Add a missing check for out-of-memory in the lemon code generator. (check-in: efb20b9da6 user: drh tags: trunk)
13:07
Merge the latest trunk changes, including the read-only shared memory enhancement, into the apple-osx branch. (check-in: ce5f95dee6 user: drh tags: apple-osx)
13:04
Merge the read-only shared memory branch into trunk. After this merge, an unprivileged process can open WAL-mode databases owned by another user as long as a database connection with write permission exists on the database file and if the readonly_shm=1 URI query parameter is supplied. (check-in: 19084a6641 user: drh tags: trunk)
2011-06-01
20:13
Make use of the sqlite3GetBoolean() interface for more robust processing of the readonly_shm query parameter inside of unixShmMap(). (Closed-Leaf check-in: 1f930d7e04 user: drh tags: wal-readonly)
20:01
Simplify the wal-readonly branch so that it does not require changes to anything other than os_unix.c and wal.c and a couple of new error codes. (check-in: d6b4709de4 user: drh tags: wal-readonly)
19:44
Pull the latest trunk changes into the wal-readonly branch. (check-in: 0b63b71357 user: drh tags: wal-readonly)
19:16
Avoid unnecessary duplication of SQL parameter names. (check-in: e704e8690a user: drh tags: trunk)
18:15
Refactor the SQL parameter processing so that parameter names for values that are optimized out of the prepare statement are not forgotten. (check-in: b3aaf715b6 user: drh tags: trunk)
11:26
Toward version 3.7.5.1. This check-in updates the version number and also patches the pager so that it never spills cache while in WAL mode. The latter patch fixes ticket [2d1a5c67dfc23] and also prevents excessive WAL file sizes if the pager cache starts thrashing. A few test cases fail. (Leaf check-in: 2e5a912ad7 user: drh tags: branch-3.7.5)
2011-05-31
17:08
Merge the latest trunk changes into the wal-readonly branch. (check-in: 2c6b5a28e3 user: drh tags: wal-readonly)
16:50
Fix a problem in the sqlite3TestErrorName() function (used only for testing) that appears to have originated from a bad merge. (check-in: a0ae314c7f user: drh tags: trunk)
11:56
Update the documentation to state that any parameter that is optimized out of a prepared statement becomes an anonymous parameter for which sqlite3_bind_parameter_name() returns NULL. (check-in: 701b8a23e3 user: drh tags: trunk)
2011-05-30
23:42
Minor performance improvements. (check-in: f9950c6af1 user: drh tags: trunk)
15:06
Update evidence marks on the URI filename tests to conform to the latest documentation. (check-in: 1bab03c481 user: drh tags: trunk)
14:35
Make sure the P5 argument to the OP_VUpdate opcode is always set to a valid conflict resolution code. (check-in: e3350dbd9f user: drh tags: trunk)
13:39
Merge the latest trunk changes into the sessions branch. (check-in: 832886b1e6 user: drh tags: sessions)
2011-05-28
19:24
Fix a "#ifdef" from check-in [03f7d36a8a] that should have been "#ifndef". (check-in: edb865c354 user: drh tags: trunk)
15:57
Minor changes made while planning a larger change. (check-in: 84097a4c75 user: dan tags: fts3-prefix-search)
15:53
Print a log message on each cache spill if compiled with SQLITE_LOG_CACHE_SPILL. (check-in: 5f15579f8c user: drh tags: trunk)
2011-05-26
14:19
Changes to work with SQLITE_OMIT_VIRTUAL_TABLE. (check-in: 03f7d36a8a user: drh tags: trunk)
2011-05-25
23:18
Fix some minor and harmless compiler warnings. (check-in: a4755e7088 user: drh tags: trunk)
20:25
Ignore malloc failures within the WAL file truncation attempt for journal_size_limit. (check-in: dd19105aa9 user: drh tags: trunk)
19:17
If a prefix index of size N is not present, use a prefix index of size N+1 along with the terms index for queries for prefixes of length N. (check-in: cc83991caa user: dan tags: fts3-prefix-search)
18:47
Merge trunk changes into experimental fts3-prefix-search branch. (check-in: f0f0a03db2 user: dan tags: fts3-prefix-search)
18:46
Fix a case where a malloc() error could lead to mismatched virtual-table xBegin/xCommit/xRollback callbacks. (check-in: d807304a69 user: dan tags: trunk)
18:34
Change fts4 so that the prefix= parameter is passes a comma-separated list of integers. For each integer N, a separate index of all prefixes of length N bytes is created. (check-in: be59bf4940 user: dan tags: fts3-prefix-search)
15:54
Fix a compiler warning. (check-in: 6df99e52da user: drh tags: trunk)
01:16
Changes to savepoint in virtual tables for simpler and more consistent operation. (check-in: 92f26a8b8f user: drh tags: trunk)
2011-05-24
18:49
If the fts4 option prefix=1 is specified, have the fts4 module maintain an index of prefixes as well as terms. (check-in: b5bdc63989 user: dan tags: fts3-prefix-search)
15:36
Do not invoke the xRollbackTo or xRelease methods of a virtual table without having first invoked an appropriate xSavepoint method. Add assert() statements to FTS3/4 to verify that this is happening in all cases. (check-in: 651ef24249 user: drh tags: trunk)
00:35
Make sure the savepoint index is correct one calls to sqlite3VtabSavepoint with SAVEPOINT_BEGIN. (check-in: a9d095660c user: drh tags: trunk)
2011-05-23
18:37
Minor cleanups to the header comments on various test_*.c file, to make the suitable for programmer-level documentation. (check-in: a65d043a2a user: drh tags: trunk)
2011-05-20
20:42
Adjustments to documentation hyperlinks to accommodate the new VFS documentation. (check-in: 139a8f53ae user: drh tags: trunk)
13:26
Add a big comment to the top of test_vfstrace.c to explain how to compile and use that module. (check-in: a6a0fefbe5 user: drh tags: trunk)
01:50
Fix the URI test script so that it works even if there is a subdirectory named "test". (check-in: 2018d4e108 user: drh tags: trunk)
01:49
Mark an unreachable branch in the recent WAL problem as unreachable. (check-in: 3e8a29ff89 user: drh tags: trunk)
2011-05-19
13:26
Version 3.7.6.3. (check-in: ed1da510a2 user: drh tags: release, branch-3.7.6, version-3.7.6.3)
07:53
Add another test for [2d1a5c67df]. (check-in: 97fcd9e888 user: dan tags: trunk)
02:48
Merge all the latest trunk changes into the sessions branch, especially the disappearing WAL transaction fix. (check-in: 5b1b536cf8 user: drh tags: sessions)
02:34
Bring the apple-wal-readonly branch up to date with the latest changes in apple-osx, and especially the fix for disappearing WAL transactions. (Leaf check-in: 5791232778 user: drh tags: apple-wal-readonly)
01:51
Pull all the latest trunk changes, and especially the fix for WAL cache spills causing transactions to disappear, into the apple-osx branch. (check-in: 8d1a6bb002 user: drh tags: apple-osx)
01:46
Backport the [67bf1c9a88] fix for vanishing WAL transactions due to small cache spillage. Ticket [2d1a5c67dfc236]. Also bump the version number to 3.7.6.3 in preparation for patch release. (check-in: e4d0f7ace8 user: drh tags: branch-3.7.6)
01:21
When committing a WAL transaction, make sure at least one page is written to the WAL file so that the WAL subsystem will have a page on which to set the commit flag. Ticket [2d1a5c67dfc236]. (check-in: 67bf1c9a88 user: drh tags: trunk)
2011-05-18
17:15
Enable URI filenames in the command-line shell. Add a check to the beginning of the shell to make sure it is compiled with the same SQLite source and header. (check-in: de58cb2838 user: drh tags: trunk)
03:02
Make sure the multiplexor shim uses a full pathname for temp file that it creates. (check-in: 186d7ff1d9 user: drh tags: trunk)
02:41
Remove unreachable branches from the 8.3 filename logic. (check-in: 4f7e7b44f2 user: drh tags: trunk)
02:22
Update multiplex VFS to handle empty filenames which can occur for during vacuuming (temp file names.) (check-in: a074986045 user: shaneh tags: trunk)
2011-05-17
20:36
Add the ability to limit filenames to 8+3 using the SQLITE_ENABLE_8_3_NAMES compile-time option together with a URI parameter of "8_3_names=1". (check-in: 96d6098560 user: drh tags: trunk)
19:43
Fix an off-by-one error in the new sqlite3_uri_parameter() function. (check-in: 9593a64079 user: drh tags: trunk)
18:53
Add the sqlite3_uri_parameter() interface function for use in building new VFSes. (check-in: 6b5de95fb5 user: drh tags: trunk)
15:56
Add extended return code SQLITE_CORRUPT_VTAB. Returned when the tcontents of the sqlite tables used internally by a virtual table module are invalid or inconsistent. (check-in: 8844e8bfb8 user: dan tags: trunk)
15:21
Avoid exceeding array bounds when reading a corrupt database file in autovacuum mode. Fixes a problem discovered by John Regehr and Peng Li using a customized clang compiler. (check-in: f7c525f5fc user: drh tags: trunk)
14:41
Avoid including fts3_term.c in the amalgamation, as it contains test code only. (check-in: f392b7ae02 user: dan tags: trunk)
2011-05-16
21:00
Enhance WAL mode so that the WAL file honors the journal size limit set by PRAGMA journal_size_limit. (check-in: db7e500f69 user: drh tags: trunk)
2011-05-13
18:51
Make arrangements so that virtual table inserts into shadow tables do not modify the sqlite3_last_insert_rowid() return. Document that this is how sqlite3_last_insert_rowid() works. (check-in: e569f18b98 user: drh tags: trunk)
17:11
Rather than document goofy behavior, it seems better to make the behavior less goofy. (Was: Updates to the sqlite3_last_insert_rowid() documentation - to make it clear that the function does not work for virtual tables.) (Closed-Leaf check-in: f88dfac383 user: drh tags: mistake)
17:11
Also add fts3_term.c to main.mk. (check-in: 966f2d2c1f user: drh tags: trunk)
2011-05-12
21:01
Add fts3_term.c to amalg gen script and configure input files. (check-in: 6ee0773290 user: shaneh tags: trunk)
15:32
Pull in the patches to support read-only WAL databases into a new branch off of the apple-osx branch. This also pulls in all the other pending 3.7.7 changes such as URI support. (check-in: 97b9801076 user: drh tags: apple-wal-readonly)
2011-05-11
20:54
Improvements to documentation hyperlinks. Change the value of SQLITE_OPEN_URI to an unreserved value. (check-in: 851ab75d5f user: drh tags: trunk)
19:00
URI filename documentation updates. (check-in: 8885c8677b user: drh tags: trunk)
17:36
Add missing comments associated with readonly shm changes. (check-in: 6a2ea52e6c user: dan tags: wal-readonly)
15:53
Merge latest trunk changes. Add a couple of readonly shm tests. (check-in: cde45a033e user: dan tags: wal-readonly)
14:57
Only open a read-only connection to shared-memory if the "readonly_shm=1" option is specified as part of the database file URI (and if a read-write connection fails). (check-in: 671ba5fc59 user: dan tags: wal-readonly)
2011-05-10
18:39
Have flags passed to sqlite3_open_v2() apply to the main and any attached databases. And change things so that any "mode=xxx" or "cache=xxx" options specified as part of a URI for the main database do not also apply to attached databases. (check-in: 3e49091530 user: dan tags: trunk)
17:43
Update URI test cases to account for the new error message format. (check-in: 5bde568028 user: dan tags: trunk)
17:31
Add experimental support for read-only connections to WAL databases. (check-in: bb59f9862d user: dan tags: wal-readonly)
14:52
Provide the ability to specify an alternative mutex subsystem at compile-time. - This check-in should have gone on the trunk, not on the 3.7.6 branch. (Closed-Leaf check-in: 489c453d4e user: drh tags: mistake)
10:17
Add new documentation keywords to the sqlite3_vfs description. (check-in: ad3389a9ab user: drh tags: trunk)
2011-05-09
19:20
Return a suitable error message if the mode= argument to a URI specifies a higher mode than what is allowed by context. Other minor cleanups for the URI parsing logic. (check-in: d9bc1c7fe0 user: drh tags: trunk)
2011-05-07
18:40
Set the sqlite3.mallocFailed flag if sqlite3ParseUri fails with SQLITE_NOMEM. (check-in: ca3797d496 user: drh tags: trunk)
18:18
Return SQLITE_MISUSE from the sqlite3_open_v2() function if the 3rd parameter is not a valid set of bit-values. (check-in: 3c926ce097 user: drh tags: trunk)
14:40
Fix minor compiler warnings. (check-in: 139eecbe1b user: drh tags: trunk)
2011-05-06
18:55
Merge the uri branch with the trunk. (check-in: 88df33c45f user: dan tags: trunk)
18:53
Remove some unnecessary modifications from the uri branch. Add a test to show that ATTACH only interprets its argument as a URI if the connection was opened with SQLITE_OPEN_URI (or URI interpretation is globally enabled). (Closed-Leaf check-in: aa90b94325 user: dan tags: uri)
18:34
Update comments and documentation associated with new URI parsing code. Add test file e_uri.test, containing tests mapped to documentation regarding URI filenames. (check-in: 92751788ea user: dan tags: uri)
13:58
Merge windows test case fixes. No changes to code. (check-in: 2e5c0ed724 user: dan tags: trunk)
00:19
Increase the iVersion for sqlite3_module needed for the xSavepoint, xRelease, and xRollbackTo methods from 1 to 2. This is so that it will conform to published documentation. (check-in: 0f4954e979 user: drh tags: trunk)
2011-05-05
23:07
Fix an incorrect assert() in sqlite3_value_config(). Updates to the sqlite3_value_config() documentation. (check-in: 22cbc01a26 user: drh tags: trunk)
19:44
Changes to various test scripts so that they pass on windows. (Closed-Leaf check-in: 1586244b6d user: dan tags: win32-test-fixes)
18:53
Have the xFullpath method in os_win.c discard the initial "/" if a filename begins with "/X:", where X is any alphabetic character. Also fix some test issues in uri.test. (check-in: fe57a8f621 user: dan tags: uri)
17:41
Fix sqlite3_vtab_on_conflict() to return the correct values for ABORT, FAIL, and IGNORE. (check-in: f0617d619d user: drh tags: trunk)
17:00
Fix a bug in memory usage tracking that was introduced by check-in [4e33a0eaf83922]. (check-in: 8ba456ae0b user: drh tags: trunk)
15:52
Merge the latest trunk changes into the apple-osx branch. (check-in: f9b149e538 user: drh tags: apple-osx)
15:46
Merge the latest trunk changes into the sessions branch. (check-in: 6883580e6c user: drh tags: sessions)
15:39
Bump the version number to 3.7.7 on account of the new sqlite3_vtab_config() and sqlite3_vtab_on_conflict() interfaces. Updates to the documentation on those interfaces. (check-in: 930be6a1bd user: drh tags: trunk)
13:54
Change sqlite3_create_module() so that it avoids resetting the schema as long as preexisting modules are unchanged. (check-in: 8485855afc user: drh tags: trunk)
13:53
Add a #include to test_demovfs.c in an effort to get it to compile on Solaris. (check-in: 8f06ea33c9 user: drh tags: trunk)
12:35
Fix a problem in the URI code preventing the amalgamation from building. Add comments describing SQLITE_CONFIG_URI and SQLITE_OPEN_URI to sqlite.h.in. (check-in: ea562d6d67 user: dan tags: uri)
2011-05-04
17:35
Merge latest trunk changes with uri branch. (check-in: af279f367e user: dan tags: uri)
17:23
Merge vtab-conflict branch with trunk. (check-in: 8f9666af5f user: dan tags: trunk)
16:30
Fix a couple of compiler warnings in the FTS code. (Closed-Leaf check-in: 1a11335970 user: dan tags: vtab-conflict)
15:41
Fix a performance problem in queries that use "ORDER BY rowid DESC" and one or more FTS auxiliary functions. (check-in: 95e09b20e9 user: dan tags: vtab-conflict)
12:52
Optimize "ORDER BY rowid/docid DESC/ASC" clauses on FTS tables. (check-in: 13395121e3 user: dan tags: vtab-conflict)
2011-05-03
15:09
Remove some unused code related to URI parsing. (check-in: 008cd0ef6b user: dan tags: uri)
11:53
Allow only "localhost" and "" as authorities in URIs. Do not allow escapes (%HH) in the authority part of a URI. (check-in: b8a0f1b523 user: dan tags: uri)
10:22
Change the supported URI options to "mode" and "cache". (check-in: 0a694a0b27 user: dan tags: uri)
2011-05-02
17:41
Merge the latest trunk changes into uri branch. (check-in: 7fdd0786c7 user: dan tags: uri)
2011-05-01
22:57
Backport check-ins [0900e35348f4b9bf3] and [4fead8e714c7e50] to the 3.7.2 branch. These check-ins provide hints to the btree layer for when it is possible to use a hash table rather than a btree to implement an index. The SQLite BTree layer does not use these hints, but alternative btree layers might. (check-in: 7155e6f328 user: drh tags: branch-3.7.2)
2011-04-28
18:46
Have r-tree virtual tables support on-conflict clauses. (check-in: 822ab52f10 user: dan tags: vtab-conflict)
2011-04-27
19:54
In windows, ignore ERROR_NOT_LOCKED when calling the read-lock removal routine. (check-in: f55156c519 user: drh tags: trunk)
18:08
Change the name of an internal function to avoid conflicts with the math library. (check-in: 1bd1484cd7 user: drh tags: trunk)
16:05
Expose the UTF8 to MBCS conversion routine in os_win.c to external applications. (check-in: 7b479b9bee user: drh tags: trunk)
16:02
Add documentation for the newly introduced sqlite3_vtab_config() and on_conflict() API functions. Test that encountering an SQLITE_MISMATCH in fts3 does not corrupt the full text index. (check-in: abdd70ae04 user: dan tags: vtab-conflict)
12:08
Fix problems related to savepoint rollback and fts3. (check-in: ff69f823f2 user: dan tags: vtab-conflict)
01:00
Fix a comment typo. (check-in: 19c6625abd user: drh tags: trunk)
2011-04-26
19:21
Extra tests for fts3. And fixes for conflict-handling related problems in fts3. (check-in: fb4a355871 user: dan tags: vtab-conflict)
2011-04-25
18:49
Add support for on conflict clauses to fts3/fts4. (check-in: 6d2633a6d0 user: dan tags: vtab-conflict)
18:20
Test case for the ".log" command to the command-line shell. (check-in: 7d0ff26a95 user: drh tags: trunk)
18:03
Add the (deliberately undocumented) sqlite_log() SQL function as a built-in. (check-in: f7806e0399 user: drh tags: trunk)
18:01
Invoke the unix open() system call through a wrapper to avoid problems resulting from differing declarations to that function in various systems. (check-in: 4c7ff4dd35 user: drh tags: trunk)
2011-04-24
22:56
Disable the transfer optimization if the destination table contains any foreign key constraint and foreign key constraints are enabled. Ticket [6284df89debdf]. (check-in: ddeea5ab5f user: drh tags: trunk)
2011-04-23
19:06
Test that it is now possible to use different VFSs for two databases attached to a single handle. (check-in: 2af51f856c user: dan tags: uri)
15:54
Have the ATTACH command do URI interpretation in the same way as sqlite3_open() and sqlite3_open_v2() do. (check-in: 68240e75e8 user: dan tags: uri)
10:12
Fix parsing of %00 in uri handling code. (check-in: 44f0874a95 user: dan tags: uri)
2011-04-22
22:55
Add the "getlock" utility for determining if a database file (on unix) is currently locked. (check-in: 0ab24b133e user: drh tags: trunk)
19:37
Add the start of the "uri-filenames" feature. (check-in: b8a8132e71 user: dan tags: uri)
2011-04-20
13:35
Update a comment in e_createtable.test. (check-in: d8b149f5e4 user: dan tags: trunk)
2011-04-19
06:43
Avoid passing NULL to the xOpen method of an FTS3/4 tokenizer. (check-in: 0dd09fc034 user: dan tags: trunk)
2011-04-18
17:30
Merge trunk changes into sessions branch. (check-in: b91b4c31fe user: dan tags: sessions)
15:47
Fix further missing comments and other minor issues in the session module code. (check-in: 99f0f35092 user: dan tags: sessions)
12:05
Fix some missing comments and other issues with session module code. (check-in: 20d7c28023 user: dan tags: sessions)
07:36
Further coverage tests for the session module. (check-in: 69a01c708b user: dan tags: sessions)
2011-04-17
17:25
Version 3.7.6.2 (check-in: 154ddbc171 user: drh tags: release, version-3.7.6.2, branch-3.7.6)
17:17
Bump the version number to 3.7.6.2 (check-in: c429edf30a user: drh tags: branch-3.7.6)
17:14
Change the prototype for the open() system call to agree with Posix. Though a faulty function prototype in a pointer cast is a seemingly innocuous error, the correct prototype is necessary for pthreads to work correctly on NetBSD. (check-in: 986f2f25ba user: drh tags: branch-3.7.6)
17:09
Change the prototype for the open() system call to agree with Posix. Though a faulty function prototype in a pointer cast is a seemingly innocuous error, the correct prototype is necessary for pthreads to work correctly on NetBSD. (check-in: 3e135748f1 user: drh tags: trunk)
00:55
Adjust some test cases in triggerC.test to handle non-default SQLITE_MAX_TRIGGER_DEPTH settings. (check-in: 9d6c6129fd user: shaneh tags: trunk)
2011-04-16
19:23
Improve test coverage of session module. (check-in: f46d4b641d user: dan tags: sessions)
2011-04-15
21:37
Adjust test case in quota.test to handle Windows dir seperators. (check-in: 75ed1bcee8 user: shaneh tags: trunk)
20:18
Updates to test code in os_win to bring winSync inline with unixSync (test code only). Updated a few test scripts to account for dirsync counting issues on Windows. (check-in: 8f99c5bf63 user: shaneh tags: trunk)
19:30
Remove stray semi-colon that MSVC complained about. (check-in: 7a085271ff user: shaneh tags: trunk)
19:18
Improve coverage of session module. (check-in: 3dfd1d63bd user: dan tags: sessions)
16:39
Changes to memory allocator usage tracking to delay the onset of integer overflow. (check-in: 4e33a0eaf8 user: drh tags: trunk)
16:03
Add tests and fixes for OOM handling in sqlite3changeset_concat(). (check-in: df0b2d21dc user: dan tags: sessions)
15:18
Backport check-in [9f9f32882501ac9] to provide EXPLAIN QUERY PLAN output for the count(*) optimization. Also backport check-in [a8761a9128de945aa] to prevent unordered indices from being used on a full table scan. The first backport was necessary in order to test the second. (check-in: 8d924e1607 user: drh tags: branch-3.7.2)
15:04
Have sqlite3changeset_concat() return SQLITE_SCHEMA if an attempt is made to concatenate changesets based on incompatible database schemas. (check-in: 343b64517d user: dan tags: sessions)
14:46
Do not do full table scans of unordered indices. (check-in: a8761a9128 user: drh tags: trunk)
14:33
Fix #ifs involving SQLITE_ENABLE_LOCKING_STYLE so that they check the value of that macro and not whether it is defined. (check-in: 8775f159c1 user: drh tags: trunk)
13:29
Add retry logic to GetFileAttributesEx() on windows. (Closed-Leaf check-in: 1cca9a49f2 user: drh tags: experimental)
12:36
Make sure the unix backend returns SQLITE_FULL if write() fails with an ENOSPC error code. (check-in: 721e3c16b3 user: drh tags: trunk)
12:04
Add documentation for sqlite3changeset_concat() to sqlite3session.h. (check-in: ada9efa53a user: dan tags: sessions)
2011-04-14
18:01
Add further tests for the sqlite3changeset_concat() function. Also fixes. (check-in: 1fc3f15d88 user: dan tags: sessions)
11:16
Start adding the sqlite3changeset_concat() function to the session module. (check-in: 8927b2260b user: dan tags: sessions)
2011-04-13
23:42
Remove extra CR and NL characters from FormatMessage() generated error messages in the windows VFS. (check-in: 8332949c28 user: drh tags: trunk)
20:26
Add new extended error codes for I/O errors on seek and shared-memory map. Add sqlite3_log() calls in the windows backend to record details of errors. (check-in: fe603217fc user: drh tags: trunk)
16:52
Fix a usage comment typo in the showdb utility. (check-in: 8744ced4ec user: drh tags: trunk)
15:42
Update the apple-osx branch to version 3.7.6.1. (check-in: 289194d68e user: drh tags: apple-osx)
14:40
Version 3.7.6.1 (check-in: a35e83eac7 user: drh tags: trunk, release, version-3.7.6.1)
14:02
Bump the version number to 3.7.6.1 in preparation for a bug-fix release. (check-in: 5f0c394a5a user: drh tags: trunk)
13:42
Make sure the array of overloadable system calls is always correctly sized, regardless of the compile-time configuration. Ticket [bb3a86e890c8e96ab]. (check-in: c6e727ab3b user: drh tags: trunk)
2011-04-12
01:58
Version 3.7.6. (check-in: f9d43fa363 user: drh tags: trunk, release, version-3.7.6)
2011-04-11
18:35
Do not override the fchmod system call in unix unless the SQLITE_ENABLE_LOCKING_STYLE compile-time option is engaged. (check-in: 51029d8430 user: drh tags: trunk)
15:36
Updates to the OS/2 patches. This change also move the location of a global variable declaration in shell.c which might effect other build targets. (check-in: 73906b67dc user: drh tags: trunk)
15:35
Fix a signed integer overflow problem in the testcase() macro. (check-in: f18f5f5893 user: drh tags: trunk)
13:57
Apply OS2 WAL patch. Changes to os_os2.c only. (check-in: eac1710680 user: dan tags: trunk)
05:38
Change exists.test to run all tests with and without "PRAGMA journal_mode=WAL". (check-in: c4e624db1a user: dan tags: trunk)
2011-04-10
16:39
Add a simple test program to aid in verifying that journals are cross-platform. (check-in: a65a7a59d1 user: drh tags: trunk)
2011-04-09
19:17
Add test file unordered.test. (check-in: f346dae127 user: dan tags: trunk)
18:13
Pull all the latest trunk changes into the apple-osx branch. (check-in: 4eaef4ad4c user: drh tags: apple-osx)
18:07
Merge the latest trunk changes into the sessions branch. (check-in: 83705e90a5 user: drh tags: sessions)
17:53
Remove an always-true conditional. Replace it with an assert(). (check-in: 1c2f0f8477 user: drh tags: trunk)
17:32
Add VerifyCookie instructions to "DROP XXX IF EXISTS" statements if the specified database object does not exist when the statement is prepared. (check-in: a46f32900a user: dan tags: trunk)
15:39
Add an OP_VerifyCookie instruction to "CREATE XXX IF NOT EXISTS" commands. This way, if the specified database object existed when the statement was compiled but removed from the database before sqlite3_step() was called, the statement still works as expected (and creates the object). (check-in: b9dbd99361 user: dan tags: trunk)
03:30
Back port the unordered-index-hack to the 3.7.2 branch. (check-in: 803530209f user: drh tags: branch-3.7.2)
03:20
If the keyword "unordered" appears at the end of the SQLITE_STAT1.STAT column for an index, then use that index for equality lookups only, never for range queries or sorting. This feature is currently undocumented and my change or be removed in a future release. (check-in: 8a42e23670 user: drh tags: trunk)
03:04
Back out the SQLITE_OMIT_UNIQUE_ENFORCEMENT compile-option. It is an unneeded complication. (check-in: 927e955b93 user: drh tags: trunk)
02:34
When ATTACH-ing a new database to an existing database with a codec, do not enable the codec in the attached database if it is not enabled in the existing database and it is not requested by the USING clause. (check-in: 4caa5fc86e user: drh tags: trunk)
02:09
Do not do a backup if the number of reserved bytes in the source and destination do not match. Try to make the match, but if unable fail. (check-in: 0ca8a2332b user: drh tags: trunk)
2011-04-08
23:36
Backport test cases from trunk that seek to prove that the IS NOT NULL query optimization is working. (check-in: 9eff470226 user: drh tags: branch-3.7.2)
23:05
Make sure the query planner is able to correctly analyze NULL value samples in the sqlite_stat2 table. This is a backport of changes from check-in [f73a167b434f] (check-in: 1d6378898a user: drh tags: branch-3.7.2)
23:04
Make sure the left-hand side of the IS NOT NULL operator is a simple column and not a general expression before applying the IS NOT NULL optimization. This is a backport of check-in [543f75a6abe3]. (check-in: e8177e0149 user: drh tags: branch-3.7.2)
21:35
Always make sure the left-hand side of the IS NOT NULL operator is a simple column, not a general expression, before applying the IS NOT NULL query optimization. (check-in: 543f75a6ab user: drh tags: trunk)
18:47
Add some rtree tests to the backcompat.test script. (check-in: 8ea3601cd1 user: dan tags: trunk)
17:22
Fix incrvacuum2.test so that it works with the inmemory_journal permutation. (check-in: 7b8e176143 user: dan tags: trunk)
2011-04-07
19:56
Change two new internal functions in where.c from global to file scope. (check-in: 5bbfa17d4d user: drh tags: trunk)
15:24
Add test case to verify [d03d63d77e] works. (check-in: bf78acb9df user: dan tags: trunk)
14:47
When searching a list of freelist trunk pages looking for a specific page to allocate, avoid unnecessary journalling of the unchanged trunk pages towards the start of the list. (check-in: d03d63d77e user: drh tags: trunk)
14:05
Avoid running thread1.test or thread2.test if SQLITE_MUTEX_NOOP is defined. (check-in: 532ae32ea0 user: dan tags: trunk)
10:09
Do not run multi-threaded Tcl tests if the library was built with SQLITE_MUTEX_NOOP defined. (check-in: e4e99606fd user: dan tags: trunk)
05:17
Fix test script attach4.test so that it works with type 1 VFS implementations (no wal). And wal.test so that it work with a small default pager cache size. (check-in: 29c7b42587 user: dan tags: trunk)
03:41
Fix a couple of MSVC compiler warnings; (check-in: 748c9109c9 user: shaneh tags: trunk)
01:54
Fix an issue with an analyze test. No code changes. (check-in: cddf79db83 user: shaneh tags: trunk)
01:14
Fix typos in documentation comments. No changes to code. (check-in: 9c64b5a99c user: drh tags: trunk)
2011-04-06
23:40
Add a missing "extern C" terminator to the end of sqlite3session.h. (check-in: 29090b695a user: drh tags: sessions)
23:39
Fix VC++ compiler warnings. (check-in: 7b7c8d366c user: drh tags: sessions)
22:33
Merge in the latest changes from the trunk. (check-in: 435b57dc2b user: drh tags: sessions)
22:05
Fix a performance regression: Keep two btree masks in each prepared statement; one for btrees used and another for btrees that require locks. Only try to lock the btrees identified by the second mask. (check-in: 614de91a50 user: drh tags: trunk)
19:15
Fix a benign inaccuracy in the os_unix.c SQLITE_FCNTL_SIZE_HINT code. (check-in: 61a6ccbe3c user: dan tags: trunk)
17:54
Changes to support building with various SQLITE_OMIT_XXX options defined. (check-in: 2039ed952a user: dan tags: trunk)
12:38
Update a comment in sqliteLimit.h. No changes to code or tests. (check-in: b7296fd380 user: dan tags: trunk)
12:37
Add configurations featuring the -ftrapv switch and large values for SQLITE_MAX_ATTACHED to releasetest.tcl. (check-in: 989588abf3 user: dan tags: trunk)
2011-04-05
22:13
Merge the latest trunk changes into the sessions branch. (check-in: 45f2026172 user: drh tags: sessions)
22:10
Merge the latest trunk changes into the apple-osx branch. (check-in: c77a767cbd user: drh tags: apple-osx)
22:08
Suppress many harmless compiler warnings, mostly signed/unsigned comparisons within asserts or unused parameters in extensions. (check-in: 3eeb0ff78d user: drh tags: trunk)
19:27
Simplifications to the sqlite3BtreeEnterAll() and LeaveAll() routines. Just have them call BtreeEnter and BtreeLeave() repeatedly rather than trying to be clever. (check-in: 51039b3578 user: drh tags: trunk)
19:26
Simplifications to the sqlite3ResetInternalSchema() logic to eliminate unreachable branches. (check-in: a4c3ac989d user: drh tags: trunk)
18:34
Remove dead code from the OP_JournalMode opcode in the VDBE. This code seems to have been useless since [f88c6367d2] on 2010-08-07. (check-in: a89f24e2c9 user: drh tags: trunk)
17:31
Remove the mutex counter and the logic that attempts to verify that btree mutexes are held continuously. We are not making that assumption at this time. (check-in: 242ce7cff4 user: drh tags: trunk)
16:09
When committing a WAL transaction, do not write any pages to the WAL file with page numbers greater than the size of the database image in pages. (check-in: 311d0b613d user: dan tags: trunk)
14:22
Fix a documentation typo. (check-in: d25c17ef6e user: drh tags: trunk)
13:38
Pull the latest changes from trunk (and hence from schema-parse-refactor) into the apple-osx branch. (check-in: 8e885ddea0 user: drh tags: apple-osx)
13:27
Pull the latest trunk changes (and hence the schema-parse-refactor changes) into the sessions branch. (check-in: 03ca83422f user: drh tags: sessions)
13:12
Merge the scheme-parse-refactor changes into trunk: (1) added sqlite3SchemaMutexHeld() asserts, (2) Use -1 instead of 0 to mean "all" in sqlite3ResetInternalSchema(), and other cosmetic changes. (check-in: 5db4511d8a user: drh tags: trunk)
12:25
Fix the P4_TRANSIENT constant so that it works correct - so that it really makes a copy of the string for the P4 argument. Use P4_TRANSIENT wherever appropriate. Change P4_STATICs of schema names to P4_TRANSIENT. (check-in: bf664b206b user: drh tags: trunk)
11:26
Improved comment on the sqlite3SrcListLookup function. (check-in: bcbc9ff568 user: drh tags: trunk)
02:33
Added ifcapable wal to some test scripts; (check-in: 6b270381da user: shaneh tags: trunk)
02:21
Added ifcapable utf16 to a few test cases; (check-in: 57e0919b08 user: shaneh tags: trunk)
2011-04-04
23:08
Add a comment to the VACUUM implementation explaining when all schemas are reset and not just the "main" schema. (Closed-Leaf check-in: 2aff1b0ca8 user: drh tags: schema-parse-refactor)
21:48
Changes for consistent use of SQLITE_OS_UNIX and removal of legacy OS_UNIX from testfixture source; (check-in: 78b6eee200 user: shaneh tags: trunk)
21:25
Additional schema mutex checks for sqlite3RootPageMoved(). Reduce the scope of sqlite3ResetInternalSchema() in a few places. (check-in: 39c0090783 user: drh tags: schema-parse-refactor)
20:40
Minor comment typo corrections. Simplify an assert. No functional changes. (check-in: 82c2316240 user: drh tags: schema-parse-refactor)
18:22
Add a description of access rules for the Schema object and lots of asserts to verify that the access rules are followed. (check-in: ae8374af05 user: drh tags: schema-parse-refactor)
15:38
Add the "--start=[permutation:][testfile]" option to tester.tcl. For starting quick.test or all.test at the nominated permutation and/or test file. (check-in: a97e8505f2 user: dan tags: trunk)
14:05
Merge test_syscall.c fix from the trunk. (check-in: 1e1a23cc56 user: dan tags: schema-parse-refactor)
14:03
Have test_syscall.c include "sqliteInt.h". Otherwise the SQLITE_OS_UNIX symbol may not be defined correctly. (check-in: fda8fadd83 user: dan tags: trunk)
13:40
Rename sqlite3SchemaFree() to sqlite3SchemaClear() to more accurately reflect its function. (check-in: 71d7440023 user: drh tags: schema-parse-refactor)
13:19
Merge the latest changes of trunk into the session branch. (check-in: 95d53c4432 user: drh tags: sessions)
13:11
Merge in the latest changes from trunk. (check-in: 6d78a25ddc user: drh tags: apple-osx)
13:07
Merge in the latest changes from trunk. (check-in: 47b79c40cf user: drh tags: schema-parse-refactor)
12:29
Move the expired-statement test for OP_Function until after all memory has been freed. The test is still commented out, however. (check-in: 425e3edb14 user: drh tags: trunk)
07:05
Changes to oserror.test and syscall.test so that they work with the in-memory journal permutation test. (check-in: 4e996f36c7 user: dan tags: trunk)
03:27
Suppress unused parameter warnings in sqlite3VdbeEnter() and related routines. (check-in: f8e98ab306 user: drh tags: trunk)
00:14
Remove the BtreeMutexArray object - use the Vdbe.btreeMask field to accomplish the same result. Add a generation counter to btree mutexes in order to assert that mutexes are never temporarily dropped over a range of instructions in order to do deadlock avoidance in some subroutine. Lock all btrees in any Vdbe program that uses OP_ParseSchema. (check-in: d81708f7d1 user: drh tags: trunk)
2011-04-03
18:19
Make sure that the constant 1 is cast to yDbType before shifting to create an attached database mask. This check-in is a follow-up and fix to the [7aaf8772274422] change that increases the maximum number of attached databases from 30 to 62. (check-in: e2a09ea73c user: drh tags: trunk)
02:41
Fix typos in comments. No changes to code. (check-in: 28c5f12e98 user: drh tags: trunk)
2011-04-02
20:08
Merge in the latest changes from trunk. (check-in: 0d99229a7a user: drh tags: schema-parse-refactor)
20:01
Change the name of the "tAttachMask" datatype to "yDbMask". (check-in: 3d6f2e8235 user: drh tags: trunk)
17:00
Avoid returning SQLITE_NOTFOUND when the unix xSetSystemCall interface is invoked with NULL passed as the second argument, even if all the default system calls are already installed. (check-in: 3b91eaaa0b user: dan tags: trunk)
16:50
When resetting any non-TEMP schema, also reset the TEMP schema since it might be holding references to the non-TEMP schema that just got reset. (check-in: 211d5dde1f user: drh tags: schema-parse-refactor)
16:28
Begin a series of changes designed to reduce the scope and frequency of invalidating schemas. Design goals are that the internal schema should never be deleted out from under a prepared statement that is running and that all prepared statements should be expired if the schema is invalidated. At the same time, minimize the number of schema invalidations. This change merely revises the sqlite3ResetInternalSchema() function to use -1 as the wildcard for "all" rather than 0, so that we can reset the main schema independently of all the others. (check-in: 6a8ad6e31e user: drh tags: schema-parse-refactor)
09:44
Fix a race condition in OP_ParseSchema. (check-in: 71a799b02a user: dan tags: trunk)
09:25
Do not attempt to run tests that use the 'wholenumber' virtual table if the build does not support virtual tables. (check-in: 20afd81a4c user: dan tags: trunk)
06:44
Fix additional test cases so that they work with DEFAULT_AUTOVACUUM. (check-in: 139bc5655e user: dan tags: trunk)
2011-04-01
23:49
Add the "wholenumber" virtual table module to the test suite - useful in populating tables with many rows of content prior to a test. (check-in: 975dff155b user: drh tags: trunk)
20:54
Fix up the Makefile.in so that the configuration script works for "make test". (check-in: 2e03830c1e user: drh tags: trunk)
20:47
Merge the word-fuzzer branch into trunk. (check-in: f77609d441 user: drh tags: trunk)
20:28
Add additional test data and documentation to the fuzzer virtual table. (Closed-Leaf check-in: a6a81d4fda user: drh tags: word-fuzzer)
19:14
Changes to wal tests so that they work with DEFAULT_AUTOVACUUM defined. (check-in: b477852f82 user: dan tags: trunk)
18:39
Merge the multiplexer enhancements back into the trunk. (check-in: 2c125710cb user: drh tags: trunk)
18:12
Add a script that will break the amalgamation source file up into 4 or 5 smaller source files, each 32K lines or fewer, and a single "sqlite3-all.c" source file that #includes the others. (check-in: 5d34e64d4d user: drh tags: trunk)
17:53
Change analyze7.test so that it works without SQLITE_ENABLE_STAT2 defined. (check-in: 9415201c8a user: dan tags: trunk)
16:50
When simulating an error in the close() system call, close the file descriptor anyway. Otherwise long running tests leak too many file-descriptors and crash. (check-in: 81ddbf4336 user: dan tags: trunk)
15:43
Merge latest trunk changes. (check-in: d184cf0057 user: dan tags: sessions)
15:30
If the sessions module is being built as part of the amalgamation, do not try to include sqliteInt.h and vdbeInt.h. (check-in: f87bfe6e12 user: dan tags: sessions)
15:15
Ensure that it is not possible to add a column to a system table using ALTER TABLE. (check-in: d9707ef8dc user: dan tags: trunk)
14:26
Merge the ANALYZE-index enhancement into trunk. (check-in: 7e237aea22 user: drh tags: trunk)
14:22
Removed dependency on sqliteInt.h so that multiplex VFS shim can be compiled as loadable module. (Closed-Leaf check-in: 718f1ad7df user: shaneh tags: multiplex-enhancements)
14:04
Test cases for ANALYZE-index. (Closed-Leaf check-in: 365896cb08 user: drh tags: analyze-idx)
13:29
Move a variable declaration inside an #ifdef to avoid a compiler warning. (check-in: 7a6d05dfbc user: drh tags: trunk)
11:56
In os_unix.c, do not return SQLITE_BUSY to SQLite following an error in fcntl(F_UNLCK), regardless of the value of errno. (check-in: ff6dfe6ed7 user: dan tags: trunk)
09:04
Fix some problems in os_unix.c when compiled with ENABLE_LOCKING_STYLE on OSX. Also some minor issues with test scripts. (check-in: 8088031bc9 user: dan tags: trunk)
02:26
Fix two compiler errors associated with non-standard compile-time options. (check-in: e3bf2d5ce4 user: drh tags: trunk)
01:38
Fix a compiler warning and an unreachable branch. Restore 100% branch test coverage. (check-in: 4dc148bb4c user: drh tags: trunk)
2011-03-31
18:36
Provide hints to the btree layer Next and Previous primitives to let them know if they can be no-ops if the underlying index is unique. (check-in: a5aae1743a user: drh tags: branch-3.7.2)
15:11
Enable/disable support. (check-in: b3c6d9aa9e user: shaneh tags: multiplex-enhancements)
13:14
Add tests and fixes for SELECT multiplex_control(op, val); (check-in: fee9734c19 user: shaneh tags: multiplex-enhancements)
05:31
Additional test cases; Round chunk size up to a multiple of max page size; (check-in: 36e364a3fe user: shaneh tags: multiplex-enhancements)
02:03
Change the ANALYZE command so that it will accept an index name as its argument and only reanalyze that one index. A quick smoke-test works. Need to study the implications to the query planner and test corner cases. (check-in: c8f9edd962 user: drh tags: analyze-idx)
2011-03-30
21:04
Add the SQLITE_ENABLE_PREUPDATE_HOOK compile-time option. (check-in: 6634521461 user: drh tags: sessions)
21:03
Updates to multiplex.test script; misc. bug fixes; (check-in: c41ff2358e user: shaneh tags: multiplex-enhancements)
19:08
Further tests for os_unix.c. (check-in: a84f771194 user: dan tags: trunk)
17:25
Disable the truncate optimization if there is a preupdate hook. (check-in: d051694e02 user: drh tags: sessions)
17:07
Add documentation to the sqlite3_preupdate_hook() interface and its relatives. (check-in: 8180f2881f user: drh tags: sessions)
14:54
Do not generate sqlite_stat1 entries for empty tables when running ANALYZE. Ticket [83ea97620bd31016451] (check-in: 3a27af5b3c user: drh tags: trunk)
02:03
Merge in all the latest changes from trunk. (check-in: b11d941e92 user: drh tags: sessions)
01:43
Move to an O(NlogN) algorithm for the priority queue. An insertion sort was way too slow. (check-in: 7958cbba73 user: drh tags: word-fuzzer)
2011-03-29
23:41
Add support for rowid. (check-in: 2cf4158ff0 user: drh tags: word-fuzzer)
18:28
Add tests to syscall.test and sysfault.test. (check-in: 3d2de01181 user: dan tags: trunk)
18:21
The first simple test-case appears to be working now. (check-in: dd41155bc7 user: drh tags: word-fuzzer)
15:40
Fix a problem whereby following an IO error in CommitPhaseTwo() of a multi-file transaction the b-tree layer could be left in TRANS_WRITE state, causing problems later on. (check-in: dbe569a099 user: dan tags: trunk)
15:00
If the keyword "unordered" appears at the end of the SQLITE_STAT1.STAT column for an index, then use that index for equality lookups only, never for range queries or sorting. (Closed-Leaf check-in: 3b964155f6 user: drh tags: unordered-index-hack)
14:08
Further improvements to the fuzzer. It still is not quite working. Pausing to work on other things.... (check-in: 5f2f2fce40 user: drh tags: word-fuzzer)
10:04
Fix a problem in the unix VFS implementation of xNextSystemCall(). Also some typos that prevent compilation when HAVE_POSIX_FALLOCATE is defined. (check-in: bc6cce8156 user: dan tags: trunk)
05:06
In-progress changes - do not use; Removed prefix support; Added file control interface to enable/disable and adjust chunk size; added app-def function for same; (check-in: bc02d0c193 user: shaneh tags: multiplex-enhancements)
01:47
Fix the documentation for the sqlite3_column_*_name() functions to describe that the information can be invalidated when a prepared statement is reprepared by the first invocation of an sqlite3_step() for a particular execution cycle. (check-in: 7270f80ac5 user: drh tags: trunk)
2011-03-28
19:10
Add test infrastructure (and some tests) to inject faults into os_unix.c using the new xSetSystemCall interface. (check-in: 0e1d20dfae user: dan tags: trunk)
2011-03-26
19:04
Added most of the logic. Simple test runs without segfaulting but does not give the correct answer. (check-in: fb4c31eac8 user: drh tags: word-fuzzer)
15:05
Skeleton code for the word-fuzzer virtual table. (check-in: ea3a4ee136 user: drh tags: word-fuzzer)
2011-03-25
19:06
Improve coverage of session module a bit more. (check-in: 4255a9f609 user: dan tags: sessions)
10:52
Improve coverage of session module code. (check-in: 666123c8d0 user: dan tags: sessions)
2011-03-24
17:43
Minor change to sqlite3Utf8Read() to make consistent with READ_UTF8() usage and avoid implementation defined usages of <<. Added some additional UTF-8 test cases. (check-in: 7173b3929f user: shaneh tags: trunk)
17:37
Fix problem with tableapi.test on Windows. (check-in: 69fe0c873d user: shaneh tags: trunk)
16:53
Fix handling of schema changes mid-session. (check-in: 76d2d2ad3b user: dan tags: sessions)
16:04
Fix handling of schema mismatches in sqlite3session.c so that it matches the docs in sqlite3session.h. (check-in: 506a0d7a71 user: dan tags: sessions)
11:22
Store primary key definitions for modified tables in changesets. Add the sqlite3changeset_pk() API to extract this data from a changeset iterator. (check-in: 54298ee5ed user: dan tags: sessions)
01:34
The changes to fix [f7b4edece25c9948] mean that the schema is always loaded whenever a prepared statement is running. This means that a couple of branches can be eliminated and one operand of OP_ParseSchema can be removed. (check-in: b6e268fce1 user: drh tags: trunk)
2011-03-23
22:54
Fix a signed/unsigned comparison compiler warning. (check-in: c81da6f98d user: drh tags: trunk)
22:51
Update the test_vfstrace.c shim to conform to the new VFS interface for xSetSystemCall and xGetSystemCall. (check-in: ad4dc7b95f user: drh tags: trunk)
22:48
Merge in all the latest changes from the trunk, and especially the interface changes to the SystemCall methods of the VFS. (check-in: 9c3a6e4799 user: drh tags: sessions)
22:02
Change the xSetSyscall methods of the VFS so that they do not cast object pointers into function pointers. Fix other unrelated compiler warnings. (check-in: e059152adc user: drh tags: trunk)
18:22
Increase the upper bound on SQLITE_MAX_ATTACHED from 30 to 62. (check-in: 7aaf877227 user: drh tags: trunk)
17:10
Fix a bug in fts4 to do with matchinfo and deferred tokens. (check-in: 30d42dc66f user: dan tags: trunk)
16:03
Add the "indirect flag" to the changeset blob format. Also the sqlite3session_indirect() API. (check-in: 1feaf2d35f user: dan tags: sessions)
11:16
In the shell, make sure the ".log" command has at least one argument. (check-in: 1ed5e361ca user: drh tags: trunk)
10:52
Fix a numbering issue in rtree6.test. Add a couple of extra tests. (check-in: 0b7668a71e user: dan tags: trunk)
10:38
Change the rtree module to support queries with multiple comparison operators (i.e. > or <) of the same type on a single column. (check-in: 387b55aa9b user: dan tags: trunk)
2011-03-22
18:45
Add API function sqlite3_preupdate_depth(), for determining the depth of the trigger stack from within a pre-update callback. (check-in: bdea70895c user: dan tags: sessions)
16:54
Fix a crash that can follow an OOM when "all tables" are registered with a session module. (check-in: 183c236e99 user: dan tags: sessions)
15:21
If a NULL pointer is passed to sqlite3session_attach() in place of a table name, attach all database tables to the session object. (check-in: e9037e4e4c user: dan tags: sessions)
12:08
Add OOM tests and related fixes for the session module. (check-in: 06048a68b3 user: dan tags: sessions)
02:03
Fix a couple typos for consistency in sessions documentation. (check-in: 510198f171 user: shaneh tags: sessions)
2011-03-21
19:41
Remove some unreachable code in sqlite3session.c. Add test cases. (check-in: 39cdfa5324 user: dan tags: sessions)
17:17
Merge in the sqlite3_db_config() enhancements for enabling and disabling FKs and triggers from trunk. (check-in: 2b3c8b9d9a user: drh tags: sessions)
17:15
Add the ability to enable and disable foreign key constraints and triggers using calls to sqlite3_db_config(). (check-in: 09e167f9c1 user: drh tags: trunk)
16:17
Add start of fault-injection tests for session module. Fix some bugs related to the same. (check-in: 32e95164d1 user: dan tags: sessions)
11:55
Clarify handling of NULL values in PK columns in sqlite3session.h. Add tests and fixes for the same. (check-in: aed4273054 user: dan tags: sessions)
11:03
Fix session module problems with real (floating point) values. (check-in: a192d04f4e user: dan tags: sessions)
07:23
Fix some typos in sqlite3session.h. (check-in: 0853e530cc user: dan tags: sessions)
2011-03-20
11:20
Documentation format updates to sqlite3session.h. (check-in: f227f60210 user: dan tags: sessions)
2011-03-19
19:19
Fix a problem involving session objects and attached databases. (check-in: ad91d30073 user: dan tags: sessions)
18:46
Fix a bug in changeset generation code. (check-in: 825df75ba4 user: dan tags: sessions)
17:07
Move session1.test from test/ to ext/session/. (check-in: c4436a936a user: dan tags: sessions)
16:26
Fix a problem with resizing a hash table in sqlite3session.c. (check-in: 6e5907e14d user: dan tags: sessions)
15:37
Fix some bugs in sqlite3changeset_apply(). (check-in: 7250318dda user: dan tags: sessions)
08:38
Fix a problem with INTEGER PRIMARY KEY columns and the pre-update hook. (check-in: 24d4d5dd00 user: dan tags: sessions)
02:37
Merge the fix to ticket [f7b4edece25c99485] into the sessions branch. (check-in: 1b736ac293 user: drh tags: sessions)
02:04
Add a test case to verify that ticket [f7b4edece25c994857] is fixed. (check-in: eedbcf0a0b user: drh tags: trunk)
2011-03-18
21:55
Add a generation counter to the Schema object and enhance OP_VerifySchema to also check the Schema generation. Fix for ticket [f7b4edece25c99]. (check-in: 36c04dd169 user: drh tags: trunk)
18:03
Hold the database mutex for the duration of an sqlite3changeset_apply() call. Also for the duration of all sqlite3session_xxx() calls. (check-in: c615c38c32 user: dan tags: sessions)
16:47
Fixes for compiler warnings. Minor code cleanup. (check-in: 9604d13001 user: drh tags: sessions)
16:13
Further improvements to documentation in sqlite3session.h. (check-in: 07019bb9e8 user: dan tags: sessions)
15:13
Fix a memory allocation issues in the preupdate hook so that the hook.test script runs clean in valgrind. (check-in: bd94f4c8b1 user: drh tags: sessions)
13:05
Update comments in sqlite3session.h. More to come. (check-in: e73e9082f3 user: dan tags: sessions)
12:35
Merge all the latest trunk enhancements into the sessions branch. (check-in: 94fd5bb6da user: drh tags: sessions)
2011-03-17
19:20
Change to the session module to use user-defined primary keys instead of rowids when collecting changes. (check-in: 6614cfcb9c user: dan tags: sessions)
16:45
Update the implementation of ".testctrl" in the command-line shell to use a look-up table rather than a long sequence of if-elses. Shorten source code lines of shell.c to 80 characters or less. (check-in: 54bacb95dd user: drh tags: trunk)
01:58
Comment enhancement to better explain the logic in the "x IS NULL" optimization. (check-in: 869f894798 user: drh tags: trunk)
01:53
Backport the "x IS NULL" query planner enhancement of [2353176811f] to the 3.7.2 branch. (check-in: 68daf20d01 user: drh tags: branch-3.7.2)
01:34
Enhances to the query planner such that "x IS NULL" constraints take the STAT2 statistics into account, just like "x=VALUE" constraints. (check-in: 2353176811 user: drh tags: trunk)
2011-03-16
19:59
Add the sqlite3_preupdate_new() API, for retrieving the new.* values from within a pre-update callback. (check-in: 526545c49f user: dan tags: sessions)
18:54
Additional interpretation of flags and constants in the VFS trace output. (check-in: 3e984195f1 user: drh tags: trunk)
17:05
Add the -vfstrace option to the usage error message in the shell. (check-in: baca45c549 user: drh tags: trunk)
16:56
Add the VFS-trace shim. (check-in: f49a9ef338 user: drh tags: trunk)
09:49
Remove the sqlite3_transaction_hook() API. (check-in: b0015a1cfe user: dan tags: sessions)
2011-03-15
19:08
Make the "unix-excl" VFS work exactly like "unix" if the database file is read-only. (check-in: d984683499 user: drh tags: trunk)
18:35
Fix an out-of-order variable declaration in shell.c. (check-in: 7257084650 user: drh tags: trunk)
16:37
Fix some bugs and other code issues in the session module. (check-in: f2930840e4 user: dan tags: sessions)
04:45
Allow multiplex file names to be preceeded by prefix of the form ":multiplex:chunksize:maxchunks:" Still work to be done, though it compiles and prefixes are ignored. (check-in: cfa4a2f7ea user: shaneh tags: multiplex-enhancements)
02:55
Fix cut-and-paste typo in debugging print statement in winMutexTry(). (check-in: def98fd23e user: shaneh tags: trunk)
2011-03-14
19:49
Fix handling of return values from the conflict handler. Document the conflict handler arguments and return codes in sqlite3session.h. (check-in: cbbb274e50 user: dan tags: sessions)
13:54
Merge the unix-excl VFS into the trunk. This merge also adds the -vfs option to the command-line shell. (check-in: 3934b004e9 user: drh tags: trunk)
2011-03-12
18:10
In the "unix-excl" VFS, use the heap for shared memory, since only a single process is able to read or write the database. (Closed-Leaf check-in: a05a6d4087 user: drh tags: unix-excl)
17:22
Fix some issues with UPDATE changes in the session module. (check-in: 57862efe71 user: dan tags: sessions)
17:02
Add the new optional "unix-excl" VFS. This VFS grabs an exclusive lock on the database preventing other processes from accessing it, but continues to allow other database connections from the same process. (check-in: 00051c3296 user: drh tags: unix-excl)
05:55
Backport the SQLITE_OMIT_UNIQUE_ENFORCEMENT change from check-in [b86999436e] on the trunk. (check-in: 668b91dbff user: shaneh tags: branch-3.7.2)
04:58
More tests for SQLITE_OMIT_UNIQUE_ENFORCEMENT and minor change to implementation. (check-in: b86999436e user: shaneh tags: trunk)
2011-03-11
19:05
Add the sqlite3changeset_apply() function. Does not yet handle all cases. (check-in: 2b19be7bf7 user: dan tags: sessions)
16:15
Remove an unused field from the unix sqlite3_file object. (check-in: f957f23a8a user: drh tags: trunk)
2011-03-10
21:48
Simplification of tests and more added for SQLITE_OMIT_UNIQUE_ENFORCEMENT tests. (check-in: 75a38411a8 user: shaneh tags: trunk)
21:13
Skip unique constraint enforcement if compiled with SQLITE_OMIT_UNIQUE_ENFORCEMENT. (check-in: ba85bf8cb8 user: shaneh tags: trunk)
03:54
Minor clean-up of previous mem5 allocator fix. (check-in: 3643842316 user: shaneh tags: trunk)
2011-03-09
22:09
Backport the OP_Next and OP_Prev for UNIQUE indices patch from checkin [f000c9b2b7] on the trunk. (check-in: 2d55234ea3 user: drh tags: branch-3.7.2)
21:36
Fix issue with mem5 allocator when min request size is larger thatn 2^30. (check-in: d7dae06fb2 user: shaneh tags: trunk)
21:02
Omit unnecessary OP_Next and OP_Prev operators when uniqueness constraints guarantee that the code will only make one pass through the loop. (check-in: f000c9b2b7 user: drh tags: trunk)
11:17
Add a function to the session extension invert a changeset. (check-in: 75d5dff725 user: dan tags: sessions)
11:04
Updates to the OS/2 implementation from Rich Walsh. (check-in: dc46156a22 user: drh tags: trunk)
2011-03-08
19:22
Add start of sessions feature. (check-in: 269a81a37d user: dan tags: sessions)
16:39
Merge the syscall-override changes into trunk. (check-in: 36d79e6f54 user: drh tags: trunk)
14:05
Unix errno integer can vary from one system to the next. So do not depend on specific errno values in test cases. (check-in: ddb747d33a user: drh tags: trunk)
13:06
Fix two compiler warnings. No functional code changes. (check-in: c829868aa2 user: drh tags: trunk)
02:38
Fix additional cases of possible signed integer overflow, especially with regard to negation. (check-in: 2d5800bd8c user: drh tags: trunk)
2011-03-07
16:12
Backport a fix from [6b0cabd017ed25] (version 3.6.16 - 2009-03-05) to the 3.6.1 branch, a fix that prevents a null pointer deref if one of the column access routines such as sqlite3_column_int() is called with a NULL first parameter. (check-in: df3436405e user: drh tags: branch-3.6.1)
2011-03-06
21:54
Another minor simplification brought to light by clang. (check-in: 3bfbf026dd user: drh tags: trunk)
21:28
Remove dead code identified by the clang static analyzer. (check-in: 01a79d5a7a user: drh tags: trunk)
2011-03-05
21:41
Simplifications to the overflow-free multiplier. Also remove some commented-out code that was left in that subroutine by mistake on the previous check-in. (check-in: 55fc25fdab user: drh tags: trunk)
20:59
Fix all known instances of signed-integer overflow. Within SQL expressions, integer overflow now forces coercion to floating point. The shift operators work with any integer right-hand operand with negative values reversing the direction of the shift. (check-in: abf2139412 user: drh tags: trunk)
13:54
Fix an instance of signed arithmetic overflow and an one bit-shift overflow. Mark six other signed arithmetic overflow locations that need fixing. (check-in: 04abab71ec user: drh tags: trunk)
2011-03-04
15:43
Handle EINTR errors from open(). (Closed-Leaf check-in: a7d176b27c user: drh tags: syscall-override)
01:23
Backport the query planner enhancement of [952f5e8c69904] to the 3.7.2 branch. (check-in: 440d995661 user: drh tags: branch-3.7.2)
00:56
Do a better job of choosing the join table order when the tables having very different numbers of rows. (check-in: 952f5e8c69 user: drh tags: trunk)
2011-03-03
20:06
Add the experimental sqlite3_transaction_hook() API. (check-in: 093d8cd8e2 user: dan tags: sessions)
2011-03-02
22:07
Fix quoting of the result in rtreeB.test. (check-in: c6532b35cc user: drh tags: trunk)
19:06
Add additional VFS methods to retrieve system call pointers and to get a list of all changeable system calls. (check-in: 3855836349 user: drh tags: syscall-override)
18:01
Add more system calls to the set that can be overridden in os_unix.c. Also merge in recent fixes from trunk. (check-in: 80fac2a6e0 user: drh tags: syscall-override)
17:54
Fix bugs in [7b6e30e6a7] that only show up on Mac. (check-in: ec55e8c6bb user: drh tags: trunk)
15:44
Make sure the rtreenode() testing and analysis routine in the RTREE extension can handle 64-bit rowids. This fix is in response to a message on the mailing list. (check-in: 24602557fc user: drh tags: trunk)
15:09
Proof-of-concept prototype for the proposed xSetSystemCall extension method on the VFS. (check-in: 92b5a76abc user: drh tags: syscall-override)
02:08
Log all error from close() in os_unix.c to sqlite3_log() but do not attempt to report errors back up to the application. Update the unix error logging to put the most important information earlier in the message. (check-in: 7b6e30e6a7 user: drh tags: trunk)
2011-03-01
18:42
Add the experimental sqlite3_preupdate_hook() API. (check-in: 6145d7b89f user: dan tags: sessions)
2011-02-25
03:25
Comment out some code in os_unix.c that only runs on MacOSX with SQLITE_ENABLE_LOCKING_STYLE. (check-in: 4e50b0362a user: drh tags: trunk)
2011-02-24
21:10
Fix a typo in a comment. No changes to code. (check-in: af4756184a user: drh tags: trunk)
2011-02-23
22:39
Reserve a range of bits in the SQLITE_OPEN_xxxx bit vector for future expansion. (check-in: 9b9046546d user: drh tags: trunk)
14:33
Automatically retry system calls that fail with EINTR. This is a backport of the changes from [b9d29ea385bafc] and [af9ba2a6d2c379]. (Leaf check-in: 8609a15dfa user: drh tags: branch-3.7.4)
14:05
Backport the os_unix.c error logging enhancements from check-in [01076528a43b61a]. (check-in: a4333b1545 user: drh tags: branch-3.7.4)
14:00
Fix a typo in the robust_flock() macro for systems without EINTR. (check-in: af9ba2a6d2 user: drh tags: trunk)
13:53
The robust_flock() fix that accidently included some unrelated, though harmless changes. I should follow my own checklist! (Closed-Leaf check-in: e701efbd1d user: drh tags: mistake)
13:33
Retry selected system calls on unix when they fail with EINTR. (check-in: b9d29ea385 user: drh tags: trunk)
2011-02-22
03:34
When a stale schema-cookie is seen, expire only the one statement that encountered the bad cookie, not every statement on the database connection. Ticket [b72787b1a7cea1f] (check-in: 1bca0a7e19 user: drh tags: trunk)
2011-02-21
17:49
Fix a problem with "EXPLAIN QUERY PLAN SELECT count(*) FROM tbl". (check-in: 9f9f328825 user: dan tags: trunk)
11:46
Have os_unix.c call sqlite3_log() following errors in certain system calls. (check-in: 01076528a4 user: dan tags: trunk)
2011-02-20
21:03
Pull in the fix to STAT2 processing from check-in [70a3d81742f]. (check-in: 692aafb17e user: drh tags: branch-3.7.4)
03:40
Do not report the database corruption if the the db size header field is greater than the file size on disk unless the two change-counter header fields are identical. Fix for ticket [89b8c9ac54]. Backport by cherrypick of [00c4596f0b270]. (check-in: e2616004df user: drh tags: branch-3.7.4)
03:32
Make sure the change-counter and SQLite-version fields of the header are set correctly even after vacuuming. This is a backport of changes [0be92a7576] and [04fa1e1690] to address ticket [5d863f876ee]. (check-in: 442be1358e user: drh tags: branch-3.7.4)
03:27
Do not raise an SQLITE_CORRUPT error in Recoverymode if the database size in the header is larger than the physical file size. This is a cherrypick of checkin [114640d920e16c8] (check-in: 7701b07759 user: drh tags: branch-3.7.4)
03:22
Backport the sqlite3.h generator fix so that it works with newer versions of Fossil. See [3513bf6ee090d9b] for the original. (check-in: 29597a71d0 user: drh tags: branch-3.7.4)
03:20
Backport the changes of checkin [cf86affcb7d308949] ("Make wal_checkpoint a no-op if a prior checkpoint has already copied all WAL content into the database.") to the 3.7.4 release. (check-in: e6e540ab77 user: drh tags: branch-3.7.4)
03:11
Backport the SQLITE_PROTOCOL fix and the extra defensive measure to version 3.7.4. (check-in: bcc22c4b80 user: drh tags: branch-3.7.4)
2011-02-19
23:18
An SQLITE_PROTOCOL error counts as a locking error for verification purposes. (check-in: e87d499a4f user: drh tags: trunk)
17:02
Change a testcase() added by the previous checkin into an assert(). (check-in: 6f3dad32aa user: drh tags: trunk)
16:51
Add testcase macros to verify that all return values from walTryBeginRead() are tested. (check-in: 262b6fca0b user: drh tags: trunk)
15:22
Changes to make WAL more robust against SQLITE_PROTOCOL errors. (check-in: fd578a32f8 user: drh tags: trunk)
14:19
Changes which attempt to address an obscure SQLITE_PROTOCOL error. (Leaf check-in: 1725aa7501 user: drh tags: wal-trace-375)
2011-02-18
17:23
Fix the sqlite3ValueFromExpr() routine so that it returns SQLITE_NOMEM on an OOM when trying to extract a NULL. (check-in: 1061e94fa9 user: drh tags: trunk)
2011-02-17
15:58
Remove a no-op code path from sqlite3ExprIsInteger(). Replace it with an assert() that proves it always does nothing. (check-in: 7af66d1bd5 user: drh tags: trunk)
13:52
Remove an assert() that was made redundant by the previous checkin. (check-in: 21db719156 user: drh tags: trunk)
13:33
Add an ALWAYS() around a always-true test in where.c. (check-in: 8123283ee1 user: drh tags: trunk)
2011-02-16
23:32
Fix harmless compiler warnings in the query planner. (check-in: 31fc4ba66e user: drh tags: trunk)
01:23
Add "do_not_use_codec" logic to some of the TCL based test cases that read/write directly to the DB. (check-in: edd27669f3 user: shaneh tags: trunk)
2011-02-14
03:49
Skip some tests in capi3e.test when compiled with SQLITE_OMIT_UTF16. (check-in: b04304b967 user: shaneh tags: trunk)
2011-02-12
14:23
Fix the expected output on tests so that it corresponds to the new query planner results. All of veryquick.test is now passing with SQLITE_ENABLE_STAT2. (check-in: f2a8b5ccfb user: drh tags: branch-3.7.2)
05:34
Fix problems in the backport, reducing the number of errors in the TCL tests to just a few dozen. Most of the remaining errors seem to be real and desirable changes of behavior. (check-in: 9d2b0af266 user: drh tags: branch-3.7.2)
01:59
This is the beginning of an attempt to backport recent query planner enhancements to version 3.7.2. The code in this version builds and runs and seems to give correct answers, but it generates suboptimal query plans and hence many of the test cases fail. The test script gives up after 1000 errors. (check-in: e72cf118cb user: drh tags: branch-3.7.2)
2011-02-11
22:54
Add a NEVER() around a test that is believed to always be false. (check-in: f7e2ea33d5 user: drh tags: trunk)
20:52
Skip flattening if subquery has LIMIT and outer query is DISTINCT. Fix for ticket [752e1646fc]. (check-in: 5597399988 user: shaneh tags: trunk)
06:59
Fix a bug in the new WHERE-clause processing that tries to use an index to resolve IS NOT NULL constraints when SQLITE_ENABLE_STAT2 is defined. The bug could cause memory overruns and segfaults. The bug was new to the code and has not appeared in an official release. Found during structural testing. (check-in: a5c36b9f39 user: drh tags: trunk)
03:56
Allow an index paired with an IS NULL constraint to be used for sorting under the condition that the index be treated as a non-unique index. (check-in: d78949fc93 user: drh tags: trunk)
02:43
Disable unused NULL tests when SQLITE_ENABLE_STAT2 is not in use. (check-in: 5ecd117882 user: drh tags: trunk)
2011-02-10
21:08
Add .testctrl option to CLI. (check-in: f85afa0ecc user: shaneh tags: trunk)
18:56
Split the documentation for sqlite3_wal_checkpoint_v2() and its constants onto separate pages. No changes to code. (check-in: 0ef8ffd12f user: drh tags: trunk)
17:46
Prevent a segfault when automatic indices try to use a column with an unknown collating function. Ticket [77aa3b1e6592582e38605d36]. This check-in also removes some stray \r characters unrelated to the problem. (check-in: f01030a0df user: drh tags: trunk)
01:49
This is a version of the SQLite 3.7.5 release with Apple's changes for MacOS. (check-in: 55d2e55b7b user: drh tags: apple-osx)
00:08
Refactor the cost function in the query planner. Give extra cost (thus reduce likelihood of selection) to full table scans. (check-in: 878da276eb user: drh tags: trunk)
2011-02-09
19:55
Make sure code *compiles* with each OMIT and ENABLE option. Mostly changes to test modules. (check-in: 7cc515edc9 user: shaneh tags: trunk)
18:19
Do not report corruption if the the db size header field is greater than the file size on disk unless the two change-counter header fields are identical. Fix for ticket [89b8c9ac54]. (check-in: 00c4596f0b user: dan tags: trunk)
15:25
Update Makefile.in for fts3_aux changes. (check-in: 38b7cb33c5 user: shaneh tags: trunk)
03:04
Use macros to define the relative costs of search and seek operations when computing costs in the query planner. Current constants seems wrong and need to be fixed, but doing so will alter test results. Need more experimentation to determine accurate relative costs. (check-in: 5f2ec44b22 user: drh tags: trunk)
03:03
Simplifications to the sqlite3_wal_checkpoint_v2() logic. (check-in: 652b8835c5 user: drh tags: trunk)
2011-02-07
23:56
Cleanup to the OP_Checkpoint opcode. (check-in: f611a5a879 user: drh tags: trunk)
16:24
Fix some test cases in walfault.test. Extend one test case to restore code coverage. Add wal5.test to the "coverage-wal" permutation. (check-in: f83b07ace3 user: dan tags: trunk)
15:12
Change blocking-checkpoint tests so that they run once using "PRAGMA wal_checkpoint" and once using calls to sqlite3_wal_checkpoint_v2(). Also fix edge cases surrounding the output variables set by wal_checkpoint_v2(). (check-in: 5a4b6652cf user: dan tags: trunk)
2011-02-05
15:47
Ensure fts4aux can handle a table name in single or double quotes as a constructor argument. (check-in: 929d62e496 user: dan tags: trunk)
14:37
Add test cases for fts4aux. Fix a bug affecting fts3 tables with multiple columns. (check-in: dc511e60a6 user: dan tags: trunk)
2011-02-04
18:56
Change fts4aux to (additionally) report on term frequency in individual columns of an fts table. (check-in: 3996f92a9a user: dan tags: trunk)
14:28
Significant changes have occurred since the 3.7.5 release so go ahead and increase the version number to 3.7.6. (check-in: 999c915a4a user: drh tags: trunk)
06:36
Merge the stat2 query planner enhancements into the trunk. (check-in: 499edcbc8a user: drh tags: trunk)
05:47
If a deferred foreign key constraint fails on a statement that is not part of a larger transation, make sure that the statement fully ends so that subsequent invocations of the same statement will not pass the constraint because they think the transaction is not closed. This is a merge of the deferred-fk-quirk branch together with a test case. (check-in: 2f94d4623f user: drh tags: trunk)
00:51
Fix the ATTACH command so that the filename argument can be any expression and so that if authorizer callback gets a NULL pointer for the filename if the filename argument is anything other than a string literal. Ticket [9013e13dba5b58c7] (check-in: e64e1453a9 user: drh tags: trunk)
2011-02-03
12:48
Extra tests for fts4 compress/uncompress hooks. Fix some minor problems with the same. (check-in: 80225abe79 user: dan tags: trunk)
10:56
Extra tests for the fts4aux module. (check-in: cfc475690d user: dan tags: trunk)
01:26
Fix a superlock test case to conform to the new wal_checkpoint returns. (check-in: 8bf2d51b6a user: drh tags: trunk)
2011-02-02
19:17
Fix minor problems with the output of "PRAGMA wal_checkpoint". In both code and tests. (check-in: aef61036b3 user: dan tags: trunk)
17:30
Optimize handling of equality and range constraints on the "term" column of an fts4aux table. (check-in: 386701ded2 user: dan tags: trunk)
16:34
Merge in the blocking-checkpoint enhancement, including the new sqlite3_wal_checkpoint_v2() interface and the PRAGMA wal_checkpoint(full) statement. (check-in: bac7342c36 user: drh tags: trunk)
04:40
Merge fts4aux branch. (check-in: c6d9f7d8c4 user: dan tags: trunk)
04:26
Add missing file fts3_aux.c. (Closed-Leaf check-in: 0147d9739f user: dan tags: fts4aux)
2011-02-01
18:59
Remove extra instances of the text "checked out." from sqlite.h.in. Also add new file fts3_aux.c to mksqlite3c.tcl. (check-in: 9897da22c5 user: dan tags: fts4aux)
18:00
Fix a problem causing builds with SQLITE_OMIT_WAL defined to fail. (check-in: b9b48dd8dd user: dan tags: fts4aux)
17:55
Fix a case in fts4 where a corrupt %_stat table could lead to a crash. (check-in: 4ade96ce97 user: dan tags: fts4aux)
16:34
Add virtual table module "fts4aux", used to inspect the full-text index of an fts4 table directly. Also add the "compress" and "uncompress" fts4 options. (check-in: b010ddcc52 user: dan tags: fts4aux)
00:04
Version 3.7.5 (check-in: ed759d5a9e user: drh tags: trunk, release, version-3.7.5)
2011-01-28
17:02
Bogus release candidate. (Closed-Leaf check-in: 38ca1daa23 user: drh tags: mistake)
16:45
Add test script pagerfault3.test. No changes to code or existing tests. (check-in: 682fe41efd user: dan tags: trunk)
15:46
Change pager_truncate() to a different method for extending files while also ensuring that writes are page-size and page-aligned. (check-in: 874bc8844f user: drh tags: trunk)
15:07
When extending a database file, do so by writing one or more page-size chunks of data to the file, instead of just a single byte to the end. (check-in: 58577135a8 user: dan tags: trunk)
03:13
Reactivate the analyze5.test script. (Closed-Leaf check-in: a2a9f6401c user: drh tags: stat2-enhancement)
01:57
Change the weighting of binary searches on tables to 1/10th the cost of a search on an index. Change the assumed reduction in search space from a indexed range constraint from 1/3rd to 1/4th. Do not let the estimated number of rows drop below 1. (check-in: 4847c6cb71 user: drh tags: stat2-enhancement)
2011-01-27
18:48
Pull in all the changes from trunk up through the version 3.7.5 release candidate 1. (check-in: 09d6c91dcf user: drh tags: apple-osx)
14:35
SQLite version 3.7.5 release candidate 1 (check-in: 35ac78f551 user: drh tags: trunk)
2011-01-26
19:46
Update all built-in VFSes to return SQLITE_OK for the SQLITE_FCNTL_SYNC_OMITTED file-control operation. Also change the xFileControl methods to return SQLITE_NOTFOUND for unrecognized operation codes. (check-in: 6f2c72a0f6 user: drh tags: trunk)
15:23
Update test file mutex1.test to account for [e3b500fb5d]. (check-in: c86e46f4fd user: dan tags: trunk)
13:28
More mutexes around another sqlite3StatusAdd() call. (check-in: e3b500fb5d user: drh tags: trunk)
13:24
Add a mutex around an sqlite3StatusAdd() call to prevent the pagecount overflow measurements from getting off in multithreaded applications. (check-in: 3d8b298dc2 user: drh tags: trunk)
07:25
Update mutex1.test so that it works with the memsubsys1 permutation (pagecache memory). Change a few instances of SQLITE_MUTEX_STATIC_LRU2 in comments and test code to STATIC_PMEM. (check-in: 456bd5c63b user: dan tags: trunk)
06:13
Changes to exclusive2.test to make it more deterministic. (check-in: 84b0c2bc71 user: dan tags: trunk)
00:07
Rename the PCache1.mxPinned field to n90pct (since it is 90% of nMax) in order to distinguish it from PGroup.mxPinned. Fix the computation of n90pct so that it does not overflow adversely on excessively large cache sizes. (check-in: c85202baac user: drh tags: trunk)
2011-01-25
18:30
Fix new compiler warnings in pcache1.c that were introduced by the recent performance enhancement patches of [e14649301138b684]. (check-in: c17703ec1e user: drh tags: trunk)
18:19
Add a missing call to sqlite3PagerSync() removed by [ce552d975] to the backup code. (check-in: 1965b85318 user: dan tags: trunk)
16:48
Make sure the return code from doing an xSync is correctly initialized so that a valid return code is produced regardless of the path taken through the logic. (check-in: f12b5d7685 user: drh tags: trunk)
16:20
Change the name of SQLITE_FCNTL_SYNC to SQLITE_FCNTL_SYNC_OMITTED and only send it when PRAGMA synchronous=OFF. Add better documentation to explain what that file-control opcode is used for. (check-in: 6491498085 user: drh tags: trunk)
13:43
Fix a couple of typos in comments. No changes to actual code. (check-in: 9167fdb356 user: dan tags: trunk)
11:33
Fix a broken assert() in pager.c. (check-in: 13108ce13c user: dan tags: trunk)
09:54
Fix a problem in memsubsys1.test. Modifications to test code only. (check-in: 7ef3f7cba7 user: dan tags: trunk)
04:34
Shave a few cycles so that performance is better than 3.7.4 in speed tests. (check-in: e146493011 user: drh tags: trunk)
2011-01-24
20:18
Modify the test_quote.c demonstration shim so that it works when SQLITE_THREADSAFE=0 is defined. (check-in: b70bcccaf5 user: drh tags: trunk)
19:45
Fix a typo in the documentation for sqlite3_snprintf(). No changes to code. (check-in: 8d1065411a user: drh tags: trunk)
19:14
Fix a harmless compiler warning (a shadowed local variable) in analyze.c. (check-in: a1ad7fb38b user: drh tags: trunk)
17:46
Restructuring and generalizing analyze5.test. The whole script is currently disabled and will need to be reenabled prior to merging with trunk. (check-in: 31fcc7067b user: drh tags: stat2-enhancement)
16:00
Ensure that if a deferred FK constraint is violated by a statement that creates its own implicit transaction, the statement is not an "active-write" after sqlite3_step() returns. (Closed-Leaf check-in: 8063197ef1 user: dan tags: deferred-fk-quirk)
15:11
Change the cost estimator in the query planner to take into account the logN rowid lookup cost when going from an index to a table. (check-in: b442525b0b user: drh tags: stat2-enhancement)
2011-01-22
13:32
Modify the trace callback mechanism so that SQL commands executed from within virtual table or user function callbacks are passed to the trace callback without parameter expansion and enclosed in SQL comments. (check-in: a764915b87 user: dan tags: trunk)
00:10
Add the ability to use indices for constraints of the form "x IS NOT NULL" when sqlite_stat2 is available and most entries for column x are NULL. (check-in: 5d5bddd290 user: drh tags: stat2-enhancement)
2011-01-21
18:25
Change sqlite3StrAccumAppend() to use realloc instead of malloc. (check-in: 380f61df07 user: dan tags: trunk)
18:18
Adjustments to the result row estimator for the IN operator so that it gives the same estimates as the equivalent OR operator. Test cases for the same. (check-in: c82cb9c028 user: drh tags: stat2-enhancement)
16:27
Make use of histogram data to make better estimates for the number of rows that will be returned from "x IN (v1,v2,v3,...)" constraints. (check-in: fd3977a27a user: drh tags: stat2-enhancement)
15:52
Add options to test command [do_faultsim_test] to support testing VFS implementations. (check-in: 503ad889da user: dan tags: trunk)
14:37
Add the ability to use indices when a range contraint is bounded on the lower end by NULL. (check-in: f73a167b43 user: drh tags: stat2-enhancement)
2011-01-20
20:36
Update ANALYZE test cases to check out the use of histograms for equality constraints. (check-in: c7b59afaf0 user: drh tags: stat2-enhancement)
16:52
Use histogram data to improve the row-count estimates on equality constraints. (check-in: 6bfc5c69eb user: drh tags: stat2-enhancement)
02:56
The first of a planned series of enhancements to the query planner that enable it to make better use of sqlite_stat2 histograms when the table has many repeated values. (check-in: 2cd374cd23 user: drh tags: stat2-enhancement)
2011-01-19
21:58
Comment improvements in pcache1.c. No changes to code. (check-in: 9660a0a225 user: drh tags: trunk)
2011-01-18
17:34
Pull over all the latest trunk changes. (check-in: ca86d04be1 user: drh tags: wal-trace-375)
17:03
Do not use mutexes in the pcache implementation unless SQLITE_ENABLE_MEMORY_MANAGMENT is defined. This is a performance enhancement. A side effect is that pcaches will not steal pages from one another unless ENABLE_MEMORY_MANAGEMENT is set, or unless SQLITE_THREADSAFE=0. (check-in: e5ca59e63b user: drh tags: trunk)
16:13
Get all test cases working with the mutex-free-pcache implementation. (Closed-Leaf check-in: 2dc98d2999 user: drh tags: mutex-free-pcache)
15:17
Do not use SQLITE_MUTEX_STATIC_MEM2 since it has been reused as STATIC_OPEN. Instead, create a new static mutex STATIC_PMEM which is an alias for the unused STATIC_LRU2. (check-in: f1cf02efcb user: drh tags: mutex-free-pcache)
2011-01-17
21:32
Here is a completely new implementation of the mutex-free-pcache. This one uses a common code base and automatically selects whether or not to use mutexes depending on compile-time and start-time options. (check-in: d094a1bfb7 user: drh tags: mutex-free-pcache)
18:30
Fix a typo in the documentation for sqlite3_stmt_readonly(). (check-in: 56417a3386 user: drh tags: trunk)
17:42
Add the SQLITE_OMIT_AUTORESET compile-time option which if enabled causes the sqlite3_step() routine to return SQLITE_MISUSE if it is called after it has previously returned anything other than SQLITE_ROW, SQLITE_BUSY, or SQLITE_LOCKED. (check-in: 053ce76deb user: drh tags: trunk)
02:24
Add back an ALWAYS() to regain full test coverage. (check-in: b93f6f3e67 user: drh tags: trunk)
2011-01-16
22:37
On a backup from a smaller to a larger page size, do not begin committing the transaction until the source pages after the pending byte have been copied. (check-in: 612e2599d3 user: drh tags: trunk)
00:56
Make sure the change-counter and SQLite-version fields of the header are set correctly even when doing a VACUUM with locking_mode=EXCLUSIVE. Ticket [5d863f876ee9561b]. (check-in: 04fa1e1690 user: drh tags: trunk)
2011-01-15
21:42
Make sure the change counter and SQLite version numbers in the header are set correctly, even when running in WAL mode and when VACUUMing in WAL mode. Ticket [5d863f876ee9561b9]. (check-in: 0be92a7576 user: drh tags: trunk)
18:11
Fix the change-counter increment for WAL pages so that it works even when invoked from xStress. Ticket [5d863f876ee9561b95e2]. (Closed-Leaf check-in: 228e7c34c6 user: drh tags: bug-5d863f87)
17:12
Increment the change counter and update the SQLite version number whenever page 1 is added to the WAL. Ticket [5d863f876ee9561b9] (check-in: c1e0d09cd3 user: drh tags: bug-5d863f87)
16:52
Add a test case demonstrating the problem described by ticket [5d863f876e]. (check-in: af54963f0f user: dan tags: trunk)
2011-01-14
16:43
Rerun autoconf to bring the configure script up-to-date. (check-in: 142174640d user: drh tags: trunk)
16:12
Provide an alternative and experimental pcache implementation that avoids the use of mutexes at the expense of using more memory. (Closed-Leaf check-in: 2ea5bd1287 user: drh tags: mutex-free-pcache)
15:17
Fix comments, including some documentation comments, in the page cache logic. No code changes. (check-in: c80e9c1a0d user: drh tags: trunk)
11:51
Fix a bug in test code (test_vfs.c). (check-in: 772a3845f8 user: dan tags: trunk)
2011-01-13
16:10
Fix a typo on the sqlite3_open_v2() documentation. (check-in: b0add45abc user: drh tags: trunk)
11:20
Fix a couple of crashes in fts3 that can occur if the database contents are inconsistent. (check-in: 811e12cddf user: dan tags: trunk)
10:58
Fix a segfault that can occur in matchinfo if an fts4 table contains mostly zero-length documents. Specifically, if the table contains more rows than it does bytes of text. (check-in: fe9047668e user: dan tags: trunk)
2011-01-12
17:56
Do not raise an SQLITE_CORRUPT error in Recoverymode if the database size in the header is larger than the physical file size. This facilitates recovery of a database in which the database size field has been corrupted. (check-in: 114640d920 user: drh tags: trunk)
2011-01-11
17:40
Merge accidentally created fork. (check-in: b7d080b8e8 user: dan tags: trunk)
17:39
Add the SQLITE_FCNTL_SYNC file-control. (check-in: b3f2f465c3 user: dan tags: trunk)
17:38
Change the page size of the destination database in a backup, if it is changeable, prior to starting the backup. (check-in: a5e4e0caad user: drh tags: trunk)
16:09
If a rollback is attempted in journal_mode=off mode, force SQLite to discard the contents of the pager cache before processing any subsequent queries. (check-in: ece7efce27 user: dan tags: trunk)
12:46
Fix the sqlite3.h generator script so that it generates the correct SQLITE_SOURCE_ID string with the latest versions of Fossil that include fractional seconds on the date/time stamp. (check-in: 3513bf6ee0 user: drh tags: trunk)
01:42
A proposed change to the sqlite3_step() API such that it will only auto-reset following an SQLITE_BUSY or SQLITE_LOCKED error. Calls after any other result other than SQLITE_ROW will return SQLITE_MISUSE. (Closed-Leaf check-in: d1b3c54f42 user: drh tags: step-autoreset)
2011-01-10
21:01
Update pager requirements to account for the ZIPVFS extension. (check-in: d94e59b514 user: drh tags: trunk)
2011-01-07
02:50
Reorder the fields in private structures in an effort to reduce alignment gaps and thus make the structures smaller, and to put frequently accessed fields first. Also update some obsolete comments. Valgrind shows a very slight performance improvement. (check-in: 378a1d13af user: drh tags: trunk)
2011-01-06
15:51
Enhance the showdb tool to show overflow page pointers at the end of overflow cells. (check-in: cda5eab18f user: drh tags: trunk)
01:26
Enhance the showdb tool to show a btree page layout. Add limit checks so that overflow content does not overflow the buffer. (check-in: 57ffa07e26 user: drh tags: trunk)
2011-01-05
21:46
Fix a bug in the showdb utility: the serial types for BLOB and TEXT where reversed. (check-in: 65a13faf1e user: drh tags: trunk)
21:20
Enhancements to the "showdb" debugging tool. Add the ability to display the content of a cell. (check-in: e9023a4e1e user: drh tags: trunk)
13:43
Increment the version number to 3.7.5. (check-in: 9ec3896e2f user: drh tags: trunk)
13:07
Cherrypick the WAL error logging from the pre-3.7.5 line into a branch for version 3.7.2. Include the sqlite3_vsnprintf() interface. This checkin is intended for debugging and not for release. (Leaf check-in: 6549e7672b user: drh tags: wal-trace-372)
12:50
Add detailed error logging to WAL in an effort to track down an obscure SQLITE_PROTOCOL problem. This code is intended for debugging and not for release. (check-in: 2c2afdd0ad user: drh tags: wal-trace-375)
12:20
Add the sqlite3_vsnprintf() interface. (check-in: fc67adea41 user: drh tags: trunk)
2011-01-04
20:06
Fix a null-pointer dereference that can occur on an OOM error while running ANALYZE with SQLITE_ENABLE_STAT2. (check-in: 73128d4ef5 user: drh tags: trunk)
19:01
Fix the ANALYZE command so that it takes collating sequences into account when gathering index statistics. (check-in: a5867cfc4c user: drh tags: trunk)
17:57
The ANALYZE command now counts at all rows of an index, even those containing NULL values. A valid sqlite_stat1 entry is created even if the index contains nothing but NULLs. (check-in: 824c8dd301 user: drh tags: trunk)
2010-12-29
18:24
Have testfixture invoke C routine Zipvfs_Init() when creating a new interpreter if SQLITE_ENABLE_ZIPVFS is defined. (check-in: 430635dacf user: dan tags: trunk)
10:49
Fix some off-by-one errors in the comments for API functions create_function() and value_blob(). No changes to code or tests. (check-in: 7ded90baeb user: dan tags: trunk)
2010-12-24
15:49
Reduce the number of calls to sqlite3_realloc() made by fts3 when querying for position information of a term prefix. (check-in: 7088d9450f user: dan tags: trunk)
2010-12-22
21:48
Do not include <sys/mmap.h> if SQLITE_OMIT_WAL is defined. (check-in: b82e85ece9 user: drh tags: trunk)
2010-12-21
21:28
Add test cases for the new lookaside hit and miss status outputs. Add the output of lookaside hit and miss to the command-line shell statistics. (check-in: b0888047bb user: drh tags: trunk)
20:36
Merge into the trunk the experimental enhancements to sqlite3_db_status() for measuring lookaside memory allocator performance. (check-in: 8c3b06c299 user: drh tags: trunk)
00:20
Remove the obsolete compile-time option SQLITE_THREAD_OVERRIDE_LOCK from the autoconf makefile. Needed only for LinuxThreads, which we no longer support. (check-in: 09f6c053ff user: drh tags: trunk)
00:16
Rearrange a variable declaration in the proxy locking code to avoid a harmless compiler warning on recent MacOS versions. (check-in: 39bbd35599 user: drh tags: trunk)
2010-12-20
17:00
Clarify the documentation of the SQLITE_STATUS_MALLOC_COUNT parameter to sqlite3_status(). (check-in: 3b41bcc3e3 user: drh tags: trunk)
15:51
Add additional DBSTATUS options for measuring the hit and miss rates against the lookaside memory pool - information useful in tuning the lookaside size. Currently experimental pending analysis of performance impact. (Closed-Leaf check-in: 34613f1dc5 user: drh tags: experimental)
2010-12-17
14:03
Add the "-heap" option to the command-line shell - to allocate a fixed heap for use with SQLITE_ENABLE_MEMSYS5. (check-in: 74fff69234 user: drh tags: trunk)
01:00
Fix minor typos in the sqlite3_backup documentation. (check-in: df430be59d user: drh tags: trunk)
2010-12-16
20:35
Improvements to the documentation for sqlite3_backup. No code changes. (check-in: f83609f470 user: drh tags: trunk)
19:52
Fix an assertion fault that can only occur if SQLITE_ENABLE_STAT2 is defined and the constant folding optimization is disabled using sqlite3_test_control(). Problem introduced by [ad8bc68197f2b4] but we missed it prior to the 3.7.4 release due to taking shortcuts and skipping tests in the release checklist. (check-in: 70a3d81742 user: drh tags: trunk)
02:06
Make wal_checkpoint a no-op if a prior checkpoint has already copied all WAL content into the database. This prevents a concurrent write to the database from resetting the wal-index out from under the WalIterator of the checkpoint as it is initializing. (check-in: cf86affcb7 user: drh tags: trunk)
2010-12-15
21:02
Enhanced comments in wal.c and declare some procedure parameters "const". No changes to the generated code. (check-in: d0e4375b8a user: drh tags: trunk)
18:54
When registering the built-in LIKE and GLOB functions, make sure that they are tagged with SQLITE_UTF8 so that if other application-defined LIKE and GLOB implementations are provided for UTF16, then the appropriate function will be selected. (check-in: e1660764f2 user: drh tags: trunk)
2010-12-10
17:06
Fix a performance regression in matchinfo(). (check-in: fa37d8eb7c user: dan tags: trunk)
2010-12-09
19:15
Add support for the SQLITE_DEFAULT_FOREIGN_KEYS compile-time option. (check-in: c959945ab7 user: drh tags: trunk)
18:55
Mention the SQLITE_DEFAULT_WAL_AUTOCHECKPOINT compile-time option in the documentation for the sqlite3_wal_autocheckpoint() interface. (check-in: 5a52dd59ff user: drh tags: trunk)
2010-12-08
18:30
Update the sqlite3_stmt_readonly() interface so that its output is well-defined for all prepared statements, and so that it gives the correct result for VACUUM. (check-in: 9c19b7ae35 user: drh tags: trunk)
03:28
The command-line shell ignore errors in sqlite3_close() when shutting down. (check-in: 925332c3d7 user: drh tags: trunk)
00:02
Changes to the shell which should, in theory, allow it to work with libeditline as an alternative to libreadline. (check-in: e474fd9e7f user: drh tags: trunk)
2010-12-07
23:24
Improved documentation for SQLITE_FCNTL_FILE_POINTER. (check-in: 43935548ae user: drh tags: trunk)
20:14
Version 3.7.4 (check-in: a586a4deeb user: drh tags: trunk, release, version-3.7.4)
17:12
Work around restriction in Windows file locking. (check-in: fe441df9ba user: shaneh tags: trunk)
16:39
Fix a bug in the demo "superlock" code preventing locks from being released in some circumstances. (check-in: 65c393793f user: dan tags: trunk)
15:49
Merge in all changes to the trunk through version 3.7.4rc3. (check-in: d2ccf7fc06 user: drh tags: apple-osx)
14:59
Version 3.7.4 release candidate 3 (check-in: 11c74c0dae user: drh tags: trunk)
14:32
Run some of the existing test scripts with optimizations disabled as part of all.test. (check-in: b0634d2f90 user: dan tags: trunk)
07:57
Add tests to tkt-80ba201079.test. (check-in: c370338c77 user: dan tags: trunk)
2010-12-06
21:09
Fix the build so that it once again works with SQLITE_OMIT_SHARED_CACHE and SQLITE_OMIT_AUTOVACUUM. (check-in: fabcb6b95e user: drh tags: trunk)
21:06
Add the ability to disable constant factoring using sqlite3_test_control(). Add a TCL interface to this new capability and add tests cases to the TCL test scripts to actually use the new capability. (check-in: ad8bc68197 user: drh tags: trunk)
18:59
Back out part of the previous change that was not really necessary in order to fix [80ba201079ea60], and which in fact serves no useful purpose. (check-in: fa9eef865f user: drh tags: trunk)
18:50
Initialize all constants at the very beginning of a prepared statement. Do not allow constant initialization to occur once control flow has a chance to diverge, to avoid the possibility of having uninitialized registers. Ticket [80ba201079ea60807]. (check-in: c5c53152d6 user: drh tags: trunk)
17:11
Have sqlite3_blob_bytes() return 0 following a failed call to sqlite3_reopen_blob(). (check-in: 476a8b4921 user: dan tags: trunk)
2010-12-04
19:35
Version 3.7.4 release candidate 2. (check-in: 40756fe1f1 user: drh tags: trunk)
18:20
Fix a memory leak in fts3 that can occur in an OOM condition. (check-in: 507027b70f user: dan tags: trunk)
2010-12-03
18:57
Remove an over-zealous call to memAboutToChange() from OP_MustBeInt. OP_MustBeInt will never invalidate the Mem.z pointer so the memAboutToChange() call is not necessary. (check-in: 841cf7a7db user: drh tags: trunk)
15:41
Version 3.7.4 release candidate 1 (check-in: 2e800cb87d user: drh tags: trunk)
15:04
Add tests for fts3 to backcompat.test. (check-in: b4eafde823 user: dan tags: trunk)
10:32
Add the "valgrind" permutation. This is the same as veryquick.test except that it omits the multi-process tests that do not work under valgrind. No changes to production or existing test code. (check-in: 4953130067 user: dan tags: trunk)
2010-12-02
17:39
Fix a bug causing fts3 to incorrectly return SQLITE_CORRUPT. (check-in: 099195b148 user: dan tags: trunk)
14:47
Exclude a test case from the inmemory_journal permutation of multiplex.test. (check-in: 474196d645 user: dan tags: trunk)
11:24
Fix a (harmless) valgrind warning in the rtree extension. (check-in: a94b9a395e user: dan tags: trunk)
06:08
Update misc7.test to account for EQP changes. (check-in: 917af565ac user: dan tags: trunk)
2010-12-01
23:42
Changed multiplex shim's xFilesize to return an error on mismatched chunk size. Added test of same. (check-in: 6818c6e42f user: shaneh tags: trunk)
22:08
Make sure a test of multiplex shim doesn't fail if a file already exists. (check-in: 80de240a32 user: shaneh tags: trunk)
20:49
Added TCL test case for converting to WAL mode with multiple connections. Added exception to the test case for Windows for not being able to delete the open journal file. (check-in: 7061601f49 user: shaneh tags: trunk)
19:00
Change the type of a variable in struct SrcList so that it fits in a 100 byte lookaside buffer on a 64-bit architecture. (check-in: 7df43f4892 user: dan tags: trunk)
15:36
Fix some warnings under MSVC in fts3 module. (check-in: c7771c0b22 user: shaneh tags: trunk)
11:46
Add test file e_resolve.test. (check-in: 6858df9c72 user: dan tags: trunk)
08:04
Avoid recursive calls to sqlite3VdbeMemRelease() when deleting VM frames used by trigger programs. (check-in: 119ffe955e user: dan tags: trunk)
2010-11-30
12:12
Add test file e_dropview.test. (check-in: 6197822cc8 user: dan tags: trunk)
2010-11-29
18:36
Fix a warning in os_unix.c. (check-in: ee8dc8c87e user: dan tags: trunk)
18:22
On *BSD systems, reduce the number of open connections used by wal3.test to avoid running out of file-descriptors. (check-in: 0a3cba95a1 user: dan tags: trunk)
17:55
Fix compiler warnings discovered while building SQLite on http://www.devio.us/. (check-in: 5602ec95aa user: dan tags: trunk)
16:10
Add tests for very small cache-sizes (less than 10 pages). (check-in: 46b3fbdafe user: dan tags: trunk)
12:06
Add new test file e_droptrigger.test. (check-in: d23ef9b88c user: dan tags: trunk)
2010-11-26
16:49
Fix various compiler warnings. (check-in: c412f61229 user: drh tags: trunk)
16:31
Fix an uninitialized variable in fts3.c. (check-in: 3c3d076b42 user: dan tags: trunk)
15:17
Merge fts3 matchinfo() changes with trunk. (check-in: 7d660b91b7 user: dan tags: trunk)
15:13
Add a couple of comments to fts3_snippet.c. (Closed-Leaf check-in: ad8df6c5ee user: dan tags: fts3-experimental)
10:58
Merge with latest trunk changes. (check-in: 515cb3f4e5 user: dan tags: fts3-experimental)
2010-11-25
17:49
Add coverage tests (and associated fixes) for new matchinfo() code. (check-in: 70495ceccc user: dan tags: fts3-experimental)
10:33
Fix bugs in fts3 function matchinfo() when used with deferred tokens. (check-in: ddc2b7ec26 user: dan tags: fts3-experimental)
2010-11-24
19:26
Add code for the matchinfo 'longest common substring' feature. (check-in: 71011a4f9b user: dan tags: fts3-experimental)
15:02
Fix crashes that can occur when queries are run on an FTS4 table containing zero rows. (check-in: ed61fd20ad user: dan tags: fts3-experimental)
13:04
Fix a couple of compiler warnings in test_superlock.c. Add superlock.c to the Makefile.in used by the configure script. (check-in: 461f1a010f user: drh tags: trunk)
11:51
Remove some unused code from fts3. Add tests to fts3matchinfo.test. (check-in: ae40b34cf7 user: dan tags: fts3-experimental)
2010-11-23
20:55
Cherry-pick the lemon.c updates out of the lemon-update-2010 branch into the trunk. (check-in: 1541ae3fbd user: drh tags: trunk)
20:25
The previous check-in with changes to the max_page_count pragma was not quite correct. This check-in fixes the problem. (check-in: 30c26c3b13 user: drh tags: trunk)
19:16
Experimental changes to fts3 function matchinfo(). (check-in: 9cf0f2b76b user: dan tags: fts3-experimental)
18:59
Fix the max_page_count pragma so that it will not set to a value smaller than the current database size, as the documentation requires. Also, remove all occurances of atoi() from the core. (check-in: 2031974b60 user: drh tags: trunk)
2010-11-22
17:26
Fix a typo in unixCurrentTimeInt64() preventing compilation with NO_GETTOD defined. (check-in: 3df3e79b56 user: dan tags: trunk)
2010-11-20
12:01
Extra tests for "PRAGMA checkpoint_fullfsync". (check-in: e38c81cc18 user: dan tags: trunk)
10:57
Add extra tests for test_superlock.c. (check-in: 1c4e58e721 user: dan tags: trunk)
2010-11-19
23:50
Merge all the latest changes from the trunk into the apple-osx branch. (check-in: c8bc057c7d user: drh tags: apple-osx)
18:51
Merge the checkpoint_fullfsync pragma and the superlock demonstration into the checkpoint-v2 experimental branch. (Closed-Leaf check-in: ebf74015f0 user: drh tags: blocking-checkpoint)
18:48
Add tests for "PRAGMA checkpoint_fullfsync". (check-in: 765aa1b862 user: dan tags: trunk)
18:36
Merge in the superlock demonstration changes. (check-in: 570e79a8eb user: drh tags: trunk)
18:23
Add the checkpoint_fullfsync pragma which enables F_FULLFSYNC on checkpoint operations only, not during ordinary commit fsyncs. (check-in: a069867301 user: drh tags: trunk)
18:20
Add file test_superlock.c with example code for obtaining an exclusive lock on either rollback or wal mode databases. (Closed-Leaf check-in: 1a3e7417a2 user: dan tags: superlock)
14:37
Add the SQLITE_FCNTL_FILE_POINTER verb to sqlite3_file_control(). (check-in: 4425b0645d user: drh tags: superlock)
09:58
Add file test/tt3_checkpoint.c that adds a multi-threaded test for blocking checkpoints to threadtest3. (check-in: 648dd157ef user: dan tags: blocking-checkpoint)
07:17
Add extra test cases for blocking checkpoints. (check-in: ac348ae25c user: dan tags: blocking-checkpoint)
04:22
Lemon: Fixed compiler warning on Visual C++. (Closed-Leaf check-in: 892c5f377a user: icculus tags: lemon-update-2010)
04:19
Lemon: correcting previous win32 access() fix.

The previous fix caused link errors when compiled as C++. (check-in: bd03d3331d user: icculus tags: lemon-update-2010)

03:55
Lemon: Patched to compile with Visual Studio. (check-in: 0b945101aa user: icculus tags: lemon-update-2010)
2010-11-18
19:28
Fixes for SQLITE_BUSY handling in blocking checkpoint code. (check-in: 4c663a4dcc user: dan tags: blocking-checkpoint)
16:59
Merge with latest trunk fix. (check-in: a8910e89de user: dan tags: blocking-checkpoint)
16:58
Ensure tcl is using utf-8 as the system encoding when running capi3e.test. (check-in: 0a95589f21 user: dan tags: trunk)
16:32
Merge with latest trunk changes. (check-in: e376480f08 user: dan tags: blocking-checkpoint)
16:14
Update test cases to account for the change in the previous commit. (check-in: ae089ec881 user: dan tags: blocking-checkpoint)
15:44
Added some tests to check that umlaut characters are supported in filenames. (check-in: c36f275d70 user: shaneh tags: trunk)
13:52
Restrict the scope of the fts3ExprCost() subroutine inside of FTS3. (check-in: 76681870a4 user: drh tags: trunk)
13:47
Fix compiler warnings. (check-in: 6c4f1d5c24 user: drh tags: trunk)
12:31
Prevent a possible segfault when the sqlite3_value_numeric_type() interface is misused to try to determine the numeric type of the NULL value returned from sqlite3_column_value() with an invalid column number. (check-in: 501b743bcb user: drh tags: trunk)
12:11
Modify the interface to the blocking wal-checkpoint functionality. (check-in: 72787c010c user: dan tags: blocking-checkpoint)
2010-11-17
02:02
Restrict the scope of the sqlite3_stmt_readonly() interface to a specific subset of prepared statement types. (check-in: 919b06c3a8 user: drh tags: trunk)
2010-11-16
23:10
Adding the sqlite3_stmt_readonly() interface. (check-in: fd5b2f23dd user: drh tags: trunk)
18:56
Add experimental command "PRAGMA wal_blocking_checkpoint", which uses the busy-handler to block until all readers have finished in order to ensure the next writer will be able to wrap around to the start of the log file. (check-in: 7e3fc2c833 user: dan tags: blocking-checkpoint)
02:49
Use the estimated number of rows computed for subqueries in the cost computations for outer queries. (check-in: 56bbc53924 user: drh tags: trunk)
2010-11-15
21:50
Change the EQP output for the min/max optimization from "SCAN" to "SEARCH". Other changes in where.c in support of full branch coverage testing. (check-in: d52b593978 user: drh tags: trunk)
16:29
Fix the EQP logic so that it correctly reports OOM errors while formatting "detail" text. (check-in: 136c2ac24e user: drh tags: trunk)
16:12
Change some test cases to account for the new EXPLAIN QUERY PLAN output. (check-in: 88a854e18f user: dan tags: trunk)
14:51
Test some example code from documentation page eqp.html. (check-in: 547bc2c232 user: dan tags: trunk)
14:44
Merge the EXPLAIN QUERY PLAN changes from experimental into trunk. (check-in: ce27bf3840 user: drh tags: trunk)
11:35
Minor additions to vacuum.test. (check-in: a397ed1622 user: dan tags: trunk)
2010-11-13
16:42
Change the EXPLAIN QUERY PLAN output to use "USING INDEX" instead of "BY INDEX", and to use "SEARCH" instead of "SCAN" for loops that are not full-table scans. (Closed-Leaf check-in: 6611b76b02 user: dan tags: experimental)
2010-11-12
17:41
Add EXPLAIN QUERY PLAN test cases to check that the examples in the documentation work. (check-in: 85fdad850a user: dan tags: experimental)
15:49
Change the test_multiplex.c code to use wrapper functions for all sqlite3_vfs methods (instead of copying function pointers from the underlying vfs into the multiplex vfs). This is required to work with test_osinst.c. (check-in: 1244ef9f7e user: dan tags: trunk)
15:36
Reduce the number of branches that need to be tested in the explainIndexRange() function of where.c. (check-in: 6fdae9a635 user: drh tags: experimental)
2010-11-11
17:48
Use "COMPOUND" instead of "COMPOSITE" in the EXPLAIN QUERY PLAN output to describe UNION, UNION ALL, EXCEPT and INTERSECT operations. (check-in: 28643b85d9 user: dan tags: experimental)
16:46
Add a row of EXPLAIN QUERY PLAN output for each composite select operation (UNION, EXCEPT etc.) in the query. (check-in: 00fb8468b5 user: dan tags: experimental)
11:43
Fix a bug in the EXPLAIN QUERY PLAN code. (check-in: 7ae068952f user: dan tags: experimental)
10:36
Modifications to test cases to account for new EXPLAIN QUERY PLAN output. (check-in: 30904ef841 user: dan tags: experimental)
2010-11-09
20:33
Fix an assert that fired incorrectly when PRAGMA omit_readlock was set. (check-in: e068758222 user: shaneh tags: trunk)
20:08
Add "PRAGMA checkpoint_fullfsync". Similar to "PRAGMA fullfsync", but enables full fsyncs only during checkpoint operations. Update: This change was added to the trunk by check-in [a069867301de3ca2e17] (Closed-Leaf check-in: 756589ad6e user: dan tags: apple-osx-exp)
17:49
Merge with latest trunk changes. (check-in: 4b5c93bc7c user: dan tags: experimental)
17:35
Add missing comments and fix other issues with routines used by new EQP features. (check-in: 925f35c535 user: dan tags: experimental)
14:49
Further enhancements and fixes for explain query plan. (check-in: 73c93f5a2a user: dan tags: experimental)
01:53
Back out the prior attempt to enable full-fsync for WAL and attempt the same thing using a completely different approach. (check-in: f59949fac1 user: drh tags: apple-osx-exp)
00:47
Experimental changes to test defaulting to fullfsync for WAL mode (check-in: 77b343cfc3 user: adam tags: apple-osx-exp)
00:43
Integrated proxy locking file support for WAL journal mode and double free fix (check-in: fd4d38fa66 user: adam tags: apple-osx)
2010-11-08
19:16
Changes to the multiplex VFS to optionally (compiler define) allow the "chunk extension" to overwrite the right-most chars of the filename instead of simply being appended. (check-in: 07da0a0bef user: shaneh tags: trunk)
19:01
Experimental changes to EXPLAIN QUERY PLAN. (check-in: f4747eb83d user: dan tags: experimental)
2010-11-05
20:50
Fix to xTruncate and more journal mode tests for the multiplex VFS. (check-in: 65fa1164f0 user: shaneh tags: trunk)
18:07
Fix os_unix.c so that it works with the test_multiplex module. (check-in: 72ba3e368b user: dan tags: trunk)
17:51
More tests and added support for xDelete in multiplex VFS. (check-in: f2004b44bf user: shaneh tags: trunk)
03:58
Additional error checking and tests for multiplex VFS. (check-in: 1ab9a59237 user: shaneh tags: trunk)
03:43
Additional tests and commenting for the multiplex VFS. (check-in: 8ed944ba74 user: shaneh tags: trunk)
00:04
Update the configure script for version 3.7.4. (check-in: 18a73795b4 user: drh tags: trunk)
00:01
Merge the multiplexer VFS demo into the trunk. (check-in: 1635d927cd user: drh tags: trunk)
00:00
Fix the Makefile.in so that it works with the multiplexer VFS. (Closed-Leaf check-in: 54e2efb667 user: drh tags: experimental)
2010-11-04
21:14
Back out an unintended change to permutations.test. (check-in: 57fe35357d user: drh tags: experimental)
21:13
Another change for testing on Windows. (check-in: 2625886b19 user: shaneh tags: experimental)
21:03
Fix the main.mk makefile to include test_multiplex.c for testfixture. (check-in: c27c51180e user: drh tags: experimental)
20:50
First attempt at a sharding VFS to split large DBs. (check-in: dd4dc8a426 user: shaneh tags: experimental)
20:47
Fix icon size so it's really 32x32. (check-in: 62c494f694 user: shaneh tags: experimental)
20:46
Updates for Windows. (check-in: cc9d9a12c3 user: shaneh tags: experimental)
04:47
Include the print_pager_state() function only if SQLITE_DEBUG is defined. (check-in: 3104f17e5d user: dan tags: trunk)
2010-11-02
17:41
Changes to allow FTS4 tables to be created without the underlying %_docsize table (in order to save space). (check-in: 31989b18f5 user: dan tags: trunk)
15:26
Add evidence marks for the sqlite3_blob_reopen() interface. Fix compiler warnings in test1.c. Fix incorrect evidence marks on e_select.tcl. (check-in: 3771faa88e user: drh tags: trunk)
2010-11-01
18:45
Add test cases to restore coverage of pager.c and wal.c. (check-in: 6cae552927 user: dan tags: trunk)
17:38
If a database file with the WAL flag set is opened in exclusive-locking mode, use heap memory to store the wal-index instead of shared-memory. (check-in: 8dd5c69198 user: dan tags: trunk)
14:34
Change the version number to 3.7.4. (check-in: db64843b54 user: drh tags: trunk)
05:54
Fix a broken test case in exclusive.test. (check-in: 582db83294 user: dan tags: trunk)
05:42
Changes to test scripts so that they work with SQLITE_ENABLE_ICU. (check-in: 465c819fdb user: dan tags: trunk)
2010-10-31
22:47
Fix a test module comment typo reported on the mailing list. (check-in: 87eb1f04d2 user: drh tags: trunk)
22:42
Fix a typo in a comment inserted by the amalgamation builder. Typo reported on the mailing list. (check-in: 6a6bb6ce73 user: drh tags: trunk)
2010-10-30
15:21
Test cases and minor changes to make fts3 more robust in the face of a corrupt database. (check-in: b770290561 user: dan tags: trunk)
2010-10-29
18:45
Add extra test cases and changes to fts3 to avoid crashing on a corrupt database. (check-in: 252f0e457d user: dan tags: trunk)
2010-10-28
15:52
Add new "dynamic_triggers" test case to threadtest3.c. (check-in: a4691563dd user: dan tags: trunk)
15:49
This was suppose to go on "trunk" but got committed to the wrong branch. Add new "dynamic_triggers" test case to threadtest3.c. (Closed-Leaf check-in: d9e588ef17 user: dan tags: mistake)
11:31
Enforce the MAX_EXPR_DEPTH limit while building expression trees during SQL parsing. (check-in: 2625eee0cb user: dan tags: trunk)
2010-10-27
19:23
Add tail recursion to the sqlite3ExprDelete() routine in order to keep down stack space usage for really, really large expressions. Later: The tail recursion is dangerous since the recursion might happen after the expression has been freed. (check-in: 7324c7f2f8 user: drh tags: mistake)
19:08
Avoid trying to allocate a negative number of bytes of memory in the test wrapper for sqlite3_blob_read(). (check-in: 739b5d9aa4 user: dan tags: trunk)
18:10
Merge experimental fts3/fts4 changes with trunk. (check-in: 988164cf48 user: dan tags: trunk)
16:52
Fix a buffer overread in fts3 that can occur if the database is corrupt. (Closed-Leaf check-in: 84194c4195 user: dan tags: experimental)
15:36
Fix a memory leak in the update_hook method of the TCL interface. (check-in: 1d17e3dc83 user: drh tags: trunk)
10:55
In fts4, store the total number of bytes of for all records in the table in the %_stat table. (check-in: 941647d121 user: dan tags: experimental)
2010-10-26
18:42
Structural coverage tests for vdbeblob.c. Including experimental new API sqlite3_blob_reopen(). (check-in: 97c6b2616d user: dan tags: experimental)
11:56
Add missing header comments for changes related to the experimental sqlite3_blob_reopen() API. (check-in: d1cc5c93f0 user: dan tags: experimental)
07:14
More coverage tests for fts3.c. (check-in: 7a2f286400 user: dan tags: experimental)
2010-10-25
19:01
Further improvements to coverage of fts3.c. Fixes for bugs revealed by the same. (check-in: 918b609290 user: dan tags: experimental)
12:47
Test coverage improvements for fts3.c. (check-in: a8b1d99899 user: dan tags: experimental)
09:01
Add test for matchinfo when a phrase includes some common tokens. (check-in: 80a54ebc41 user: dan tags: experimental)
2010-10-23
19:07
Fixes for the matchinfo() function related to FTS4 common token handling. (check-in: deb80eac91 user: dan tags: experimental)
2010-10-22
19:03
Add new test file fts3defer2.test. (check-in: 5a4d5bfcae user: dan tags: experimental)
16:44
Add missing comments and fix compiler warnings in new FTS3/4 code. Other minor fixes too. (check-in: 1c9c70fec3 user: dan tags: experimental)
13:55
Prevent an assert from failing when opening a zero-length database file with an apparently hot journal with locking_mode=exclusive set. (check-in: f000ac1e52 user: dan tags: trunk)
2010-10-21
22:58
Make sure the estimated row count for ephemeral tables is initialized so that automatic indices can be used on those tables. (check-in: d30f7b2def user: drh tags: trunk)
15:49
Merge trunk changes into experimental branch. (check-in: fd1e5cade0 user: dan tags: experimental)
15:12
Fix some segfaults that could occur in obscure circumstances where error messages contained characters that could be mistaken for printf format specifiers. (check-in: f91471e723 user: dan tags: trunk)
12:34
Fix a typo-bug that prevented --disable-amalgamation from working in Makefile.in. Also fix an overly long line in Makfile.in. (check-in: 2c3c4ba035 user: drh tags: trunk)
03:13
Add new WHERETRACE macros for better diagnostics of the query planner. Added a new test case for the performance regression fixed by the previous check-in. (check-in: 1e0db99797 user: drh tags: trunk)
02:05
Fix the query planner so that it uses the multi-index OR-clause solution if that is the lowest cost estimate. A prior bug cause the multi-index solution to be ignored in some circumstances. (check-in: 28ba625528 user: drh tags: trunk)
2010-10-20
18:56
Updates to FTS4 to improve performance and make more accurate cost estimates for prefix terms. (check-in: d0a450ce78 user: dan tags: experimental)
2010-10-19
14:08
Experimental changes to fts4 to try to selectively avoid loading very large doclists. (check-in: 5ae0ba447a user: dan tags: experimental)
2010-10-15
14:45
Cherry-pick the change at [2d4505510032bf9] into the 3.6.1 branch. (check-in: ecb1419e4b user: drh tags: branch-3.6.1)
2010-10-14
01:17
Avoid taking locks on unused database connections when committing a read transaction. (check-in: c0ee614fd9 user: drh tags: trunk)
01:16
Check-in [d3c95e3a4e08d0] was incorrect. This is the correct fix for sqlit3_bind_blob(). Ticket [860399cc408f2dd5f4] (check-in: ea8c2f5f8a user: drh tags: trunk)
2010-10-12
02:13
Fix the sqlite3_bind_blob() interface (and its kin) so that the destructor is invoked if the binding fails. Ticket [860399cc408f2dd5f41aed44b] Update the documentation to explain which interfaces invoke their destructors on failure and which do not. (check-in: d3c95e3a4e user: drh tags: trunk)
2010-10-11
17:58
Make sure the sqlite3_create_collation() interfaces always return an error code if they fail. Ticket [a04e42a3fcacaffa3133436]. (check-in: 6464276ec1 user: drh tags: trunk)
17:57
Further changes to extension loading to support compile-time options. (check-in: f818fb6f73 user: drh tags: trunk)
13:12
Make APIs added since version 3.6.0 accessible to loadable extensions. (check-in: 76c64a3556 user: drh tags: trunk)
2010-10-08
16:09
Add tests to e_createtable.test. (check-in: 38bec827f1 user: dan tags: trunk)
02:34
Version 3.7.3 (check-in: 2677848087 user: drh tags: trunk, release)
2010-10-07
13:29
Update the CLI test script to expect a version number of 3.7.3. (check-in: e55ada8924 user: drh tags: trunk)
2010-10-06
20:25
Update the configure script and Makefile so that they work with 3.7.3. (check-in: 97b63a1168 user: drh tags: trunk)
18:55
Fix long-standing bugs with the handling of LIMIT clausing in compound SELECT statements with FROM clause subqueries. Ticket [38cb5df375078d3f9]. (check-in: b0450120ea user: drh tags: trunk)
16:42
Fix minor test suite problems causing errors on OSX. (check-in: 759c954fee user: dan tags: trunk)
09:57
Fix a bug in test code that was causing a valgrind error. No changes to production code. (check-in: f29da7bec6 user: dan tags: trunk)
2010-10-05
18:22
Do not embedded #if inside an assert() statement. Fix for check-in [dca8763872a] (check-in: d7d4a94fc1 user: drh tags: trunk)
17:02
Have the pager change to at least WRITER_CACHEMOD state before marking any pages as dirty (instead of immediately after). Otherwise, if an error occurs, the pager may be left in WRITER_LOCKED state with dirty pages in the cache. (check-in: 471a4efbb7 user: dan tags: trunk)
15:41
If walLockExclusive() fails for reasons other than SQLITE_BUSY inside of walRestartLog() then propagate that error back up to the application. (check-in: 04dcba6b33 user: drh tags: trunk)
12:05
Avoid all memory allocation (and hence the possiblitity of OOM failure) in sqlite3_value_double() and sqlite3_column_double(). (check-in: 4afdf9705a user: drh tags: trunk)
11:33
Fix an assert() failing on OSX. (check-in: dca8763872 user: dan tags: trunk)
08:13
Prevent backcompat.test from mistaking directories for binary executables. (check-in: 717a1e50f0 user: dan tags: trunk)
2010-10-04
23:55
Fix a performance regression (relative to version 3.6.23.1) caused by the query planner taking into account non-indexable WHERE clause terms to select the outermost join loops when it should be selecting tables for the outermost loop that do not benefit from being in an inner loop. (check-in: ece641eb89 user: drh tags: trunk)
16:06
Fix a couple of test script problems. (check-in: dd10690140 user: dan tags: trunk)
15:47
Fix memsubsys1.test so that it works with TEMP_STORE>=2. (check-in: 8ad88ee0c1 user: dan tags: trunk)
14:11
Warning cleanup from MSVC. (check-in: cde62657d6 user: shaneh tags: trunk)
11:01
Fix broken evidence marks in e_expr.test. (check-in: 37ff94cec8 user: dan tags: trunk)
10:45
Add tests for table-constraints to e_createtable.test. (check-in: 70f511872e user: dan tags: trunk)
2010-10-02
01:01
Backport the very lastest R-Tree in order to take advantage of its enhanced robustness to corrupt databases. (Leaf check-in: 29a681dd7b user: drh tags: apple-osx-3623)
01:00
Fix the amalgamation builder so that it works with the rtree updates of the prior check-in. (Leaf check-in: 265b0b29b8 user: drh tags: branch-3.6.23)
2010-10-01
20:45
Backport the RTree implementation from the trunk into the 3.6.23 branch. The code for the application-defined query boxes is still present but is disabled. The reason for this backport is to take advantage of recent enhancements to robustness to database corruption. (check-in: 854b23c117 user: drh tags: branch-3.6.23)
19:04
Add tests for CHECK and UNIQUE constraints to e_createtable.test. (check-in: fb8db5581d user: dan tags: trunk)
17:23
Add #ifndef USE_SYSTEM_SQLITE...#endif around the bundled SQLite library for the TCL bindings. (check-in: 8d85584a4e user: drh tags: trunk)
15:11
Not true: For a zeroblob, the Mem.z pointer can be null: The Mem.z pointer can never been NULL for a string or blob, even a zero-length string or blob. Assert this fact. (Closed-Leaf check-in: efda310480 user: drh tags: mistake)
13:28
Updates to the showjournal.c utility in order to bring it up to version 3. (check-in: fa97d89546 user: drh tags: trunk)
2010-09-30
20:33
Merge experimental into trunk: Refactor the text-to-numeric conversion routines to work without zero-terminators and in UTF16 as well as UTF8. Avoid invalidating strings with doing affinity conversions. (check-in: 07ee080ec4 user: drh tags: trunk)
20:11
Fix some matching issues in enc4.test affected by TCL versions. (Closed-Leaf check-in: dd6d61a967 user: shaneh tags: experimental)
18:43
Add further tests to e_createtable.test. (check-in: 0a4528d629 user: dan tags: trunk)
18:30
Fix memory leak in enc4.test script. (check-in: bfc294ae43 user: shaneh tags: experimental)
18:19
Additional encoding tests. (check-in: c7f9363617 user: shaneh tags: experimental)
18:12
Remove unnecessary calls to memAboutToChange() in vdbe.c. An affinity change no longer invalidates shallow copies. (check-in: afb0fd0b04 user: drh tags: experimental)
17:33
Do correct affinity transformations on floating point values which have a decimal point at the beginning or end of the mantissa. Ticket [3998683a16a7076e08f5]. (check-in: ca154f97a5 user: drh tags: experimental)
16:51
Changes to remove sqlite3FitsIn64Bits(). (check-in: 43fef1cab6 user: shaneh tags: experimental)
14:48
Fix the handling of default values for ALTER TABLE ADD COLUMN columns so that is able to deal with negative numbers, including large negative numbers. Ticket [8454a207b9fd2243c4] (check-in: ce6cc16e3a user: drh tags: experimental)
00:50
Rework the text to numeric conversion routines so that they work with either UTF8 or UTF16 and do not require a NULL terminator. This allowed text to numeric conversion without reallocating the string. (check-in: 14eed3a0e0 user: drh tags: experimental)
2010-09-29
18:26
Add test cases to e_createtable.test. (check-in: f34dc54d46 user: dan tags: trunk)
13:31
Add tests for "CREATE TABLE ... AS SELECT ..." statements to e_createtable.test. (check-in: 1ef0dc9328 user: dan tags: trunk)
01:54
Updates to sqlite3_finalize() documentation. (check-in: 8c5994cf8e user: drh tags: trunk)
2010-09-28
20:26
Simplify the test that determines if the name of a new table collides with a prior index name. (check-in: 3f30f00a38 user: drh tags: trunk)
19:16
Fix some problems that can occur if a trigger has the same name as another database object. (check-in: 655991ec8a user: dan tags: trunk)
17:37
Merge accidental fork. (check-in: 33c8b9c710 user: drh tags: trunk)
17:34
Add tests to e_createtable.test. Allow a table to be created if there is an index of the same name in a different attached database. (check-in: 6251e58740 user: dan tags: trunk)
17:34
Get ANALYZE working again with -DSQLITE_ENABLE_STAT2 and virtual tables. (check-in: b7a26427af user: drh tags: trunk)
15:55
Disallow statements of the form "CREATE TEMP TABLE main.t1 ...". (check-in: dd1b34bab7 user: dan tags: trunk)
15:25
Updates to e_vacuum.test so that it works when SQLITE_DEFAULT_AUTOVACUUM=1 is set. (check-in: 890816c52d user: drh tags: trunk)
14:26
Fix several harmless compiler warnings. (check-in: 7be03ecc04 user: drh tags: trunk)
14:11
Fix an incompatibility with OMIT_VIRTUALTABLE in e_vacuum.test. (check-in: 7d0b881a62 user: dan tags: trunk)
13:12
Updates to the sqlite3_get_table() documentation. (check-in: c7aa238c37 user: drh tags: trunk)
07:24
Update the version number to 3.7.3 in preparation for the next release. (check-in: 88108fff67 user: drh tags: trunk)
07:14
Merge fixes for ticket [b351d95f9cd5ef17e9d9dbae18f5ca8611190001] into the trunk. (check-in: 1f7ef0af8d user: drh tags: trunk)
07:11
Replace some unreachable branch instructions with assert() statements. (Closed-Leaf check-in: 88b84bf18a user: drh tags: bug-b351d95f9c)
06:00
Tweaks to help facilitate structural test coverage. (check-in: ff49a5f00b user: drh tags: bug-b351d95f9c)
04:14
Test case and fix for the specific failure of ticket [b351d95f9cd5ef17e9d9dbae]. (check-in: 57789cfe67 user: drh tags: bug-b351d95f9c)
03:55
Use OP_Copy rather than OP_SCopy at one point in aggregate processing where it is needed to avoid shallow-copy misuse. (check-in: a5eefd5239 user: drh tags: bug-b351d95f9c)
00:25
Continuing work toward detecting and fixing shallow-copy misuse. (check-in: d0342f4bb9 user: drh tags: bug-b351d95f9c)
2010-09-27
21:09
Add assert() statements that fail when a shallow copy is accessed after the original has been modified. These assert() statements should detect the kinds of subtle SCopy bugs such as caused the fault in ticket [b351d95f9cd5ef17e9d9dbae18f]. (check-in: 8b8e1732e8 user: drh tags: bug-b351d95f9c)
18:14
Simplifications to the expression code generator. Remove about 80 lines of older and obsolete code. (check-in: 53f5cfe115 user: drh tags: trunk)
2010-09-25
22:32
Enhance the ANALYZE command so that it gathers statistics in the sqlite_stat1 table even for tables that are empty or have no indices. (check-in: a7645d2938 user: drh tags: trunk)
17:29
Add new file e_createtable.test. (check-in: 20e16fef55 user: dan tags: trunk)
14:13
Do not call gethostuuid() on MacOS 10.4 and earlier, since it is not supported there. (check-in: 44deaaefee user: drh tags: trunk)
07:51
Add tests to file e_reindex.test. (check-in: eec7dc9192 user: dan tags: trunk)
2010-09-24
19:14
Modify some evidence tags to match updated gifs. (check-in: f44de500be user: dan tags: trunk)
18:08
Merge experimental branch back into trunk. (check-in: 83ecec5d15 user: dan tags: trunk)
18:04
Add new file e_vacuum.test. Move part of e_select.test into e_select2.test. (Closed-Leaf check-in: 30801892c6 user: dan)
09:32
Add experimental branch disallowing VACUUM when there are one or more active SQL statements. (check-in: c1ebcacd9b user: dan tags: experimental)
08:00
Modify testable statement ids in a few test files to account for recent docsrc changes. (check-in: 7893e52595 user: dan tags: trunk)
2010-09-23
18:47
Add tests to e_delete.test. (check-in: fab3b383bb user: dan tags: trunk)
2010-09-22
19:06
Further tests and changes to make the r-tree module more robust. (check-in: 7ff3574b9c user: dan tags: trunk)
14:19
Add new file rtreeA.test, to test that the r-tree extension doesn't crash if it encounters a corrupt or inconsistent database. (check-in: 68a305fd5a user: dan tags: trunk)
2010-09-21
19:00
Add new file e_delete.test. (check-in: 14e8659e57 user: dan tags: trunk)
16:59
Add tests to e_update.test. (check-in: 528f71e29c user: dan tags: trunk)
2010-09-20
19:17
Add test file e_update.test. (check-in: 03985ed4a0 user: dan tags: trunk)
14:55
Changes to test scripts to work with SQLITE_TEMP_STORE=2. (check-in: ba8ca9c9e2 user: dan tags: trunk)
14:05
Add further tests to e_insert.test. (check-in: eb3d0d8bb7 user: dan tags: trunk)
08:47
Add a test case to verify that bug [313723c356] has been fixed. (check-in: 4ea134a84c user: dan tags: trunk)
2010-09-18
19:36
Make sure the pager cache is cleared if there is any difficulty starting a new read transaction in WAL mode. Ticket [313723c356483eff2a4c4bdd2c]. (check-in: e14ef0e8b4 user: drh tags: trunk)
19:00
Add new test file e_insert.test. (check-in: 8023a3091b user: dan tags: trunk)
15:15
Fix a couple of stale evidence marks in e_select.test. (check-in: 14227724a8 user: dan tags: trunk)
15:03
Add tests to e_select.test. (check-in: 0ee9e75571 user: dan tags: trunk)
2010-09-17
22:39
Clarifications to the sqlite3_auto_extension() documentation. (check-in: ca96e0df29 user: drh tags: trunk)
19:45
Updates to the documentation for sqlite3_create_collation(). (check-in: 3df7715a77 user: drh tags: trunk)
19:04
Add tests for some syntax diagrams in lang_select.html. (check-in: 2254e93bd5 user: dan tags: trunk)
17:10
Remove additional occurrences of <ctype.h> from FTS2. (check-in: ee52589c80 user: drh tags: trunk)
16:01
Add new test file fts3shared.test to test the previous change. (check-in: a207f74408 user: dan tags: trunk)
15:28
Have all FTS3 queries obtain a read or write table-lock at the shared-cache level before doing anything else. (check-in: 018e82c775 user: dan tags: trunk)
01:07
Completely remove all trace of ctype.h from FTS2. (check-in: 876845661a user: drh tags: trunk)
2010-09-16
23:18
Fix a comment typo in memjournal.c (check-in: 9b272ed46f user: drh tags: trunk)
19:49
Updates to the requirements on the sqlite3_create_function() family of interfaces. (check-in: f03c608993 user: drh tags: trunk)
18:51
Add tests for ORDER BY, LIMIT and OFFSET clauses to e_select.test. (check-in: 7c989db55c user: dan tags: trunk)
16:16
Further tweaks related to deleting files from malloc_common.tcl. (check-in: 3e649f80e2 user: dan tags: trunk)
15:58
Fix a problem with the previous change to malloc_common.tcl. (check-in: e07a33ea0f user: dan tags: trunk)
15:23
Change code in malloc_common.tcl (test code) to retry a "file delete -force" if it fails. (check-in: ebfb04f00c user: dan tags: trunk)
2010-09-15
23:41
Updates to the sqlite3_progress_handler() documentation. (check-in: 78f659ee9b user: drh tags: trunk)
19:02
Add tests for ORDER BY clauses to e_select.test. (check-in: 14f1566327 user: dan tags: trunk)
17:54
Added the sqlite3_soft_heap_limit64() interface. Deprecate the older sqlite3_soft_heap_limit() interface. (check-in: 82268a2c3d user: drh tags: trunk)
11:42
Add trivial test case to make sure shared-cache mode does not automatically turn on exclusive-locking mode. (check-in: a0ab3902f1 user: dan tags: trunk)
2010-09-14
18:56
Further tests for compound SELECT statements. (check-in: a0f01ebab9 user: dan tags: trunk)
18:23
Clarify the documentation to better explain when an automatic re-prepare can be induced by rebinding parameters. Add evidence marks to the automatic re-prepare logic. (check-in: 3e11f5155c user: drh tags: trunk)
10:53
Fix some test failures found running releasetest.tcl. (check-in: 56a9ce7774 user: dan tags: trunk)
2010-09-13
19:03
Fix walmode.test so that all tests pass with SQLITE_TEMP_STORE=3. (check-in: 6ba6e59a9d user: dan tags: trunk)
18:58
Add tests for compound SELECT statements to e_select.test. (check-in: 8b0b009f29 user: dan tags: trunk)
14:38
Fix a couple of test files so that they work with DEFAULT_AUTOVACUUM. (check-in: 8cb39306f4 user: dan tags: trunk)
12:15
Run the multi-threaded tests in test/threadtest3.c as part of releasetest.tcl. Remove the OMIT_BUILTIN_TEST symbol from the "Device-Two" configuration. (check-in: 3f5406e323 user: dan tags: trunk)
11:29
Alter some configurations in releasetest.tcl. Print out the wall-clock time taken for each test after it is executed. (check-in: a91c5af3b0 user: dan tags: trunk)
2010-09-11
17:37
Add tests for "DISTINCT" and "ALL" to e_select.test. (check-in: 43a99d9a88 user: dan tags: trunk)
16:25
Fix a couple of incorrect evidence marks on malloc(). (check-in: f9b5c5cb13 user: drh tags: trunk)
16:15
Additional evidence marks on the malloc() implementation. Update the documentation to explain that mallocs are not necessarily 8-byte aligned if the SQLITE_4_BYTE_ALIGNED_MALLOC compile-time option is used. (check-in: 42b4bf9e72 user: drh tags: trunk)
15:54
Add assert() statements to demonstrate that memory allocations are always aligned to an 8-byte boundary (unless SQLITE_4_BYTE_ALIGNED_MALLOC is defined). (check-in: 305cc4e6c1 user: drh tags: trunk)
05:15
When building from the amalgamation with ENABLE_RTREE defined, do not try to include sqlite3rtree.h. (check-in: 5b63e981f1 user: dan tags: trunk)
2010-09-10
23:16
fixed memory leak in proxy lock file error handling (check-in: e01c5f3eda user: adam tags: apple-osx)
20:23
A further correction to the sqlite3_create_function() interface documentation. (check-in: c65583dbc7 user: drh tags: trunk)
20:19
replaced relative lock proxy paths with absolute (check-in: 782c33512a user: adam tags: apple-osx)
19:18
Add tests to e_select.test. (check-in: 3a051a76f7 user: dan tags: trunk)
16:38
Updates to the documentation on the sqlite3_create_function() family of interfaces. (check-in: 9d277e0b82 user: drh tags: trunk)
13:23
Make sure SQLite is running with MEMSTATUS enabled at the beginning of every test script. (check-in: 6999531405 user: drh tags: trunk)
00:59
replaced relative lock proxy paths with absolute (check-in: 6a88cd46ae user: adam tags: apple-osx)
00:18
Make sure SQLite is running with MEMSTATUS enabled at the beginning of every test script. (check-in: b6e9a4d8f7 user: drh tags: apple-osx)
2010-09-09
23:42
Make sure MEMSTATUS is enabled at the beginning of the memsubsys2.test script. (check-in: c23b97219d user: drh tags: trunk)
23:40
Make sure MEMSTATUS is enabled at the beginning of the memsubsys2.test script. (check-in: cf23a35497 user: drh tags: apple-osx)
23:31
The merge for check-in [415c448dc4] did not do exactly write, resulting in a subtle bug in the SQLITE_FCNTL_SIZE_HINT logic. This check-in is the fix. (check-in: badaaa18fd user: drh tags: apple-osx)
19:02
Add test cases to e_select.test. (check-in: 5e73f7b2b7 user: dan tags: trunk)
18:25
Further updates to the sqlite3_pcache_methods documentation, plus the addition of a few evidence marks related to pcache. (check-in: 34edb54bb0 user: drh tags: trunk)
17:43
Make sure memory statistics are enabled for the dbstatus.test script. (check-in: 35b943a0fc user: drh tags: trunk)
15:48
Updates to the sqlite3_pcache_methods documentation. (check-in: b21425c404 user: drh tags: trunk)
11:33
Add WHERE clause tests to e_select.test. (check-in: 721b73fa5c user: dan tags: trunk)
10:00
Add tests for sub-select statements in the FROM clause of a SELECT to e_select.test. (check-in: 2c6b1ca952 user: dan tags: trunk)
2010-09-08
19:16
Fix problem with test names in e_select.test. (check-in: 8fe34faf6b user: dan tags: trunk)
19:02
Add tests to e_select.test. (check-in: 727ced6bab user: dan tags: trunk)
16:30
Updates to the documentation of the sqlite3_column_xxxx() family of interfaces. Enhance sqlite3_column_blob() so that it always returns a NULL pointer for a zero-length blob. (check-in: a932fab299 user: drh tags: trunk)
02:30
Improved documentation of SQLITE_THREADSAFE and sqlite3_column_text() and evidence marks for each. (check-in: 0d7a538948 user: drh tags: trunk)
2010-09-07
23:28
Updates to the documentation on the VFS xOpen method. (check-in: 1719cb8f49 user: drh tags: trunk)
19:10
Update the sqlite3_limit() documentation to explain that SQLITE_LIMIT_VDBE_OP is not enforced. (check-in: 17be9beeab user: drh tags: trunk)
19:05
Add tests to e_select.test. (check-in: 282dae7edf user: dan tags: trunk)
14:59
Revised documentation for sqlite3_limit(). Added some evidence marks and assert() statements to verify sqlite3_limit() behavior. (check-in: 883b9b7441 user: drh tags: trunk)
14:12
Example icon file (32x32x4) for new logo. (check-in: bd70079467 user: shaneh tags: trunk)
12:17
Remove a redundant test for multiple output columns in a scalar subquery. (check-in: 657472bce2 user: drh tags: trunk)
2010-09-06
20:28
In the test scripts, changes instances of the TCL interface option "-has_codec" into the correct "-has-codec". (check-in: f53856a555 user: drh tags: trunk)
18:50
Add test cases to e_select.test. (check-in: 9db26d5ef5 user: dan tags: trunk)
18:44
Remove proprietary information from the releasetest.tcl script and add it to the public repository. (check-in: e1d4a87e4e user: drh tags: trunk)
2010-09-04
18:52
Add test file e_select.test. (check-in: 8b9d8c226e user: dan tags: trunk)
2010-09-03
18:50
Documentation enhancements for sqlite3_db_status(). Evidence marks on the SQL function call intrface. (check-in: f06c7b1973 user: drh tags: trunk)
12:05
Improved documentation of the sqlite3_column_count() and sqlite3_data_count() interfaces. (check-in: 0593373d4b user: drh tags: trunk)
10:58
Add a few more subquery tests to e_expr.test. (check-in: 189cba0072 user: dan tags: trunk)
04:29
Reduce the amount of memory taken up by WAL mmaped regions under Windows. (check-in: f213e133f6 user: shaneh tags: trunk)
03:32
Fix a discrepancy between the documented behavior of SQLITE_DBCONFIG_LOOKASIDE and what it actually does. Also add evidence marks on the DBCONFIG_LOOKASIDE implementation. (check-in: f483be4413 user: drh tags: trunk)
2010-09-02
19:01
Move the test for an (illegal) scalar sub-query that returns more than one column to earlier in SELECT processing in order to avoid an assert() that can happen later on. (check-in: a55842cfb5 user: dan tags: trunk)
18:13
Fix an off-by-one error in the scratch memory allocator. (check-in: 5a9591607a user: drh tags: trunk)
17:15
Use sqlite3_mutex_notheld() instead of !sqlite3_mutex_held() inside of assert() statements since the former works when mutexing is disabled while the latter does not. (check-in: 2211486b69 user: drh tags: trunk)
14:35
Add test case to verify the previous change is correct. (check-in: 2a5eed35b4 user: dan tags: trunk)
14:00
Fix the computation of the offset on the mmap() for the Nth shared memory region. Because of the way shared memory is accessed, the old computation, though wrong, still happened to always get the right answer. Nevertheless, it is good to do the computation correctly. (check-in: 36397f62f2 user: drh tags: trunk)
11:53
Add tests for the EXISTS operator to e_expr.test. (check-in: 9f9a95cc80 user: dan tags: trunk)
10:08
If MEM_STATUS is disabled, avoid holding the STATIC_MEM mutex when calling the user-defined xMalloc method. Holding the mutex causes problems for memsys3 and memsys5. (check-in: 4f20f8ba73 user: dan tags: trunk)
04:30
Fix a few typos. Update evidence marks. (check-in: c90a68b77e user: shaneh tags: trunk)
2010-09-01
19:29
Identify additional requirements in the sqlite3_vfs object documentation. (check-in: 47064453c3 user: drh tags: trunk)
18:00
Add tests to quota.test. (check-in: ec9af6ebd4 user: dan tags: trunk)
16:19
Call quota callback destructors from within sqlite3_quota_shutdown(). (check-in: fb80c6f3de user: dan tags: trunk)
15:26
Boundary value fix to the descriptive comment at the top of test_quota.c. (check-in: 7f6072f082 user: drh tags: trunk)
15:22
Merge the test_quota.c module into the trunk. (check-in: 2e1a02026a user: drh tags: trunk)
15:11
Fix the TCL interface to test_quota.c so that it works with empty callback scripts. (Closed-Leaf check-in: 19e95f6335 user: drh tags: experimental)
14:58
Variable name and comment changes to test_quota.c for clearer presentation. (check-in: 38ed1992c8 user: drh tags: experimental)
14:45
Make all private routines in test_quota.c begin with "quota". Fix a test_quota.c segfault when setting a zero-quota. (check-in: c0d0fc3a1c user: drh tags: experimental)
14:35
Add the sqlite3_quota_dump test command. Add a destructor argument on the sqlite3_quota_set() interface. (check-in: 7a624b5ae2 user: drh tags: experimental)
13:09
Clean up comments in the test_quota.c source file. (check-in: c1eec7dba6 user: drh tags: experimental)
12:50
Update the quota shim so that when the same file is opened multiple times, its size only counts against the quota once. (check-in: f5d2638030 user: drh tags: experimental)
11:50
Add an assert() with an evidence mark to show that automatically generated rowids are positive. (check-in: 740adca34e user: drh tags: trunk)
11:40
Add file test_quota.c, demonstrating how file-system quotas may be implemented as a VFS wrapper. (check-in: 383eb87bbf user: dan tags: experimental)
02:38
Fix some compiler warnings under MSVC. (check-in: afdc82a99e user: shaneh tags: trunk)
02:37
Ensure randomly generated rowids never go negative. (check-in: 631423677b user: shaneh tags: trunk)
2010-08-31
16:25
Do not clear the internal "schema has changed" flag when performing a savepoint rollback. The schema changes may not have taken place within the savepoint being rolled back. (check-in: c2a84430d3 user: dan tags: trunk)
15:54
Changes to comments and type names in rtree.c. (check-in: 7c4f80ad27 user: dan tags: trunk)
15:38
Fix a documentation typo reported on the mailing list. (check-in: c9fe0a2392 user: drh tags: trunk)
15:27
Add evidence mark comments to source code. Add additional information to the documentation of sqlite3_release_memory(). Fix a minor inefficiency in mem1.c that was discovered while writing requirements tests. (check-in: 53b0c03fd3 user: drh tags: trunk)
15:02
Add the "circle" test geometry callback to test_rtree.c. And tests for the same. (check-in: 169b8ba4be user: dan tags: trunk)
01:09
Remove unreachable branches to facilitate test coverage. (check-in: 86bcb9aab9 user: drh tags: trunk)
2010-08-30
22:15
Provide hints to the btree layer during the creation of transient tables for when it is possible for those tables to use a hash rather than a binary tree. No use is currently made of those hints, though assert() statement verify their accuracy. (check-in: 4fead8e714 user: drh tags: trunk)
18:39
When generating sqlite3.h, append the contents of sqlite3rtree.h. (check-in: fc4d75370b user: dan tags: trunk)
16:15
Fix a problem in pagerfault.test uncovered by the previous change. (check-in: b6719ce328 user: dan tags: trunk)
15:43
Add tests (and associated fixes) to restore coverage of rtree.c. (check-in: b06f4695bd user: dan tags: trunk)
15:02
Remove the sqlite3BtreeFactory() wrapper routine. All modules now call sqlite3BtreeOpen() directly. (check-in: 0900e35348 user: drh tags: trunk)
11:34
Add file sqlite3rtree.h. (check-in: e1d9ffce0f user: dan tags: trunk)
01:17
Updates to comments on the VDBE opcodes. (check-in: 49c05b4e08 user: drh tags: trunk)
2010-08-28
19:09
Fix problem with func3.test. (check-in: aec52959d0 user: dan tags: trunk)
18:58
Add code to allow user-defined searches of r-tree tables. Still largely untested. (check-in: 782ca3b716 user: dan tags: trunk)
2010-08-27
18:44
Make sqlite3_create_function() a special case of sqlite3_create_function_v2() in order reduce the number of code paths and simplify testing. (check-in: 4758d86d57 user: drh tags: trunk)
17:48
Add the sqlite3_create_function_v2() API, a version of create_function that allows a destructor to be specified. (check-in: 9a724dfbe8 user: dan tags: trunk)
17:16
Refactor the implementation of the scratch memory allocator. Add the SQLITE_TESTCTRL_SCRATCHMALLOC interface to facilitate testing. (check-in: a3475ddfbe user: drh tags: trunk)
12:21
Remove unnecessary code from malloc.c. Enhance pcache1.c so that is tries to reuse existing pages, rather than create new pages, when SQLite is under memory pressure. "Memory pressure" means that SQLITE_CONFIG_PAGECACHE memory is nearly exhausted or sqlite3_soft_heap_limit() has been reached. (check-in: 51049479a8 user: drh tags: trunk)
11:19
Further tests for CAST in e_expr.test. (check-in: 9616df8c47 user: dan tags: trunk)
2010-08-26
19:05
Add tests for CAST expressions to e_expr.test. More to come. (check-in: ba6119d1e9 user: dan tags: trunk)
16:46
Add EXTERN macros before entry points in tclsqlite.c. These EXTERN macros were inexplicably removed by [1f680cb37584baa106cee05] a few days ago. (check-in: 8b2cf9d492 user: drh tags: trunk)
14:15
Fix a couple of memory leaks in r-tree that can occur following an OOM condition. (check-in: 1975a27cde user: dan tags: trunk)
11:27
Remove unreachable condition from rtree.c. (check-in: 90f40cd368 user: dan tags: trunk)
07:59
Improve coverage of rtree.c some more. (check-in: bee1959dde user: dan tags: trunk)
05:23
Simplification of changes for SQLITE_OMIT_WAL support in pager.c. (check-in: afb2484c64 user: shaneh tags: trunk)
2010-08-25
20:35
Reinstate the "sqlite" alias for backwards compatibility (but leave it undocumented) but remove the PackageProvide for "sqlite". (check-in: 699cc6b487 user: drh tags: trunk)
19:39
Disable the legacy "sqlite" command in the TCL interface. Provide only the "sqlite3" command. (check-in: 909b3d8862 user: drh tags: trunk)
19:04
Further test coverage improvements for rtree.c. (check-in: 05f6c1aebb user: dan tags: trunk)
17:53
Test cases to improve coverage of rtree module. Fixes associated with the same. (check-in: 865cec04e4 user: dan tags: trunk)
2010-08-24
20:46
Replicate asserts on unixOpen() to winOpen() in os_win.c. (check-in: 40526d8390 user: shaneh tags: trunk)
18:35
Changes to support building with SQLITE_OMIT_WAL. (check-in: d1ed743b6e user: shaneh tags: trunk)
18:07
Change sqlite3_open_v2() to return SQLITE_MISUSE if the combination of bits in the flags parameter is invalid. The documentation says the behavior in this situation is undefined - the documentation is unaltered by this code change. (check-in: 5e8101c512 user: drh tags: trunk)
18:06
Comment enhancements and typo fixes in pcache1.c. (check-in: c2dc39c0c4 user: drh tags: trunk)
16:59
Fixes to allow fts3 tables to be renamed mid-transaction. (check-in: d1c875320a user: dan tags: trunk)
13:11
Add tests to e_expr.test. (check-in: 5c1c694ee1 user: dan tags: trunk)
12:05
Pull the incremental_vacuum bug fix ([255f1eefa373153942c67b18b]) and the R-tree segfault bug fix ([7f2f71cc9e3c39093f09231f44]) into the 3.6.23 branch. Increase the version number to 3.6.23.3. (check-in: bcbdecd854 user: drh tags: branch-3.6.23)
02:10
Cherrypick the R-tree invalid shadow-table big fix of [7f2f71cc9e3c39093f09231f44] into the apple-osx 3.6.23 branch. (check-in: 68103d91d4 user: drh tags: apple-osx-3623)
01:59
Cherrypick the incremental_vacuum bug fix ([255f1eefa373153942c67b18b]) into the apple-osx 3.6.23 branch. (check-in: 60f16838cc user: drh tags: apple-osx-3623)
01:51
Merge in the R-tree fix from the trunk. (check-in: 02ee0bd5a3 user: drh tags: apple-osx)
01:49
The R-tree module should not assume that its shadow tables are consistent. If a problem is found in a shadow table, return SQLITE_CORRUPT. (check-in: 7f2f71cc9e user: drh tags: trunk)
01:08
Merge changes through release 3.7.2 into the apple-osx branch. (check-in: 415c448dc4 user: drh tags: apple-osx)
00:40
Version 3.7.2 (check-in: 42537b6056 user: drh tags: trunk, release, version-3.7.2)
2010-08-23
18:19
Fixes for the SQLITE_CHECK_PAGES debugging feature. (check-in: 21a1e5961b user: dan tags: trunk)
17:09
Update the version number in preparation for the 3.7.2 release. (check-in: 77889510fa user: drh tags: trunk)
15:41
Fix for ticket [5e10420e8d]. (check-in: 255f1eefa3 user: dan tags: trunk)
15:26
Update the "showdb" debug utility to handle 64K pages and with extra options to decode the freelist structure. (check-in: 1070918e3b user: drh tags: trunk)
01:25
Version 3.7.1 (check-in: 3613b0695a user: drh tags: trunk, release)
2010-08-21
15:51
Add some tests to e_expr.test and pagerfault.test. No code changes. (check-in: 44de3cab9c user: dan tags: trunk)
15:09
Fix the ptrmapPageno() routine so that it works correctly for an input of 1. (check-in: 699a9bf283 user: drh tags: trunk)
2010-08-20
15:32
Do not allow a backup to change the page size if a codec is in use. (check-in: 5523ecd322 user: drh tags: trunk)
12:43
Fix typo in backcompat.test. (check-in: 6a0cbb272c user: dan tags: trunk)
12:34
Merge leaf created by accident. (check-in: 1f680cb375 user: dan tags: trunk)
12:31
Avoid assuming that the user has "." in their path when running multi-process tests. (check-in: daa5d461b9 user: dan tags: trunk)
10:28
Do not attempt run backwards compatibility tests if no historical "testfixture" binaries are available. (check-in: 40e11aabc7 user: drh tags: trunk)
09:53
Disable the MEMSYS2 auxiliary routines if MEMSYS2 is changed to an alternative memory allocator using SQLITE_CONFIG_MALLOC. (check-in: 541dd3b870 user: drh tags: trunk)
09:14
Fix the sqlite3_release_memory() interface so that it does not attempt to free SQLITE_CONFIG_PAGECACHE memory. (check-in: 0426cd62d5 user: drh tags: trunk)
2010-08-19
18:05
Adjust filename globbing in backcompat.test for Windows. (check-in: b0f4796306 user: shaneh tags: trunk)
17:16
Fix backcompat.test so that it works with windows mandatory locking. (check-in: 8d05f66db7 user: dan tags: trunk)
15:48
Add tests for WAL mode to test/backcompat.test. (check-in: 7999910e85 user: dan tags: trunk)
15:12
Merge two leaves. (check-in: b03091fc35 user: dan tags: trunk)
15:11
Modify the code for reading hot-journal files so that it can handle journals generated by versions 3.5.7 and earlier. (check-in: b9170f2903 user: dan tags: trunk)
14:41
Fix typo in TCL stubs support for configure in Makefile.in (check-in: 4c7ad73d22 user: shaneh tags: trunk)
14:22
Remove a NEVER from balance_quick() that can occur in WAL mode on a corrupt database file. (check-in: b273891ab0 user: drh tags: trunk)
11:05
Add new test script backcompat.test, for testing database/journal/wal file compatibility against previous versions. (check-in: 8804f4989d user: dan tags: trunk)
2010-08-18
21:19
Fix two asserts in the btree logic so that they work correctly even for maximum-size index entries for 32K and 64K pages. (check-in: e127192d10 user: drh tags: trunk)
17:16
Updated tests for CLI. Added some basic tests for the .import command. (check-in: d46567e5d7 user: shaneh tags: trunk)
15:25
Disable the SQLITE_MAX_PAGE_SIZE compile time option (it is now always set to 65536). Fix some other problems in test files. (check-in: 56cc883d3a user: dan tags: trunk)
14:54
Fix issue with wal.test on Windows. (check-in: 3497f54ac2 user: shaneh tags: trunk)
02:28
Fix some compiler warnings in the MSVC build. (check-in: 1f5662b7db user: shaneh tags: trunk)
00:24
Merge the 3.7.1 pre-release snapshot changes as of 2010-08-18 into the apple-osx branch. (check-in: 866e9286ae user: drh tags: apple-osx)
00:09
Updating apple-osx with minor source fixes, database truncate and replace private calls and a bunch of conditionalization for tests running in different environments (check-in: 5e2ee7db0f user: adam tags: apple-osx)
2010-08-17
23:13
Cherrypick the changes for enhancement requests [e090183531fc27474] (use indices on LIKE with no wildcards) and [4711020446da7d93d993] (use nocase index for LIKE even if the column is binary) into the 3.6.23.1 release of the Apple-OSX branch. (check-in: 220cca50da user: drh tags: apple-osx-3623)
19:49
Remove a NEVER() that is actually reachable. (check-in: acb171d4cf user: drh tags: trunk)
19:40
Suppress harmless compiler warning. (check-in: 3f8c068a41 user: drh tags: trunk)
19:34
Return an error when parsing "?NNN" if NNN is so large it cannot be stored as a 32-bit int. (check-in: fc9014be0f user: dan tags: trunk)
18:37
It is no longer possible to reach pagerStress() while in the error state, so put a NEVER() around the error state test of that routine. (check-in: d7ed463496 user: drh tags: trunk)
18:15
If an SQLITE_FULL error occurs during rollback or journal finalization, treat it in the same way as SQLITE_IOERR (i.e. require that the pager internals be completely reset before it is next read from or written to). (check-in: 8ac185236e user: dan tags: trunk)
17:25
Changes to pager for improved testability. (check-in: 61c64b3aeb user: drh tags: trunk)
16:06
Add tests for the BETWEEN operator to e_expr.test. (check-in: ced6a3480f user: dan tags: trunk)
14:52
Invoke sqlite3_log() whenever one or more frames are recovered from a WAL file. (check-in: e05089aaef user: dan tags: trunk)
05:55
Fix some non-ANSI C code in test_demovfs.c. Also change the same file so that attempting to delete a file that does not exist does not return an error. (check-in: 07570ce380 user: dan tags: trunk)
2010-08-16
20:02
Remove an superfluous branch from pager.c. (check-in: 4271a95c82 user: drh tags: trunk)
19:23
Add tests for different page sizes to wal.test. Including 64K pages. (check-in: d95bcc0529 user: dan tags: trunk)
18:26
Add test cases designed to exercise all syntax diagram paths in lang_expr.html (check-in: d4a26bb629 user: dan tags: trunk)
16:31
Fix a typo in a comment in wal.c. No code changes. (check-in: d854a3d41c user: drh tags: trunk)
14:18
Add ALWAYS() macros in wal.c to cover branches that are no longer reachable following the pager refactoring. (check-in: 24f24c927c user: drh tags: trunk)
2010-08-14
21:21
Adjustments for better 64K page size handling. (check-in: faf1974e2d user: drh tags: trunk)
18:32
Add test case to e_expr.test. (check-in: db9539f2ce user: dan tags: trunk)
17:12
Change sqlite3PagerPagecount() to return void, since the return value was always SQLITE_OK and was never used. (check-in: 7dd78eb797 user: drh tags: trunk)
16:02
Minor simplifications to btree.c in support of full-coverage testing. (check-in: 364df6c773 user: drh tags: trunk)
12:42
Tweaks to comments in pager.c. Fix two compiler warnings. (check-in: 68a49f7fe3 user: drh tags: trunk)
12:25
Add test cases to e_expr.test. (check-in: d8bbab78fa user: dan tags: trunk)
05:04
Test that it is possible to drop a trigger while there are active statements belonging to the same connection. (check-in: d4ec61e254 user: dan tags: trunk)
2010-08-13
18:41
Add tests to test file e_expr.test. (check-in: 3fd1059e25 user: dan tags: trunk)
16:38
Do not apply the flattening optimization if the sub-query is DISTINCT. Fix for [e4b8a2ba6e]. (check-in: 497aafd8ed user: dan tags: trunk)
2010-08-12
16:36
If an error occurs in PagerSetPagesize(), set the output variable to the unmodified page-size before returning. (check-in: 02def8f925 user: dan tags: trunk)
11:25
Add coverage tests for pager.c. (check-in: 228c5b16af user: dan tags: trunk)
02:41
Increase the maximum page size from 32k to 64k. (check-in: 45362437d4 user: drh tags: trunk)
2010-08-11
18:56
Improve coverage of pager.c. (check-in: 2fa05d01b6 user: dan tags: trunk)
12:26
Update an r-tree extension test case to account for recent changes to the query planner. Also fix a comment in rtree.c. (check-in: eaaca669a4 user: dan tags: trunk)
11:59
Use sqlite3DbFree() instead of sqlite3_free() to free any error message reported by the parser layer while attempting to parse a CREATE TABLE statement passed to sqlite3_declare_vtab(). (check-in: 7c674aaba5 user: dan tags: trunk)
11:35
Fixes to tcl test files so that they work in auto-vacuum mode. (check-in: ea9eaf7480 user: dan tags: trunk)
06:14
Fix memory allocation in proxy locking so that it works with SQLITE_MEMDEBUG. (check-in: f854cbe063 user: drh tags: trunk)
06:04
Merge experimental changes into trunk. (check-in: aa092ac928 user: dan tags: trunk)
2010-08-10
15:46
Fix a bug in pager.c causing it to omit the xSync() call required following a hot-journal rollback. (Closed-Leaf check-in: 42ba43ac69 user: dan tags: experimental)
09:58
Add variable pager.dbHintSize, used to limit the number of calls made to the xFileControl(FCNTL_SIZE_HINT) method. (check-in: eb3ac895bd user: dan tags: experimental)
07:12
Changes to debugging code in mutex_unix.c and mutex_w32.c to make an assert() statement threadsafe. (check-in: e82e32bd43 user: dan tags: trunk)
2010-08-09
19:17
Modify some comments in pager.c. (check-in: 5662da6d4f user: dan tags: experimental)
16:52
Merge latest trunk changes with experimental branch. (check-in: aecbd89032 user: dan tags: experimental)
16:12
Fix a memory leak in test_journal.c causing tests to fail. (check-in: f229487ccc user: dan tags: experimental)
15:44
Fix typos in comments. No functional changes to the code. (check-in: 9cebaf2dca user: drh tags: trunk)
14:47
Change to tcl test infrastructure so that --malloctrace=1 works when sizeof(int)!=sizeof(void*). (check-in: c3e771b3cf user: dan tags: experimental)
14:26
Fix two comment typos that were reported on the mailing list. (check-in: 88bf901627 user: drh tags: trunk)
07:51
Fix a problem causing the return code of an xSync call to be ignored in wal.c. (check-in: f1b2b5f9c3 user: dan tags: experimental)
07:07
In WAL mode, ignore any error returned by an xFileControl(FCNTL_SIZE_HINT) call. This matches the behaviour in rollback mode. (check-in: 158a309737 user: dan tags: experimental)
2010-08-07
16:17
Fix minor problems and update comments in pager.c. (check-in: 92e456374b user: dan tags: experimental)
11:46
Merge in all changes up to the 3.7.0.1 release. (check-in: f88c6367d2 user: drh tags: apple-osx)
09:31
Fix a problem wherein changing the journal-mode immediately after leaving exclusive-locking mode could lead to the database being unlocked without clearing the changeCountDone flag. (check-in: 531abc8085 user: dan tags: experimental)
05:15
Add test case 'cgt_pager_1', intended for use with callgrind to detect performance regression in the pager module, to threadtest3.c. (check-in: b5d46f1ea0 user: dan tags: experimental)
2010-08-06
19:00
Remove all vestiges of ctype.h from FTS3. This addresses ticket [991789d9f3136a] among other bug reports. (check-in: b8b465ed2c user: drh tags: trunk)
17:18
Further enhancements to comments in pager.c. (check-in: 876162c7e0 user: dan tags: experimental)
14:37
Fix some problems with running test scripts with the inmemory_journal permutation. (check-in: 7bd8ba084e user: dan tags: experimental)
13:53
Merge trunk changes into experimental branch. (check-in: aef6698c73 user: dan tags: experimental)
13:50
Do not run some tests in notify3.test with the inmemory_journal permutation. They do not pass as the tests assume that the database schema is not loaded until the first invocation of [db eval]. This is not true with the inmemory_journal permutation. (check-in: 698fba826e user: dan tags: trunk)
12:00
Further updates to comments in pager.c. (check-in: 5f4c17a33f user: dan tags: experimental)
09:43
Modify test_journal.c to work with pre-allocated databases. (check-in: 4894a5d210 user: dan tags: experimental)
06:54
Fix a bug to do with deleting the journal file when exiting exclusive-locking mode. (check-in: 6217b607f0 user: dan tags: experimental)
02:10
Change two automatic array variables into static constant arrays. Update and reformat some comments for cleaner presentation. (check-in: a7a15547cc user: drh tags: trunk)
2010-08-05
18:53
Add comments describing UNKNOWN_LOCK to pager.c. Improve some other comments in the same file. (check-in: 54eff6de9d user: dan tags: experimental)
16:22
Merge trunk changes with experimental branch. (check-in: acd26b8b74 user: dan tags: experimental)
16:08
Catch an error code that was not being propagated back to the caller. (check-in: 800f496929 user: dan tags: experimental)
15:30
Fixes for error handling with temp databases. And for errors that occur within OS locking primitives. (check-in: f99a902f9b user: dan tags: experimental)
11:56
Make the size of a Bitvec object 512 bytes on all platforms, instead of having the size depend on the size of a pointer. This makes testing easier. (check-in: ca479f3de2 user: drh tags: trunk)
03:21
Do not read the database file size on a SAVEPOINT rollback any more since after checkin [65b8636ac6e5] the in-header-size field is always valid. (check-in: fbe70e1106 user: drh tags: trunk)
02:52
Fix the query planner so that when it has a choice of full-scan tables to move to the outer loop, it chooses the one that is likely to give the fewest output rows. Ticket [13f033c865f878]. (check-in: 309bbedf96 user: drh tags: trunk)
2010-08-04
21:17
If the outer loop of a join must be a full table scan, make sure that an incomplete ANALYZE does not trick the planner into use a table that might be indexable in an inner loop. Ticket [13f033c865f878] (check-in: e7a714b52c user: drh tags: trunk)
19:14
Fix some problems with error recovery introduced while reworking pager state. (check-in: 77eaab6f77 user: dan tags: experimental)
12:31
Version 3.7.0.1 (Leaf check-in: 042a1abb03 user: drh tags: release, branch-3.7.0)
12:19
Update the version number to 3.7.0.1. (check-in: 5074b85967 user: drh tags: branch-3.7.0)
12:13
Backport fix [267492d3a7eff7b] for the performance regression caused by automatic indexing and reported by ticket [8011086c85c6c4040]. (check-in: 3f367fe00e user: drh tags: branch-3.7.0)
11:59
Backport the [65b8636ac6e5] fix for ticket [51ae9cad317a1] to version 3.7.0. (check-in: dec70c63d0 user: drh tags: branch-3.7.0)
11:34
When opening a write-transaction on a database file that has been appended to or truncated by a pre-3.7.0 client, update the database-size field in the database header. Fix for [51ae9cad31]. (check-in: 65b8636ac6 user: dan tags: trunk)
2010-08-03
18:29
Merge trunk changes into experimental branch. (check-in: 15368a9f85 user: dan tags: experimental)
18:18
Set the Pager.eState variable to PAGER_ERROR whenever the pager enters the error state. (check-in: 4d384761d2 user: dan tags: experimental)
18:06
Fix disabled implementation-mark comments in func.c. (check-in: 57c0960038 user: drh tags: trunk)
15:57
Add comments to clarify the purpose of the pager "error state". (check-in: fde4c59782 user: dan tags: experimental)
13:08
Fix the REPLACE conflict resolution so that it falls back to ABORT when a CHECK constraint fails. Ticket [c38baa3d969eab794]. (check-in: 4e157b7747 user: drh tags: trunk)
12:48
Add state diagram to comments in experimental version of pager.c. (check-in: 16dcf5a6d3 user: dan tags: experimental)
06:42
Incremental checkin on pager state refactoring. (check-in: 0a636798bd user: dan tags: experimental)
2010-08-02
14:32
Experimental refactoring of the Pager object state. This version is surely buggy. (check-in: 03a240514a user: dan tags: experimental)
10:59
Modify wal2.test to disable tests requiring TCL 8.5 if the test harness is compiled using TCL 8.4. (check-in: 016486c7d5 user: drh tags: trunk)
10:47
In shared-cache mode, do not allow one connection to checkpoint a database while a second connection is reading or writing the same shared-cache. (check-in: e75b52d156 user: dan tags: trunk)
2010-08-01
22:41
Fix a typo in an error message of the TCL interface. (check-in: 8eadd7b87b user: drh tags: trunk)
2010-07-30
18:40
If a database becomes corrupted such that an index is out of sync with its table, make sure the corruption is detected and reported back. Do not assume that indices always contain rowids for valid table rows. (check-in: 83395a3d24 user: drh tags: trunk)
16:54
Fix typos in comments. No code or logic changes. (check-in: 15c294ca05 user: drh tags: trunk)
16:44
Remove a test from sqlite3PagerCommitPhaseOne which is now always true after the multi-file transaction fix. (check-in: 6758f6a8ec user: drh tags: trunk)
15:43
Remove variable Pager.needSync, which was almost completely unused. (check-in: 347f22a5b7 user: dan tags: experimental)
14:39
Merge trunk changes into experimental again. (check-in: 87e0f4e184 user: dan tags: experimental)
11:31
Changes to the comments describing the Pager.setMaster variable in pager.c. Add an assert() statement to verify that two master journal pointers are not written to a single journal file. (check-in: ad78ccacb0 user: dan tags: trunk)
11:20
Cherry-pick the multi-file transaction fix for ticket [f3e5abed55] out of the experimental branch. (check-in: 40f7f0a583 user: drh tags: trunk)
10:09
Add the test cases for bug [f3e5abed55]. (check-in: cbbaf8e67a user: dan tags: experimental)
10:02
Make sure a connection has an exclusive lock on all database files involved in a multi-file transaction before writing the master-journal pointer into any journal files. Fix for [f3e5abed55]. (check-in: 50c0f2202d user: dan tags: experimental)
07:26
Merge further trunk changes into experimental branch. (check-in: fb847d7040 user: dan tags: experimental)
05:06
Add tests to check that the ICU regexp() function can only be called with exactly two arguments. (check-in: 451d965742 user: dan tags: trunk)
00:31
Updates to the README.txt file for ICU. (check-in: d37443d333 user: drh tags: trunk)
2010-07-29
10:13
Unconditionally include the pTmpSpace size in the estimate of the pager memory used. (check-in: 4b97f8640e user: drh tags: trunk)
10:07
Change the profile timer units back to nanoseconds and update the sqlite3_profile() documentation. Ticket [c43940c49b74c70a69] (check-in: 7783b98a93 user: drh tags: trunk)
01:50
Correct handling of compound foreign key constraints that include the integer primary key as one of the columns. Ticket [ce7c133ea6cc9ccdc1] (check-in: 53902f7d4a user: drh tags: trunk)
2010-07-28
19:17
Get SQLITE_OMIT_VIRTUALTABLE working again after being broken by recent changes. (check-in: 33b1e862ff user: drh tags: trunk)
18:51
Fix the dbstatus.test script so that it works correctly on 64-bit machines. (check-in: a3401d9ee5 user: drh tags: trunk)
18:35
Merge trunk changes into experimental branch. (check-in: aa81900153 user: dan tags: experimental)
17:36
Improve the accuracy of the Pager heap usage estimate. (check-in: ae89777e7f user: drh tags: trunk)
17:16
Adjust the shell test script "shell4.test" to account for changes in the ".stat on" display format from the previous checkin. (check-in: 2f2fa7dd80 user: drh tags: trunk)
17:01
Record the pcache allocation size statistics even for pcache overflow allocations. Adjust the wording on one of the stat output lines in the shell. (check-in: f9adf66ad5 user: drh tags: trunk)
16:05
Modify CLI to optionally display "stats". (check-in: 419ce0ed89 user: shaneh tags: trunk)
15:52
Lookaside memory is not used to store schemas. Change the SQLITE_DBSATUS_SCHEMA_USED documentation to reflect this fact. (check-in: 07abfd5268 user: drh tags: trunk)
15:49
Add documentation for the SQLITE_STATUS_MALLOC_COUNT parameter to sqlite3_status(). (check-in: dbfbdb60c0 user: drh tags: trunk)
15:10
Fix errors in wal3.test caused by recent modifications. (check-in: 0714aeccd8 user: dan tags: experimental)
14:26
Support FCNTL_CHUNK_SIZE on windows too. (check-in: a038688c99 user: dan tags: experimental)
02:53
Do not allow automatic indices for the RHS of IN expressions which are not correlated subqueries. Ticket [8011086c85c6c404014c9] (check-in: 267492d3a7 user: drh tags: trunk)
2010-07-27
18:36
Merge trunk changes into experimental branch. (check-in: 621824092d user: dan tags: experimental)
18:34
Add experimental unix-only file-control to grow and truncate the database file by a configurable chunk size. (check-in: 7cf0e851d4 user: dan tags: experimental)
16:42
Update the makefiles to prefer TCL version 8.5 instead of 8.4. (check-in: 8118de2af3 user: drh tags: trunk)
2010-07-26
19:09
Fix a bug in the SQLITE_STATUS_MALLOC_COUNT counter. Add an ALWAYS() around a condition in the SQLITE_DBSTATUS_SCHEMA_USED logic that is always true. (check-in: 6df081adbf user: drh tags: trunk)
18:43
Add the SQLITE_STATUS_MALLOC_COUNT option for sqlite3_status(). (check-in: 8f8e442b3a user: drh tags: trunk)
16:40
Increase the version number to 3.7.1 due to the API enhancement of the previous check-in. (check-in: 1d7571e4be user: drh tags: trunk)
16:24
Add support for SQLITE_DBSTATUS_SCHEMA_USED and SQLITE_DBSTATUS_STMT_USED to the trunk. (check-in: 008368b2bd user: drh tags: trunk)
15:57
When calculating schema memory, use the actual allocated size of hash elements, not sizeof(HashElem). Also fix a bug in dbstatus.test. (Closed-Leaf check-in: e327ef37fa user: dan tags: experimental)
14:47
Add virtual table test cases to dbstatus.test. (check-in: 72b84d066a user: dan tags: experimental)
14:20
Further fixes to the P4_MEM size measurement logic. (check-in: 934cda2987 user: drh tags: experimental)
13:58
Fix an issue with P4_MEM and the schema size measurement logic. Also fix a compiler warning. (check-in: 8166f33885 user: drh tags: experimental)
12:38
Make sure sqlite3_free() is not called for P4_MPRINTF during a size measurement. (check-in: 56f11f8823 user: drh tags: experimental)
12:36
Remove an assert() that uses a variable removed earlier. (check-in: c04907e698 user: dan tags: experimental)
12:05
Change the way SubProgram objects are deleted so that the code is the same for deletion and measurement. (check-in: 00e55102a8 user: dan tags: experimental)
11:59
Update comments to better documentation the new memory measurement functions. (check-in: 620bad0357 user: drh tags: experimental)
11:07
Make sure all memory from sqlite3DbMalloc() is freed by sqlite3DbFree() and all memory from sqlite3_malloc() is freed by sqlite3_free(). (check-in: 629e38a8c9 user: drh tags: experimental)
2010-07-25
02:39
Fixes to prior checkins so that they compile and run even if SQLITE_MEMDEBUG is not defined. (Closed-Leaf check-in: 548bf3f7d7 user: drh tags: malloc-enhancement)
02:12
Further examples of using automatic deallocation to replace "delete" methods. (check-in: da2f62c502 user: drh tags: malloc-enhancement)
2010-07-24
19:08
Additional malloc sanity changes. Use sqlite3MemLink() on Index.zColAff and Table.zColAff as a proof of concept. (check-in: e5ecb15984 user: drh tags: malloc-enhancement)
18:25
Add infrastructure to support a hierarchy of memory allocations with automatic deallocation of substructure. (check-in: 48ef221c28 user: drh tags: malloc-enhancement)
16:34
Make sure all memory from sqlite3DbMalloc() is freed by sqlite3DbFree() and all memory from sqlite3_malloc() is freed by sqlite3_free(). (check-in: ac1f37a647 user: drh tags: malloc-enhancement)
11:28
Experimental code to measure memory consumed by database schemas and prepared statements. (check-in: 9aa30342f4 user: dan tags: experimental)
2010-07-23
22:26
Fix a typo in the OS/2 vfs code. (check-in: a6bb2108bf user: drh tags: trunk)
17:37
Merge two leaves. (check-in: 54e5886d84 user: dan tags: trunk)
17:32
Strenghten an assert() in malloc.c that helps to ensure that allocated memory is freed by the appropriate routine. (check-in: 80db61acca user: drh tags: trunk)
17:06
Remove additional traces (mostly in comments) of the Table.dbMem field. (check-in: 5c58f44aeb user: drh tags: trunk)
15:55
Add a test case to shared.test. No changes to production code. (check-in: bfb0dd3c2f user: dan tags: trunk)
15:41
Remove the Table.dbMem variable, as it is no longer being used for its original purpose. (check-in: 6eddc6e601 user: dan tags: trunk)
08:31
Remove the unused Schema.db variable. (check-in: 430be657be user: dan tags: trunk)
2010-07-22
22:40
Add evidence marks to the where.c source file. Comment only - no code changes. (check-in: f3f9e8e5bb user: drh tags: trunk)
17:55
Make the sqlite3_db_status() routine threadsafe. (check-in: 241f7bd190 user: dan tags: trunk)
17:49
Enhance the LIKE/GLOB query optimization so that it works as long as there is an index with the appropriate collating sequence and even if the default collating sequence of the column is different. Ticket [4711020446da7d93d99]. (check-in: 9f932655f9 user: drh tags: trunk)
15:44
Add test/threadtest3.c, containing multi-thread tests implemented in C. (check-in: aad88cf54e user: dan tags: trunk)
12:33
Try to optimize LIKE and GLOB operators when RHS contains no wildcard. Ticket [e090183531fc274747] (check-in: 613a87d62f user: drh tags: trunk)
11:40
Tweaks to the virtual table documentation contained in comments of sqlite3.h. No changes to actual code. (check-in: f5866d4723 user: drh tags: trunk)
2010-07-21
16:16
Version 3.7.0 (check-in: b36b105eab user: drh tags: trunk, release)
2010-07-20
20:23
Added fix to os_win.c for race conditions from os_unix.c; added saving of errno in two places. (check-in: 13ed106c8c user: shaneh tags: trunk)
18:59
Fix a race condition in os_unix.c that may occur when one thread is opening a connection to a shared-memory block and another is either closing or locking the same shared-memory. (check-in: 3b7330c19a user: dan tags: trunk)
2010-07-19
15:01
Update the CLI test scripts for version 3.7.0. (check-in: 92fe70dadd user: drh tags: trunk)
12:44
Use exit(255) instead of abort() in the tcl [sqlite_abort] test command. This stops testfixture from creating dozens of core files each time tests are run. (check-in: aec9e13148 user: dan tags: trunk)
12:05
Changes to stat.test so that it works with file-format 4. (check-in: f87bb28361 user: dan tags: trunk)
11:16
Re-introduce the prefix-search optimization of [feef1b15d6], which was lost in a reorganization of FTS3 code. (check-in: d692434b49 user: dan tags: trunk)
05:27
Enable previously failing tests in e_expr.test that pass following [3e5975aa3b]. (check-in: 3d59c54a39 user: dan tags: trunk)
02:30
Fix a parser bug that was causing the relative precedence of LIKE and < operators to be incorrect. (check-in: 3e5975aa3b user: drh tags: trunk)
01:52
Improvements to the formatting of parse.out file from Lemon. Add the -r option to Lemon to disable the state sorting, making debugging easier. (check-in: a2eaf8294f user: drh tags: trunk)
2010-07-18
11:35
Add the -p option to lemon to cause conflicts resolved by precedence rules to appear in the parse.out file. (check-in: fb6a59b0a9 user: drh tags: trunk)
2010-07-17
18:44
Add new test file e_expr.test. (check-in: cbcf8abbb2 user: dan tags: trunk)
09:27
Do not run journal3.test with the inmemory_journal permutation. (check-in: e1d228e992 user: dan tags: trunk)
2010-07-16
11:10
Fix a problem with wal4.test caused by changes in the previous checkin. (check-in: 1218d3703a user: dan tags: trunk)
10:39
Fix a test script bug uncovered by [a121cd80c5] that was causing shared_err.test to fail. (check-in: d7b63a4c9f user: dan tags: trunk)
2010-07-15
18:38
Previous check-in [534aab837e] accidently reverted some changes from [a121cd80c5]. This check-in restores those changes. (check-in: abff795f38 user: drh tags: trunk)
18:32
Optionally support shared-memory in /dev/shm or other tmpfs directory using an unsupported compile-time option. (check-in: 534aab837e user: drh tags: trunk)
18:20
Changes to wal.c so that SQLite can read even if the WAL file is opened read-only, provided the wal-index (shm file) is opened read/write. (check-in: 932d19da73 user: dan tags: trunk)
17:54
Handle the case where xShmMap returns SQLITE_BUSY. (check-in: 75f5354876 user: dan tags: trunk)
14:59
When creating a journal file on unix, attempt to create it with the same permissions as the associated database file. (check-in: a121cd80c5 user: dan tags: trunk)
11:14
Change a comment inside a block of code in parse.y from C++ to C style. (check-in: dea7d33b2d user: dan tags: trunk)
2010-07-14
20:51
Fix a typo in a comment in os_unix.c. (check-in: e1e7312580 user: drh tags: trunk)
20:23
The expression list on the RHS of an IN operator can no longer be empty because an empty expression list is now optimized out by changes in check-in [c288ac644d0bf]. Therefore add ALWAYS() macros around tests for the expression list being non-empty. (check-in: fd130ae56c user: drh tags: trunk)
19:31
Additional test cases and evidence marks for the empty RHS bug on the IN operator - ticket [80e031a00f45dca877] (check-in: 6851c517ac user: drh tags: trunk)
18:24
Make the result of an IN or NOT IN expression with an empty set on the right-hand side always either false or true, respectively, even if the left-hand side is NULL. Ticket [80e031a00f45dc] (check-in: c288ac644d user: drh tags: trunk)
18:10
Fix an assert() failure in wal2.test caused by messing with the contents of shared memory. (check-in: 9f452514d9 user: dan tags: trunk)
16:37
Test the libraries response to read-only or unreadable database, WAL and wal-index files. If a WAL file cannot be opened in read/write mode, return SQLITE_CANTOPEN to the caller. (check-in: 45bb84c628 user: dan tags: trunk)
14:48
On unix, try to create the *-wal and *-shm files with the same permissions as the associated database file. (check-in: e5d180eed2 user: dan tags: trunk)
08:20
Add tests to pagerfault.test. (check-in: b092f2a74b user: dan tags: trunk)
07:06
Test that a corrupted WAL hash-table does not put the library into an infinite loop. (check-in: c73886ed74 user: dan tags: trunk)
06:20
Fix a typo in the IS_BIG_INT macro used by coverage test instrumentation. (check-in: 5314ca3928 user: dan tags: trunk)
01:45
Fix the unix driver to return an I/O error if unlink fails for any reason other than the file not existing in the first place. (check-in: 90d73c66bf user: drh tags: trunk)
00:22
Remove the xShmOpen method from the VFS. Shared-memory is opened automatically by a call to xShmMap. Rename the xShmClose method to xShmUnmap. (check-in: 2b68e50268 user: drh tags: trunk)
00:14
Change the name of the xShmClose VFS method to xShmUnmap, everywhere. (Closed-Leaf check-in: c2d27cf51d user: drh tags: experimental)
2010-07-13
23:41
Tweaks to the new shared-memory interface design - mostly comment changes. (check-in: 6336de7aa9 user: drh tags: experimental)
18:45
Fix a typo in a comment in sqlite.h.in. (check-in: 4a6c4b6605 user: dan tags: experimental)
18:44
Changes so that the xShmOpen VFS method is no longer required. Its job can be done by the first call to xShmMap. Rename xShmClose to xShmUnmap. (check-in: f4780bde62 user: dan tags: experimental)
14:48
Improved documentation for the SQLITE_ACCESS_* constants that are used with the xAccess() method of the VFS. (check-in: 3d4bb65f10 user: drh tags: experimental)
14:33
Add proposed interface change to sqlite.h.in. This commit breaks the build. (check-in: 52577bb5e7 user: dan tags: experimental)
14:22
Fixes to the pcache10 and pcache90 permutations. (check-in: 597d40fa52 user: dan tags: trunk)
07:38
Fix problems with running the async.test script. (check-in: 05ac254865 user: dan tags: trunk)
2010-07-12
20:46
Updates to comments and code organization to reflect changes in os_unix.c; Updated winShmLock() with logic changes from unixShmLock(); Modified IO error returns in winShmMap() to match those in unixShmMap(); (check-in: b73fe2754b user: shaneh tags: trunk)
18:12
Fix test_stat.c so that it does not cause compilation errors if SQLITE_OMIT_VIRTUALTABLE is defined. (check-in: bf4fc08887 user: dan tags: trunk)
16:47
Fix makefiles so that they build sqlite3_analyzer again. Tweaks to comments in test_stat.c. Fix tclsqlite.c to build the sqlite3_analyzer again. (check-in: e6cd15451d user: drh tags: trunk)
12:22
In the async-IO module, do not increment the open file-counter until after an "open file" event has been added to the event queue. Otherwise, an OOM may cause the system to increment the counter even though no file was successfully opened. (check-in: 15a190dc57 user: dan tags: trunk)
08:39
Changes so that the space-analyzer script works with 3.7.0. (check-in: 86159cb3f0 user: dan tags: trunk)
2010-07-09
19:32
Exclude a few more FTS modules from the "in memory" permutation test suite. (check-in: 4e9d69cd5a user: shaneh tags: trunk)
18:43
Exclude fts3cov.test from the "in memory" permutation test suite to avoid a false positive. (check-in: 6af6794cac user: shaneh tags: trunk)
12:57
Fix warning under MSVC. (check-in: 0c32c4bbdd user: shaneh tags: trunk)
03:19
Reformat WAL code for clearer presentation. Update comments for correctness. Add checks to ensure that corruption in shared-memory does not result in an infinite loop. (check-in: 40eaada7ec user: drh tags: trunk)
2010-07-08
19:19
Replace code that became unreachable due to the journal_mode simplification with an assert(). (check-in: bcdddba4f0 user: drh tags: trunk)
18:32
Fix test case numbering in backup_malloc.test and issue when running under Windows. (check-in: aef2643852 user: shaneh tags: trunk)
17:40
Change the journal_mode pragma to remove the "default journal mode" concept. The journal_mode pragma only effects currently attached databases and does not change the behavior of future attachments. (check-in: e396184cd3 user: drh tags: trunk)
16:50
Merged experimental crashsql() into trunk. (check-in: 01b575ff1a user: shaneh tags: trunk)
16:30
Changes to get crashsql() working on Windows. (Closed-Leaf check-in: 8a5811ea80 user: shaneh tags: experimental)
16:22
Fix warning in test fixture code. (check-in: 0bfcf3bcd7 user: shaneh tags: trunk)
16:22
Fix test case number issue in walcrash.test. (check-in: 6a46e64168 user: shaneh tags: trunk)
14:59
Fix to lock5.test so that it runs with the inmemory_journal permutation on osx. (check-in: 948bb54568 user: dan tags: trunk)
13:33
Fixed a few tests in pagerfault.test so they work correctly on Windows. (check-in: ffbdd954a0 user: shaneh tags: trunk)
09:44
Changes to test scripts so that the "inmemory_journal" permutation works with [ef126e775a]. (check-in: f553c8ed04 user: dan tags: trunk)
06:22
Add tests to walmode.test. (check-in: 5aa2bdb502 user: dan tags: trunk)
03:13
Changes to os_win.c to have it simulate IO errors like os_unix.c. (check-in: 0d53da9451 user: shaneh tags: trunk)
2010-07-07
21:06
Make the initial salt values in the WAL header random values, not zero. (check-in: baa5eddd05 user: drh tags: trunk)
20:38
Add the write-ahead log viewer/debugger tool to the tools/ folder. (check-in: 0e4bd44682 user: drh tags: trunk)
20:00
Fix issue in mallocI test script where db handle not released. (check-in: dd59cea6c8 user: shaneh tags: trunk)
18:38
Add further test cases to savepoint.test. (check-in: f825205dbf user: dan tags: trunk)
17:53
When rolling back a savepoint, reset the changeCountDone flag. (check-in: fb62f4e3a7 user: dan tags: trunk)
16:51
When using MSVC to build test code, suppress the popup dialog when abort is called from the sqlite_abort() test function. (check-in: 55d3d39f1c user: shaneh tags: trunk)
16:49
Fix some MSVC compiler warnings in the ASYNC extension. (check-in: b951c8675d user: shaneh tags: trunk)
16:23
Merge together another accidental fork. (check-in: c41f04edb2 user: dan tags: trunk)
16:20
Fix test numbering issue in nan.test. (check-in: 5bb1330fef user: shaneh tags: trunk)
16:18
Do not make the SQLITE_FCNTL_SIZE_HINT call if an error has already occurred during transaction commit. (check-in: e92de834a3 user: dan tags: trunk)
15:41
Close the file handle before returning. TCL test script issue only. (check-in: f4076d8567 user: shaneh tags: trunk)
14:45
Fixed a new error introduced by last check-in of os_win.c. Updated xAccess() to support SimulateIOError(). (check-in: 8eefc28726 user: shaneh tags: trunk)
14:40
Remove two more testcase() macros that require 4GiB WAL files to hit. (check-in: 16e18f2706 user: drh tags: trunk)
14:35
Remove a testcase() macro that would require a 4GiB WAL to reach. (check-in: 15f9c2713b user: drh tags: trunk)
14:33
Fix a compiler warning in PRAGMA journal_mode. (check-in: d94269e60d user: drh tags: trunk)
14:19
Avoid the need for a NEVER() from pager_write_pagelist() by passing in pPager as an extra parameter. (check-in: b317937943 user: drh tags: trunk)
14:00
Merge together the accident fork. (check-in: cdcf08cb18 user: drh tags: trunk)
13:58
Fix minor issue in xAccess() method for Windows. (check-in: 4bfd46f1db user: shaneh tags: trunk)
13:54
Make sure the schema is loaded before preparing a "PRAGMA journal_mode" command. This helps it return meaningful results when it is the first command executed by a new database connection. (check-in: ef126e775a user: dan tags: trunk)
13:43
Add testcase macros to ensure that large-file cases are tested in WAL. (check-in: 8156b57ac3 user: drh tags: trunk)
11:43
Run some fts3 tests as part of the "wal" permutation. (check-in: 8657455a11 user: dan tags: trunk)
11:05
Change the async-IO extension to return SQLITE_IOERR_SHORT_READ when appropriate. This prevents a valgrind warning in the test suite. (check-in: d9e3287900 user: dan tags: trunk)
09:48
Fix a problem with writing to databases larger than 2^32 bytes with WAL mode. (check-in: b956ddca75 user: dan tags: trunk)
01:52
Remote the SQLITE_OMIT_GLOBALRECOVER macro - it is subsumed by SQLITE_OMIT_DEPRECATED. Add support to sqlite3_compileoption_used() for SQLITE_OMIT_WAL. (check-in: 21a2db908b user: drh tags: trunk)
2010-07-06
20:37
Minor changes to Makefile.in to bring it more inline with main.mk. (check-in: 5621862b0e user: shaneh tags: trunk)
20:34
Changes to pager1.test to support Windows. (check-in: fce689ebe6 user: shaneh tags: trunk)
20:33
Modified the xWrite() method on Windows to differentiate between IO and disk full error returns. (check-in: ca4b7ffbd4 user: shaneh tags: trunk)
11:26
Do not do the *-closeallfiles test for notify2.test. It uses multiple threads. (check-in: fb09152db8 user: dan tags: trunk)
10:55
Before calling Tcl_ExitThread() in a multi-threaded test, call Tcl_DoOneEvent() as many times as necessary to handle any queued events. (check-in: b3399b4078 user: dan tags: trunk)
09:29
Reorder variable declarations in the previous check-in to avoid putting code before declarations when not testing. (check-in: d1fe8ab4a1 user: drh tags: trunk)
07:36
Ensure the correct error code is returned if an attempt to parse a database schema made by an ATTACH statement fails. (check-in: c272196115 user: dan tags: trunk)
2010-07-05
21:00
Modify the VFS xAccess() method on winNT so that it returns false for an exists test of a zero-length file. This makes the windows VFS work the same as the unix VFS. (check-in: ec35f25403 user: drh tags: trunk)
19:13
Simplify the previous commit by removing the pagerCheckForOrDeleteWAL() wrapper. (check-in: a1324d125e user: dan tags: trunk)
19:03
Allocate a buffer containing the full path-name to the associated WAL file when a pager is created. This saves having to construct a new buffer each time a new read-transaction is opened and SQLite checks for the existance of a WAL file. (check-in: 3053a4ad15 user: dan tags: trunk)
17:43
When rolling back page 1 from a journal, restore the "nReserve" setting in case it has been corrupted by a prior crash. (check-in: c0d124da88 user: drh tags: trunk)
14:54
Do not report an error if the open-file-count is not as it should be after running a multi-threaded test. The counter instrumentation is not thread-safe. (check-in: ea80b21c88 user: dan tags: trunk)
12:54
Call Tcl_ExitThread() from within threads created using Tcl_CreateThread(). Not doing so causes notifier related errors on OSX. (check-in: 684eae6623 user: dan tags: trunk)
05:54
Add any files specified as part of the QUICKTEST_INCLUDE environment variable to the set of test files run as part of "make test". Release testing uses this trick. (check-in: a40a6e7df1 user: dan tags: trunk)
05:31
Fix typos in permutations.test. (check-in: b6600ecb4e user: dan tags: trunk)
2010-07-03
19:08
Do not run the memsubsys1.test script under the memsubsys1 permutation. (check-in: 3a1a8c77a5 user: dan tags: trunk)
17:13
Remove the unused xRename() method from the sqlite3_vfs object. Add better documentation on the xCurrentTimeInt64() method. (check-in: 51ec0e5432 user: drh tags: trunk)
16:37
Further changes to test scripts so that the "inmemory_journal" permutation works. (check-in: 50f2f7dfd6 user: dan tags: trunk)
13:59
Fix a bug in the permutations.test script. (check-in: 3b20ad03be user: dan tags: trunk)
13:50
Fix an assert in pager.c. And various test cases that fail with the in-memory journal permutation. (check-in: 622378dbe3 user: dan tags: trunk)
13:45
Fix an assert in pager.c. And various test cases that fail with the in-memory journal permutation. (Closed-Leaf check-in: 78fc35ff4b user: dan tags: mistake)
12:31
Cherry-pick the correct changes out of the recent "mistake" branch while omitting the bugs. (check-in: 48bf309391 user: drh tags: trunk)
12:26
Remove dead code from the pager. (check-in: 7cbe175a69 user: drh tags: mistake)
12:00
Print the SQLite source_id() string when running speed tests. (check-in: 6d7640edcd user: drh tags: mistake)
10:00
Fix an assert() in pager.c added by the previous commit. And various problems with test scripts in autovacuum and in-memory journal mode. (check-in: 62a1010177 user: dan tags: mistake)
08:01
Do not attempt to open a WAL file for an in-memory or temporary database. Even if the database header suggests that it is a WAL database. (check-in: 0fd8092436 user: dan tags: mistake)
05:56
Change code in OP_Rewind to avoid a valgrind warning following an error in the btree layer. This change does not fix any bug, just a warning. (check-in: 4f62dbcfc9 user: dan tags: mistake)
01:44
Fix a buffer overrun in the where.c. Problem detected by valgrind. (check-in: 15bb623306 user: drh tags: mistake)
2010-07-02
19:49
Changes to os_win.c to have it return same error code as os_unix.c. (check-in: 33b6f069d8 user: shaneh tags: mistake)
19:36
Omit the OP_JournalMode opcode from the VDBE when SQLITE_OMIT_PRAGMA is defined. (check-in: 565ff65c61 user: drh tags: mistake)
19:04
Fix a bug in test_vfs.c causing an assert to fail. Changes to test code only. (check-in: 336ce7d297 user: dan tags: mistake)
18:58
Do not run the tests in notify3.test unless the unlock-notify API is available. (check-in: 0d7fd6fe9d user: dan tags: mistake)
18:44
Take out the incomplete initializer on the constant "dummy" in sqlite3VdbeGetOp(). Add a comment that the MSVC warning there should be ignored. (check-in: 452ccaa908 user: drh tags: mistake)
18:15
Fix a couple more compiler warnings under MSVC. (check-in: 26bc27e3f4 user: shaneh tags: mistake)
17:10
Fix compiler warnings in the proxy locking code. (check-in: 26c7689cfe user: drh tags: mistake)
17:07
Remove a couple of C++ style comments from pager.c. (check-in: 4f12e8ebde user: drh tags: mistake)
17:05
Fix some warnings when compiling under MSVC. (check-in: 7083387739 user: shaneh tags: mistake)
16:36
Add initializers for the xShmXXX() members to an sqlite3_io_methods structure in journal.c. This doesn't fix any real problem, just prevents a compiler warning. (check-in: dafb3577a2 user: dan tags: trunk)
15:35
Remove an unused call to sqlite3PageBegin() from pager_write(). Replace it with an assert(). (check-in: 01c1278263 user: drh tags: trunk)
13:49
Run tkt-9d68c883.test along with the other pager.c coverage tests. Add a test case to pager1.test. (check-in: c6714b0dbd user: dan tags: trunk)
11:27
Additional test cases to cover branches in pager.c. (check-in: eddfb2b406 user: dan tags: trunk)
01:18
Add a NEVER to sqlite3PagerCommitPhaseTwo() because it is now no longer possible to invoke that function without holding a RESERVED lock. (check-in: 6ae7617298 user: drh tags: trunk)
2010-07-01
19:45
If you delete a database file but not its *-wal file, then open the database (thus creating a new empty database file) the *-wal file is automatically deleted. (check-in: 95c69dfbdd user: drh tags: trunk)
19:01
Add tests to pager1.test and pagerfault.test. (check-in: c6e7595092 user: dan tags: trunk)
15:09
Add pager test cases. Change a condition in pager.c to NEVER(). (check-in: a8f6341d3b user: dan tags: trunk)
2010-06-30
10:36
Add further test cases. Fix an assert() in pager.c. (check-in: 8e65c0e3da user: dan tags: trunk)
04:36
Do not call pager_open_journal() from within PagerBegin() if the connection is in exclusive-access mode. It will be called from within PagerWrite() just as it is for non-exclusive mode anyway. (check-in: cdf2c5c2dd user: dan tags: trunk)
04:29
Add coverage test cases. Have sqlite3_backup_step() transform SQLITE_IOERR_NOMEM to SQLITE_NOMEM before returning. (check-in: 5e19bc360e user: dan tags: trunk)
2010-06-29
10:30
Add tests to pager1.test and pagerfault.test. (check-in: 008513ee61 user: dan tags: trunk)
2010-06-28
19:04
Add extra pager tests. (check-in: 6b7e419ddc user: dan tags: trunk)
11:23
Fix some errors when compiling with SQLITE_OMIT_WAL. (check-in: 3b68cb9c65 user: dan tags: trunk)
11:06
Remove debugging code from test script. (check-in: a85ae33246 user: dan tags: trunk)
10:15
Currently, if SQLite cannot find a table or index referred to by a query, it reloads the database schema from disk to see if the table or index has been added since the schema was cached in memory. Extend this behaviour to columns (which may have been added using ALTER TABLE) and fix some obscure cases related to tables and indexes (INDEXED BY, DROP TABLE etc.). (check-in: 4932f22848 user: dan tags: trunk)
2010-06-26
22:16
Make walIndexTryHdr() a private function. Fix an issue with SQLITE_MUTEX_NOOP. (check-in: ec65bbd06b user: drh tags: trunk)
21:34
Suppress various compiler warnings. (check-in: e82d008eaf user: drh tags: trunk)
20:25
Fix two asserts on the scratch allocator to allow for up to two outstanding scratch allocations per thread. (check-in: f149b498b6 user: drh tags: trunk)
20:00
Suppress a couple uninitialized variable warnings. (check-in: 29571e228c user: drh tags: trunk)
19:03
Add test file tkt-d11f09d36e.test. (check-in: 6e469b63fa user: dan tags: trunk)
19:02
Remove a NEVER() in pager that can in fact be reached in obscure failure cases. (check-in: 42b8bd1c70 user: drh tags: trunk)
17:15
Fix a case where the doNotSyncSpill flag may remain permanently set following an IO error. (check-in: 56c7d111bf user: dan tags: trunk)
15:42
When synchronous=NORMAL, use the same journal file format as with synchronous=FULL (i.e. multiple journal headers within the one journal). Fix for [d11f09d36e]. (check-in: 2eaf5ee0d9 user: dan tags: trunk)
2010-06-25
19:09
Further test cases for pager1.test and pagerfault.test. (check-in: bfd563c471 user: dan tags: trunk)
16:34
Reduce the average (but not maximum) size of the allocations made as part of a checkpoint. (check-in: 4a7fd91b7a user: dan tags: trunk)
15:16
Reduce the size of the large allocation (approx 8KB for every 4000 frames in the log) that occurs during checkpoint. Use the 'scratch' memory for this allocation instead of the general purpose allocation. (check-in: 29887487ed user: dan tags: trunk)
14:17
Fix up a branch in sqlite3ValueFromExpr() so that we can achieve full branch test coverage regardless of whether or not SQLITE_ENABLE_STAT2 is used. (check-in: af471ed79f user: drh tags: trunk)
12:52
Change the name of the shared-memory file on windows from *-wal-index to *-shm, for consistency with unix. (check-in: 5995cb1508 user: drh tags: trunk)
11:35
Modify the merge-sort in wal.c so that it does not use recursion. (check-in: daea6c054c user: dan tags: trunk)
2010-06-24
19:16
Add test cases to pager1.test and pagerfault.test. (check-in: 4941e437d2 user: dan tags: trunk)
18:36
Revert to allowing a cache spill during writes of multiple pages within a single sector as long as the spill does not require a journal sync and a new journal header. (check-in: 7d83fbae98 user: drh tags: trunk)
17:37
Modify ctime.test to work with SQLITE_THREADSAFE=2. (check-in: c6db3b3031 user: dan tags: trunk)
14:52
Disable memory-pressure induced cache spill during savepoint rollback. (check-in: a55eb4c3e9 user: drh tags: trunk)
13:24
Add a coverage test to pagerfault.test. (check-in: b58db67e97 user: dan tags: trunk)
10:50
Add coverage tests. Remove a NEVER macro from pager.c, as the condition can now be true in wal mode. (check-in: 7aac9ad6dd user: dan tags: trunk)
02:46
Make sure the wal-index reader detects an incorrect version number even if it had to hold a lock in order to read the wal-index. Also, expand and enhance various comments in wal.c. (check-in: 2e6a462ceb user: drh tags: trunk)
2010-06-23
22:00
Fix and/or improve comments in wal.c. No code changes. (check-in: ee9991be08 user: drh tags: trunk)
19:27
Add test case for SQLITE_FULL errors to pagerfault.test. Remove a NEVER macro in pager.c that this hits. (check-in: 3e9680c4c1 user: dan tags: trunk)
17:59
Include the SOURCE_ID value in the log messages output for corruption, misuse, and CANTOPEN errors. (check-in: 1727a81fed user: drh tags: trunk)
17:58
Adjust the shared-memory locking range to account for the new version number values in the wal-index header. (check-in: a6dc0df304 user: drh tags: trunk)
15:55
Add a version number to the wal-index header. If SQLite encounters a version number in either the wal or wal-index files that it does not understand, the operation is abandoned and SQLITE_CANTOPEN returned. (check-in: 8d0f8a7f70 user: dan tags: trunk)
15:18
Fix the xCurrentTimeInt64 interface on windows. It was off by a factor of 10. (check-in: 51ef43b9f7 user: drh tags: trunk)
15:04
Simplifications to the pager_delmaster() implementation. (check-in: 8bfbdec647 user: drh tags: trunk)
2010-06-22
21:15
Disable code used only by the codec when the codec is not deployed. (check-in: 2c90276e34 user: drh tags: trunk)
15:18
Add codec support to wal mode. (check-in: 393741eba3 user: dan tags: trunk)
14:49
When trying to transition from journal_mode MEMORY to WAL, use OFF as an intermediate journal mode. (check-in: 4775b8f9a9 user: drh tags: trunk)
13:46
Some changes to test scripts related to codec enabled versions of sqlite. (check-in: 85dd51a75c user: dan tags: trunk)
11:10
Fix problem with handling of -vfs option in tcl interface. (check-in: 8f98e8b5a5 user: dan tags: trunk)
2010-06-21
21:45
Minor tweaks to get the pager working for corner cases when the SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN flag is set. (check-in: 82b38fca1a user: drh tags: trunk)
20:19
Fix comment inside the pager_unlock() routine. Always close the master journal file before trying to delete it. (check-in: f820b815c9 user: drh tags: trunk)
18:29
Add test cases to pager1.test and pager2.test. (check-in: cc9ddae6d7 user: dan tags: trunk)
12:47
Merge the experimental UNDELETABLE_WHEN_OPEN optimization into the trunk. (check-in: ee0acef1fa user: drh tags: trunk)
12:34
Change things so that journal2.test works with ENABLE_ATOMIC_WRITE. (Closed-Leaf check-in: a64d96db09 user: dan tags: experimental)
07:45
Add further pager tests. (check-in: 4104b175a8 user: dan tags: experimental)
06:00
Merge latest trunk change. (check-in: f6d26e07b7 user: dan tags: experimental)
05:40
Fix jrnlmode2.test so that it works on systems where UNDELETABLE_WHEN_OPEN is defined. (check-in: 59be370e52 user: dan tags: experimental)
2010-06-19
23:53
Fix an uninitialized variable in os_unix.c. (check-in: 822a0283c6 user: drh tags: trunk)
19:06
Fix an assert() failure that could occur if compiling with OMIT_SHARED_CACHE. (check-in: 3e76a9f2c0 user: dan tags: experimental)
18:12
Change the name of IOCAP_SAFE_DELETE to IOCAP_UNDELETABLE_WHEN_OPEN. Have the xDeviceCharacteristics() method of the win32 VFS return this flag. (check-in: 5a5ff4e3e4 user: dan tags: experimental)
17:26
Add tests to pager1.test and pagerfault.test. (check-in: f5df83fd87 user: dan tags: experimental)
15:10
Change the unix VFS to always allocate shared-memory using a file in the same directory as the database. Otherwise, a chroot might cause different processes to use different shared memory files resulting in database corruption. (check-in: 2241788bc8 user: drh tags: trunk)
11:30
Add tests to pager1.test and pagerfault.test. (check-in: 58c0b5bfed user: dan tags: experimental)
2010-06-18
18:59
Add tests to pager1.test. (check-in: 582fca8919 user: dan tags: experimental)
16:13
Rearrange some code in OP_JournalMode to avoid incorrect returns from subsequent invocations of "PRAGMA journal_mode" following an IO error. (check-in: ce0a4a9b5f user: dan tags: experimental)
11:10
Change the implementation of the unix implementation of xAccess() so that it returns 0 (does not exist) to an SQLITE_ACCESS_EXISTS query on a file that exists but is zero bytes in size. (check-in: 077b0e5bcd user: dan tags: experimental)
2010-06-17
17:05
Apply [b9b11855e8] (the alternate fix to [fc62af4523]) to the trunk. (check-in: 9a949a3a5c user: dan tags: trunk)
16:44
Merge trunk change [7c3a86b9c7]. (check-in: bd7bc4e0e2 user: dan tags: experimental)
16:44
A different fix to [fc62af4523]. When changing from journal_mode=PERSIST or TRINCATE to some other rollback mode, delete the journal file only if a RESERVED lock can be obtained on the database file first. (check-in: b9b11855e8 user: dan tags: experimental)
16:08
Fix the tkt-fc62af4523.test to work around non-randomness of the randomblob() function when in testing mode. (check-in: 7c3a86b9c7 user: drh tags: trunk)
11:36
Fix bug in journal2.test. (check-in: c1e04f1d4e user: dan tags: experimental)
10:52
Merge trunk updates with experimental branch. Also add tests to journal2.test. (check-in: 9f6ea1de5a user: dan tags: experimental)
10:42
Do not delete the journal file in "PRAGMA journal_mode" commands. This fixes [fc62af4523]. (check-in: 1ec74591a9 user: dan tags: trunk)
10:24
Add test case for [fc62af4523]. (check-in: cccd32c692 user: dan tags: trunk)
06:19
Merge fix [f80c3f922a] with experimental changes. (check-in: 20133e9ca9 user: dan tags: experimental)
02:13
Bug fix: Only trust the database size number at offset 28 if the change counter at offset 24 matches the version number counter at offset 92. This prevents corruption in the case of two applications writing to the database where one is an older version of SQLite and the other is a newer version. (check-in: f80c3f922a user: drh tags: trunk)
2010-06-16
19:48
Merge in changes up to and including the 3.6.23.1 release. (check-in: 21ca87f691 user: drh tags: apple-osx)
19:04
Experimental change: On systems where it is not possible to unlink a file while one or more processes has it open (i.e. not unix), avoid closing the journal file each time the database is unlocked and reopening it at the start of each transaction. (check-in: bede8c8a14 user: dan tags: experimental)
12:30
Add extra test cases to pager1.test. (check-in: ad3209572d user: dan tags: trunk)
10:55
Fix a memory leak that can occur in os_unix.c if an IO error occurs within the xUnlock method. (check-in: 6c5c04eea1 user: dan tags: trunk)
2010-06-15
19:07
Rationalize a common pattern in tcl test cases into proc do_multiclient_test. (check-in: efe4456498 user: dan tags: trunk)
18:00
Fix a problem introduced into lock2.test by the previous commit. (check-in: c1c9f6fa9d user: dan tags: trunk)
17:44
Add test file pager1.test, containing tests of inter-process locking in non-wal mode. (check-in: 6e43eed931 user: dan tags: trunk)
14:21
Run extra iterations in wal3.test to ensure test coverage. (check-in: ea80cbe51e user: dan tags: trunk)
14:06
Merge in [2c5e48a485]. Merge in [2c5e48a485]. Merge in [2c5e48a485]. (check-in: 03c0f4fd9c user: dan tags: trunk)
13:56
Changes to the way tcl test scripts work. No changes to production code. (Closed-Leaf check-in: 2c5e48a485 user: dan tags: experimental)
12:09
Minor tweaks to the interface documentation - adding hyperlinks. (check-in: 07b2fdd1ce user: drh tags: trunk)
11:21
Updates to comments and testcase() macros in wal.c. (check-in: 4d90cc0bc0 user: drh tags: trunk)
2010-06-14
18:06
Fix an error in the walfault.test script introduced by the previous check-in. (check-in: a2b9374fc6 user: drh tags: trunk)
18:01
Move the xShmMap method to in between xShmLock and xShmBarrier, since it seems to fit in there logically. (check-in: 58dfd83d8b user: drh tags: trunk)
17:09
Merge the experimental shared-memory mmap-by-chunk changes into the trunk. (check-in: f295e7ed5f user: drh tags: trunk)
16:16
Add the new xShmMap (formerly xShmPage) to os_win.c. (check-in: 13e7a82422 user: dan tags: experimental)
14:07
Remove xShmGet/Size/Release from the sqlite3_vfs structure. Change the name of xShmPage to xShmMap. Remove some code that is now unused from os_unix.c and some of the test VFS implementations. (check-in: fc0cabc15c user: dan tags: experimental)
11:49
Update some comments in wal.c. No code changes. (check-in: 1ce9c92bff user: dan tags: experimental)
11:18
Change the interface to internal function walGetHash() to make it easier to follow. (check-in: 5e8e2e978e user: dan tags: experimental)
10:30
Add the xShmPage method to the "crash" vfs in test6.c. (check-in: 1008f53644 user: dan tags: experimental)
07:53
Add some fault-injection tests to improve coverage. (check-in: 37b26d125f user: dan tags: experimental)
2010-06-12
12:02
Fix some problems with handling IO errors on the experimental branch. (check-in: eade8bc238 user: dan tags: experimental)
2010-06-11
19:04
Experimental change to the xShmXXX parts of the VFS interface. (check-in: ca68472db0 user: dan tags: experimental)
17:01
Refactor and simplify the logic used to change journalmode. (check-in: 95cc3f6fde user: drh tags: trunk)
2010-06-10
16:25
Adding original art for the new SQLite logo. (check-in: af353bd89e user: drh tags: trunk)
14:07
Add the SQLITE_TESTCTRL_PGHDRSZ verb for sqlite3_test_control() used to get the size of pcache headers for testing purposes. (check-in: 5d694f04fe user: drh tags: trunk)
10:51
Update the test VFS in test_journal.c so that it implements the xCurrentTimeInt64 method. (check-in: ec3b4a7e5d user: drh tags: trunk)
06:53
Store the MemPage structure in memory following, instead of preceding, the page data for cached pages. This reduces the likelihood of a corrupt database page image causing SQLite to read past the end of a buffer. (check-in: 0ce42e7665 user: dan tags: trunk)
01:07
Remove a condition that must always be true. Replace it with an assert(). (check-in: 7abcd54ec0 user: drh tags: trunk)
2010-06-09
19:01
Fix test script problems causing errors in the "inmemory_journal" permutations. (check-in: ea05b7f929 user: dan tags: trunk)
16:58
When restarting (wrapping) a log file, set all unused aReadMark[] slots to READMARK_NOT_USED instead of 0. Setting them to 0 does not cause a problem, but may cause SQLite to obtain and release a few more file locks than would otherwise be necessary. (check-in: 0797b10c0c user: dan tags: trunk)
15:47
Fix for ticket [f973c7ac31]. (check-in: 6eb058dda8 user: dan tags: trunk)
14:45
Shift the meaning of aReadMark[] back so that +1 offset from mxFrame is removed. Add the new READMARK_NOT_USED value (0xffffffff) instead of zero to signal an aReadMark[] that is not in use. (check-in: c576827d55 user: drh tags: trunk)
11:28
Simpler fix for the race condition also fixed by [7c102c7b5f] (check-in: 3c2de82003 user: dan tags: trunk)
11:02
Fix for race condition in WAL locking code. (Closed-Leaf check-in: 7c102c7b5f user: dan tags: mistake)
2010-06-08
15:50
Close database opened by tester.tcl when it is sourced in all.test. Because test scripts are now run in slave interpreters, this connection was not being closed by the first script run as it was previously. (check-in: b072e9f69a user: dan tags: trunk)
15:16
Changes to wal3.test to support small default cache size settings. And builds that create autovacuum databases by default. (check-in: ac4cc2574b user: dan tags: trunk)
2010-06-07
19:26
In os_unix.c, call munmap() to unmap a shared-memory region prior to closing the associated file descriptor. (check-in: 95cc976f15 user: dan tags: trunk)
17:47
Change all.test, quick.test and permutations.test so that they use a separate interpreter for each test file. (check-in: 7c33eb5a5a user: dan tags: trunk)
14:28
Refactor some of the global variables and commands used by tester.tcl. (check-in: c2edf8e17f user: dan tags: trunk)
06:11
Add a couple of extra coverage tests for wal.c. (check-in: cfe60254df user: dan tags: trunk)
2010-06-05
19:18
Add further test cases for the logic in sqlite3WalBeginReadTransaction(). (check-in: a49713db39 user: dan tags: trunk)
18:34
Clarify the purpose of a test for a race-condition in sqlite3WalBeginReadTransaction(). (check-in: c041c6a978 user: dan tags: trunk)
18:12
Remove a condition from sqlite3WalRead() that is unreachable as of the changes to clear entries out of the wal-index hash tables on transaction or savepoint rollback. (check-in: 394204735a user: dan tags: trunk)
14:42
Mark a condition in wal.c as ALWAYS(). (check-in: 3fe0cc784a user: dan tags: trunk)
11:53
Add extra coverage test cases for wal.c. No changes to production code. (check-in: f9d4ae0e8c user: dan tags: trunk)
2010-06-04
18:38
Clarify an assert in sqlite3WalExclusiveMode(). (check-in: 255850699d user: dan tags: trunk)
17:16
Remove an unnecessary branch from wal.c. (check-in: 8e54786c9a user: dan tags: trunk)
15:59
Add an English language error message to corresponding to SQLITE_PROTOCOL. "locking protocol". (check-in: ca327e32cf user: dan tags: trunk)
12:22
Add test for the code that detects an inconsistent pair of wal-index headers to wal2.test. (check-in: 157feba10f user: dan tags: trunk)
11:56
If an attempt to sync the database file as part of a checkpoint fails, do not update the shared "nBackfill" variable. Otherwise, another process could wrap the log and overwrite content before it is synced into the database. (check-in: b813233d76 user: dan tags: trunk)
10:37
Fix a problem where an SQLITE_BUSY in the checkpoint code was being treated as an IO error (abandoning, instead of just limiting, the checkpoint). (check-in: 02c4040ce2 user: dan tags: trunk)
2010-06-03
19:10
Fix another problem in test_vfs.c. (check-in: df7d59899c user: dan tags: trunk)
18:20
Have test_vfs.c simulate IO errors in xShmLock. (check-in: fcbf7cf189 user: dan tags: trunk)
18:02
Performance fix for winShmClose(). (check-in: ed7774de04 user: drh tags: trunk)
16:58
Add extra tests for removing elements from wal-index hash tables as part of a rollback. (check-in: af3e598ad9 user: dan tags: trunk)
12:35
Delay opening the sub-journal until SQLite actually needs to write data to it. (check-in: c43deb33ae user: dan tags: trunk)
12:09
Remove global variables when compiled with SQLITE_OMIT_WSD (check-in: dd10a547f1 user: drh tags: trunk)
09:25
Enhancements to test_vfs.c and walfault.test. (check-in: ac0de2f39e user: dan tags: trunk)
09:17
If an error (OOM or SQLITE_FULL error) occurs while executing an SQL statement and a statement-transaction is automatically rolled back as a result, if a second error occurs during the statement rollback do a full transaction rollback instead. Otherwise the client can be left with an inconsistent cache. This can affect both WAL and rollback modes. (check-in: eb80ddc665 user: dan tags: trunk)
09:01
If a malloc fails while allocating a savepoint object at the pager level, do not try to roll that savepoint back later on. (check-in: 91cb08ffb6 user: dan tags: trunk)
2010-06-02
20:38
When a lock fails due to an I/O error (not an SQLITE_BUSY) then the checkpoint should fail. (check-in: c6eb0a2727 user: drh tags: trunk)
18:59
Fix a problem with rolling back to a savepoint opened before the writer decided to wrap the log file. (check-in: 6b4aed6aae user: dan tags: trunk)
17:15
If an error occurs while writing frames to the log to commit a transaction, do not mark the pages as clean in the cache. Otherwise, the subsequent rollback does not roll them back (leaving the client to continue with a cache that makes it appear that the transaction was committed - inconsistent with the database on disk). (check-in: cb571c1b71 user: dan tags: trunk)
16:40
Added implementation of vfslog_time() for Windows testing. (check-in: b3109f85bd user: shaneh tags: trunk)
16:39
Updated wal2.test for windows testing. (check-in: c3606f3985 user: shaneh tags: trunk)
15:59
Make sure the directory used by os_unix.c for shared-memory files is always the same, regardless of individual client permissions and environment variable settings. (check-in: f97bd520f0 user: drh tags: trunk)
15:43
When walTryBeginRead() encounters an I/O error trying to set a lock (as opposed to SQLITE_BUSY) be sure to propagate that error back up the call stack. (check-in: aa2c2b67a7 user: drh tags: trunk)
14:45
Changes to make WAL more robust against SHM locking failures and OOM errors. (check-in: ebf4041383 user: drh tags: trunk)
14:43
In the rowhash.test, make sure global variables are cleared prior to use. (check-in: 28efe0a404 user: drh tags: trunk)
12:58
Undo one of the "const" markers from the previous check-in because the value needs to be changable, even if it is not actually ever changed in the current implementation. (check-in: c24ac3563f user: drh tags: trunk)
05:53
Add some 'const' markers to static data that is really constant. (check-in: e7073e23b8 user: dan tags: trunk)
2010-06-01
21:02
The shared-memory used by WAL on linux now really is shared memory in /dev/shm. On other unix flavors, the file is in a temporary directory rather than in the same directory as the database. (check-in: fc18c4aadb user: drh tags: trunk)
19:15
Changes to the way faults are injected into xShmXXX VFS calls. (check-in: 716d99f392 user: dan tags: trunk)
17:46
Change the OOM and IO error test cases in walfault.test so that each test case runs both types of error simulation. (check-in: b627e15368 user: dan tags: trunk)
15:44
Delay the decision to restart the log file until data is actually ready to be written to the log file (instead of at the start of a write transaction). (check-in: b1abfaaf53 user: dan tags: trunk)
15:24
The incremental checkpoint feature is not perfect yet, but it is working well enough to merge it into the trunk. (check-in: 1d3e569e59 user: drh tags: trunk)
14:30
Merge with [15abbc3416]. (Closed-Leaf check-in: f4b9003a2d user: dan tags: wal-incr-ckpt)
14:12
If an attempt to get a read-lock on the WAL fails with SQLITE_BUSY_RECOVER, call the busy-handler at the btree level. (check-in: ce64496509 user: dan tags: wal-incr-ckpt)
13:17
Fix a bug introduced by the previous check-in but only seen if SQLITE_ENABLE_EXPENSIVE_ASSERTS is turned on. (check-in: 9c9ec8994b user: drh tags: wal-incr-ckpt)
12:58
Fix an off-by-one boundary-value issue in walCleanupHash(). (check-in: f039552e63 user: drh tags: wal-incr-ckpt)
11:08
Do not hold the shared-memory mutex in os_unix.c if returning NULL. (check-in: 9622dd468c user: dan tags: wal-incr-ckpt)
10:44
If the checkpoint fails to obtain an exclusive lock on one of the read-lock bytes, do not consider this an error. (check-in: 9e95e35728 user: dan tags: wal-incr-ckpt)
07:51
Fixes to the test cases in wal2.test. (check-in: cd5fbcbce8 user: dan tags: wal-incr-ckpt)
01:08
Comment edits and cleanup in wal.c. No functional code changes. (check-in: e8e666ab82 user: drh tags: wal-incr-ckpt)
00:28
Attempt to get the filectrl.test script running. (check-in: e46a8f2b75 user: drh tags: wal-incr-ckpt)
00:03
Fix os_unix.c so that it will compile and build on a Mac. (check-in: bc707c83e5 user: drh tags: wal-incr-ckpt)
2010-05-31
20:28
Fix issues with locking_mode=EXCLUSIVE in WAL. (check-in: 8deba0cebd user: drh tags: wal-incr-ckpt)
18:24
Add an "isInit" field in the wal-index header that must be non-zero for a valid header. Use this to detect an uninitialized wal-index. (check-in: a16fde1901 user: drh tags: wal-incr-ckpt)
16:56
Fix an inconsistent #ifdef in wal.c. Fix os_unix.c so that it does not allow moving an SHM lock directly exclusive to shared without going through unlocked. (check-in: 552658da28 user: drh tags: wal-incr-ckpt)
16:41
Avoid dropping the checkpoint lock after a recovery run as a precursor to a checkpoint operation. (check-in: cc25cfa046 user: dan tags: wal-incr-ckpt)
16:17
Zero the checkpoint header as the last step of successful WAL recovery. Avoid an unnecessary lock/unlock in WalBeginReadTransaction. (check-in: db3509c55d user: dan tags: wal-incr-ckpt)
16:10
Get the new xShmLock interface design working on os_win.c. (check-in: 149a7082e2 user: drh tags: wal-incr-ckpt)
14:39
Make sure WAL alway requests enough shared-memory space. (check-in: 138f128317 user: drh tags: wal-incr-ckpt)
14:28
Remove the tests that enable tracing based on the existance of the "vdbe_*" files when in SQLITE_DEBUG mode. (check-in: cdbb4e7ca7 user: drh tags: wal-incr-ckpt)
14:18
Update another test case in wal.test. (check-in: 99fde69e61 user: dan tags: wal-incr-ckpt)
13:11
Change WAL test cases to account for the improved concurrency in the new checkpoint logic. (check-in: 2d6f248505 user: drh tags: wal-incr-ckpt)
12:30
Do not fail a checkpoint just because active readers prevent backfill. (check-in: 9aa4243e0c user: drh tags: wal-incr-ckpt)
12:15
Add WALTRACE() macros to help with debugging and analysis. (check-in: 765c33181a user: drh tags: wal-incr-ckpt)
12:02
Another minor fix to checkpoint on the WAL branch. (check-in: 853f1e3f77 user: dan tags: wal-incr-ckpt)
11:39
Fix a bug in checkpoint introduced by [181ceb32ea]. (check-in: b499dbc88a user: dan tags: wal-incr-ckpt)
11:16
Fix some asserts and other things in the new WAL branch. (check-in: 181ceb32ea user: dan tags: wal-incr-ckpt)
06:38
Changes to the way one of the WAL/OOM tests works. (check-in: 15abbc3416 user: dan tags: trunk)
01:41
WAL runs but quickly deadlocks. (check-in: ace58acbf1 user: drh tags: wal-incr-ckpt)
2010-05-30
19:55
Initial code for incremental checkpoint in WAL mode. This check-in compiles on unix and runs as long as you do not engage WAL mode. WAL mode crashes and burns. Consider this check-in a baseline implementation for getting the new capability up and running. (check-in: ef3ba7a17f user: drh tags: wal-incr-ckpt)
2010-05-29
08:40
Add tests to fkey2.test to check that ON CONFLICT clauses do not affect SQLite's behaviour when an FK constraint is violated. (check-in: e9e5b10019 user: dan tags: trunk)
06:18
Minor changes to checksum related test cases. (check-in: 60c22bde52 user: dan tags: trunk)
2010-05-28
11:16
Add a test to walcksum.test to stress the checksum calculation. (check-in: 778d0c1768 user: dan tags: trunk)
2010-05-26
17:31
Make sure the wal-index mapping is always large enough to cover the entire active area of the wal-index. (check-in: 42705babba user: drh tags: trunk)
15:06
Change the semantics of xShmGet() such that it will never increase the size of shared memory. xShmSize() must be used to grow the size of shared memory. A shared memory segment size cannot be shrunk (except by dropping it). (check-in: 72de007312 user: drh tags: trunk)
2010-05-25
15:53
Updated header comments in wal.c. No functional code changes. (check-in: 687632a6b3 user: drh tags: trunk)
15:23
Add a busy-handler to a test case in walthread.test to prevent errors. (check-in: d3d348aa97 user: dan tags: trunk)
13:49
Modify walcrash2.test so that it works with DEFAULT_AUTOVACUUM=1. (check-in: 77438882dd user: dan tags: trunk)
13:40
Update header comments in wal.c to correctly describe the WAL file format. Update the locking region offsets in os_unix.c and os_win.c and add assert() statement to verify that the locking region offsets are correct. (check-in: 40030c0739 user: drh tags: trunk)
10:50
If a writer exits unexpectedly in the middle of a transaction, have the following writer remove any wal-index hash-table entries left by the interrupted transaction. (check-in: ed77556adc user: dan tags: trunk)
02:24
Remove unreachable code associated with WAL from the pager. (check-in: 54c1718e6d user: drh tags: trunk)
2010-05-24
20:27
OOM errors during an auto-checkpoint are benign. (check-in: 3d252ce5d0 user: drh tags: trunk)
20:24
Remove the walmode.test case from the inmemory_journal test of permutations.test. (check-in: 27ba9c21fb user: drh tags: trunk)
17:00
Fix the wal2.test script so that it works in auto_vacuum mode. (check-in: 6a818afb93 user: drh tags: trunk)
13:57
Change the checksum used in WAL files so that each frames checksum depends on the content of the WAL header and all frame headers and content up to and including the frame to which the checksum is attached. (check-in: 8a53f12c83 user: dan tags: trunk)
13:28
Make sure a WAL frame of all zeros is detected as an invalid frame. (check-in: 02d99ad4b5 user: drh tags: trunk)
12:34
Fix up test_osinst.c to work with SQLITE_OMIT_VIRTUALTABLE. (check-in: 51fd38152b user: drh tags: trunk)
10:39
Change the WAL file format to support two kinds of checksums - one that is fast to calculate on little-endian architectures and another that is fast on big-endian architectures. A flag in the wal-header indicates which the file uses. (check-in: 65ba804dd1 user: dan tags: trunk)
2010-05-22
08:22
Add a couple of missing methods to test_osinst.c.. (check-in: 5c9e9c06ae user: dan tags: trunk)
00:55
Add several EXPENSIVE_ASSERT code blocks to validate the wal-index hash table. Fix the bugs that these code blocks fine. Rename walClearHash() to walCleanupHash() and simplify its interface. (check-in: 7aade899e5 user: drh tags: trunk)
2010-05-21
19:15
Fix another bug in walClearHash(). (check-in: 40f80ffe70 user: dan tags: trunk)
18:24
Comment out the SQLITE_FCNTL_SIZE_HINT from os_unix.c since it does not seem to provide any performance gain there. (check-in: 7d01309da6 user: drh tags: trunk)
16:23
Correct an off-by-one bug in the previous commit. (check-in: 75a1130d86 user: dan tags: trunk)
15:31
Remove entries from wal-index hash tables when a rollback or savepoint rollback occurs. (check-in: 36795c2b23 user: dan tags: trunk)
13:16
Fix the wal-index header read routine so that it correctly detects a zero header as being malformed and in need of a wal-index rebuild. (check-in: 1a4eb3a3ef user: drh tags: trunk)
2010-05-20
23:51
Add a new xShmBarrier method to the VFS - a shared-memory fence operation. Implement the same in both unix and win32. Use it to make the WAL subsystem more robust. (check-in: 1bd011c9fe user: drh tags: trunk)
21:21
Make use of the extra information in the WAL header and frame header to enhance robustness. (check-in: 9580ecb7e3 user: drh tags: trunk)
16:45
Convert the wal-header and frame-header to 24 bytes. Extra information in both headers is designed to enhance robustness after crashes, though the extra information is currently unused. This is a snapshot of a work in progress. (check-in: 669706431f user: drh tags: trunk)
2010-05-19
23:41
Merge WIN32 WAL support into trunk. Still some issues with locking to resolve. (check-in: 43377663fc user: shaneh tags: trunk)
22:09
Cherry-pick the SQLITE_FCNTL_SIZE_HINT patch (check-in [2b7e3b4a30d6a7c4a8] and bump the version number to 3.6.23.2. (check-in: 776679af58 user: drh tags: branch-3.6.23)
20:30
Disable the corruptE test which SQLITE_OVERSIZE_CELL_CHECK is enabled. This is a cherrypick merge from check-in [1dc4f9fe9b83467ba]. (check-in: a40d080ca3 user: drh tags: branch-3.6.23)
19:39
Add the SQLITE_FCNTL_SIZE_HINT to the os_win.c VFS. (check-in: 9894118d20 user: drh tags: trunk)
19:26
Add the SQLITE_FCNTL_SIZE_HINT operator to sqlite3_file_control() and use it to give the VFS hints about the ultimate size of a database file when the file is growing. (check-in: 2b7e3b4a30 user: drh tags: trunk)
19:09
Fix a bug in the new checkpoint computation. Also update the checkpoint algorithm in the test scripts to align with the new implementation. (check-in: 8b6056f2ee user: drh tags: trunk)
18:08
Revise the checksumming algorithm in wal.c. More variable refactoring. (check-in: 542b90eba6 user: drh tags: trunk)
17:49
Refactoring some variable names in wal.c. (check-in: 1d201ff51f user: drh tags: trunk)
01:53
Add a large comment to wal.c describing the WAL and wal-index file formats. (check-in: a71a22b52f user: drh tags: trunk)
2010-05-18
23:29
Update the wal-index hash format so that hash-table space is reused following a rollback, thus preventing hash table overflows. Add assert()s to verify that hash tables do not overfill. Further refactoring of the wal-index code. (check-in: ada9a8c7b6 user: drh tags: trunk)
18:01
Refactoring of the WalIterator implementation. (check-in: b5b60fdcc5 user: drh tags: trunk)
13:27
Mark the shared-memory in the WAL implementation as volatile. (check-in: 0a6787908e user: drh tags: trunk)
12:56
Comment clarifications in wal.c. (check-in: a029be1017 user: drh tags: trunk)
12:37
Keep additional state information in the pager in an effort to reduce the number of SQLITE_FCNTL_SIZE_HINTs. (Note: This change was found to make no performance difference and so has been moved onto a side branch. Use the parent check-in instead of this one.) (Closed-Leaf check-in: 97d88a86e4 user: drh tags: branch-3.6.1-exp)
2010-05-17
20:16
Remove an unreachable test from wal.c. (check-in: 7162c45673 user: drh tags: trunk)
15:52
An improvement to the SQLITE_FCNTL_SIZE_HINT change that invokes the hint less often and only when really needed. (check-in: a1d20ceb9c user: drh tags: branch-3.6.1)
15:33
Invoke the SQLITE_FCNTL_SIZE_HINT opcode on the sqlite3_file_control() interface for database files before extending the size of the file. The VFS can use this hint to preallocate space. (check-in: 9a08371171 user: drh tags: branch-3.6.1)
2010-05-15
10:24
Add a note to the documentation of sqlite3_wal_hook() to say not to return SQLITE_ROW or SQLITE_DONE. Or any other value that is not a valid SQLite error code. (check-in: 2f0b6cbf7b user: dan tags: trunk)
01:09
Silently ignore errors trying to set the default journal_mode while doing an ATTACH. (check-in: b9af4ad2ef user: drh tags: trunk)
2010-05-14
20:15
Fix a typo that (by bad luck) was not a syntax error but which caused some important lines of code to be skipped when SQLITE_DEBUG was not used. (check-in: 9ef99d97d2 user: drh tags: trunk)
19:24
Make sure the value of an INTEGER PRIMARY KEY column supplied to triggers and especially to FK constraints really contains the ROWID and not the NULL that is stored in the column itself. Ticket [dd08e5a988d00dec]. (check-in: 636f86095e user: drh tags: trunk)
16:34
Pull in all the latest changes from the trunk. Update the win32 SHM methods to work with the new interface design. (Closed-Leaf check-in: 4b69f2cd31 user: drh tags: wal-win32)
14:52
Simplifications to the SHM implementation in os_unix.c, taking advantage of the removal of the LinuxThreads mess. (check-in: d1debe5def user: drh tags: trunk)
12:43
Simplify os_unix.c by removing support for LinuxThreads. Linux systems must either use NPTL or else not share database connections across threads. (check-in: e294b696ba user: drh tags: trunk)
11:30
Change the OSTRACEn() macro to OSTRACE(()). Also rename some internal fields and variables in os_unix.c to be more meaningful and searchable. (check-in: 5fe529f239 user: drh tags: trunk)
10:43
Fix test_osinst.c so that it does not depend on gettimeofday() unless SQLITE_OS_UNIX is defined and NO_GETTOD is not defined. (check-in: 2a4014b79b user: dan tags: trunk)
08:39
Add xShmXXX methods to test_osinst.c. (check-in: b8a9b37a3c user: dan tags: trunk)
2010-05-13
20:19
Make debugging elements of the sqlite3_mutex object volatile and make them only appear when compiling with SQLITE_DEBUG. Ticket [51914f6acd2cb462]. (check-in: e823c60ca4 user: drh tags: trunk)
15:44
Allow sqlite3WalCheckpoint() to be called even if the WAL is in the SQLITE_SHM_READ state, as sometimes happens after an error. (check-in: 175b296f9b user: drh tags: trunk)
09:40
Remerge mistaken test_osinst.c changes. (check-in: e8c10d3cf6 user: dan tags: trunk)
09:32
Fix mistake in test_osinst.c. (Closed-Leaf check-in: 4c3e137803 user: dan tags: mistake)
09:11
Make sure xShmGet is never called while already holding the shared-memory segment. (check-in: 92ebdbc5f6 user: drh tags: trunk)
08:53
The refactored of VFS SHM primitives are now working so merge the wal-refactor branch back into the trunk. (check-in: bce21c1838 user: drh tags: trunk)
08:33
Change the xShmSize() implementation in os_unix.c so that it will only increase and never decrease the size of a shared-memory segment. (Closed-Leaf check-in: 149d2ae4a6 user: drh tags: wal-refactor)
07:08
Fix for a segfault that can follow a malloc failure. (check-in: 3cab902245 user: dan tags: wal-refactor)
06:19
Modify the VFS in test_vfs.c to match the refactoring of the xShmXXX methods. (check-in: 25e72f8156 user: dan tags: wal-refactor)
2010-05-12
19:02
(Moved to the mistake branch due to compile errors in test_osinst.c.) Change the vfs instrumentation code in test_osinst.c to make it easier to deploy. Add a vtab implementation for reading the binary log file format. (check-in: ee13c8849d user: dan tags: mistake)
18:30
Fix for the test_devsym.c test module for the VFS-SHM refactoring. (check-in: 49d6293375 user: drh tags: wal-refactor)
18:10
A couple simple fixes to get wal.test mostly working. (check-in: c744581274 user: drh tags: wal-refactor)
18:01
Refactoring the VFS-SHM methods used by WAL. This version compiles and runs non-WAL test cases but crashes and burns on wal.test. (check-in: 2b00152c1a user: drh tags: wal-refactor)
17:14
Updates to WAL support in os_win.c: pulled in latest changes from src/os_unix.c; updated tracing; misc. improvements. (check-in: 76504726a1 user: shaneh tags: wal-win32)
13:50
Remove the OP_Variable optimization of check-in [48b77b04935d894] since it can lead to malfunctions as described in ticket [26ff0c82d1e90]. (check-in: 7838163d08 user: drh tags: trunk)
06:54
Remove a branch made redundant by the earlier exclusive-mode changes. (check-in: c501b2ede6 user: dan tags: trunk)
2010-05-11
16:29
Have os_unix.c use the suffix "-wal-index" for wal-index files instead of "-wal-inde". (check-in: 885e854e7c user: dan tags: trunk)
14:00
When an attempt to change journal_mode fails due to locks, be sure to leave internal structures in a consistent state. (check-in: cf3d1e0b8a user: drh tags: trunk)
12:19
Changes so that WAL and exclusive-locking mode work together. (check-in: 71e7b1cf9f user: dan tags: trunk)
02:49
Initial port of WAL VFS support from os_unix.c to os_win.c. (check-in: 111ad59f21 user: shaneh tags: wal-win32)
02:46
Updates to WAL TCL test scripts to support running on Windows. (check-in: 6a5630806c user: shaneh tags: trunk)
2010-05-10
19:51
Fix an off-by-one error while constructing the name of the mmap file for the wal-index under os_unix.c. (check-in: 6e3735f72c user: drh tags: trunk)
18:10
Merge [96d6eaf4d2] and [40b0a6357b]. (check-in: c67756c404 user: dan tags: trunk)
17:29
Fix an uninitialized variable in OSX proxy locking. (check-in: 96d6eaf4d2 user: drh tags: trunk)
14:46
Modify the format of the wal-index to use a hash table to index log file segments. (check-in: 40b0a6357b user: dan tags: trunk)
14:10
If an ATTACH command fails due to OP_JournalMode but still attaches the database, make sure VACUUM still detaches it when done. (check-in: 6ecdc7ba2b user: drh tags: trunk)
11:20
Enhance the OP_JournalMode opcode with an ignore-errors option and use that option the ATTACH command. (check-in: 0bdea4cfbd user: drh tags: trunk)
2010-05-07
20:34
When running a checkpoint while in locking_mode=EXCLUSIVE, be sure to move the wal-index lock to UNLOCK from READ prior to promoting to CHECKPOINT. (check-in: be114bdf9b user: drh tags: trunk)
20:02
Change the xShmOpen() method of the VFS to take the database file name as its argument, not the WAL file name. Also fix some unrelated compiler warnings. (check-in: a65c293926 user: drh tags: trunk)
18:23
Additional tweaks to API documentation. No functional code changes. (check-in: e1230782a3 user: drh tags: trunk)
13:57
Updates to documentation on the C interfaces supporting WAL. No functional changes to code. (check-in: 681ba20cf0 user: drh tags: trunk)
13:52
Fix a recently introduced problem in wal.test. (check-in: 79b52d0ff7 user: dan tags: trunk)
12:49
Change wal.test and walhook.test so that they work with DEFAULT_AUTOVACUUM=1 builds. (check-in: 4cde92909c user: dan tags: trunk)
09:43
Test another IO error case in wal.c. (check-in: 8b3b5ab8fa user: dan tags: trunk)
06:59
Fix a problem with checkpointing large log files created by an external process. (check-in: 8f94bde568 user: dan tags: trunk)
05:46
Since walIndexTryHdr() can no longer encounter any error conditions, change tehe function signature so that it does not return an error code. This removes unreachable branches from other code. (check-in: 061a282cc0 user: dan tags: trunk)
00:28
Another attempt to fix permutations.test so that it excludes WAL tests from the journaltest permutation. (check-in: 58c404429c user: drh tags: trunk)
2010-05-06
22:21
Remove savepoint6.test from the set of tests run by journaltest since savepoint6.test uses journal_mode=WAL. (check-in: 811b45a96b user: drh tags: trunk)
21:37
The PRAGMA journal_mode=WAL; command now makes WAL the default journal mode for new databases added with ATTACH, so the behavior is consistent with the other journal modes. (check-in: c3520460a4 user: drh tags: trunk)
20:19
Make sure to do a clean shutdown of the library upon existing the shell in order to remove WAL files. (check-in: c1762dda00 user: drh tags: trunk)
19:55
Exclude all WAL tests from the journaltest permutation. (check-in: 46c97d7eee user: drh tags: trunk)
19:20
Changes to support SQLITE_OMIT_WAL. (check-in: 32a8501d78 user: shaneh tags: trunk)
19:04
Updates to the VFS SHM locking documentation. (check-in: 9927ce4210 user: drh tags: trunk)
18:48
Instead of transitioning to RECOVER state from CHECKPOINT when a recovery is required, perform the recovery while holding the CHECKPOINT lock. (check-in: bb0b6021e7 user: dan tags: trunk)
18:27
If recovery is run before a checkpoint, change back to a CHECKPOINT lock before performing the actual checkpoint. (check-in: dc98ee169c user: dan tags: trunk)
18:04
Only pass -1 as the size parameter to xShmGet when the caller does not care what size mapping is returned. Only call xShmSize when the underlying allocation (not the mapping) should be resized. (check-in: 637f51ddf9 user: dan tags: trunk)
17:28
Fix a bug whereby an old snapshot could be checkpointed (and subsequent transactions discarded) if the last connection to disconnect from a WAL database happended to be holding an out-of-date wal-index header. (check-in: d0c0034b0b user: dan tags: trunk)
16:06
After throwing an error to say that one cannot change into WAL mode within a tranactions, do not then go and change into WAL mode. (check-in: 56a17dae91 user: drh tags: trunk)
15:56
Further coverage tests. (check-in: 98a9713e00 user: dan tags: trunk)
15:36
Update configure scripts for WAL support. (check-in: 2edc5129f2 user: shaneh tags: trunk)
14:42
Add tests to cover a couple of branches in wal.c. (check-in: 429f437fb7 user: dan tags: trunk)
13:36
Unset a tcl variable before reusing it in wal.test. (check-in: e83efb232f user: dan tags: trunk)
12:15
Add tests for some lock-contention cases. (check-in: f0fcb9c9a6 user: dan tags: trunk)
11:56
Remove the noop-mutex implementations of mutex_held() and mutex_notheld() since they are both unreachable. (check-in: 6767b62a9a user: drh tags: trunk)
11:55
Add two text files containing pager design notes to the doc/ subfolder. (check-in: ed817fc893 user: drh tags: trunk)
11:32
Add test cases to test the libraries handling of corrupt wal-index headers. (check-in: 9465b267d4 user: dan tags: trunk)
07:43
Add tests for handling errors returned by xShm VFS methods. (check-in: fbbcacb137 user: dan tags: trunk)
2010-05-05
20:00
Change the behavior of the sqlite3_wal_hook() callback. It should now return SQLITE_OK or an error code and the error code is propagated back up the stack. If a checkpoint is desired, the callback should invoke sqlite3_wal_callback() itself. (check-in: 1b14195e05 user: drh tags: trunk)
19:09
Further simplifications to the SHM locking logic. Remove the SQLITE_SHM_QUERY option. Unify the WRITE to READ and RECOVER to READ transitions. (check-in: e9bfa6e4ce user: drh tags: trunk)
19:04
Test the handling of errors returned by the xShmXXX() APIs. (check-in: 72663123d6 user: dan tags: trunk)
18:46
Do not compare page sizes on source and destination of backup until transactions are started and the page sizes are locked. This is a fix to check-in [7bd44794c4]. (check-in: ec7157788b user: drh tags: trunk)
18:20
Simplifications to the SHM locking implementation in os_unix.c. (check-in: 9de05bfb09 user: drh tags: trunk)
16:23
Prohibit backup if the destination is using WAL and has a different page size from the source. (check-in: 7bd44794c4 user: drh tags: trunk)
15:33
When closing a WAL database, if the exclusive lock on the database file is obtained and the database successfully checkpointed, delete the wal-index file from the file system. (check-in: 2ac5d96c8e user: dan tags: trunk)
04:11
Make sure the page size of the main database is fixed following a failed VACUUM attempt. Otherwise, two consecutive failed VACUUM attempts with attempted page_size changes on encrypted or WAL databases could result in database corruption. (check-in: 208e7d5d3a user: drh tags: trunk)
03:39
Do not attempt to modify the page_size when running VACUUM on a WAL database. (check-in: 58a1a59be8 user: drh tags: trunk)
00:22
Get the previous mutex fix working with SQLITE_DEBUG and with the amalgamation. (check-in: df19928f7e user: drh tags: trunk)
00:05
When the in single-threaded mode, the sqlite3_mutex_alloc() interface still returns a non-NULL value. The mutex doesn't do anything, but it tests non-NULL. This way, extensions (or VFSes) that use sqlite3_mutex_alloc() can tell the difference between an OOM error and mutexes being disabled. (check-in: 451fd17575 user: drh tags: trunk)
2010-05-04
18:50
When sqlite3PagerPagecount() is called without any locks, always return the physical file size, not the logical file size. (check-in: 4016b42228 user: drh tags: trunk)
17:38
Be sure to release all wal-index locks before closing the wal-index. (check-in: b15b67fa14 user: drh tags: trunk)
17:20
Relax an over-zealous assert() in sqlite3WalUndo(). (check-in: 8f9d22d58c user: drh tags: trunk)
16:33
Take care not to invoke the xShmClose method of the VFS with a NULL shared memory object. (check-in: 1465d3842c user: drh tags: trunk)
15:20
Add a test case to verify that log files containing pages that are not a power-of-two bytes in size are handled correctly. (check-in: c2bf693f93 user: dan tags: trunk)
14:47
Fix problems with recovering wal files that use a page-size other than the default. (check-in: 1a391f3c55 user: dan tags: trunk)
11:06
Fix a typo in walfault.test. (check-in: 232dbe8ece user: dan tags: trunk)
10:36
Test that the correct number of padding frames are appended to the log file after committing a transaction in synchronous=FULL mode. (check-in: a60104aa7e user: dan tags: trunk)
2010-05-03
19:20
Unset some global TCL variables prior to use in test where prior tests can have those same variables set to an array value. (check-in: 49bef00e5c user: drh tags: trunk)
19:17
Fix a bug in the computation of the current time for the alternative CURRENT_TIMESTAMP functions used when SQLITE_OMIT_DATETIME is defined. (check-in: e7ded46b5e user: drh tags: trunk)
18:51
Documentation stubs for sqlite3_wal_autocheckpoint and sqlite3_wal_checkpoint. (check-in: 313762427d user: drh tags: trunk)
18:22
Fix a bug in the xCurrentTime() method of the os_unix.c VFS. (check-in: 551df11a56 user: drh tags: trunk)
18:01
Add a test to simulate an OOM during log recovery to walfault.test. (check-in: 7ed85e87dd user: dan tags: trunk)
17:24
Clear global variable "seconds" before use in walthread.test. (check-in: a35551a530 user: drh tags: trunk)
17:18
Fix a couple of errors in WAL code that can occur in an OOM situation. (check-in: 9d3f3736be user: dan tags: trunk)
16:36
Update the crash-test VFS in test6.c to pass-through the shared-memory methods to the real underlying VFS. This fixes the walcrash.test script. (check-in: ea09ff3791 user: drh tags: trunk)
16:30
Change the VFS definition so that all methods take a VFS object pointer as their first parameter. (check-in: 43b5b07f0d user: drh tags: trunk)
15:58
Have sqlite3_wal_checkpoint() handle a zero-length string in the same way as a NULL pointer. Fix "PRAGMA wal_checkpoint" so that it checkpoints all attached databases. (check-in: 7fecd21f45 user: dan tags: trunk)
14:32
Use VFS method xCurrentTimeInt64 instead of xCurrentTime when it is available. Provide an implementation of xCurrentTimeInt64 for os_unix.c. (check-in: ab77b3ae6d user: drh tags: trunk)
14:08
Merge the write-ahead-logging changes into the trunk. (check-in: de9ae443cc user: drh tags: trunk)
14:05
If the sqlite3_wal_checkpoint() API is passed a NULL pointer in place of a database name, attempt to checkpoint all attached databases. (Closed-Leaf check-in: 27a5c09ce8 user: dan tags: wal)
13:37
Make sure the mutex is held while calling sqlite3ApiExit() in sqlite3_wal_checkpoint(). Other cleanup of WAL logic. (check-in: 11a85b821a user: drh tags: wal)
12:14
Have sqlite3_wal_checkpoint() populate the database handle error message and error code (as returned by sqlite3_errmsg() and sqlite3_errcode()). (check-in: ff234cf574 user: dan tags: wal)
11:05
Add the "PRAGMA wal_autocheckpoint" command. Rename "PRAGMA checkpoint" to "PRAGMA wal_checkpoint". (check-in: 714e594726 user: dan tags: wal)
08:19
Merge two wal leaves. (check-in: 23c0e6c3f3 user: dan tags: wal)
08:04
Add the sqlite3_wal_checkpoint() and sqlite3_wal_autocheckpoint() APIs. (check-in: 9803196dec user: dan tags: wal)
2010-05-01
20:17
Change the SHM interface so that it does not take the name of the shared object but rather the name of the WAL file and derives its own name from that. Remove the xShmDelete method from the VFS and replace it with a delete flag on xShmClose. (check-in: 94dea5f9c1 user: drh tags: wal)
18:23
Remove the xShmPush and xShmPull methods from the VFS. (check-in: 69e07fdbde user: drh tags: wal)
17:57
Define an invariant to guarantee deadlock-free operation of SHM in os_unix.c and check that invariant with assert() statements. (check-in: 6af2dca75b user: drh tags: wal)
17:50
Rework mutexes on the SHM implemention for os_unix to avoid a deadlock during WAL recovery. (check-in: 1a0f69bef2 user: drh tags: wal)
16:40
Support compile-time option SQLITE_OMIT_WAL, for building without WAL support. (check-in: 9b230c43df user: dan tags: wal)
11:33
Fix a typo in the walmode.test test script introducted yesterday. (check-in: dcabc90ca5 user: drh tags: wal)
11:19
Fix the sqlite3_mutex_alloc() interface to return NULL (not segfault) when operating in threadsafe mode. (This is a general-purpose bug fix which really ought to be ported to trunk.) (check-in: 64840a3caf user: drh tags: wal)
08:30
Add test case demonstrating deadlock during recovery of very large log files. No fix yet. (check-in: 63ea318eb1 user: dan tags: wal)
00:59
Do not allow journal_mode=WAL if the underlying VFS does not support xShmOpen. (check-in: d1fcccecdc user: drh tags: wal)
2010-04-30
22:28
Merge in changes from the trunk. (check-in: 76bf0eee1f user: drh tags: wal)
21:03
Avoid assertion faults in queries using indices with redundant columns. Ticket [3dbdcdb14e7f41]. (check-in: 946e06cd2a user: drh tags: trunk)
17:47
Change the SHM VFS logic in os_unix.c so that it does not hold an exclusive lock n the mapped memory when also holding a CHECKPOINT lock. This improves concurrency between readers and checkpointers. (check-in: 8660cda6f8 user: drh tags: wal)
17:28
Remove some obsolete debugging parameters. (check-in: a012aed498 user: drh tags: wal)
17:05
Fix a problem with resizing the wal-index mapping after the mapping has been extended by an external process. (check-in: 79d356fea6 user: dan tags: wal)
16:50
Fix a problem with calculating the required size of the wal-index when appending frames. (check-in: 9526b11130 user: dan tags: wal)
16:48
In the debugging output for SHM-LOCK in os_unix.c, use symbolic names for the lock states rather than raw numbers. (check-in: 2afc33de2b user: drh tags: wal)
16:41
Fix a problem in the previous commit. Both unixShm.lockState and unixShm.readLock should be set to READ when downgrading from a WRITE to a READ lock (check-in: 90119fecbc user: dan tags: wal)
16:38
Fix a bug whereby upgrading from a READ_FULL to a WRITE lock, and then back to a read lock was dropping all WAL locks. (check-in: 55f5af5e17 user: dan tags: wal)
16:24
Reapply commits [837d82a929] and [c05e7dca17] that were accidentally overwritten. (check-in: 598de52700 user: dan tags: wal)
16:19
Add xShmXXX() methods to the test VFS in test_devsym.test. (check-in: 1d20342424 user: dan tags: wal)
16:12
Correctly record the fact that the SHM lock reached PENDING if it did so but failed to reach CHECKPOINT. (check-in: d9250e84ac user: drh tags: wal)
15:54
Fix a couple uninitialized variables in the xShmLock method of the unix VFS. Improved debugging logic for xShmLock. (check-in: 69567c5fca user: drh tags: wal)
15:49
When closing a WAL connection, attempt an exclusive lock on the database file. If the lock is obtained, checkpoint the database and delete the wal and wal-index files. (check-in: c05e7dca17 user: dan tags: wal)
15:24
If a reader attempts to upgrade to a writer, but is not reading the most recent database snapshot, return SQLITE_BUSY. (check-in: 837d82a929 user: dan tags: wal)
14:39
Separate the concepts of underlying storage size and mapped size in the VFS shared-memory implementation. (check-in: 4cbe49f13f user: drh tags: wal)
11:43
Add a missing walIndexUnmap() call to the checkpoint code. Change a couple of SQLITE_CANTOPEN constants to SQLITE_CANTOPEN_BKPT. (check-in: 1f9e8c5c27 user: dan tags: wal)
10:24
Fix an assert() in sqlite3WalRead(). (check-in: 2e7a0050e1 user: dan tags: wal)
10:06
Add missing mutexes to unixShmClose(). (check-in: a4741cb54d user: dan tags: wal)
09:52
Fix a couple of assert() statements in os_unix.c and wal.c. Combine sqlite3WalIsDirty() with sqlite3WalUndo(). (check-in: a8f958be80 user: dan tags: wal)
09:32
Add a missing walIndexUnmap() to sqlite3WalSnapshotOpen(). (check-in: 72b95fde15 user: dan tags: wal)
06:02
Merge latest bugfix into wal branch. (check-in: 265e66e698 user: dan tags: wal)
05:57
Zero the "immediate FK constraint counter" associated with a statement object when sqlite3_reset() is called. Fix for [c39ff61c43]. (check-in: f660be615a user: dan tags: trunk)
02:13
The first 6 WAL tests now work. It's a start. (check-in: a92c1851da user: drh tags: wal)
2010-04-29
22:34
Refactor wal.c to use the VFS. This check-in compiles and links and works ok as long as you leave WAL turned off, but WAL does not work. (check-in: 62db5fa3b6 user: drh tags: wal)
16:40
Untested implementation of the shared-memory dead-man-switch. (check-in: 706611283e user: drh tags: wal)
15:17
Progress towards a VFS that will support WAL. Locking code is in place but is untested. Still no support for the DMS. (check-in: 1bde41cf08 user: drh tags: wal)
14:58
Close all open database connections at the end of wal.test. (check-in: 3cc55a7568 user: dan tags: wal)
14:51
Fix a bug in the WAL checkpoint code causing SQLite to use an inconsistent cache in a subsequent transaction. (check-in: d1cadeed4e user: dan tags: wal)
08:47
Add tests to walthread.test. (check-in: 9e891e7543 user: dan tags: wal)
2010-04-28
18:17
Add a test to walthread.test for changing between WAL and rollback modes. (check-in: da229e44bd user: dan tags: wal)
17:49
Merge two "wal" leaves. (check-in: 13d2d5a66e user: dan tags: wal)
17:48
Change walthread.test so that tests can be run with either multiple threads or multiple processes. (check-in: 25f85f6872 user: dan tags: wal)
17:21
Changes to the interface design for the xShmLock method of the VFS. (check-in: 348409de26 user: drh tags: wal)
14:42
Rename the sqlite3_log_hook() to sqlite3_wal_hook(). Added comments to wal.h. (check-in: bbc385111b user: drh tags: wal)
2010-04-27
18:49
Merge two "wal" leaves. (check-in: 8c2d43babd user: dan tags: wal)
18:43
Add a test to check that a checkpointer releases its locks before returning, even if it has been prevented by a conflicting lock from checkpointing the database. (check-in: be44349d2b user: dan tags: wal)
14:37
Fix a problem with identifying a corrupt database in WAL mode. (check-in: c8658da446 user: dan tags: wal)
11:49
Add the xShmRelease() method to the VFS. The os_unix.c implementation of the shared memory logic is still non-functional. (check-in: ed715b47c5 user: drh tags: wal)
06:49
Run trans.test and avtrans.test as part of the "wal" permutation. (check-in: c889331051 user: dan tags: wal)
05:42
Fix a problem that occurs when one process causes the log-summary file to grow and then a second process attempts to read the database. (check-in: b51a5f8bc6 user: dan tags: wal)
01:56
Merge in recent changes from the trunk (check-in: 7a0ac682c3 user: drh tags: wal)
2010-04-26
19:17
Optimization: Convert an ORDER BY clause into a no-op if the query also contains a GROUP BY clause that will force the same output order. (check-in: ca9d86baf7 user: drh tags: trunk)
17:42
Do not attempt to set journal_mode=wal on :memory: or temp file databases. (check-in: 30d0134454 user: dan tags: wal)
17:36
Change the default_cache_size pragma to always store a positive value. (check-in: 36fb2cae75 user: drh tags: trunk)
17:30
Identify the SQLite version meta-value entry in the db-header output of showdb. (check-in: 245d934b72 user: drh tags: trunk)
16:57
Fixes for problems with small caches and SAVEPOINT rollback in WAL mode. (check-in: 6a944f028d user: dan tags: wal)
16:47
Further enhancements to the showdb utility: A page number followed by "b" causes a btree decoding to occur on the page. (check-in: 2ff824e58c user: drh tags: trunk)
15:44
Enhancements to the showdb.c utility program. Automatically detect the page size and adjust the display accordingly. Add the "dbheader" display option. (check-in: 23eb408b5d user: drh tags: trunk)
12:39
Add the "wal" permutation to run existing test files savepoint.test and savepoint2.test in WAL mode. (check-in: 205e5d8ac0 user: dan tags: wal)
10:40
Add mutexes to fix a race condition in wal.c. This isn't a very good fix. (check-in: 3d159939cc user: dan tags: wal)
00:19
Change the names of the log.c and log.h source files to wal.c and wal.h. (check-in: 56fe5d7624 user: drh tags: wal)
00:04
Begin moving WAL-specific I/O into the VFS. This checkin contains VFS infrastructure but it is untested and is not yet hooked up to the WAL. The version number is bumped to 3.7.0 because of the VFS extension. (check-in: f5e615c28c user: drh tags: wal)
2010-04-25
20:58
Remove an unreachable branch from the function initialization logic. (check-in: 064d3ddd61 user: drh tags: trunk)
2010-04-24
19:07
Add comment explaining checksum mechanism. (check-in: 3e9ef5153e user: dan tags: wal)
18:44
Fix bugs in WAL mode rollback. (check-in: 31215969f5 user: dan tags: wal)
14:33
Merge with [0291ed974d]. Merge with [0291ed974d]. Merge with [0291ed974d]. (check-in: a352f6285e user: dan tags: wal)
14:02
When commands such as ALTER TABLE and VACUUM use SQL internally, make sure they use only the built-in functions and not application-defined overrides for those functions. (check-in: 0291ed974d user: drh tags: trunk)
04:53
Merge with [e79dac3c2f]. (check-in: 1e793d3a6d user: dan tags: wal)
04:49
Reserve some space at the start of the log-summary file to apply locks to. (check-in: a031aa1fa0 user: dan tags: wal)
2010-04-23
19:15
Fixes and tests for backup of a WAL database. (check-in: 480d12db4c user: dan tags: wal)
14:29
Merge of notify.c changes from experimental. Reset stored blocking connection when registered unlock_notify callback is cleared. (check-in: e79dac3c2f user: shaneh tags: trunk)
11:44
Add very simple test cases for backup and VACUUM of WAL databases. More to come. (check-in: 1077d8130b user: dan tags: wal)
2010-04-22
19:14
Create a version of the log checksummer that works on big-endian platforms. Remove the 512KB size limit on the log-summary. (check-in: 5d6d4423d1 user: dan tags: wal)
06:27
Further tests and changes related to switching between WAL and rollback modes. (check-in: 1236318477 user: dan tags: wal)
2010-04-21
18:37
Tests for (and changes to) the code to switch between WAL and rollback modes. (check-in: 9f4f933f2c user: dan tags: wal)
11:43
If, after obtaining a SHARED lock, there exists a *-wal file in the file-system, use WAL mode. This is necessary to recover from a crash that damages the first page of the database file. (check-in: 33cabf271b user: dan tags: wal)
06:19
Minor changes to test cases to account for the fact that databases with read/write versions of 2 are now understood. (check-in: 278ed41e1d user: dan tags: wal)
2010-04-20
18:53
Use the read and write version fields of the database header to mark a database as operating in wal-mode. (check-in: 96bef18c14 user: dan tags: wal)
2010-04-19
18:03
Add the sqlite3_log_hook() interface for scheduling checkpoints. (check-in: 9bda601455 user: dan tags: wal)
2010-04-17
18:50
Add some comments regarding file-locks to log.c. (check-in: 9d51c3b754 user: dan tags: wal)
17:34
Do not sync any files in wal mode if "PRAGMA synchronous=off" is set. If files are synced, pass either SQLITE_SYNC_FULL or SQLITE_SYNC_NORMAL to the xSync() callback as configured by "PRAGMA fullfsync". (check-in: 0ae91b0008 user: dan tags: wal)
16:10
It is possible for sqlite3.pUnlockConnection to be non-NULL when sqlite3.pBlockingConnection is NULL, as the notify1.test script demonstrates. (Closed-Leaf check-in: 95ff76ef67 user: drh tags: experimental)
15:45
Merge with trunk commit [3e646e3f4c]. (check-in: 43463970f5 user: dan tags: wal)
15:42
In synchronous=normal mode, do not sync the log after every transaction. In synchronous=full mode, sync the log and add any extra frames required to avoid blast-radius related problems after each transaction. (check-in: 9bc9b68473 user: dan tags: wal)
12:53
Change sqlite3_step() so that it automatically calls sqlite3_reset() instead of returning SQLITE_MISUSE when invoked on a prepared statement that previously returned any value other than SQLITE_ROW. (check-in: 3e646e3f4c user: drh tags: trunk)
12:31
Enhancements to wal-mode locking scheme. (check-in: 8549c28649 user: dan tags: wal)
2010-04-16
22:05
Changes for branch coverage of notify.c. Fixed quirk of unlock_notify() where it would still think it was blocked after a callback was cleared (even after the transaction on the blocking connection was closed). (check-in: c54e8dad01 user: shaneh tags: experimental)
13:59
Change the log file format to include a small (12 byte) header at the start of the file. (check-in: 9865d14d60 user: dan tags: wal)
11:30
Fix bug in log recovery (last frame in log was being ignored). Also remove an incorrect assert statement. (check-in: 67d2a89ec2 user: dan tags: wal)
2010-04-15
23:24
Disable query flattening when the outer query is a compound SELECT and the inner query has a LIMIT clause. Ticket [02a8e81d44]. (check-in: f96782b389 user: drh tags: trunk)
16:45
Allow writers to write dirty pages to the log mid-transaction in order to free memory. (check-in: ecd828f969 user: dan tags: wal)
13:33
Merge two leaves on the WAL branch. (check-in: c9ed66cc39 user: dan tags: wal)
13:29
The query planner fix of check-in [33b1f584ef] should have been on the trunk. (check-in: f538d759be user: drh tags: trunk)
12:36
Fix a problem in the result set size estimation logic of the query planner - a problem introduced by the two previous changes. (check-in: 33b1f584ef user: drh tags: wal)
10:58
Change the way checksums are calculated. (check-in: 84955c2e9c user: dan tags: wal)
02:37
Bring over the recent query planner enhancements from the trunk. (check-in: 82969f27e5 user: drh tags: wal)
01:04
Further refinements to table order selection on join query planning. (check-in: defaf0d99a user: drh tags: trunk)
2010-04-14
19:01
The query planner uses non-indexable WHERE clause terms to reduce the estimated number of output rows, then uses the estimated number of output rows as a tie-breaker when choosing table order. (check-in: b87cb0c2bd user: drh tags: trunk)
18:50
Add tests and fix bugs in WAL locking mechanism. (check-in: c18077f246 user: dan tags: wal)
18:06
Add tests to check inter-process WAL locking. (check-in: 9435f31358 user: dan tags: wal)
15:49
Improve the logLockRegion() function in log.c. (check-in: 5e9dd3bd8e user: dan tags: wal)
11:23
Fixes for locking issues in WAL mode. (check-in: a9617eff39 user: dan tags: wal)
2010-04-13
19:27
Add experimental locking scheme. (check-in: 3f958e87c3 user: dan tags: wal)
15:30
Fix an uninitialized variable in readDbPage of pager.c. (check-in: f4e1150fed user: drh tags: wal)
11:56
Remove old code to interpret an argument (no longer used) to "PRAGMA checkpoint". (check-in: 27dc5977c1 user: dan tags: wal)
11:45
Fix other problems in the WAL test scripts. (check-in: dcb31181db user: dan tags: wal)
11:35
Fix test script issues preventing walthread.test from running. (check-in: d90b1dde07 user: dan tags: wal)
11:18
Fix a pager bug introduced by the wal code. (check-in: 4a0b29dc5e user: dan tags: wal)
06:20
Sync wal branch with [012cf101bf]. (check-in: 9d690f24f6 user: dan tags: wal)
06:18
Test that the rollback-hook is invoked if a commit-hook implementation returns non-zero (causing a rollback). Remove documentation comment that says otherwise from sqlite.h.in. (check-in: 012cf101bf user: dan tags: trunk)
2010-04-12
20:54
Add e_fts3.test to the set of tests excluded from the inmemory_journal exclusion list, since it does simulated OOM errors which trigger I/O errors and SQLite is unable to recover from I/O errors without a persistent journal. (check-in: e7e7127f0b user: drh tags: trunk)
19:44
Recent changes cause the xSync method of the memory journal implementation to be used, so remove the assert(0). (check-in: 1f2cb94028 user: drh tags: trunk)
19:43
Clear a global variable in e_fts3.test before it is used. (check-in: ae89dfd26b user: drh tags: trunk)
19:32
Remove duplicate secure_delete pragma implemention. (check-in: c15fda145b user: drh tags: wal)
19:05
Add "log.h", which should have been part of the previous commit. (check-in: 8de9f01004 user: dan tags: wal)
19:00
Import experimental write-ahead-logging code. (check-in: 409d61baeb user: dan tags: wal)
17:08
Fix a problem where a process in exclusive mode could delete a hot-journal file without rolling it back from within sqlite3_close() or DETACH. This problem was introduced by commits from the past few days; it is not present in any release. (check-in: 51a6139508 user: dan tags: trunk)
14:51
Reset the simulated device in the test harness to its default configuration whenever it is restarted. (check-in: 562d20e662 user: drh tags: trunk)
2010-04-10
17:52
Fix issues and clarify the operation of pager_playback_one_page(). A block comment in pager.c identifies 13 invariants on the pager subsystem. Ticket [9d68c883132c8]. (check-in: 0906597698 user: drh tags: trunk)
2010-04-09
23:05
Add a test case for the OOM-fault corruption issue. Ticket [9d68c883132c8]. (check-in: 0a64a937b5 user: drh tags: trunk)
15:34
Candidate fix for a pager bug associated with sqlite3PagerMovepage(). (check-in: 8c046eb6d1 user: drh tags: trunk)
09:14
Avoid unnecessary calls to sqlite3_step() with null prepared statements while parsing the schema. (check-in: ae04d2d15d user: drh tags: trunk)
2010-04-08
17:35
Fix a typo in a comment. No changes to code. (check-in: 332cb55113 user: drh tags: trunk)
17:28
Fix code coverage problems in where.c. (check-in: b04a528249 user: drh tags: trunk)
16:30
Additional automatic index tests. (check-in: 99d8e325e9 user: drh tags: trunk)
15:01
New test cases for automatic indices. New testcase() macros associated with column-used bitmasks. (check-in: e1aa48ace7 user: drh tags: trunk)
15:01
Fix the computation of the number of rows in a table during automatic index generation. (check-in: edeab06a50 user: drh tags: trunk)
14:38
Fix an integer overflow bug in the automatic index logic. The bug was detected by the testcase() macros added in the previous check-in. Also add some more testcase() macros, since this issue points up their importance. (check-in: af97b4881a user: drh tags: trunk)
14:15
Add testcase() macros to the automatic index logic to insure that boundary cases are tested. (check-in: 7286547847 user: drh tags: trunk)
11:35
Make sure F_OK, R_OK, and W_OK are defined in test_demovfs.c. Define them manually if they are not. This is necessary to get the module to compile on some systems. (check-in: 7c8afc3272 user: drh tags: trunk)
01:16
Merge automatic index changes into the trunk. (check-in: bf7b8d8636 user: drh tags: trunk)
00:40
When constructing automatic indices do not include the same column more than once. (Closed-Leaf check-in: d067d9f7a9 user: drh tags: experimental)
2010-04-07
20:32
Pull over the latest changes from the trunk. (check-in: e388fe8be8 user: drh tags: experimental)
20:29
When rolling back a savepoint to the beginning of the transaction, make sure to initialize the database size in the btree layer correctly even if the database size field of the header is zeroed. (check-in: a3540c6acf user: drh tags: trunk)
19:32
Add an interface to the SQLITE_STMTSTATUS_AUTOINDEX status information to the TCL bindings. Add some simple automatic index test cases. (check-in: 1f40441204 user: drh tags: experimental)
16:54
Wrap all automatic index changes inside SQLITE_OMIT_AUTOMATIC_INDEX. Add the automatic_index PRAGMA to turn it on and off. (check-in: a811a47fbe user: drh tags: experimental)
14:59
Make sure that all automatic indices are covering indices. Otherwise, the table and index might be used together in a query but the table could get out of sync with the automatic index through out-of-band changes. (check-in: 2364313142 user: drh tags: experimental)
14:33
Enhance comments on the SrcList object definition to better explain the operation of the SrcList.a[].colUsed field. No changes to code. (check-in: c0f67ea131 user: drh tags: experimental)
14:32
Fix the trace output of the OP_Function opcode to show the correct register numbers. (check-in: 064c283eee user: drh tags: experimental)
07:57
Add file test_demovfs.c, containing a simple VFS implementation that demonstrates how writes to the journal file may be safely buffered by the VFS layer to improve performance on some embedded systems. (check-in: af3b72d94a user: dan tags: trunk)
2010-04-06
22:33
Veryquick.test is now working. The SQLITE_STMTSTATUS_AUTOINDEX counter added. (check-in: abbf16e5e7 user: drh tags: experimental)
18:51
Runs quicktest without hitting an assert now. Some tests get unexpected results still and there is a memory leak. (check-in: a8224448cc user: drh tags: experimental)
18:28
Progress toward getting automatic indices to work. Still failing in corner cases. (check-in: ac6d0fba78 user: drh tags: experimental)
15:57
Automatically generate transient indices for tables in joins that would otherwise have to use a full table scan. (check-in: 1b2a04125f user: drh tags: experimental)
2010-04-05
15:11
Minor comment changes to the OP_OpenEphemeral header. No changes to code. (check-in: 8e1d7ef47f user: drh tags: trunk)
2010-04-03
13:08
Silently abandon a rollback if the journal has been truncated. (check-in: 7626f6c9ea user: drh tags: trunk)
2010-04-02
13:25
Check for a failure in the call to sqlite3PagerPagecount() from within sqlite3PagerWrite(). (Error discovered by valgrind.) (check-in: d64d181c79 user: drh tags: trunk)
12:55
Take care to avoid a buffer over-read when adding a KEYINFO structure to the P4 parameter of an opcode. (check-in: 937b931a7c user: drh tags: trunk)
12:46
If the size of the database according to the header is larger than the actual database file size, report that the database is corrupt. (check-in: 8eb1f2443f user: drh tags: trunk)
03:39
Pager changes for code coverage testing. (check-in: b04a45ea97 user: drh tags: trunk)
2010-04-01
18:33
Disable the corruptE.test script when ENABLE_OVERSIZE_CELL_CHECK is on. (check-in: 1dc4f9fe9b user: drh tags: trunk)
16:15
Zero the filesize-in-header word for bigfile.tcl. Remove bigfile.tcl from the journaltest permutation. (check-in: 63610c71ca user: drh tags: trunk)
13:41
Do not journal the content of freelist leaf pages. This restores an optimization that was accidently undone by check-in [12f7346c13] on 2009-01-20. (check-in: b1e7a1a677 user: drh tags: trunk)
02:47
Remove a NEVER in sqlite3PagerPagecount() that can in fact be true. (check-in: 8f00533782 user: drh tags: trunk)
02:22
Restore the size information in the BtShared structure when a transaction rolls back. (check-in: 802aeb30c9 user: drh tags: trunk)
2010-03-31
23:20
Make sure an OOM error on sqlite3PagerPagecount() is detected and reported out to the interface. (check-in: 8aecf302a5 user: drh tags: trunk)
20:29
Report corruption if a database contains a reference that is out of range according to the filesize-in-header database size. (check-in: a91db0b1cd user: drh tags: trunk)
17:47
Clarification of the implementation of SQLITE_STMTSTATUS_FULLSCAN_STEP. No logical code changes - just commenting and layout changes to improve readability. (check-in: 06b9ca3225 user: drh tags: trunk)
15:02
Clear the column cache before populating aggregate accumulator registers. Fix fo r [883034dcb5]. (check-in: ffc23409c7 user: dan tags: trunk)
13:57
Documentation enhancements for the sqlite3_log() interface. No functional changes to code. (check-in: ba13a11108 user: drh tags: trunk)
11:56
Include shell.c and sqlite3.def in the amalgamation ZIP archive. Ticket [e063139eb3f8] (check-in: b51fcac9fb user: drh tags: branch-3.6.23)
11:52
Include shell.c and sqlite3.def in the amalgamation ZIP archive. Ticket [e063139eb3f8] (check-in: 0077ed5cf4 user: drh tags: trunk)
02:31
Increase test coverage following the introduction of the new filesize-in-header logic. (check-in: dbc2c3c014 user: drh tags: trunk)
2010-03-30
22:58
Continuing refinements to the filesize-in-header enhancement. (check-in: 79e22b9503 user: drh tags: trunk)
15:51
Add a NEVER macro around a test in btree.c that can not longer be true. (check-in: c117f99236 user: drh tags: trunk)
12:40
Do not crash when compiling an "INSERT INTO tbl DEFAULT VALUES" when tbl has either BEFORE or INSTEAD OF triggers attached to it. Ticket [f3162063fd]. (check-in: ca359a3e80 user: dan tags: trunk)
11:57
Change an #if into an #ifdef. (check-in: 371bab5d65 user: drh tags: trunk)
2010-03-29
21:22
Pull the experimental file-size-in-header changes into the trunk. (check-in: 0092b36c7b user: drh tags: trunk)
21:13
The btree layer now tracks when a database is empty at the start of a transaction and rolls back to that state. (Closed-Leaf check-in: 01ef6c1944 user: drh tags: experimental)
19:36
Fix issues with the io.test script. There is still a problem with a ROLLBACK TO not working on an initially empty database files. And much more testing is needed. (check-in: 09786e2a51 user: drh tags: experimental)
2010-03-27
17:12
Experimental changes that cause SQLite to use bytes 28..31 of the database header to determine the database size, rather than using the actual database size. This allows database space to be preallocated. (check-in: b844ac6fcb user: drh tags: experimental)
09:44
Increase the estimated cost of using a virtual table as the outer loop of a join when there exists an ORDER BY clause that is not satisfied by the virtual table. Fix for [775b39dd3c]. (check-in: 9e075e70f0 user: dan tags: trunk)
2010-03-26
22:28
Version 3.6.23.1 (check-in: b078b588d6 user: drh tags: release, branch-3.6.23)
21:53
Pull in other fixes from the trunk: check-ins [bea9258643], [f186b6a619], and [bb591802ff]. (check-in: b1f342a664 user: drh tags: branch-3.6.23)
21:48
Fix to the crash8.test test script. (check-in: f18a129a7a user: drh tags: branch-3.6.23)
17:42
Enhance FTS3 to take advantage of the MAX() optimization. Cherrypick of [b7e42ae774]. (check-in: 4b65b48051 user: drh tags: branch-3.6.23)
17:40
Correctly handle strings with zero-length tokens in the FTS3 offsets() function. This is a cherrypick of [d37034f7fc]. (check-in: ff6ae4f0e4 user: drh tags: branch-3.6.23)
17:37
After any rollback that modifies the database file, sync the database before deleting the rollback journal. This is a cherry-pick merge of check-ins [b21b911f23] and [f2326dad4e] (check-in: ca0bc2a22e user: drh tags: branch-3.6.23)
01:54
Fix OOM error on ANALYZE with STAT2 enabled with zero-length data. Ticket [cbd054fa6b]. (check-in: c33b38b59f user: shaneh tags: trunk)
2010-03-24
15:57
Fix for [9861b74ab9]. Correctly handle strings with zero tokens in the fts3 offsets() function. (check-in: d37034f7fc user: dan tags: trunk)
11:55
Attempt to suppress a warning from Borland Code Guard. (check-in: be27897991 user: drh tags: trunk)
2010-03-23
18:24
More commenting and documentation enhancements in FTS3. (check-in: 892e286709 user: drh tags: trunk)
15:46
Fix up obsolete comments in FTS3 to conform to the latest nomenclature. Add new comments to better explain FTS3 operation. (check-in: 3e4a008217 user: drh tags: trunk)
15:29
Close the auxiliary database db2 at the end of the crash8.test script. (check-in: 0fbdc431e8 user: drh tags: trunk)
2010-03-22
23:55
Sync the database file after a rollback. This is a cherrypick merge of check-in [b21b911f23]. (Leaf check-in: 82dd61fccf user: drh tags: branch-3.6.22)
17:38
Add an extra test case for crash recovery. (check-in: f2326dad4e user: dan tags: trunk)
17:13
After a rollback that writes or truncates the database file, sync the database file before invalidating the journal contents. Fix for [015d3820f2]. (check-in: b21b911f23 user: dan tags: trunk)
15:47
Disable the "init.test" test script when compiled with SQLITE_THREADSAFE=0. (check-in: ad68fa65bb user: drh tags: trunk)
04:32
Change the formatting of the preprocessor macros surrounding the compileoption interface in sqlite.h.in. This is so the documentation produced by parsing this part of sqlite.h.in is formatted similarly to the docs for the deprecated interfaces (with the #ifndef visible on the webpage). (check-in: 161958d11f user: dan tags: trunk)
2010-03-19
19:23
Put an ALWAYS() around a condition in pcache.c that must always be true in the current implementation. (check-in: 88810cd091 user: drh tags: trunk)
19:02
Have the xUpdate() method of the rtree module virtual table implementation set the *pRowid output variable when inserting a row. Fix for [dd3ba6063a]. (check-in: f31d22489d user: dan tags: trunk)
16:55
Store the SQLite version number of the last writer in bytes 96..99 of the header. (check-in: 146d4f5d34 user: drh tags: trunk)
16:52
Make sure the in-journal boolean vector is cleared and released when ending a transaction. This fixes an obscure problem with the previous check-in. (check-in: 69d749d93d user: drh tags: trunk)
15:48
Do not create, open, or initialize the rollback journal until something actually needs to be written into the journal. That way, expensive filesystem operations are avoided if the transaction ends up being a no-op. (check-in: b78e58ae15 user: drh tags: trunk)
13:59
Rewrite a couple of queries used internally by FTS3 to take advantage of the "SELECT max(x) FROM ..." optimization. (check-in: b7e42ae774 user: dan tags: trunk)
2010-03-18
16:34
Mark internal routines as "static" in FTS3. Ticket [b1552d0fa7]. (check-in: 39b34ac4a7 user: drh tags: trunk)
2010-03-15
20:53
Improved error message when the right-hand operand of MATCH in FTS3 is not a valid search expression. Ticket [170872f1c3]. (check-in: bea9258643 user: drh tags: trunk)
19:27
Fix FTS3 so that it does not run illegal SQL and cause a spurious log message. Ticket [42d45a693e6]. (check-in: f186b6a619 user: drh tags: trunk)
2010-03-13
02:15
Store the database size in pages in bytes 28..31 of the header. Currently this is for forensic use only, but it might be used in the future. (check-in: 59f75bba02 user: drh tags: trunk)
2010-03-12
16:32
Add assert()s to mem2.c (activated by SQLITE_MEMDEBUG) which verify that memory alloctions that might have come from lookaside are always freed using a lookaside-aware free routine. (check-in: c2af2164cf user: drh tags: trunk)
2010-03-10
23:13
Move the ctime.c source module near the beginning of the list of files inserted into the amalgamation so that #defines that are overridden in other modules will not effect the values returned by sqlite3_compiletime_used(). (check-in: bb591802ff user: drh tags: trunk)
21:42
Add the SQLITE_DBSTATUS_CACHE_SIZE verb for sqlite3_db_status(). The highwater mark does not yet work on this verb. (check-in: 418c6d8113 user: drh tags: trunk)
20:06
Remove the "experimental" markings on most interfaces that have been around for multiple releases. (check-in: d670e8bd51 user: drh tags: trunk)
14:06
Fix typo in a comment in the sqliteInt.h. No changes to code. (check-in: 1716821ddb user: drh tags: trunk)
2010-03-09
19:31
Version 3.6.23 (check-in: 4ae453ea7b user: drh tags: trunk, release)
15:10
Fix a test script issue affecting the TCL backup tests under Windows. (check-in: 20c400e73a user: shaneh tags: trunk)
14:41
Version 3.6.23 release candidate 4 (check-in: 3445eda029 user: shaneh tags: trunk)
14:41
Minor changes to silence compiler warnings on various MSVC builds. (check-in: 115c978b6b user: shaneh tags: trunk)
13:12
Version 3.6.23 release candidate 3 (check-in: 747baea5c3 user: drh tags: trunk)
13:02
Check-in [87a6a9970b] did not completely disable FTS4. This check-in aims to finish the job. (check-in: 0259b6299e user: drh tags: trunk)
12:35
Version 3.6.23 release candidate 2 (check-in: 73f4d292dc user: drh tags: trunk)
12:35
Disable FTS4 (which is incomplete and not ready for publication) to prevent accidental use. (check-in: 87a6a9970b user: drh tags: trunk)
05:01
Version 3.6.23 release candidate 1 (check-in: 30e9f966e7 user: drh tags: trunk)
2010-03-08
21:40
Add NEVER and assert macros and explanatory comments for unreachable conditions. (check-in: ffb6596e6c user: drh tags: trunk)
15:17
Correct an assert() in mem2.c (test code only). (check-in: 1a88e31b03 user: dan tags: trunk)
10:32
Do not run the stmt.test script as part of the inmemory_journal permutation. (check-in: 049cadf92b user: dan tags: trunk)
2010-03-05
20:17
Make sure the dbFileVers field in the Pager object is properly initialized even if there is an I/O error while reading its content off of disk. (check-in: 81ff698f62 user: drh tags: trunk)
18:46
Change a condition in sqlite3VdbeMemShallowCopy() to avoid accessing an unitialized variable (doing so was not dangerous, but caused a valgrind error). (check-in: 4793c381c6 user: dan tags: trunk)
17:27
Fix a one byte buffer overread in fts3. (check-in: 6e3e014af9 user: dan tags: trunk)
16:32
Modify the vdbe so that the comparison operator opcodes do not modify the data type of operands. Fix for [aa92c76cd4]. (check-in: 8858042fa1 user: dan tags: trunk)
13:53
Adjustments to #ifdefs so that the #include of <sys/mount.h> is not included twice, because that confuses the amalgamation builder. (check-in: 27413fc8dd user: drh tags: trunk)
13:41
Adjust some #ifdefs so that the build works on Mac both with and without SQLITE_ENABLE_LOCKING_STYLE. (check-in: 0cc981f1cc user: drh tags: trunk)
2010-03-04
22:36
Second thoughts: Let Tiger users set SQLITE_ENABLE_LOCKING_STYLE=0. Was: Change SQLITE_ENABLE_LOCKING_STYLE to default off, even on Macs, since older Macs (Tiger) cannot compile the latest proxy locking sources. (Closed-Leaf check-in: 1a0fa8d19d user: drh tags: mistake)
17:58
Fix for [9abd6aa831]. Do not overread a buffer used for an %q or %w conversion with a precision specifier. (check-in: 5e472896e0 user: dan tags: trunk)
17:11
Fix an uninitialized variable in printf when compiling with SQLITE_OMIT_FLOATING_POINT. (check-in: 14ad62b9a5 user: drh tags: trunk)
16:12
Suppress harmless compiler warnings. (check-in: fc2c63ac78 user: drh tags: trunk)
00:53
Increase the maximum length of an sqlite3_log() result string. Provide more details on the statement abort log message. (check-in: 5322d1df5b user: drh tags: trunk)
2010-03-03
22:43
Pull the latest Lemon updates from the lemon-update-2010 branch into the trunk. (check-in: 84d760bfc1 user: drh tags: trunk)
22:40
Modify the sqlite3_log() interface and implementation so that it never uses dynamic memory allocation - to avoid deadlocking when called while holding the memory allocator mutex. Cherry-pick merge of [28d1bc98d6]. (check-in: 6f368b5448 user: drh tags: branch-3.6.22)
22:25
Modify the sqlite3_log() interface and implementation so that it never uses dynamic memory allocation - to avoid deadlocking when called while holding the memory allocator mutex. (check-in: 28d1bc98d6 user: drh tags: trunk)
17:09
Fixed compiler warning on Visual Studio. (check-in: 83495128c8 user: icculus tags: lemon-update-2010)
17:06
Whoops, that shouldn't have been in the merge. Removed buggy code. (check-in: 6437280032 user: icculus tags: lemon-update-2010)
17:00
Use Strsafe() instead of strdup(). Fixes Visual Studio complaining. (check-in: 89d8f98ea6 user: icculus tags: lemon-update-2010)
16:54
Merged trunk to lemon-update-2010 branch. (check-in: 88b466bae4 user: icculus tags: lemon-update-2010)
16:02
Fix some extra instances of the constants addressed by [83e47ca006]. (check-in: 0354ab279f user: dan tags: trunk)
15:49
Fix some extra instances of the problematic constant in util.c on the 3.6.1 branch. (check-in: 527c71d54e user: dan tags: branch-3.6.1)
15:34
Merge change [83e47ca006] into the 3.6.1 branch. (check-in: 96bfaf9c8c user: dan tags: branch-3.6.1)
15:18
Factor out constant expressions in sqlite3GetVarint() to work around nuisance warning messages from the RVT compiler. (check-in: 83e47ca006 user: drh tags: trunk)
14:23
Modify the command line tool to disable all mutexes. The command line tool is single-threaded. (check-in: 00e5679047 user: dan tags: trunk)
08:18
Fix another instance of the same warning-inducing expression in util.c. (Closed-Leaf check-in: 80c64e16e3 user: dan tags: mistake)
08:12
Silence a compiler warning by using a constant value instead of a constant expression that some compilers mistakenly believe causes bitshift overflow. (check-in: 587109c81a user: dan tags: mistake)
00:02
When TEMP files are in memory, also put the massive TEMP file used by the VACUUM command in memory. This is a cherry-pick merge of [9daf4e7d07] (check-in: e534223435 user: drh tags: branch-3.6.22)
2010-03-02
23:34
When TEMP files are in memory, also put the massive TEMP file used by the VACUUM command in memory. (check-in: 9daf4e7d07 user: drh tags: trunk)
2010-02-26
22:05
fix merge error and compiler warning (check-in: 5c0afe70a5 user: adam tags: apple-osx)
20:54
More double free paranoia (check-in: 62dfb44b3b user: adam tags: apple-osx)
16:37
Rename the sqlite_compile_option_*() SQL functions to sqlite_compileoption_*() for consistency with the C/C++ interface. (check-in: dd4962aa34 user: drh tags: trunk)
15:39
Remove the compile_option pragma (retaining compile_options - with an "s"). Updates to documentation. (check-in: 733778df99 user: drh tags: trunk)
15:09
Avoid a buffer overwrite that can occur with a corrupt database if secure-delete is enabled. (check-in: 7bdb1e05fa user: dan tags: trunk)
13:07
Avoid incorrect compiler warnings by doing a couple of needless variable initializations. (check-in: 8f29490da6 user: drh tags: trunk)
12:58
Increase the version number to 3.6.23 in preparation for the next release. (check-in: b5835d3e3d user: drh tags: trunk)
01:46
Minor changes to silence some compiler warnings with MSVC. (check-in: 4927c62d62 user: shaneh tags: trunk)
2010-02-25
23:44
Fix to the database connection validity checker. Other test coverage enhancements. (check-in: 0f6291bbbd user: drh tags: trunk)
21:27
Test coverage enhancements. Additional documentation detail on the new sqlite3_log() interface. (check-in: d986e92893 user: drh tags: trunk)
19:09
Add experimental fix for corruption detection problem. This may well be revised yet. (check-in: 1cc4be7ebc user: dan tags: trunk)
16:09
Fixed numbering of a few tests; minor tweaks on others; added a couple new tests to stress previous simplifications to compile-time option reporting functions. (check-in: 9b18dfd19e user: shaneh tags: trunk)
15:28
Minor simplifications to the compile-time option reporting functions and pragmas to facilitate coverage testing. (check-in: 633d874783 user: drh tags: trunk)
14:56
Expire pragma statements when reset, even if they were not run to completion. (check-in: b8fbf4275b user: drh tags: branch-3.6.22)
14:47
Expire pragma statements when reset, even if they were not run to completion. (check-in: 78351d289b user: drh tags: trunk)
14:44
Add some technically unnecessary variable initializations to silence compiler warnings. (check-in: a255059786 user: dan tags: branch-3.6.1)
04:15
Make sure the ON clause of a LEFT JOIN does not cause an index to be used to speed access to a table to the left of the join. Ticket [ebdbadade5] (check-in: f0ae251abb user: drh tags: trunk)
02:32
Merge in all of the logging enhancements. This is a cherrypick merge of the following check-ins: [103321e37a], [a8076aede3], [6d910245ad], [7c4cca6d1a], [edea3bb740], [1a6d4bb130], [a8c984c1d6], [69a493182f], and [1168763d2c]. (check-in: 46f406b202 user: drh tags: branch-3.6.22)
02:11
Fix a segfault that is possible for an OOM fault in ATTACH when in shared-cache mode. This is a cherrypick merge of check-in [e37137376a]. (check-in: f73cc0e9af user: drh tags: branch-3.6.22)
02:04
Enhance integrity_check to detect out-of-order rowids. This is a cherrypick merge of check-in [cae47c5b09]. (check-in: ecd22ef34d user: drh tags: branch-3.6.22)
01:54
Merge in the fix for VACUUM on auto_vacuumed databases with large schemas. Check-in [86d50ce57f]. Ticket [da1151f97df]. (check-in: ce624e39c2 user: drh tags: branch-3.6.22)
01:47
Start a new branch for release 3.6.22 plus limited enhancements and fixes. This first check-in includes the performance enhancements of check-ins [26cb1df735], [61a2c8d4d6], and [27dc5b1c52] (check-in: 9588259882 user: drh tags: branch-3.6.22)
2010-02-24
21:44
Add testcase() macros beside each sqlite3_log() call to make sure it is tested with both logging enable and disabled. (check-in: 1168763d2c user: drh tags: trunk)
19:36
Changes to compile time option diags to report values for some defines. Added test cases to TCL test suite (ctime.test). (check-in: dd480f62af user: shaneh tags: trunk)
19:23
Add a sqlite3_log() call on anonymous constraint failures. Fix the output of test cases having to do with improved reprepare reporting. Fix the VACUUM command to report more helpful error messages when things go wrong. (check-in: 69a493182f user: drh tags: trunk)
18:40
Fix an incorrect ALWAYS() macro in vdbeapi.c. Fix the output of a few test cases that changed due to better error propagation out of reprepare. (check-in: a8c984c1d6 user: drh tags: trunk)
18:25
Remove an unused variable from rtree. (check-in: 8e60d3995a user: drh tags: trunk)
17:15
Enhancements to the way errors are reported up when an automatic statement reprepare fails. (check-in: 1a6d4bb130 user: drh tags: trunk)
15:10
Fix an assertion fault that occurs when two different virtual tables are used in a single UPDATE statement. Ticket [d2f02d37f52b]. (check-in: ff61e0fd80 user: drh tags: trunk)
2010-02-23
21:08
Fix the stmt.test test script so that it works with SQLITE_TEMP_STORE=3. (check-in: 8bf710ce6d user: drh tags: trunk)
20:32
Merge the compile-time option introspection interfaces into the trunk. (check-in: 9f429434c0 user: drh tags: trunk)
20:11
Continuing improvements to error reporting and the sqlite3_log() routine. (check-in: edea3bb740 user: drh tags: trunk)
20:08
Refactored compile time option diagnostic support to use strings identifiers instead of bitmask. (Closed-Leaf check-in: 76a0294ab4 user: shaneh tags: compile_opts)
18:05
Fix a segfault that can occur if a malloc fails in ATTACH in shared-cache mode. (check-in: e37137376a user: dan tags: trunk)
17:36
Remove the obsolete sqlite3SafetyOn() mechanism. Add additional logging output for CORRUPT, and CANTOPEN errors. (check-in: 7c4cca6d1a user: drh tags: trunk)
10:56
Fix a segfault that can occur if a malloc fails in ATTACH in shared-cache mode. (check-in: 875f8fa327 user: dan tags: compile_opts)
10:50
Fix a segfault that can occur if a malloc fails in ATTACH in shared-cache mode. (check-in: d6343d035d user: dan tags: branch-3.6.1)
05:17
Removed checking of some compile options from the sqlite3_compileopts() API. (check-in: 833da702ff user: shaneh tags: compile_opts)
04:19
Test new api to report which options (defines) were used to compile SQLite. (check-in: 84c9756993 user: shaneh tags: compile_opts)
01:47
Add the ".log" command to the shell. This shows that some errors are logged multiple times and other errors are never logged at all. (check-in: 6d910245ad user: drh tags: trunk)
01:01
Remove the ".genfkey" command from the shell. We've had foreign-key support in the core since 3.6.19. Anyone who still needs the simulated foreign-key triggers can always generate them with an older version of the shell. (check-in: c4401fc93b user: drh tags: trunk)
2010-02-22
23:17
Fix an assertion-fault/segfault problem that comes up when trying to VACUUM an auto-vacuumed database with a large schema. Ticket [da1151f97df244]. (check-in: 86d50ce57f user: drh tags: trunk)
19:37
Merge in the massive clean-up and ANSI-fication of Lemon carried out by Ryan Gordon. There are no functional changes to SQLite itself - Lemon still generates exactly the same parsing automaton from exactly the same grammar. (check-in: 1e8b842039 user: drh tags: trunk)
19:32
Log all error messages if logging is enabled. (check-in: a8076aede3 user: drh tags: trunk)
2010-02-19
04:28
Changes to pragma integrity_check to check rowid order. Tests of same in corruptE.test. (check-in: cae47c5b09 user: shaneh tags: trunk)
2010-02-18
18:45
Add a new, experimental logging interface designed to aid in debugging of deeply embedded projects that use SQLite. (check-in: 103321e37a user: drh tags: trunk)
08:19
Allow statements like "REPLACE INTO tbl(rowid) VALUES(...)" to run without a statement journal as long as there are no triggers, foreign keys or indexes. (check-in: 0e42258040 user: dan tags: trunk)
2010-02-17
20:31
Report error if the grammar has multiple %type lines for the same nonterminal. (check-in: 721f33e722 user: icculus tags: lemon-update-2010)
20:22
Fixed % formatting in some printf-style strings. (check-in: f96add898f user: icculus tags: lemon-update-2010)
20:19
Corrected error message (cut-and-paste bug). (check-in: b3839f2aad user: icculus tags: lemon-update-2010)
19:34
Merge latest changes from the trunk into the apple-osx branch. (check-in: 4b72e39bd0 user: drh tags: apple-osx)
17:48
Consistent use of #ifdef for SQLITE_HAS_CODEC to avoid confusion. (check-in: 34a3413a53 user: shaneh tags: trunk)
05:40
Removed unused variables. (check-in: ca570a02f5 user: icculus tags: lemon-update-2010)
04:19
Avoid using the internal printf routine for round(x,y) in the common case where y==0. (check-in: d76ad8b3c4 user: shaneh tags: trunk)
03:57
More rounding tests. (check-in: 3863638b8c user: shaneh tags: trunk)
2010-02-16
22:06
Remove duplicated assignment in realloc. (check-in: c419955df0 user: shaneh tags: trunk)
22:00
Added additional rounding tests. (check-in: b8ee76bc1f user: shaneh tags: trunk)
16:09
Removed %expect directive, on drh's advice. (check-in: b43ac3309e user: icculus tags: lemon-update-2010)
16:07
Patched to compile. Accidentally removed va_list declaration. (check-in: 673d470c0c user: icculus tags: lemon-update-2010)
12:18
Change a C++ style comment in os_unix.c to use normal C style commenting. (check-in: 7a1933097f user: dan tags: trunk)
10:59
Fix for [e9a9fde1f4]. When opening an existing rtree, determine the node size by inspecting the root node of the r-tree structure (instead of assuming it is a function of the page-size). (check-in: ebc9433fdd user: dan tags: trunk)
2010-02-15
18:03
Fix the ALTER TABLE RENAME command so that it converts FOREIGN KEY constraints in ATTACH-ed and in TEMP tables as well as in the main database. Ticket [13336e9c3c8c3f]. (check-in: ab197d0aaf user: drh tags: trunk)
16:54
When creating a trigger on a main database table when there is a TEMP table with the same name, make sure the trigger is bound to the main table. Ticket [985771e11612]. (check-in: ec914af326 user: drh tags: trunk)
15:47
Fix a compiler warning in shell.c. Updates to comments in trigger.c. (check-in: c727601eec user: drh tags: trunk)
15:17
Fix a typo in the documentation for the OP_OpenPseudo opcode. (check-in: 9acfb06940 user: drh tags: trunk)
00:01
Removed the 80-char line formatting for ErrorMsg(), on dhr's suggestion. (check-in: 132ea4e5d7 user: icculus tags: lemon-update-2010)
2010-02-14
17:14
Make Lemon able to compile as C++ code. (check-in: 75a1060b29 user: icculus tags: lemon-update-2010)
05:42
Added option to not clip error output.

This is useful for IDEs and other tools that benefit from full path information, so they can jump directly to the error line in the source code. (check-in: 90602030d1 user: icculus tags: lemon-update-2010)

05:34
Delete output files if this is a failed run.

Otherwise, the fail will stop a Makefile from progressing, but if you immediately run the build again, Make will think the output files are up to date, since they are newer (albeit incomplete/incorrect). (check-in: e38c08d9cd user: icculus tags: lemon-update-2010)

05:19
Added %expect directive, to consider a certain number of conflicts "correct."

This has the side effect of changing the process exit code to never overflow. (check-in: d8bab8cf0b user: icculus tags: lemon-update-2010)

00:48
Added -T option, to specify a template filename on the command line.

The default is still "lempar.c", though. (check-in: e6cbe1e5ee user: icculus tags: lemon-update-2010)

2010-02-13
02:31
Merged tracing and initialization changes from mutex_unix.c into mutex_w32.c. (check-in: 942aa1f6a9 user: shaneh tags: trunk)
2010-02-12
22:43
Added experimental mutex implementation using interlocked ops and spin locks. (Closed-Leaf check-in: f3676b243d user: shaneh tags: experimental)
19:46
Enhancements to the secure_delete pragma to make it easier to use. (check-in: 2bb38bb96f user: drh tags: trunk)
18:18
Allow the secure-delete setting to be changed at run-time using a pragma. The SQLITE_SECURE_DELETE compile-time option determines the default setting. (check-in: f72f8a870a user: drh tags: trunk)
2010-02-10
05:33
Fix a segfault in fts3 that may occur if the snippet, offsets or matchinfo functions are used in a query that does not contain a MATCH clause. (check-in: 14ab536a96 user: dan tags: trunk)
2010-02-05
18:00
Make sure file descriptors are closed before unlinking in VxWorks. (check-in: f64b81f13d user: drh tags: trunk)
16:28
Avoid truncating non-in-memory sub-journals when releasing a savepoint for a small performance improvement. (check-in: 27dc5b1c52 user: shaneh tags: trunk)
14:12
Remove the use of 64-bit math in the offset computations of the OP_Column opcode for a small performance improvement. (check-in: 61a2c8d4d6 user: drh tags: trunk)
2010-02-04
17:38
Fix a performance glitch that appears for large transactions. (check-in: 26cb1df735 user: drh tags: trunk)
2010-02-03
19:55
Add a new full-text search variant that tracks the total number of documents and document sizes, to make ranking search results easier. Currently called FTS4. (check-in: 1b6e6094c8 user: drh tags: trunk)
2010-02-01
15:47
Add log.c. (Closed-Leaf check-in: 7b31373f6f user: dan tags: wal)
15:47
Create new branch named "wal" (check-in: 784b718ec3 user: dan tags: wal)
2010-01-31
15:14
Fix a C++-ism that snuck into sqlite3_finalize(). (check-in: fb96f2a2c6 user: drh tags: trunk)
14:18
If an OOM occurs while setting the page size for the TEMP database, be sure that error gets reported back out to the interface layer. (check-in: 6487e70a1e user: drh tags: trunk)
2010-01-30
23:08
The iInUseDB and iInUseMM variables do not need to be volatile. (Leaf check-in: bb18f57852 user: drh tags: branch-3.5.9)
22:28
Always hold the MEM2 mutex when initially marking a pager as in use by its database connection. (check-in: 622c17177a user: drh tags: branch-3.5.9)
19:17
Avoid a race condition in the sqlite3_release_memory() logic within pager.c. (check-in: a718e66347 user: drh tags: branch-3.5.9)
19:00
Remove all cache pages from the LRU list prior to removing the pager from the pager list when closing a pager. (check-in: 9d13acc449 user: drh tags: branch-3.5.9)
18:22
Add additional pagerMutexHeld() macros to better verify the correct operation of pager.c. (check-in: c50e972f1b user: drh tags: branch-3.5.9)
2010-01-29
21:23
Fix a missing mutex on page cache truncation during vacuum and auto-vacuum when SQLITE_ENABLE_MEMORY_MANAGEMENT is engaged. (check-in: ea3b941a71 user: drh tags: branch-3.5.9)
19:50
Additional changes suggested by Rob Stoddard. (Closed-Leaf check-in: 228b8ad9dd user: drh tags: branch-3.5.9)
19:46
Changes to 3.5.9 proposed by Rob Stoddard. (check-in: 5ed168c48e user: drh tags: branch-3.5.9)
2010-01-28
19:56
Tweaks for consistency to the SEE and CEROD API declarations in sqlite3.h. (check-in: 299f74567b user: shaneh tags: trunk)
2010-01-26
01:25
Make the TEMP file tables use the page size set for the main database. Ticket [b80eeab588c4]. Also copy over the changes from apple-osx check-in [7c3bede3f2]. (check-in: 5dcfb0c9e4 user: drh tags: trunk)
01:14
Updated open mask to include SQLITE_OPEN_AUTOPROXY (check-in: 7c3bede3f2 user: adam tags: apple-osx)
2010-01-22
15:48
Fix two similar problems in fts3 that meant that an OOM error could cause a memory leak. (check-in: 701ef64b3d user: dan tags: trunk)
2010-01-21
23:11
Fix a segfault that can occur when the LHS of a LIKE operator has an undefined collating sequence. Ticket [1258875e07553]. (check-in: a82e6b4585 user: drh tags: trunk)
01:53
Redesign the string to numeric value caster so that it is more likely to work on unusual floating point hardware. (check-in: 8bb1104c6f user: drh tags: trunk)
2010-01-20
14:25
Fix a problem with handling OOM errors in fts3. (check-in: f9c54e95ec user: dan tags: trunk)
13:20
Align the os_unix.c source file with the version found on trunk. (check-in: fa0f6c140e user: drh tags: apple-osx)
13:07
Move the Apple OS-X VFS changes into the trunk. (check-in: 571594bfbe user: drh tags: trunk)
01:26
Update the Apple OS-X branch to include all of the latest changes in trunk. (check-in: 96499b1dd6 user: drh tags: apple-osx)
01:20
Manually copy over the rebustness fixes from the apple-osx branch. (check-in: 095c74ea62 user: drh tags: trunk)
2010-01-19
23:50
robustness fixes for preventing a finalized statement from being reused (check-in: a7a0c8d644 user: adam tags: apple-osx)
2010-01-18
18:17
Fix a problem with the CLI where not all SQL commands were being echoed. Added tests of same to tools/shell2.test. Ticket [eb620916be]. (check-in: 7080ae3bc3 user: shaneh tags: trunk)
2010-01-15
17:33
Fix test numbering in fts3snippet.test. (check-in: 34f6854685 user: dan tags: trunk)
17:25
Add coverage tests for fts3_snippet.c. Also fixes related to the same. (check-in: 5e9d8ccae9 user: dan tags: trunk)
2010-01-14
11:45
Add a test to e_fts3.test for the matchinfo example in fts3.html. (check-in: e5336edc55 user: dan tags: trunk)
11:17
Fix some matchinfo related test problems in fts3rnd.test. (check-in: da7abe0588 user: dan tags: trunk)
00:39
Comment cleanup in sqliteInt.h. (check-in: 67c3aea563 user: drh tags: trunk)
2010-01-13
17:39
Make the sqlite3IsNaN() function a macro that evaluates to FALSE when compiled with SQLITE_OMIT_FLOATING_POINT. (check-in: 56f232d562 user: drh tags: trunk)
16:43
When SQLITE_OMIT_FLOATING_POINT is defined, the floating-point formats in the sqlite3_*printf() functions should pull an int64 off of the parameter list and ignore it. (check-in: 3fd6f9ad06 user: drh tags: trunk)
16:25
When SQLITE_OMIT_FLOATING_POINT is defined, make sure the result of a mathematical operation is always tagged as an integer. (check-in: e12da0d316 user: drh tags: trunk)
15:15
Make the doubleToInt64() routine a pass-through when using OMIT_FLOATING_POINT. (check-in: 417167182e user: drh tags: trunk)
14:08
Add tests to backup.test to verify that SQLite behaves as expected when the source database is modified mid-backup. (check-in: 985d3bec07 user: dan tags: trunk)
04:22
Comment out unused code when SQLITE_OMIT_FLOATING_POINT is selected. Added testcase() macros to boundary conditions in util.c routines. (check-in: dfc6595d34 user: drh tags: trunk)
00:04
Make the sqlite3_result_double() interface work the same as sqlite3_result_int64() when SQLITE_OMIT_FLOATING_POINT is defined. (check-in: 61df598660 user: drh tags: trunk)
2010-01-12
23:54
Make sure internal queries are well ordered, even when the reverse_unordered_selects pragma is in effect. Ticket [eb942c64a157]. (check-in: 0209f17180 user: drh tags: trunk)
19:28
Fix the implementation of CURRENT_TIMESTAME and CURRENT_DATE when SQLITE_OMIT_DATETIME_FUNCS is defined. (check-in: eb98265b59 user: drh tags: trunk)
17:57
Update comments in fts3_snippet.c. (check-in: dd9689b7c3 user: dan tags: trunk)
17:04
Use #ifdefs to disable unused code when SQLITE_OMIT_FLOATING_POINT is defined. (check-in: 66bab85619 user: drh tags: trunk)
2010-01-11
18:26
Add a few documentation evidence comments to the built-in function implementations. (check-in: 8bd0f8147d user: drh tags: trunk)
12:00
Modify snippets code to run more efficiently. And to avoid a bug relating to snippets based on full-text queries that contain duplicate terms. (check-in: a2b1183d9e user: dan tags: trunk)
2010-01-09
07:33
Fix handling of an OOM error in the fts3 offsets() function. Fix a couple of snippet related test cases in e_fts3.test. (check-in: 14dc46a74a user: dan tags: trunk)
2010-01-08
23:01
Update comments in fts3.c to more accurately describe the doclist format. (check-in: e424a03073 user: drh tags: trunk)
04:50
Added option to restore_jrnl.tcl utility to hex dump journal pages. (check-in: 08c545f030 user: shaneh tags: trunk)
2010-01-07
22:02
Minor tweaks to restore_jrnl.tcl utility script. (check-in: b97aca1200 user: shaneh tags: trunk)
21:49
Small tool that attempts to repair a journal header. (check-in: 05b18b5f6a user: shaneh tags: trunk)
15:17
Fix the expression comparison logic to take the COLLATE operator into account. Ticket [360c6073e197] (check-in: 44bb1bfe5d user: drh tags: trunk)
11:27
Changes to test code so that testfixture compiles when OMIT_SHARED_CACHE and OMIT_UTF16 are defined. (check-in: d6ee5ff6c8 user: dan tags: trunk)
10:54
Fixes to problems in FTS3 snippet() function found by th3 tests. (check-in: 3b5ccd2682 user: dan tags: trunk)
03:53
Another attempt at fixing the table generator in lemon. Again, this does not effect the SQLite grammar. (check-in: e22c090f35 user: drh tags: trunk)
2010-01-06
18:36
Fix a segfault that can occur following an OOM in the FTS3 snippet() function (check-in: c7e5966e3b user: dan tags: trunk)
17:19
Change the fts3 snippet function to return (hopefully) more relevant snippets in less time. (check-in: 8a208223a7 user: dan tags: trunk)
13:12
Update the OS-X branch to include all trunk changes through version 3.6.22. (check-in: 541e2b488e user: drh tags: apple-osx)
13:07
Fix an issue with lemon generating incorrect grammars. This issue does not effect SQLite. (check-in: 077a6bee2d user: drh tags: trunk)
00:00
Version 3.6.22 (check-in: 28d0d77107 user: drh tags: trunk, release)
2010-01-05
18:11
Apply fix [9b8acf8319] to the 3.6.1 branch. (check-in: 62b4891b15 user: dan tags: branch-3.6.1)
18:06
Apply fix [097737e368] to the 3.6.1 branch. (check-in: 9f819ea6b2 user: dan tags: branch-3.6.1)
14:18
Removed compiler warnings in MSVC. (check-in: 4ecb4725b7 user: shaneh tags: trunk)
13:40
Make sure new pages are zeroed even when loading a freelist page using the noContent option. This prevents a harmless valgrind warning. (check-in: e47e213369 user: drh tags: trunk)
04:59
Fix a problem in the shell tool. In some cases sqlite3_errmsg() was being called before sqlite3_finalize(), causing error messages to be more generic than they should be. (check-in: e5d07045fa user: dan tags: trunk)
03:30
In the debugging memory allocator, initialize new memory allocations to pseudo-randomness in an effort to find problems with memcmp() of structures that have uninitialized pad bytes. (check-in: 6462817b2f user: drh tags: trunk)
00:14
Fix a case in os_unix.c where two structures that might have uninitialized padding bytes are compared using memcmp(). (check-in: e02f255602 user: drh tags: trunk)
2010-01-04
13:30
Version 3.6.22 Release Candidate 1 (check-in: 9d8ab0f1f5 user: drh tags: trunk)
2010-01-02
19:02
Add experimental implementation of FTS3 functions matchinfo() and snippet() (not enabled by default). (check-in: 51f7ee8440 user: dan tags: trunk)
03:46
Fix a bug in the new sqlite3_test_control case of the previous check-in. (check-in: 3b77701bc8 user: drh tags: trunk)
03:21
Add a new sqlite3_test_control() verb that facilitates testing that all keywords are shown in the documentation. (Two keywords were found to be missing while testing the change.) (check-in: d3cdc4b12b user: drh tags: trunk)
2010-01-01
18:57
Add evidence marks associated with autoincrement. (check-in: 0e918c5489 user: drh tags: trunk)
2009-12-31
20:35
Add comments and an assert() to help clarify the operation of the sqlite3VdbeList() routine used to implement EXPLAIN. (check-in: e1ccdb93d7 user: drh tags: trunk)
19:48
Minor changes to test scripts to support various SQLITE_OMIT options. (check-in: 97f8a886b6 user: shaneh tags: trunk)
19:06
Changes to remove warnings in MSVC build. (check-in: 6cf76c2ae2 user: shaneh tags: trunk)
15:51
Change evidence marks to track requirement number changes in the foreign-key documentation. (check-in: 6b4fcd81e7 user: drh tags: trunk)
2009-12-30
14:19
Change the version number to 3.6.22. (check-in: 96919a46bb user: drh tags: trunk)
14:12
Adjustments to column cache handling in order to restore 100% branch test coverage. (check-in: cc6b959bc1 user: drh tags: trunk)
01:13
Remove some code in the column cache that is no longer used. Replace it with an assert(). (check-in: 1f890efb78 user: drh tags: trunk)
00:12
Remove obsolete comment text from expr.c. No functional code changes. (check-in: 84058be0be user: drh tags: trunk)
2009-12-29
23:39
Within the special new.* and old.* tables of a trigger, recognize all the original table names even if those names overload the "rowid", "oid", or "_rowid_" special names. Ticket [34d2ae1c6d0]. (check-in: 1a0e5fa9f0 user: drh tags: trunk)
10:32
Fix a bug triggered by optimizing an FTS3 table when there are no segments on disk but pending terms in the hash table. (check-in: a3b50e4f80 user: dan tags: trunk)
2009-12-24
16:00
Immediately purge entries from the column cache when the associated register undergoes an affinity change. Ticket [eb5548a849]. Enhance the SQLITE_TESTCTRL_OPTIMIZATIONS setting of sqlite3_test_control so that it can disable the column cache for testing purposes, in an effort to prevent future problems of a similar nature to this one. (check-in: ea4e57e1c1 user: drh tags: trunk)
2009-12-23
18:06
Fix the main.mk makefile so that the sqlrr extension is built into the amalgamation correctly. (check-in: a3204d8a21 user: drh tags: apple-osx)
2009-12-22
23:52
Move the query flattener turn-off from a pragma to an sqlite3_test_control() call. Make provisions (not yet implemented) to turn off other optimizers using the same call. (check-in: 4a97c623f4 user: drh tags: trunk)
18:56
Add the experimental FTS3 matchinfo() function. Provides details of the match that may be used for result ranking and other purposes. (check-in: 37a1de02d1 user: dan tags: trunk)
00:29
Add a pragma to disable the query flattener - for use during testing. (check-in: 1d8550e5c8 user: drh tags: trunk)
2009-12-21
08:53
Change many comments in e_fkey.test to include the full text of the corresponding statement in foreignkeys.html. (check-in: 4b489ecb25 user: dan tags: trunk)
2009-12-20
15:00
Fix a problem in FTS3 phrase queries. Add tests to check that it really is fixed. (check-in: 956de051f4 user: dan tags: trunk)
2009-12-17
22:17
Modified statement machine in sqlite3_complete() to return 0 on empty string. Added/updated tests for same. Ticket [356c885b0b]. (check-in: 76eca7295c user: shaneh tags: trunk)
22:12
Fixed some TCL test cases to work if SQLITE_OMIT_TRIGGER is defined. (check-in: 85e3c73497 user: shaneh tags: trunk)
21:07
Updated and added new test cases for CLI. (check-in: 29e3c8da1b user: shaneh tags: trunk)
21:07
In shell.c (CLI), modified local_getline() to remove '\r' as well as '\n' from end of lines. This provides consistency between MSVC and CYGWIN builds. (check-in: b1b48be1cf user: shaneh tags: trunk)
21:05
Fix typo in comment of prepare.c. (check-in: 333c3ffe6d user: shaneh tags: trunk)
03:49
Disable trace when recursively running commands while vacuuming. (check-in: 69a1348a3c user: drh tags: trunk)
02:13
Change the REGEXP function in ICU to require exactly 2 arguments. (check-in: c34cf23efb user: drh tags: trunk)
2009-12-16
23:46
Merge the latest changes on trunk (and especially the fix for the (xANDy)OR(z) bug) into apple-osx. (check-in: 5754a3a561 user: drh tags: apple-osx)
23:43
Remove unreachable code that was added by the fix to the "(xANDy)OR(z)" bug in the previous check-in. (check-in: 04915562a0 user: drh tags: trunk)
23:28
Fix for the "(x AND y) OR z" bug backported to version 3.6.21. (Leaf check-in: 867347323b user: drh tags: branch-3.6.21)
22:10
Ensure WHERE clause terms involving tables on the right end of a join are not prematurely evaluated when tables on the left end of the join make use of the OR-clause optimization. Fix for ticket [31338dca7e]. (check-in: 2c2de25266 user: drh tags: trunk)
14:49
Modify some comments in e_fkey.test. No changes to code or tests. (check-in: 1ba4f41232 user: dan tags: trunk)
2009-12-14
17:42
Add a few simple evidence comments to the tokenizer. No functional changes. (check-in: 0daec3099d user: drh tags: trunk)
15:17
Handle an unhandled OOM error code that occurs in fts3 with SQLITE_TEST defined. (check-in: 82b069998e user: dan tags: trunk)
14:49
Fix a broken assert() in fts3_write.c. Also fix a couple of compiler warnings in fts3 code. (check-in: a730a05b39 user: dan tags: trunk)
2009-12-13
23:03
Additional corrections to documentation comments. No functional code changes. (check-in: b3740b0aa0 user: drh tags: trunk)
22:20
Minor documentation updates. No functional changes. (check-in: 6ae7e40ba0 user: drh tags: trunk)
2009-12-12
23:57
Fix some documentation comments in sqlite.h.in. No functional code changes. (check-in: c16b9bec77 user: drh tags: trunk)
19:15
Tests to cover a few extra branches in fts3.c. (check-in: 06b72b0073 user: dan tags: trunk)
16:04
Further fts3 coverage tests. (check-in: d2a8c0f683 user: dan tags: trunk)
13:58
Rename tkt-d82e3f3721.txt to use the (correct) .test suffix. (check-in: 68cccd62b7 user: drh tags: trunk)
13:16
Extra tests for coverage of fts3 code. (check-in: eee921a99e user: dan tags: trunk)
09:51
Add coverage test cases for fts3. (check-in: 8fcb0478c8 user: dan tags: trunk)
2009-12-11
23:11
Additional changes to C-language interface documentation. (check-in: 1342916fd3 user: drh tags: trunk)
16:03
Change the fts3 test interface used to configure the advisory node size parameter. (check-in: 87fc0ce151 user: dan tags: trunk)
12:29
Rationalize some code in fts3 used by optimize operations, queries of the pending-terms hash table and segment merges. Add the "INSERT INTO tbl(tbl) VALUES('optimize')" syntax. (check-in: 29476da353 user: dan tags: trunk)
07:07
Add comment to fts3rnd.test to explain how the test works. (check-in: 6b740c7cd5 user: dan tags: trunk)
03:44
Extensive edits to the comments in the sqlite.h.in source file to identify testable statements of truth about the C-language interface. (check-in: ea884e1ed8 user: drh tags: trunk)
2009-12-10
21:11
Avoid declaring and freeing test variables if SQLITE_TEST not defined. (check-in: c2d22960f6 user: shaneh tags: trunk)
18:38
Remove some unused macros and types from fts3.c. (check-in: 83a80efe8a user: dan tags: trunk)
18:29
Fix handling of "WHERE col MATCH ? AND docid = ?" clauses in fts3. (check-in: 6cbbae8499 user: dan tags: trunk)
18:20
Fix an OOM related problem in the snippet() and offsets() functions of fts3. (check-in: 61efff4142 user: dan tags: trunk)
16:04
Changes to fts3 to avoid flushing data to disk within a SELECT statement. (check-in: 48c0db0eb2 user: dan tags: trunk)
01:17
Only declare the sqlite3_mutex_held() and sqlite3_mutex_notheld() interfaces in the header file if NDEBUG is not defined. (check-in: ee9b1c05a7 user: drh tags: trunk)
2009-12-09
21:43
Restore the incorrect legacy ON INSERT syntax to the parser as a no-op. That way, older databases that actually use this meaningless syntax will still be readable. (check-in: 54b955c36b user: drh tags: trunk)
18:22
Added test cases for the multi-way USING and NATURAL JOIN fix. Ticket [f74beaabde]. (check-in: 0b34ab2562 user: drh tags: trunk)
17:36
The USING clause and NATURAL JOIN look at all tables to the left when searching for a match, not just the one table to the immediate left. Tables further to the left are preferred. Fix for ticket [f74beaabde]. Still need to add test cases to complete the ticket. (check-in: b558e96f0a user: drh tags: trunk)
14:39
Improve test coverage of fts3.c. (check-in: 56b6432f86 user: dan tags: trunk)
05:30
Mark fts3ReallocOrFree and fts3InitVtab as static. Ticket [ff44d82f3b]. (check-in: a9038306c3 user: dan tags: trunk)
2009-12-08
22:16
Change to order of two branches in vtab.c in order to a restore 100% test coverage. (check-in: fdfdc777c5 user: drh tags: trunk)
19:58
Add comments to better explain the two-pass memory allocation approach for prepared statements. (check-in: 0e5e18ea12 user: drh tags: trunk)
19:05
Add tests to improve coverage of fts3. Associated bugfixes. (check-in: f0eac4175a user: dan tags: trunk)
15:35
Avoid pointer aliasing in the allocSpace() routine in vdbeaux.c. (check-in: d6ae275122 user: drh tags: trunk)
15:16
Begin updating API documentation to use the new MD5-hash based automatic requirements numbering. Comment changes only. Many similar changes will follow. (check-in: 973c5c86ee user: drh tags: trunk)
14:34
Allow zero-length names for tables, columns, and indices. Fix for ticket [78e04e52eaf]. (check-in: 7b1cfd65a6 user: drh tags: trunk)
13:44
Add test cases for ticket [abe728bbc311]. (check-in: 4eb9bf0b93 user: drh tags: trunk)
13:36
Avoid dereferencing a null pointer when doing a multi-database comment where one or more of the databases is an ATTACH-ed TEMP database. Ticket [abe728bbc311d]. (check-in: f43e37e0a4 user: drh tags: trunk)
02:06
Add evidence marks for the abs() and soundex() SQL functions. (check-in: 003f3ed10c user: drh tags: trunk)
2009-12-07
23:53
Merge all changes associated with the version 3.6.21 release into the OS-X branch. (check-in: ad08794d72 user: drh tags: apple-osx)
16:39
Version 3.6.21 (check-in: 1ed88e9d01 user: drh tags: trunk, release)
16:26
Remove a redundant line from fts3. (check-in: cd50acf37f user: dan tags: trunk)
16:23
Add extra tests for parsing of whitespace in tokenizer declarations,. (check-in: 5030ba2e30 user: dan tags: trunk)
16:18
Move some SQLITE_TEST code down to avoid mixing code and variable declarations. Fix a test for high-order bit handling in sqlite3Fts3InitTokenizer(). (check-in: fad43d290f user: shaneh tags: trunk)
14:48
Version 3.6.21 release candidate 2. (check-in: 78f6baffb0 user: drh tags: trunk)
12:34
Add some tests for OR, AND and NOT operations to fts3rnd.test. Add tests to check that errors are returned when bad arguments are passed to fts3 functions snippet, offsets and optimize. Minor fix for the same (check-in: 5811df3f04 user: dan tags: trunk)
2009-12-06
03:35
Enhanced detection of database corruption in btree.c:allocateSpace(). (check-in: 5a511f9887 user: drh tags: trunk)
2009-12-05
18:34
Fix to check-in [f221f31eff]: Make sure local variable rc is declared even when compiled without SQLITE_DEBUG. (check-in: 7a9a35327c user: drh tags: trunk)
18:16
Add test case for the obscure corruption detection added by the previous commit. (check-in: f221f31eff user: dan tags: trunk)
18:03
Catch an obscure case of database corruption. (check-in: 0f9b17a6da user: dan tags: trunk)
14:29
Fix another bug in 3-way NEAR queries. (check-in: 3bb13a0652 user: dan tags: trunk)
11:37
Fix some problems with FTS3 and 3-way NEAR queries. (check-in: 23dc6fb5b2 user: dan tags: trunk)
2009-12-04
23:10
Add the SQLITE_4_BYTE_ALIGNED_MALLOC compile-time option which tells some assert() statements that the underlying system only requires 4-byte alignment of 8-byte data objects like double or int64 and that system malloc() only guarantees 4-byte alignment of returned pointers. (check-in: 08faee686e user: drh tags: trunk)
22:51
Remove an assert() in btree.c:releasePage() that is not necessarily true when the btree is recovering from an OOM that occurs in the middle of a balance(). (check-in: 04fc9c7661 user: drh tags: trunk)
19:07
Fix a problem involving a 3-way NEAR query. (check-in: 507890a913 user: dan tags: trunk)
14:25
In the OSTRACE debugging macros in os_unix.c, identify the VFS currently in use. (check-in: 082b8da005 user: drh tags: trunk)
14:11
Modify [2ad1461f25] to avoid leaving a prepared statement in "active" state following an OOM error in FTS3. (check-in: 69c21ee46a user: dan tags: trunk)
13:43
Fix an FTS3 problem where an OOM error was not being propagated back out to the top-level interface. (check-in: 2ad1461f25 user: drh tags: trunk)
08:41
Reset the state of the asynchronous IO module at the end of the tkt-94c04eaadb.test script. (check-in: e8ae7e9897 user: dan tags: trunk)
05:41
Do not run fts3rnd.test as part of quick.test. (check-in: 3bb64842ac user: dan tags: trunk)
01:44
Clear a conflicting TCL variable in the fts3rnd.test test script. (check-in: f9047b2e88 user: drh tags: trunk)
2009-12-03
21:26
Fix an assert() in btree.c that might have fired on a corrupt database file. (check-in: 5ab2b3e300 user: drh tags: trunk)
19:40
Remove a NEVER() from btree.c that could occur in a very obscure tested evaluation with an I/O error on fstat(). (check-in: d5861d9ffe user: drh tags: trunk)
17:36
Fix an incorrect assert() in fts3.c. Add further fts3 tests. (check-in: 75863c2d55 user: dan tags: trunk)
06:26
Updates to FTS3 to correct compiler warnings under MSVC. (check-in: 37495b55ff user: shaneh tags: trunk)
04:40
Fix a couple of compiler warnings under MSVC. (check-in: e3aa0870fc user: shaneh tags: trunk)
04:32
Fix cut-and-paste error affecting a couple of attach tests on Windows. (check-in: 59e2e2c630 user: shaneh tags: trunk)
01:01
Add links from C/C++ interfaces to their equivalent SQL functions. Comment changes only - no changes to code. (check-in: acce10f771 user: drh tags: trunk)
2009-12-02
20:25
Change an error message in FTS3 to avoid using an uninitialized variable. (check-in: 620a8a2b38 user: drh tags: trunk)
18:16
Fix an uninitialized value read in sqlite3async.c. (check-in: 1cf2136c39 user: dan tags: trunk)
18:03
Fix compiler warnings in test_hexio.c. (check-in: 6a2e0725c2 user: drh tags: trunk)
16:09
Modify a test in fts3b.test to reflect the fact that the docid field may now be updated. (check-in: ef5b745029 user: dan tags: trunk)
14:44
Clear the Pager.dbModified flag when unlocking the database. Assert that it is clear when locking the database. (check-in: d17ec16b7c user: dan tags: trunk)
02:49
Make sure a variable is cleared before use in the where8.test script. (check-in: b34365296d user: drh tags: trunk)
2009-12-01
22:09
Add testcase() macros to make sure boundary cases in BEFORE UPDATE triggers are well tested. (check-in: 27175caa28 user: drh tags: trunk)
18:46
Fix a faulty function prototype in test_intarray.c. (check-in: 110956a650 user: drh tags: trunk)
17:08
Use #include "sqlite3.h" instead of <sqlite3.h> in fts3Int.h. (check-in: 7737db490c user: dan tags: trunk)
17:05
Add typedefs for i16 and u8 to fts3Int.h when not building via the amalgamation method. (check-in: fa56c1c472 user: dan tags: trunk)
15:04
Add tests for the remaining examples in fts3.in. (check-in: e381cd5229 user: dan tags: trunk)
14:31
Reorder function declarations in mutex_os2.c. This is a blind change - we have no capability of testing on OS/2. Ticket [97214a34d814] (check-in: c40e4ef094 user: drh tags: trunk)
13:57
Changes to the TCL interface header to allow it to be compiled independently from the amalgamation. (check-in: 58113932d9 user: drh tags: trunk)
13:48
Open a savepoint within the FTS3 optimize() function. (check-in: 4924fbb244 user: dan tags: trunk)
12:00
Fix a segfault that can occur when querying an empty FTS3 table. Also restore the rowid/docid conflict handling to work as it did in version 3.6.20. (check-in: c022f66b5a user: dan tags: trunk)
2009-11-30
19:48
Test coverage improvements in the FTS3 porter stemmer. (check-in: 6d112bfd53 user: drh tags: trunk)
08:55
Add test cases for examples recently added to documentation file fts3.html. (check-in: 498922cc35 user: dan tags: trunk)
2009-11-28
21:33
Updates to snippet() and offsets() functions of FTS3 so that they work sanely following an OOM fault. (check-in: b939a37a8c user: drh tags: trunk)
17:23
Change FTS3 to detect when the RHS of the MATCH opertor encounters an OOM during string format conversion and report back an SQLITE_NOMEM error. (check-in: 31eed4f8f9 user: drh tags: trunk)
17:07
Remove all benign OOM failure opportunities from the FTS3 hash table implementation. All OOM faults cause SQLITE_NOMEM to be returned. (check-in: 80754d383a user: drh tags: trunk)
15:35
Add a test case for creating an FTS3 table with no module arguments or opening/closing brackets in the CREATE VIRTUAL TABLE statement. (check-in: a9cba7ea0a user: dan tags: trunk)
13:46
Initialize a variable (unnecessarily) to avoid a compiler warning. (check-in: db65fd5913 user: drh tags: trunk)
12:40
Fix a bug introduced by the fts3 refactoring (segfault when creating a table with zero module args). Also a fix to handle an OOM error. (check-in: eada284bc1 user: dan tags: trunk)
2009-11-27
18:31
Change the test numbers in e_fkey.test so that they are in order. (check-in: ca73be44cc user: dan tags: trunk)
12:14
Remove a C++ism accidentally added to fts3.c. (check-in: 97d3324160 user: dan tags: trunk)
12:12
Move [7d30880114] to the trunk. Add optimizations to reduce the number of opcodes used for BEFORE UPDATE triggers. (check-in: 1b7c5250cc user: dan tags: trunk)
2009-11-26
14:01
Simplifications to the sqlite3_trace() bound parameter substitution logic. (check-in: cb4b928648 user: drh tags: trunk)
2009-11-25
22:42
Make sure the new fts3Int.h header file is added to the amalgamation. (check-in: f25558f333 user: drh tags: trunk)
21:05
Support zeroblob in trace output. (check-in: 5086bf8e83 user: drh tags: trunk)
19:35
Get trace with parameter insertion working for UTF16 databases. (check-in: 01d5451af0 user: drh tags: trunk)
18:03
Initial check-in of code that inserts tokenizations of the values for bound parameters into the output of sqlite3_trace(). (check-in: 545cfb3b63 user: drh tags: trunk)
16:53
Enhance the %q, %Q, and %w printf conversions so that the precisions specifies the length of the input. (check-in: 3ba773132d user: drh tags: trunk)
2009-11-24
19:02
Recomputed unchanged column values in an UPDATE statement after running BEFORE triggers, in case the triggers have modified any of those values. (Closed-Leaf check-in: 7d30880114 user: drh tags: experimental)
16:26
Fix a tracing macro in the VDBE in the VColumn opcode. (check-in: cb74b81bb0 user: drh tags: trunk)
02:37
Fix SQLITE_SECURE_DELETE so that it overwrites content on the root pages of tables and indices that are dropped using the truncate optimization. (check-in: 02ef972a56 user: drh tags: trunk)
2009-11-23
21:23
Make sure registers computed for the VFilter opcode are marked invalid after the VFilter opcode finishes. Ticket [16fbf14cb2]. (check-in: 83dc7d38c2 user: drh tags: trunk)
15:59
Rearrange the order of two branches in order to restore 100% branch coverage after recent changes to in-memory database processing. (check-in: 6ce6ff4402 user: drh tags: trunk)
14:39
Change so that deleting an Expr structure requires only one frame per level in the expression tree, not two. (check-in: a4380ab326 user: dan tags: trunk)
13:17
Bump the version number to 3.6.21. (check-in: 39214aee65 user: drh tags: trunk)
2009-11-21
03:03
Add some missing comments to fts3 files. No source code changes. (check-in: b6402b2065 user: dan tags: trunk)
01:33
Fix a bug in transaction rollback during backup when the CODEC is enabled that can result in a corrupt backup file. This is only a problem when SQLITE_HAS_CODEC is defined. (check-in: f3398fc4db user: drh tags: trunk)
2009-11-20
18:48
When moving pages as part of autovacuum on an in-memory database, make sure that the source location is journalled so that a ROLLBACK can occur. Part of the fix for ticket [564d412f15a00] (check-in: 2f42f91fe6 user: drh tags: trunk)
17:23
Merge leaf accidentally created by [1c4984c62f]. (check-in: cae949ce97 user: dan tags: trunk)
17:18
Add a test to make sure a database can be attached to a single handle twice if not in shared-cache mode. (check-in: 1c4984c62f user: dan tags: trunk)
16:13
Fix a bug in LIMIT 0 for compound SELECT statement. The problem was introduced by recent enhancements and has not appeared in any release. (check-in: c6ed7e2a73 user: drh tags: trunk)
15:02
If the root pages numbers of the internal schema are adjusted due to autovacuum on a DROP TABLE statement and that statement later aborts (for example, due to an OOM error) then reset the internal schema at the conclusion of the statement. Partial fix for ticket [564d412f15a]. (check-in: e493b093f8 user: drh tags: trunk)
13:18
Avoid unnecessary page cache allocations when move a page while autovacuuming an in-memory database, since the allocation might fail making it impossible to rollback the transaction. (check-in: 9a429349cc user: drh tags: trunk)
05:05
Improve comments and other things in fts3_write.c. (check-in: 1cf0e3cc14 user: dan tags: trunk)
02:24
Minor optimizations to fts3 code. (check-in: b456eacbbb user: dan tags: trunk)
2009-11-19
18:30
Merge leaves [7cd178a72a] and [598727e6da]. (check-in: 4115c0c286 user: dan tags: trunk)
18:28
Fix a performance regression introduced while reworking the fts3 code. (check-in: 7cd178a72a user: dan tags: trunk)
15:44
Remove an unreachable branch from the OP_Affinity suppression logic. (check-in: 598727e6da user: drh tags: trunk)
15:26
Merge fts3-refactor into the main trunk. (check-in: 551dbe30ea user: dan tags: trunk)
15:25
Fix some fts3 related issues with the autoconf and amalgamation build systems. (Closed-Leaf check-in: 3b17924754 user: dan)
14:57
Merge with [4bd4330709]. (check-in: 7a46d1ebe3 user: dan tags: fts3-refactor)
14:52
Merge the fts3-refactor branch with the trunk. (check-in: c8d2bd37a4 user: dan tags: fts3-refactor)
14:48
Fix a bug introduced with recent optimizations: The unary minus operator is TK_UMINUS, not TK_MINUS. (check-in: 4bd4330709 user: drh tags: trunk)
00:15
Fix problems introduced into fts3 as part of the refactoring. (check-in: fa0998e19d user: dan tags: fts3-refactor)
2009-11-18
23:01
Performance improvement by avoiding unnecessary calls to memset(). (check-in: 85940468e6 user: drh tags: trunk)
15:35
Add some missing comments and fix some other issues in fts3 code. (check-in: 2fe579e778 user: dan tags: fts3-refactor)
01:25
Suppress more instances of unnecessary OP_IsNull and OP_Affinity opcodes. (check-in: bf6c0bd1c5 user: drh tags: trunk)
2009-11-17
23:59
Enhancements to the VDBE opcode loop to reduce the number of machine-code instructions evaluated by about 10%. (check-in: 9744ffb3f5 user: drh tags: trunk)
18:31
Code generator tries to avoid pointless OP_IsNull and OP_Affinity opcodes. (check-in: ebb0c8a3e9 user: drh tags: trunk)
12:52
Improvements to the way fts3 reads the full-text index. (check-in: 45c051e786 user: dan tags: fts3-refactor)
2009-11-16
23:36
Make sure the output of sqlite3OsFullPathname is initialized even if the fails due to I/O or OOM errors. (check-in: e4943adb83 user: drh tags: trunk)
22:54
Fix a reference to freed memory that can occur following an OOM error in where.c. (check-in: 929b604739 user: drh tags: trunk)
21:28
Back out part of the change in [23ea2b700fd6d28d] since TH3 reveals some problems in OOM situations. (check-in: 15d215d62d user: drh tags: trunk)
16:36
Add a few extra coverage test cases for fts3. (check-in: f29c8fcade user: dan tags: fts3-refactor)
15:11
Use the sqlite3CtypeMap to improve the speed and reduce the size of the logic in the tokenizer that recognizes identifiers. (check-in: 1c9243b076 user: drh tags: trunk)
03:13
Additional optimizations in sqlite3VdbeRecordCompare(). (check-in: 23ea2b700f user: drh tags: trunk)
02:14
Optimizations to the sqlite3VdbeRecordCompare() routine help it to run 12.5% faster for some traces. (check-in: 74c76f0bf9 user: drh tags: trunk)
2009-11-15
06:50
Fixes to fts3 integrity check code. (check-in: d3cae986ee user: dan tags: fts3-refactor)
2009-11-14
23:22
Optimizations to the main loop inside sqlite3VdbeExec() to help VDBE byte code run a few percent faster. (check-in: d622ac6ac7 user: drh tags: trunk)
18:41
Further OOM testing for fts3 code. Add Tcl code implementing an integrity-check for fts3. (check-in: c27d46b33e user: dan tags: fts3-refactor)
18:04
Make the sqlite3VdbeExec() function about 2% faster by storing the opcode array in a local variable. (check-in: 8bd3cc8272 user: drh tags: trunk)
2009-11-13
20:52
Performance improvements and size reductions on the OP_Seek* family of VDBE opcodes. (check-in: ed820f45cf user: drh tags: trunk)
19:43
Simplify the OPFLG processing logic in the VDBE for a speed boost in the VDBE processing loop and a reduction in code size. (check-in: 3352b3eba5 user: drh tags: trunk)
17:36
Start reworking fts3 code to match the rest of SQLite (code conventions, malloc-failure handling etc.). (check-in: 30a92f1132 user: dan tags: fts3-refactor)
17:05
Force 8-byte memory alignment on memory allocated for VDBE cursors. (check-in: bdc45ba77f user: drh tags: trunk)
10:04
Changes to test_intarray.c so that it build with SQLITE_OMIT_VIRTUALTABLE. Added testcase() macros to expr.c. (check-in: f0599d28fa user: drh tags: trunk)
2009-11-12
20:39
Shift more OP_Found opcodes over to using the unpacked format, for improved performance. (check-in: 6705ab1ad1 user: drh tags: trunk)
19:59
Enhance the OP_Found and OP_NotFound opcodes so that they can accept an array of registers as an unpacked record in addition to a record built using OP_MakeRecord. Use this to avoid OP_MakeRecord calls during IN expression processing. (check-in: b9eab885cd user: drh tags: trunk)
17:52
Factor out the IN operator code generation into a subroutine. Use this subroutine to implement both logic and branching versions of the IN operator. (check-in: fcff5b7e2d user: drh tags: trunk)
13:32
Factor out the code generator for BETWEEN into a subroutine. (check-in: 5735f60b23 user: drh tags: trunk)
05:04
Update comment for substrFunc(). Added additional SUBSTR() test cases. (check-in: d7b3801dc7 user: shaneh tags: trunk)
04:26
Suppress unnecessary OP_Noop instructions on when the right table of a LEFT JOIN uses the index-only optimization. (check-in: e8aec08bee user: drh tags: trunk)
03:46
Suppress excess OP_Null opcodes caused by binary IS or IS NOT operators that are converted into unary ISNULL or NOTNULL operators. (check-in: cff1b36ab2 user: drh tags: trunk)
03:13
Adjustments to the implementation of LIMIT so that it uses fewer opcodes. (check-in: 39d5b292d2 user: drh tags: trunk)
2009-11-11
23:58
If the sector size is unspecified (initially 0) then set it to 512, not to 32. (check-in: 8861b5c160 user: drh tags: trunk)
23:48
Remove an obsolete (and incorrect) comment from sqlite3MemCompare(). No changes to code. (check-in: c15b70b3ae user: drh tags: trunk)
20:53
Tweaks to the SUBSTR() function to make it dramatically faster in the common case where the input string is large but the 2nd and 3rd arguments are small positive integers. (check-in: 5a474a867c user: drh tags: trunk)
13:17
Allow media sector sizes as small as 32. The former minimum size was 512. (check-in: 5a32bfc17e user: drh tags: trunk)
04:17
Modified CLI to raise an error when extra command line options are passed. Added tests to verify correct handling, as well as other basic handling of command line options. Ticket [f5cb008a65]. (check-in: 09b4f19f10 user: shaneh tags: trunk)
01:14
Additional test cases for the coalesce() and ifnull() functions. (check-in: d0591258b6 user: drh tags: trunk)
00:24
Generate VDBE code for the built-in COALESCE() and IFNULL() functions. This allows unused arguments to never be evaluated, which is a performance win when the unused argument is a subquery. (check-in: 30055b257c user: drh tags: trunk)
2009-11-10
17:55
Additional intarray test cases and tweaks to comments. (check-in: 0c8db5d88e user: drh tags: trunk)
17:24
Initial implementation and test cases for the "intarray" virtual table. (check-in: 0e7d29253f user: drh tags: trunk)
17:07
Fix for datbase name being ignored with the -batch option in the CLI. Ticket [aeff892c57]. (check-in: 8097c64acf user: shaneh tags: trunk)
01:30
Remove the obsolete "$Id:$" RCS identifier strings from the source code. (check-in: f6c045f649 user: drh tags: trunk)
01:13
Remove from the TCL interface some old code associated with sqlite3_analyzer. (check-in: 01f2271e51 user: drh tags: trunk)
01:12
Omit some code that is not used when SQLITE_SECURE_DELETE is defined. (check-in: 5a9e746357 user: drh tags: trunk)
2009-11-09
19:30
Fix for lock structure sharing with AFP-style locking (check-in: 62f15c0aea user: adam tags: apple-osx)
2009-11-06
17:20
Improved shell "dot" command argument handling. Ticket [f12a9eeedc]. (check-in: 9fb6991933 user: shaneh tags: trunk)
04:13
Fix the backup API so that a backup from an empty database to a non-empty database works. Ticket [0bf974bdf9]. The only changes are in assert() statements. (check-in: ddb71cd9ed user: drh tags: trunk)
03:33
Merged accidental fork. (check-in: d410cd4e42 user: shaneh tags: trunk)
03:22
Add some very basic tests for the commands available from the CLI. (check-in: 6bf4333804 user: shaneh tags: trunk)
2009-11-05
18:46
Recover an ophaned branch that resulted from some ill-advised "shunning". This check-in should be identical to [bd443f39a9] except that it should be on the trunk. (check-in: 38eaf1ab6e user: drh tags: trunk)
18:31
Fix an undefined variable on non-Mac builds. (check-in: 9552de8fb5 user: drh tags: apple-osx)
17:27
Do not limit the trigger recursion depth when SQLITE_SMALL_STACK is defined since trigger recursion uses the heap, not the stack. (Closed-Leaf check-in: bd443f39a9 user: drh tags: shunning-error)
16:29
Add a comment related to code coverage. No changes to code. (check-in: 6bdc2c9957 user: drh tags: shunning-error)
04:14
Update maxRow size after shrinking the row buffer (CSV). (Closed-Leaf check-in: d474195a99 user: shaneh tags: csv_ext)
04:01
Removed line limit on rows. (check-in: ec08b15f77 user: shaneh tags: csv_ext)
02:34
Initial implementation of a virtual table for CSV files. (check-in: 90e63b7d84 user: shaneh tags: csv_ext)
2009-11-04
23:02
Fix a typo on the ynVar typedef that unfortunately caused 3.6.20 to be released with a "bug" that causes excess memory usage for Expr objects. This bug should be benign in the sense that the correct answer is still always obtained - it only uses more more memory than is really necessary. (check-in: f1c09acaca user: drh tags: shunning-error)
21:49
Do not accept a codec no an in-memory database. (check-in: 6f3081a8e5 user: drh tags: shunning-error)
18:51
Fix documentation typos. (check-in: 590d4ac1ee user: drh tags: shunning-error)
13:30
Version 3.6.20 (check-in: eb7a544fe4 user: drh tags: trunk, release)
13:17
Create a new datatype "ynVar" to hold "nVar" (number of variable) values. This is normally 16-bits can can be 32-bits if SQLITE_MAX_VARIABLE_NUMBER is large enough. (check-in: 24a4d520d5 user: drh tags: trunk)
01:56
Report errors back up to the ATTACH command if the codec fails to initialize. (check-in: a6c696102e user: drh tags: trunk)
2009-11-03
22:34
Customizations for OSX contributed by Apple. (check-in: 941a01eb86 user: adam tags: apple-osx)
19:42
Fix compiler warnings on MSVC build. (check-in: 01c4b5b84e user: shane tags: trunk)
19:18
Enhancements to lemon to generate more compact action tables and to avoid making array bounds tests that can never fail on action table calculations. (check-in: 27d8e684db user: drh tags: trunk)
13:08
Force all qsort() calls in mkkeywordhash.c to be stable so that we get predictable results on different platforms. (check-in: 3b02df27ab user: drh tags: trunk)
13:02
Adjust the lemon implementation so that it always computes the same PDA regardless of qsort() implementation on the host platform. In other words, make all sorts in lemon stable. (check-in: d66a0f31eb user: drh tags: trunk)
01:22
All SQLITE_MAX_VARIABLE_NUMBER to exceed 32767. The sizes of some structures increase when the compile-time parameter is configured this way. (check-in: 16a24b4485 user: drh tags: trunk)
2009-11-02
18:44
Bug fix in the recent changes to mkopcodeh.awk. (check-in: 6610cac435 user: drh tags: trunk)
18:14
Update the generator AWK script for opcodes.h so that it always generates opcode numbers in the same order and is not dependent on the hash order of opcode names within AWK. (check-in: e730195f52 user: drh tags: trunk)
18:01
Do not insert the date and time of generation into the amalgamation. (check-in: 9f6cf13dfb user: drh tags: trunk)
17:40
Update the configure script for version 3.6.20. (check-in: f19cb105d9 user: drh tags: trunk)
15:51
Comment changes in support of better documentation. No changes to code. (check-in: 79ab4714e4 user: drh tags: trunk)
2009-11-01
19:26
Fix compiler warnings. Better comments on some variables associated with LIKE/GLOB processing in the query planner. (check-in: cfa2db0ff7 user: drh tags: trunk)
2009-10-30
14:27
Increase the version number to 3.6.20. (check-in: 612952743d user: drh tags: trunk)
13:26
Version 3.6.16.1 (Leaf check-in: 2a832b19b6 user: drh tags: release, branch_3_6_16)
13:25
Avoid storing the result register for EXISTS and SELECT in any field of the Expr object - simply return the register number as the return value of the function that codes those expressions. (check-in: 7253f8fad1 user: drh tags: trunk)
2009-10-29
18:38
Fix a 16-bit integer overflow that might occur in statements that use both an EXISTS clause and IN operator with a RHS holding in excess of 32K entries. (check-in: 65a1f1334d user: drh tags: branch_3_6_16)
13:48
Reduce the memory required by prepared statements that use the IN operator with a list on the right and an INTEGER PRIMARY KEY on the left. (check-in: e7984ad2f7 user: drh tags: trunk)
2009-10-27
18:06
Minor updates and corrections to comments in btreeInt.h. No changes to code. (check-in: ad949fa1ac user: drh tags: trunk)
2009-10-26
22:32
Remove additional obsolete code from the sqlite3_release_memory() logic. (check-in: 2eeb6ed818 user: drh tags: trunk)
22:08
Remove some obsolete code within #if 0 that was causing developer concern. (check-in: 1d64e9453f user: drh tags: trunk)
2009-10-24
15:51
Fix a compiler warning that occurs when building the TCL interface. (check-in: fc36034bdc user: drh tags: trunk)
03:04
Another attempt at getting the pTail pointer computations correct for sqlite3_prepare16(). Ticket [3fe897352e]. (check-in: a96b4e8c01 user: drh tags: trunk)
02:06
In shell, modified to not print informational messages during startup while in "batch mode". Ticket [2cb66577f6]. (check-in: e3898e25cf user: shane tags: trunk)
02:00
In shell, changed ".tables" command to not add '%' to specified pattern. This is consistent with other commands that take a LIKE pattern (.dump, .schema, .indices). Updated internal help to better describe LIKE pattern usage. Fixed a few more inconsistencies in error messages. Ticket [6da68f691b]. (check-in: 7201244e67 user: shane tags: trunk)
01:55
Check-in [19064d7cea] broke the pTail return on sqlite3_prepare16() when the SQL contained surrogates. This check-in restores correct function. Part of ticket [3fe897352e]. (check-in: 65b1e3a4c3 user: drh tags: trunk)
2009-10-23
18:15
Make sure that UTF16 to UTF8 conversions to not read past the end of the UTF16 input buffer if the last two bytes of the UTF16 happen to be the first half of a surrogate pair. Ticket [3fe897352e] (check-in: 19064d7cea user: drh tags: trunk)
01:27
In shell, ensure that do_meta_command() returns consistent error values. Adjusted the text of some error message to be more consistent. Ticket [beb2dd69ad]. (check-in: 1ebac9eddd user: shane tags: trunk)
00:37
In shell, modified "import" handling to ensure error code returned correctly on exit. Ticket [bd770b2c52]. (check-in: 009efad0f4 user: shane tags: trunk)
2009-10-22
21:23
In shell, reworked .header and .echo handling. Updated shell_exec() to (really) handle multiple statements. Tickets [72adc99de9], [7b61b6c6ce], and [eb620916be]. (check-in: 790402c150 user: shane tags: trunk)
20:52
Merge the MD5 checksum logic into the TCL interface. This facilitates building a tclsh that contains both SQLite and MD5. The plan is to use this augmented tclsh to help build the documentation. (check-in: a024c0a85b user: drh tags: trunk)
20:50
Add some sample requirement implementation comments to where.c. (check-in: 9854ad00ae user: drh tags: trunk)
18:12
In shell, in shell_exec() logic, use type info if available when outputting in "insert" mode for other types in addition to blobs. Changed shell_exec() to use sqlite_prepare_v2(). Ticket [72adc99de9] and [7b61b6c6ce]. (check-in: ab99faca6c user: shane tags: trunk)
17:30
Updated shell to output blobs in X'1234' form when in "insert" mode. Ticket [72adc99de9]. (check-in: a2ad9e6363 user: shane tags: trunk)
00:20
Add markings on test evidence for R-30323-21917. (check-in: e51af74c3a user: drh tags: trunk)
00:14
Mention the sqlite3_column_count() function on the same documentation page with all of the other sqlite3_column... interfaces. (check-in: 5354ace55f user: drh tags: trunk)
2009-10-21
14:33
Merge accidental fork back to trunk. (check-in: f63397ad6c user: shane tags: trunk)
14:11
Modified shell to call output_html_string() for header values in .mode html. Updated output_html_string() to support the 5 basic HTML entities (<,>,&,',"). Ticket [dc3a6e5b31]. (check-in: c8815fcd88 user: shane tags: trunk)
13:53
Made detectSchemaProblem function and aSchemaTable array static. Ticket [6f8b0c5855]. (check-in: c6f22f3e38 user: shane tags: trunk)
13:48
Add evidence marks to parse.y. Fix a broken evidence link in e_fkey.tcl. (check-in: 0441d28e84 user: drh tags: trunk)
03:56
For the shell, changed the output of the errors on lines 2910 and 2914 to goto stderr. I left the timer values going to stdout as all of the other interactive shell commands (startup banner, help, etc.) go to stdout and I felt this was more consistent. Ticket [43db771bb2]. (check-in: 8a8eeb0c5a user: shane tags: trunk)
03:42
For Windows version of shell, add support for .timer command using the GetProcessTimes() API if available (in the same way getrusage() is used on UNIX.) Ticket [89668ca167]. (check-in: 83216fbe90 user: shane tags: trunk)
02:00
For Windows VFS, modified xGetLastError() to call FormatMessage() with the FORMAT_MESSAGE_IGNORE_INSERTS option. Additionally updated to ensure strings are returned as UTF8. Ticket [39c85e8a4e]. (check-in: 761396f8cb user: shane tags: trunk)
2009-10-20
15:27
Clarify the use of sqlite3_shutdown(). Ticket [f9af981dd2a2]. Comment changes only - no changes to code. (check-in: b2aa48b52f user: drh tags: trunk)
15:01
Fix the VACUUM command so that when the MAIN and TEMP databases have identically named tables, content from the TEMP database does not accidently overwrite MAIN database content. Ticket [d82e3f3721296e905d7e8c9dee718f71a826b0eb]. Note that this bug could potentially lead to database corruption. (check-in: 0bbd8d72ec user: drh tags: trunk)
14:23
Remove all mention of sqlite3_next_stmt() from the documentation of sqlite3_close(). (check-in: f494ed38a8 user: drh tags: trunk)
14:08
Update documentation on the sqlite3_prepare_v2() interface. No changes to code. (check-in: 3b00e769cd user: drh tags: trunk)
07:01
Fix cases where modifying bound variables using the clear_bindings() or transfer_bindings() APIs can invalidate a query plan. (check-in: e6808c988c user: dan tags: trunk)
2009-10-19
22:41
Remove an unreachable condition in the WHERE clause processing of bound parameters and replace it with an assert(), for test coverage. (check-in: 3bcd78a1d7 user: drh tags: trunk)
20:15
Fix an incorrect assert() in vdbeUnbind(). (check-in: 651c1efb99 user: drh tags: trunk)
18:30
Fix an assert() that may fail if sqlite3_step() is called on a statement after a previous call has already returned SQLITE_SCHEMA. (check-in: 63bf73452d user: dan tags: trunk)
18:11
Remove the sqlite3_reoptimize() API. The same functionality is now provided automatically to queries prepared using prepare_v2(). (check-in: 2c50b3d5aa user: dan tags: trunk)
15:52
When generating WHERE clause terms internally for NATURAL and USING joins, identify the table by its position in the FROM list, not by its name or alias. Fix for [b73fb0bd64]. (check-in: 6fe6371175 user: dan tags: trunk)
07:50
Use 64-bit arithmetic in the xRead() method of asyncRead. Fix for [94c04eaadb]. (check-in: ca3e41b057 user: dan tags: trunk)
2009-10-17
14:19
Fix a problem in the icu.test script. (check-in: 8a21fdaf6a user: dan tags: trunk)
13:13
Make sure the target register is allocated before adding the bogus OP_Variable opcode in isLikeOrGlob(). Bugfix for the new sqlite3_reoptimize() logic. (check-in: e74f8dc436 user: drh tags: trunk)
08:26
Add documentation comment for new experimental API sqlite3_reoptimize(). (check-in: c48f8ffedc user: dan tags: trunk)
2009-10-16
16:21
Merge the sqlite3_reoptimize() changes into the trunk. (check-in: 50136840d5 user: drh tags: trunk)
15:59
Fix a problem in the analyze3.test script. (Closed-Leaf check-in: 61174aea74 user: dan tags: experimental)
15:19
Remove a mutex reference leak from sqlite3_reoptimize(). (check-in: 9f09370661 user: dan tags: experimental)
15:05
Comment cleanup in btree.c. (check-in: 32966ba479 user: drh tags: trunk)
14:55
Experimental fix for [f777251dc7]. This may be changed yet. (check-in: 174477bca0 user: dan tags: trunk)
13:23
Fix comment typos in btreeInt.h. (check-in: 550566a75f user: drh tags: trunk)
2009-10-15
23:03
When a forced rollback occurs, cause all active statements on the same database connection to halt immediately with an SQLITE_ABORT error code. This is a partial fix to ticket [f777251dc7]. (Closed-Leaf check-in: f256bc0796 user: drh tags: trunk, experimental)
19:45
On any rollback, immediately interrupt all running statements on the same database connection. This is a partial fix for ticket [f777251dc7]. (Closed-Leaf check-in: c304b44cae user: drh tags: experimental)
18:35
Add the experimental sqlite3_reoptimize() API. (check-in: 9bd6f3d886 user: dan tags: experimental)
2009-10-14
11:33
Version 3.6.19 (check-in: c1d499afc5 user: drh tags: trunk, release)
2009-10-13
22:47
Update the configure script for version 3.6.19. (check-in: ac19dbc6a2 user: drh tags: trunk)
19:19
Fixed warnings with MSVC compile. (check-in: e0aa50c382 user: shane tags: trunk)
18:49
Fix a typo in the test script added for ticket [5ee23731f15]. (check-in: d0f55b5c3b user: drh tags: trunk)
18:38
Update the TCL wrapper to provide a non-NULL objProc pointer to the Tcl_NRCreateCommand() interface. The TCL gurus say this is needed to support legacy TCL extensions. (check-in: 1b3cfa01dd user: drh tags: trunk)
15:42
Add a test case to verify that ticket [5ee23731f15] has been fixed. (check-in: f894ebf86d user: drh tags: trunk)
15:36
When a write transaction fails to being because the database is read-only, fail right away. Do not give the error code an opportunity to be overwritten with SQLITE_OK. Ticket [5ee23731f15]. (check-in: bc1101179a user: drh tags: trunk)
13:08
Suppress some harmless compiler warnings. (check-in: 5d381daa6e user: drh tags: trunk)
12:48
Make sure mem3.c releases its mutex on an sqlite3_shutdown() call. (check-in: 16254ad5aa user: drh tags: trunk)
10:39
Add further test cases to e_fkey.test. (check-in: c85e58743a user: dan tags: trunk)
2009-10-12
22:30
Add asserts as evidence that all FK constraints are either immediate or deferred. (check-in: 634ef4fc9f user: drh tags: trunk)
20:01
When processing FK constraints on changes to parent tables, make sure the names of child tables appear correctly in the output of EXPLAIN QUERY PLAN. (check-in: a4ab5215fe user: drh tags: trunk)
18:57
Add more test cases to e_fkey.test. (check-in: 5633cb2b5b user: dan tags: trunk)
16:02
Fix some mappings from e_fkey.test. (check-in: 171c671385 user: dan tags: trunk)
15:25
Update e_fkey.test to match the latest version of foreignkeys.html. (check-in: a2ca9f1a7a user: dan tags: trunk)
11:27
Extra test cases mapped to statements in foreignkeys.html. (check-in: ffa6207dd7 user: dan tags: trunk)
08:41
Add further test cases to e_fkey.test. (check-in: d61cc0e1a1 user: dan tags: trunk)
2009-10-10
15:49
Add tests to e_fkey.test. (check-in: 5ec07feea4 user: dan tags: trunk)
14:29
Update requirement text for sqlite3_open_blob(). Update evidence comment in e_fkey.test to conform to the latest requirement phrasing. (check-in: 89c548acf4 user: drh tags: trunk)
2009-10-09
18:16
Add test cases to e_fkey.test. (check-in: e391dfe79d user: dan tags: trunk)
2009-10-08
19:02
Test a couple of the examples in foreignkeys.html. (check-in: a2fb7902c0 user: dan tags: trunk)
17:42
Add test cases to test file "e_fkey.test". (check-in: 23e0f61a4f user: dan tags: trunk)
13:42
Fix a problem in the legacy genfkey code to do with column names that require quoting. (check-in: 273ccbf18a user: dan tags: trunk)
11:57
Add tests to test/e_fkey.test. (check-in: 533703d78a user: dan tags: trunk)
06:24
Update triggerC.test to match the change to the way the trigger-recursion limit is handled. (check-in: 5806925283 user: dan tags: trunk)
01:43
Fix a segfault that can occur following an OOM fault while renaming a table holding foreign key constraints. (check-in: 33973814c6 user: drh tags: trunk)
2009-10-07
23:42
Use memcpy() rather than structure assignment so that memcmp() can later be used for comparison. Ticket [8550ecca70] (check-in: 56f609da4b user: drh tags: trunk)
18:41
Add some tests of statements in foreignkeys.html. (check-in: 8382867956 user: dan tags: trunk)
16:04
Add a missing OP_Close opcode to VDBE programs that check for FK constraint violations. (check-in: 5caa4a2b05 user: dan tags: trunk)
11:29
Update the header comment for sqlite3_blob_open to note that it is not possible to write to a column that is indexed, part of a primary key or, if foreign key support is enabled, part of a foreign key. (check-in: 2fd487fdb6 user: dan tags: trunk)
10:43
Update header file comments describing the sqlite3_changes and sqlite3_total_changes functions to describe how changes made by foreign key actions are handled. (check-in: 4c342c026a user: dan tags: trunk)
2009-10-06
14:59
Change tclsqlite.c to use the Tcl_NRxxx() APIs in Tcl versions 8.6 and later. (check-in: e9f72f1de4 user: dan tags: trunk)
2009-10-05
05:40
Fix some errors in the guttman versions (disabled by default) of the algorithms in rtree.c. (check-in: 64bad00b4f user: dan tags: trunk)
2009-10-03
07:04
Handle an SQLITE_IGNORE returned when requesting authorization to read parent key columns by pretending the parent key columns contain NULL values. (check-in: 3c24df38e6 user: dan tags: trunk)
2009-10-02
15:29
Add one more authentication test to fkey2.test to cover an untested branch. (check-in: e4fa8be770 user: dan tags: trunk)
14:23
When inserting a row into a child table, invoke the authorization callback to request permission to read the parent key columns. (check-in: 9842f2d5f6 user: dan tags: trunk)
06:35
Add a test to check that the incrblob API cannot be used to write to an IPK column. Also a comment to explain why the incrblob code does not need to check if a column is part of a parent key before writing to it. (check-in: dca2a7f608 user: dan tags: trunk)
2009-10-01
17:13
Add test cases to cover the branches added by the previous commit. (check-in: aaa005b6da user: dan tags: trunk)
16:09
If an update does not modify any child or parent key columns, omit foreign key processing for the statement. (check-in: edff350005 user: dan tags: trunk)
04:35
Add tests to check that FK support interacts with count-changes correctly. (check-in: 5b8366154b user: dan tags: trunk)
2009-09-30
08:11
Remove unreachable branches from fkey.c. Add a few tests to cover the remaining branches. (check-in: 0a0a17d87c user: dan tags: trunk)
04:28
Change a couple of comments to use "SQLITE_MUTEX_OMIT" instead of OMIT_MUTEX. (check-in: b733e939f7 user: dan tags: trunk)
2009-09-29
16:38
Use the affinity and collation sequence associated with the parent key when finding child table rows to apply a foreign key action to. (check-in: 9a4b7ec292 user: dan tags: trunk)
15:41
Check that a unique index uses the default collation sequences for each column before using it as part of a foreign key constraint operation. (check-in: 64154174cf user: dan tags: trunk)
11:28
Remove an unused variable from fkey.c. (check-in: 582bd76828 user: dan tags: trunk)
06:33
Various fixes so that "make test" works with OMIT_FOREIGN_KEY, OMIT_TRIGGER and OMIT_ALTER_TABLE. (check-in: e4eb227b14 user: dan tags: trunk)
2009-09-28
18:52
Ignore foreign key mismatch errors while compiling DROP TABLE commands. (check-in: 5b4d46374a user: dan tags: trunk)
14:49
Fix the DROP TABLE command so that it cannot be used to bypass foreign key constraints (if foreign key support is enabled). (check-in: 8353808c9e user: dan tags: trunk)
11:54
Fix some foreign key constraint related problems that occur when a row refers to itself. (check-in: 9e503e2d04 user: dan tags: trunk)
2009-09-26
17:51
When ALTER TABLE RENAME TO is used to change the name of a table that is the parent table of a foreign key constraint, modify that foreign key constraint to use the new table name. (check-in: b4a10c39e7 user: dan tags: trunk)
2009-09-25
17:03
Avoid checking if an insert or delete has "fixed" an outstanding FK constraint violation if the constraint counter indicates that the database contains no such violations. (check-in: 519144ac43 user: dan tags: trunk)
12:00
Fix comments in fkey2.c to reflect the immediate-constraint-counter approach. (check-in: 9fd54b0aa7 user: dan tags: trunk)
11:26
Prevent ALTER TABLE from being used to add a column with a REFERENCES clause and a non-NULL default value while foreign key support is enabled. (check-in: 353b1b1825 user: dan tags: trunk)
2009-09-24
18:19
Fixes and test cases to make sure the affinity and collation sequence associated with the parent key is used when comparing it with a child key value. (check-in: 76e8e74b49 user: dan tags: trunk)
16:52
Fix a bug in the code for REPLACE conflict handling on IPK columns when there are no indexes on the table. Triggers and foreign key processing were being bypassed. (check-in: beb2094f94 user: dan tags: trunk)
15:16
Fix a problem in fkey.c when a child key is the IPK of its table. (check-in: 8a000a8aae user: dan tags: trunk)
14:27
Remove the ALWAYS() added by the previous check-in. It is not needed. (check-in: 3656896335 user: drh tags: trunk)
13:48
Comment enhancements. Add an ALWAYS macro in fkey.c to indicate a branch that is always taken. (check-in: d5b714cfff user: drh tags: trunk)
11:31
Ensure foreign key related processing takes place when rows are deleted from the database by REPLACE conflict handling. (check-in: 3f40c142c8 user: dan tags: trunk)
10:42
Use sqlite3FkOldmask() in delete.c instead of assuming that foreign key constraints always require all columns of the deleted row to be stored in registers. (check-in: ce554a3934 user: dan tags: trunk)
09:05
Remove unused parameter from sqlite3CodeRowTrigger(). Fix header comments for this function and CodeRowTriggerDirect(). (check-in: 0443f7c911 user: dan tags: trunk)
00:09
Make sure a transaction is available for rollback whenever a REDUCE conflict resolution occurs and there is the possibility to ABORT. Ticket [4a03edc4c8c] (check-in: f0c56fa90d user: drh tags: trunk)
2009-09-23
18:49
More fkey tests. (check-in: 2d544bd53d user: shane tags: trunk)
18:07
Fix a problem with FK constraints that implicitly map to a composite primary key. (check-in: e0a48d5311 user: dan tags: trunk)
17:31
Fix a problem in the fkey_malloc.test script. (check-in: 0ce1efa460 user: dan tags: trunk)
17:30
Do not check immediate foreign key constraints until the end of the statement. This matches the postgres behaviour. (check-in: 1a32149cc3 user: dan tags: trunk)
15:51
Modify the ".dump" command on the CLI so that it always issues a PRAGMA foreign_keys=OFF at the top of the output. (check-in: 0755b9b697 user: drh tags: trunk)
14:45
Change the version number to 3.6.19. Fix a couple of incorrect testcase() macros associated with the new IS and IS NOT operators in expr.c. (check-in: e3b73394bf user: drh tags: trunk)
13:59
Disallow using the implicit rowid column as the parent key of an FK constraint. (check-in: a5f7e71f42 user: dan tags: trunk)
13:39
Add test cases for the IS and IS NOT operator. (check-in: 101ed58cf4 user: drh tags: trunk)
12:06
Add extra tests for foreign key support. (check-in: 7d086afe69 user: dan tags: trunk)
08:43
Add missing comments to fkey.c. Also, change the terminology used for comments and names in fkey.c from "referenced/referencing" to "parent/child". This is arguably less correct, but is easier to follow. (check-in: 540c2d18e1 user: dan tags: trunk)
03:01
Do not run ON UPDATE actions of a foreign key constraint unless at least one column value really does change. (check-in: 71ac8e28e5 user: drh tags: trunk)
02:29
Generalize the IS and IS NOT operators so that their right-hand side can be an arbitrary expression and not simple the constant NULL. They work like = and <> except that NULL values compare equal to one another an unequal to everything else. (check-in: 98853f6104 user: drh tags: trunk)
2009-09-22
20:08
Factor the UMINUS and UPLUS tokens out of the parser so that the parser tables can go back to using 8-bit values instead of 16-bit values. (check-in: 3fc938c961 user: drh tags: trunk)
19:53
The NO ACTION action really should be no-action and not RESTRICT. (check-in: 55b263fa2b user: drh tags: trunk)
16:55
Fix another OOM related problem in fkey.c. (check-in: e2bc51bc61 user: dan tags: trunk)
16:08
Fix a problem with ON DELETE SET DEFAULT actions. (check-in: 9406995055 user: dan tags: trunk)
15:53
Fix an OOM related crash in fkey.c. (check-in: 635d6a775a user: dan tags: trunk)
13:25
Allow specific exclusion of localtime_s() usage on Windows. (check-in: 216bcda7d2 user: shane tags: trunk)
07:13
Fix compilation errors when OMIT_FOREIGN_KEY is defined. (check-in: c447cb37d6 user: dan tags: trunk)
2009-09-21
18:56
Fix a problem with foreign key constraints that map from and IPK column. (check-in: 8412905262 user: dan tags: trunk)
16:34
Fix compilation with both OMIT_UTF16 and ENABLE_STAT2 defined. Ticket [56928bd084]. (check-in: cd850d49a1 user: dan tags: trunk)
16:06
Fix compilation with OMIT_TRIGGER defined. Ticket [1ff6d29030]. (check-in: fb6ceed388 user: dan tags: trunk)
2009-09-19
17:59
Add fkey.c to the autoconf and amalgamation build systems. (check-in: aab7a4b3c9 user: dan tags: trunk)
17:00
Check in implementation of foreign key constraints. (check-in: d5d3998118 user: dan tags: trunk)
2009-09-17
00:41
When coding a trigger, assume that the "oldmask" requires all columns until we know otherwise. That pessimistic assumption assures that all necessary parameters are available on a cascading delete trigger. Ticket [e25d9ea771f] (check-in: 03e464be51 user: drh tags: trunk)
2009-09-14
23:47
Make sure sufficient space is allocated for at least one VDBE cursor when autoincrement is used. Ticket [a696379c1f088]. (check-in: 2b2a1ef74e user: drh tags: trunk)
2009-09-11
18:28
Set the execute permission bit on "configure". (check-in: f8c02b2b72 user: drh tags: trunk)
17:59
Make sure the (unsupported) configure script in the source tree has execute permission prior to constructing a tarball. Ticket [65bbb65a47ce]. (check-in: 5e0e941f3a user: drh tags: trunk)
14:05
Version 3.6.18 (check-in: b084828a77 user: drh tags: trunk, release)
2009-09-10
22:30
Omit the mutexIsInit test variable when mutexes are disabled. (check-in: 3ea1043443 user: drh tags: trunk)
20:23
Fixed some warnings and an assert in the WINCE code when compiling under MSVC. (check-in: f42ec993ac user: shane tags: trunk)
19:20
Make sure the threadsOverrideEachOthersLocks variable is only referenced by linux systems on a threadsafe compile. (check-in: e9d064bd93 user: drh tags: trunk)
19:09
Cleanup of warnings on MSVC build. (check-in: 5588cc96bb user: shane tags: trunk)
18:26
Update an r-tree test to account for changes in the query planner. (check-in: e5ce66d40b user: dan tags: trunk)
18:17
Define SQLITE_TEST when compiling mem5.c for testfixture. (check-in: 6b16f3c907 user: dan tags: trunk)
18:04
Fix a problem in test script corrupt.test. (check-in: dad2b74ad0 user: dan tags: trunk)
17:45
Add assert() statement to verify that new mutexes are not allocated when the mutex subsystem is uninitialized. (check-in: 1183c53357 user: drh tags: trunk)
16:14
Fix a problem with the sqlite3VdbeMayAbort() assert failing following an OOM. (check-in: b302786350 user: dan tags: trunk)
10:15
Remove an ALWAYS macro around an expression that is sometimes false. (check-in: f2a9ee722c user: dan tags: trunk)
02:54
Reduce default SQLITE_MAX_TRIGGER_DEPTH when SQLITE_SMALL_STACK is defined. (check-in: 913fb70ea8 user: shane tags: trunk)
2009-09-09
18:46
Trying to open a transaction in one thread and close it in another is a misuse with LinuxThreads. Doing so may cause memory and file-descriptors to be leaked. Update an assert() and some test cases to account for this. (check-in: ef99eb57c5 user: dan tags: trunk)
16:10
Suppress some harmless compiler warnings. (check-in: f0c72a53c5 user: drh tags: trunk)
15:29
Bug fix in the SQLITE_OPEN_PRIVATECACHE option added a few minutes ago. (check-in: f3a0f23bc7 user: drh tags: trunk)
15:06
Add some tests that involve BEFORE UPDATE or BEFORE DELETE triggers messing with the row being updated or deleted. SQLite behaviour in this scenario is undefined, so the tests just check that the behaviour is relatively sane and there are no crashes. (check-in: 9a4c59a2dd user: dan tags: trunk)
14:48
Update the README file to state that TCL is required in order to run the makefiles for SQLite. Ticket [7d96113ff]. (check-in: ba20091ae8 user: drh tags: trunk)
14:17
Added SQLITE_OPEN_SHAREDCACHE and SQLITE_OPEN_PRIVATECACHE flags as possibilities to sqlite3_open_v2(), to override the global shared cache mode setting. Ticket [9fd0bc36639c15] (check-in: f509eb8b48 user: drh tags: trunk)
12:41
Increase the size of bitvec objects to 1024 bytes on 64-bit systems. (check-in: f1272b90f6 user: drh tags: trunk)
11:43
Add a test case to show that 29ab7be99f is fixed. (check-in: 135d656a20 user: dan tags: trunk)
11:37
Add a complicated assert() to check that statement transactions are opened when required. (check-in: 28aa1f4ea8 user: dan tags: trunk)
2009-09-08
19:15
Combine the OP_Statement and OP_Transaction opcodes. (check-in: aec9dbd8d2 user: dan tags: trunk)
15:55
If recursive-triggers are enabled, fire DELETE triggers if database rows are removed as a result of OR REPLACE conflict resolution. (check-in: 85cb0c94a6 user: dan tags: trunk)
13:40
Additional simplifications in support of structural testing. (check-in: 4ab8c841f8 user: drh tags: trunk)
02:27
Further simplifications to the VDBE - removing functionality that is no longer used. (check-in: b271e16621 user: drh tags: trunk)
01:14
Code simplifications, especially to the pseudo-table logic, and comment improvements. (check-in: 52449a9569 user: drh tags: trunk)
2009-09-07
18:14
Add the SQLITE_LIMIT_TRIGGER_DEPTH option to sqlite3_limit(). (check-in: d7dc8b4336 user: drh tags: trunk)
17:41
Merge 1958db4493 and 26cd015c0e. (check-in: ecbe0832be user: dan tags: trunk)
17:32
Fix a bug where a condition was incorrectly being compiled out when SQLITE_OMIT_VIRTUALTABLE was defined. (check-in: 1958db4493 user: dan tags: trunk)
04:38
Warning cleanup from the MSVC compile. (check-in: 26cd015c0e user: shane tags: trunk)
03:48
Attempt to handle numbers at the limits of the IEEE 754 range better (nan.test now passes). (check-in: 2a74ae1969 user: shane tags: trunk)
02:46
Changes to internal AtoF to improve "accuracy" when measured against built-in GCC atof(). (check-in: 438e1577d0 user: shane tags: trunk)
2009-09-03
19:43
Fix a VDBE stack overflow issue with the UPDATE statement. (Leaf check-in: 715cecb8c7 user: drh tags: branch-3.3.6)
16:23
Add the "unix-wfl" VFS that does whole-file locking in order to help NFS do better cache coherency. (check-in: 2aeab80e5b user: drh tags: trunk)
01:18
Do not reuse function parameters in subsequent expressions since the function call might have triggered a text encoding change. Fix for ticket [2ea2425d34be]. (check-in: f22e388727 user: drh tags: trunk)
2009-09-02
19:04
Documentation updates for the version info #defines and C interfaces. (check-in: 69055e9b4c user: drh tags: trunk)
2009-09-01
17:28
Fix a problem in main.c. SQLITE_NoRecTriggers -> SQLITE_RecTriggers. (check-in: 5ac69ed608 user: dan tags: trunk)
17:11
Change "PRAGMA disable_recursive_triggers" to "PRAGMA recursive_triggers". Also a fix for compiling with OMIT_TRIGGER defined. (check-in: e016cca363 user: dan tags: trunk)
16:39
Merge in changes to support recursive invocation of triggers (disabled by default). (check-in: c1b388c30d user: dan tags: trunk)
16:19
Add new test script triggerC.test. (check-in: a2a062a4b5 user: dan tags: trunk)
12:16
More fixes and comment updates. (check-in: 38a9327bad user: dan tags: trunk)
2009-08-31
16:09
More thorough initialization of a buffer when writing the rollback journal header, in order to prevent a harmless valgrind warning. CVSTrac ticket #4039 (check-in: 5e2f549683 user: drh tags: trunk)
15:27
More fixes for test cases. (check-in: 85d9f23be1 user: dan tags: trunk)
08:22
Fix some authorization callback problems. (check-in: 8a746fbfd5 user: dan tags: trunk)
05:39
Merge with main branch. (check-in: 6e09e28751 user: dan tags: trunk)
05:23
Fix another test problem and some instances where an OOM may cause a segfault. (check-in: 31199db0f7 user: dan tags: trunk)
2009-08-30
11:42
Fixes for new triggers scheme. (check-in: 9eb91efda5 user: dan tags: trunk)
2009-08-28
18:53
Changes to support recursive triggers. (check-in: 9b9c192115 user: dan tags: trunk)
00:49
Add a new source code logo gif. (check-in: 6abcba1021 user: drh tags: trunk)
2009-08-27
17:56
Patch to the named semaphore locking mechanism used by VxWorks. (check-in: 609c5341be user: drh tags: trunk)
2009-08-26
00:26
Updates to the pluggable page cache documentation. (check-in: 3085ad7612 user: drh tags: trunk)
2009-08-25
16:28
Remove an unreachable branch from where.c in order to restore 100% branch test coverage. Add assert() and testcase() macros to verify that the branch is unreachable. (check-in: 58db7e7166 user: drh tags: trunk)
15:56
Initialize variables differently in the range processing logic of where.c in order to make sure variables are always initialized even following an OOM error. (check-in: 3fb3686a45 user: drh tags: trunk)
14:59
Attempt to clarify the meaning of a "parameter" in the sqlite3_bind() API documentation. (check-in: 9389e6a7da user: drh tags: trunk)
14:24
Make sure that the output of EXPLAIN is right when the P4 argument of an opcode is of type P4_MEM with the MEM having type MEM_Blob. (check-in: 6a623e6cf0 user: drh tags: trunk)
13:53
Avoid calling sqite3VdbeRecordCompare() with uninitialized memory following an OOM. Doing so is harmless, but it worries valgrind. (check-in: d33b9eb256 user: drh tags: trunk)
13:10
Fix an uninitialized variable in sqlite3VdbeIdxRowid(). (check-in: 6e787e18fa user: drh tags: trunk)
12:11
Merge together the os_unix.c fix of [aa6acfa8ca] and the trigger fix of [dee1b8eb40]. (check-in: 1e2c6e134e user: drh tags: trunk)
05:57
Fix a bad interaction between "proxy-locking" and aa6acfa8ca. (check-in: 2a5c9e1dbf user: dan tags: trunk)
2009-08-24
19:37
Update the version number to 3.6.18, even though the actual release of that version is still a few weeks away. (check-in: c0ea4e9a7d user: drh tags: trunk)
18:57
Fix some errors in aa6acfa8ca. (check-in: 82d1934a42 user: dan tags: trunk)
01:35
Run the column cache in a new context when generating code for trigger programs. Fix for ticket [efc02f9779]. (check-in: dee1b8eb40 user: drh tags: trunk)
2009-08-22
19:17
Remove an obsolete documentation file left over from SQLite version 1.0. (check-in: f7eb1efc37 user: drh tags: trunk)
11:39
Fix a problem in os_unix.c where a malloc failure could lead to a leaked file descriptor. (check-in: aa6acfa8ca user: dan tags: trunk)
2009-08-21
17:18
When a database file is opened, try to find an unused file descriptor to reuse. This change affects unix (and other systems that use os_unix.c) only. Fix for cvstrac ticket #4018. (check-in: 9b4d9ab62d user: dan tags: trunk)
13:22
Change the expression code generator to account for the fact that the new sqlite3AtoF() never returns NaN. Also, clarification of a comment in where.c. (check-in: 75f596a04a user: drh tags: trunk)
08:29
Add assert() statements to os_unix.c to check that the mutex is held when it should be. (check-in: 11a669b653 user: dan tags: trunk)
02:13
Updated sqlite3AtoF() that performs slightly better with GCC, and significantly better with MSVC. (check-in: f084f5a8ba user: shane tags: trunk)
02:07
Updates for test_init.c for configure and other consistency changes. (check-in: 3ba316e9a3 user: shane tags: trunk)
2009-08-20
23:05
Remove a redundant OOM test from the sqlite_stat2 analysis loader. (check-in: d30ceeb8b3 user: drh tags: trunk)
20:05
Simplifications to the range-scan logic in support of structural testing. (check-in: bbbee81075 user: drh tags: trunk)
18:14
Continuing refinements of the range-scan optimizations in where.c. The range scores are changed from an integer 1..9 to 0..100. (check-in: f0c24b5fb8 user: drh tags: trunk)
16:11
Change the code that collects samples for sqlite_stat2 so that the first sample taken is the (nRow/(2*SQLITE_INDEX_SAMPLES))th entry in the index, where nRow is the total number of index entries. (check-in: cbfe6e9df3 user: dan tags: trunk)
13:45
Incremental code and comment cleanup in where.c. There is more to be done. (check-in: 4a5d9550bd user: drh tags: trunk)
02:49
Set the "type" correctly of built-in BINARY collating sequences for UTF16. (check-in: 167644f33c user: drh tags: trunk)
02:34
All the sqlite3GetCollSeq() function to specify an arbitrary text encoding. (check-in: 4ee44322ca user: drh tags: trunk)
2009-08-19
22:14
Make sure that sqlite3ValueFromExpr() sets the "type" field of the sqlite3_value object correctly when the value is a floating point number. (check-in: 2467eb68ac user: drh tags: trunk)
17:17
Change the way an Expr that has been converted to TK_REGISTER stores its original opcode. The previous method, overloading Expr.iColumn, did not work in all cases. (check-in: 71ea9d0e14 user: dan tags: trunk)
16:34
Fix an assert() failure that may follow an OOM error. (check-in: 14a715c563 user: dan tags: trunk)
16:21
Merge 29cafcfdcc and a6f39181a7. (check-in: 740a93e89c user: dan tags: trunk)
15:57
Documentation improvements in sqlite.h.in. No changes to code. (check-in: a6f39181a7 user: drh tags: trunk)
15:34
Add some tests that use the sqlite_stat2 table in shared-cache mode. (check-in: 29cafcfdcc user: dan tags: trunk)
14:42
Merge with 709e16145e. (check-in: 6c8a0e2b37 user: dan tags: trunk)
14:34
Clean up sqlite_stat2 related code. Add test cases. (check-in: aa728e06ce user: dan tags: trunk)
09:09
Fix a problem where a buffer allocated from a lookaside pool was being released using the system free(). (check-in: 67207a15bd user: dan tags: trunk)
08:18
Add the SQLITE_ENABLE_STAT2 macro. If this is not defined at build-time, the stat2 table is not created, populated, or used. (check-in: 362665e89c user: dan tags: trunk)
04:24
Adjust sync count for SQLITE_DISABLE_DIRSYNC compiler option. (check-in: 709e16145e user: shane tags: trunk)
2009-08-18
16:24
Change the sqlite_stat2 schema to be more flexible. (check-in: ded9dec645 user: dan tags: trunk)
16:05
Unknown functions in the DEFAULT clause of a table cause an error when the DEFAULT value is needed. Ticket [2d401a94287b5]. (check-in: 093917d7fd user: drh tags: trunk)
15:33
Move the allocation of the memsys5 mutex into the initializer. (check-in: 4e377a09c1 user: drh tags: trunk)
14:48
Fix obscure issues with the memsys5 memory allocator. Arrange that the xRealloc() interface to memory allocators is only called with a value that has been through xRoundup(). (check-in: 577bd6f155 user: drh tags: trunk)
12:16
When shutting down the memsys5 memory allocator, be sure to clear the mutex pointer in case the next startup does not use a mutex because it is configured differently. (check-in: d4e7e2d823 user: drh tags: trunk)
01:54
Fix a bug in mem5.c which would cause an infinite loop on an attempt to allocate more than 1073741824 bytes of contiguous memory. Also, some cleanup of mem5.c. More work to do on this. (check-in: 783b751a38 user: drh tags: trunk)
2009-08-17
17:06
First version of sqlite_stat2 (schema forces exactly 10 samples). (check-in: dd96bda2a8 user: dan tags: trunk)
16:01
Always call sqlite3_malloc() in sqlite3OsInit(), even when not compiled with SQLITE_TEST. (check-in: b98a8706a6 user: drh tags: trunk)
15:52
Move error simulation code from the sqlite3_os_init() functions into a wrapper. (check-in: 67ad21abf8 user: dan tags: trunk)
15:31
More documentation and comment updates for sqlite3_initialize/shutdown interface changes to handle failures. (check-in: 32509bc733 user: shane tags: trunk)
15:16
Add tests to check that sqlite recovers from an error in sqlite3_initialize() correctly. (check-in: 904a371c6c user: dan tags: trunk)
13:42
Enhanced documentation and minor code tweaks in preparation for hardening the sqlite3_initialize/shutdown interfaces against initialization failures. (check-in: 98c49e6135 user: drh tags: trunk)
09:29
Add a test to verify that 3.6.17 releases read-locks obtained to read the database schema even if the connection is not currently in auto-commit mode. (check-in: 78dfe8321d user: dan tags: trunk)
2009-08-14
18:18
Update the amalgamation builder so that it avoids putting redundant SQLITE_API macros on declarations. (check-in: 0d5b058717 user: drh tags: trunk)
17:53
Work around an over-zealous optimization in GCC 4.3.3. See CVSTrac ticket #4027. (check-in: 9cbe365405 user: drh tags: trunk)
17:01
Fix a case where SQLite may write past the end of a buffer as a result of a corrupted database file. (check-in: 43321a5560 user: dan tags: trunk)
16:15
Fix to the "publish.sh" script that was broken by the previous check-in. (check-in: 34c21210eb user: drh tags: trunk)
16:01
Incorporate fossil-scm version information into the build. Add the SQLITE_SOURCE_ID macro to the header. Add the sqlite3_sourceid() interface. Add the sqlite_source_id() SQL function. (check-in: 302dabe98f user: drh tags: trunk)
2009-08-13
20:15
Fix typos in comments used to generate documentation. CVSTrac tickets #4028 and #4029. (check-in: 1fc73b9146 user: drh tags: trunk)
19:54
Tweak to the new whereB.test file to make it more consistent. (check-in: 06098505fc user: drh tags: trunk)
19:21
If a binary operator in a WHERE clause that should be performed with no affinity conversions applied to its operands (see http://www.sqlite.org/datatype3.html) is optimized by index lookup, do not apply any conversions to the key value before looking it up in the index. Fix for [93fb9f89d6]. (check-in: e72186f2d6 user: dan tags: trunk)
18:14
Enhancements to the whereB.test to check more affinity corner cases. (check-in: 1048459824 user: drh tags: trunk)
17:14
Add a test case for the affinity problem reported by ticket [93fb9f89d6]. (check-in: 149ec24e61 user: drh tags: trunk)
15:42
Merge the accidental fork. (check-in: 86a06dd049 user: drh tags: trunk)
15:13
Fix a typo on a comment in sqlite3VdbeIntegerAffinity(). (check-in: b5a709d360 user: drh tags: trunk)
07:09
Changes to the query planner that improve the order in which tables/indexes are scanned in join queries. (check-in: 19f799b32f user: dan tags: trunk)
2009-08-12
15:34
Fixed some compiler warnings in WINCE only sections when using the MSVC compiler. (check-in: 1f0a93e17d user: shane tags: trunk)
11:45
Make sure the large-file support macros occur first in sqliteInt.h. Fix for CVSTrac ticket #4022. (check-in: b0848925ba user: drh tags: trunk, cvs-to-fossil-cutover)
2009-08-11
05:50
Instead of adding SQLITE_API macros sqlite3.h while creating sqlite3.c, add them as part of generating the sqlite3.h target, while copying from sqlite.h.in to sqlite3.h. This fixes a build problem that was causing multiple SQLITE_API macros to be added to a single line of sqlite3.h, and the problem cited by #4016. (CVS 6971) (check-in: 7f4810747b user: danielk1977 tags: trunk)
2009-08-10
17:48
Reduce the maximum supported sector size to 64KiB. (CVS 6970) (check-in: 8e1e0ba292 user: drh tags: trunk)
15:16
Version 3.6.17 (CVS 6969) (check-in: 3665010228 user: drh tags: trunk, release)
10:18
Update a couple of tests in corrupt7.test to account for a change in the error message text emitted by SQLite. (CVS 6968) (check-in: 3172a29692 user: danielk1977 tags: trunk)
04:37
Exclude a static function in test1.c from the build when OMIT_DEPRECATED is defined. This avoids a compiler warning that occurs with some compilers. (CVS 6967) (check-in: ace499506e user: danielk1977 tags: trunk)
04:26
Change mallocI.test to close a database connection that was being left open. (CVS 6966) (check-in: 4f0096d7ef user: danielk1977 tags: trunk)
03:57
Removed some warnings from the MSVC compile. (CVS 6965) (check-in: ee034cfc71 user: shane tags: trunk)
03:23
Fixed "Interlocked" logic error that prevented the "static" mutexes from being released when sqlite3_shutdown() is called. Ticket #4011. (CVS 6964) (check-in: 04cafb7ee3 user: shane tags: trunk)
2009-08-08
18:01
Suppress various compiler warnings. (CVS 6963) (check-in: 257e9b5750 user: drh tags: trunk)
2009-08-07
16:56
Enhancement to (6844). If sqlite3_exec() is to return SQLITE_NOMEM because it fails to allocate space for an error message, set the database error-code to SQLITE_NOMEM too. (CVS 6962) (check-in: 8293fa19c0 user: danielk1977 tags: trunk)
2009-08-06
18:36
Mark the rtreeUpdate function as static. (CVS 6961) (check-in: b6bdfdc69d user: danielk1977 tags: trunk)
17:43
Alternative fix for ticket #3810. This is a replacement for check-in (6956). (CVS 6960) (check-in: ba1afc0401 user: drh tags: trunk)
17:40
Change a hyperlink label on shared cache mode documentation. No changes to code. (CVS 6959) (check-in: 3d08ca0e54 user: drh tags: trunk)
2009-08-05
04:08
Simplified conditional for read-only lock in winceLockFile() function. Ticket #3991. (CVS 6958) (check-in: a1c184cd2a user: shane tags: trunk)
2009-08-01
18:22
Make sure all database connections are closed at the end of the test case for ticket #3810. (CVS 6957) (check-in: 9bca5a0e8f user: drh tags: trunk)
16:27
Return a better error message when problems are encountered parsing a TEMP trigger or TEMP view that references objects in other databases that have been modified or dropped. Ticket #3810. (CVS 6956) (check-in: 102785b9fb user: drh tags: trunk)
15:54
Add a testcase for ticket #3810. (CVS 6955) (check-in: 29972f7445 user: drh tags: trunk)
15:09
Fix a segfault following OOM that was introduced by check-in (6949) which was a fix for ticket #3997. (CVS 6954) (check-in: 359d78e144 user: drh tags: trunk)
15:04
Increment the version number in preparation for the next release. (CVS 6953) (check-in: 12d9b87316 user: drh tags: trunk)
2009-07-31
06:14
Fix a bug in where.c that could cause SQLite to write to freed memory while compiling a query with many terms in the WHERE clause. (CVS 6952) (check-in: 8161af840e user: danielk1977 tags: trunk)
2009-07-29
06:04
Add a test to mallocI.test to show that a shared lock is correctly released if an OOM condition occurs while parsing a database schema. (CVS 6951) (check-in: 5a82620efa user: danielk1977 tags: trunk)
2009-07-28
16:44
Add the experimental API sqlite3_strnicmp(). Modify fts3 so that in terms like 'column_name:token' the column_name is interpreted in a case-insenstive fashion. Ticket #3996. (CVS 6950) (check-in: 4571aa9e91 user: danielk1977 tags: trunk)
13:30
When flattening a SELECT query, do not discard collation sequences explicitly attached to expressions in the parent query. Fix for #3997. (CVS 6949) (check-in: b2784cf5d8 user: danielk1977 tags: trunk)
08:43
Fixed reversed labels in WHERETRACE() statement. Debugging code only. (CVS 6948) (check-in: 614a8d8315 user: shane tags: trunk)
2009-07-27
14:15
If there is a hot-journal in the file-system, a connection with journal_mode=memory set may have to open it to effect rollback. Account for this in pager_end_transaction(). This prevents an assert from failing in the in-memory journal permutation test. (CVS 6947) (check-in: 224bc69a04 user: danielk1977 tags: trunk)
11:41
Do not simulate OOM conditions in the sqlite3OsXXX() calls if the underlying file is an in-memory journal file. (CVS 6946) (check-in: d486811715 user: danielk1977 tags: trunk)
10:05
When extracting values from a record to use in an UPDATEd version of that record, apply OP_RealAffinity if required. Fix for #3992. (CVS 6945) (check-in: 3616766a6f user: danielk1977 tags: trunk)
2009-07-25
22:13
The noReadlock property on a pager object implies the readOnly property. Use this fact to simplify the logic in sqlite3PagerSharedLock(). (CVS 6944) (check-in: 886e665f6c user: drh tags: trunk)
19:31
Remove obsolete assert and testcase macros related to ticket #2565 (CVS 6943) (check-in: f0024b3189 user: drh tags: trunk)
17:42
Adjust memory size computations to avoid a conditional that is always false on 64-bit systems. (CVS 6942) (check-in: 04211e6af9 user: drh tags: trunk)
17:39
Change an unreachable condition in PagerSharedLock to a NEVER(...). Add an assert to pager_error() to show that it is never called to put an in-memory pager to the error-state. (CVS 6941) (check-in: 1d931f7751 user: danielk1977 tags: trunk)
17:33
Change a condition to a '%' operator in bitvec.c. (CVS 6940) (check-in: 10250fe5c0 user: drh tags: trunk)
17:08
More simplifications to pager.c. (CVS 6939) (check-in: 533d6cc67a user: drh tags: trunk)
15:24
Simplifications and comment improvements to pager.c in support of coverage testing. (CVS 6938) (check-in: 5b70b5c19c user: drh tags: trunk)
14:18
Add a NEVER() on an always-false conditional in pager.c. Make sure the text of the master journal file is zero-terminated before trying to process it - to prevent a buffer overrun in strlen(). (CVS 6937) (check-in: cc9430e334 user: drh tags: trunk)
13:42
Remove the "proc zeroblob" implementation from incrvacuum2.test. It is no longer required as of (6906) and, as #3988 points out, unreliable. (CVS 6936) (check-in: 0315383163 user: danielk1977 tags: trunk)
11:46
Add files that should have gone in with the previous checkin. (CVS 6935) (check-in: 64c7afc704 user: danielk1977 tags: trunk)
11:40
Add a complex assert() that checks a pager invariant. (CVS 6934) (check-in: 2e08ad7bf6 user: danielk1977 tags: trunk)
04:12
Add assert() statements to more tightly constrain the state of pager.c. Remove the three pager*.test scripts since they violate the constraints asserted above by modifying the state of the system in ways that it cannot be modified in a live system. (CVS 6933) (check-in: 3b6d370ed6 user: drh tags: trunk)
00:13
Remove two more overzealous assert() statements. (CVS 6932) (check-in: 788aa9dde9 user: drh tags: trunk)
00:10
Remove an overzealous assert() from pager.c. (CVS 6931) (check-in: 4a924b475a user: drh tags: trunk)
2009-07-24
21:23
Fix an issue with the previous check-in, (6929). (CVS 6930) (check-in: e5165c80ab user: drh tags: trunk)
19:01
Further simplifications to pager.c in support of structural coverage testing. (CVS 6929) (check-in: 866216c0b6 user: drh tags: trunk)
17:58
Allow virtual tables to be used in shared-cache mode. (CVS 6928) (check-in: 5d9e767a05 user: danielk1977 tags: trunk)
16:32
Simplifications to pager.c in support of structural coverage testing. (CVS 6927) (check-in: 7222ad2667 user: drh tags: trunk)
12:35
Simplifications and comment improvements in pager.c. (CVS 6926) (check-in: 2d2f42ca0a user: drh tags: trunk)
2009-07-23
01:44
Simplifications and comment enhancements on btree.c. (CVS 6925) (check-in: 5ba880dde8 user: drh tags: trunk)
2009-07-22
18:24
Modify mksqlite3c.tcl so that it inserts SQLITE_API macros into sqlite3.h. Ticket #3983. (CVS 6924) (check-in: 803ec79f3b user: danielk1977 tags: trunk)
18:07
Simplifications to btree.c in support of coverage testing. (CVS 6923) (check-in: 375fd6f9c5 user: drh tags: trunk)
16:41
Avoid leaving a suspect page in the page-cache if an error occurs during sqlite3PagerAcquire(). (CVS 6922) (check-in: 2594f01c73 user: danielk1977 tags: trunk)
14:08
Fix a double-free that can occur after database corruption is detected. (CVS 6921) (check-in: 5260e8b104 user: danielk1977 tags: trunk)
13:19
Add a NEVER() macro around a pager.c conditional that must always be false in the current implementation. (CVS 6920) (check-in: 1e510d7fc5 user: drh tags: trunk)
07:27
Changes to test code (only) to allow veryquick.test to run with OMIT_UTF16 builsd. Ticket #3985. (CVS 6919) (check-in: 7f3fc7f20f user: danielk1977 tags: trunk)
02:02
Remove an ALWAYS() from a condition that can in fact be false under very obscure circumstances. (CVS 6918) (check-in: 3808322895 user: drh tags: trunk)
00:35
Further simplifications to btree.c, especially the sqlite3BtreeKey() and sqlite3BtreeData() functions. New assert() statements added to verify that these routines are called correctly. (CVS 6917) (check-in: 96cfd07952 user: drh tags: trunk)
2009-07-21
19:25
Change getAndInitPage() (btree.c) to use only PagerAcquire(), not PagerLookup() and PagerAcquire(). (CVS 6916) (check-in: 0b41dfc066 user: danielk1977 tags: trunk)
19:02
Additional simplifications to btree.c in support of coverage testing. (CVS 6915) (check-in: 716fccea58 user: drh tags: trunk)
15:33
Remove an assert() in btree.c which is no longer true due to changes in the error reporting behavior of ptrmapPut(). (CVS 6914) (check-in: 110998f18a user: drh tags: trunk)
11:52
Changes to btree.c in support of coverage testing. (CVS 6913) (check-in: 4cf23e9e86 user: drh tags: trunk)
2009-07-20
19:30
Reverse the order of two conditionals in a test in order to achieve coverage of them both. Also: clarifications to comments in btree.c. (CVS 6912) (check-in: a159e9d247 user: drh tags: trunk)
17:11
Modify various routines inside btree.c to take a pointer to the return-code as a parameter and to no-op if the return-code storage location already contains a non-zero code. (CVS 6911) (check-in: 7dcf2a7872 user: drh tags: trunk)
12:33
Use an ALWAYS() on a conditional in btmutex.c that is always true. (CVS 6910) (check-in: 609022caff user: drh tags: trunk)
12:25
Corrections to the comment that is inserted at the top of the amalgamation. Ticket #3981. (CVS 6909) (check-in: 7572991bc2 user: drh tags: trunk)
11:32
Always provide a name for the TEMP database even if SQLite is compiled using SQLITE_OMIT_TEMPDB. (CVS 6908) (check-in: 0ba17c0483 user: drh tags: trunk)
2009-07-18
20:01
Code tweaks in support of full-coverage testing. (CVS 6907) (check-in: 22c6dbfdce user: drh tags: trunk)
14:36
Add some code to sqlite3VdbeMemSetZeroBlob() so that it works (less efficiently) even when OMIT_INCRBLOB is defined. Ticket #3977. (CVS 6906) (check-in: f5f7259d81 user: danielk1977 tags: trunk)
11:52
When the asynchronous IO backend opens a file with the EXCLUSIVE flag set, make sure only a single file-descriptor is opened (not one for reading and one for writing). This change fixes #3978. (CVS 6905) (check-in: 630e669b97 user: danielk1977 tags: trunk)
08:30
Changes to test scripts so that (make test) works when OMIT_INCRBLOB is defined. (CVS 6904) (check-in: 1dd834a3d6 user: danielk1977 tags: trunk)
2009-07-17
17:25
Fix a subtle problem that can occur when a transaction is automatically rolled back, and afterwards a VM that had opened a statement transaction within the abandoned transaction is finalized. Fixes an assert() that was failing in rtree3.test. (CVS 6903) (check-in: 910df46e0f user: danielk1977 tags: trunk)
16:54
Return a meaningful error message if a keyword is used as an rtree table column name. Ticket #3970. (CVS 6902) (check-in: 046efe46b5 user: danielk1977 tags: trunk)
14:37
Skip all tests in tableapi.test if SQLITE_OMIT_GET_TABLE defined. Ticket #3975. (CVS 6901) (check-in: 0219a54336 user: shane tags: trunk)
11:44
Code simplifications in support of structural testing. (CVS 6900) (check-in: fb1b955dda user: drh tags: trunk)
2009-07-16
18:21
Code simplifications and comment improvements in support of structural coverage testing. (CVS 6899) (check-in: 9452517981 user: drh tags: trunk)
12:41
Remove an unused variable from sqlite3ExprListDup(). Ticket #3973. (CVS 6898) (check-in: 17c05aefd6 user: drh tags: trunk)
2009-07-15
18:15
Fix a potential database corruption following DROP TABLE when the pending byte page corresponds to a ptrmap page. This situation cannot happen in a real deployment - but it still needs to be fixed. (CVS 6897) (check-in: 6242db39f7 user: drh tags: trunk)
17:25
Simplifications to btree.c in support of structural testing. Renamed the "skip" field of the BtCursor object to "skipNext" to make it easier to search for places where it is used. (CVS 6896) (check-in: d3897235d7 user: drh tags: trunk)
16:30
Remove an assert() from vdbeaux.c that might not be true if the database file is corrupt. (CVS 6895) (check-in: a42dc51e3b user: drh tags: trunk)
11:26
Added the SQLITE_TESTCTRL_RESERVE option to sqlite3_test_control(). Simplifications to btree.c to facilitate structural coverage testing. (CVS 6894) (check-in: cfbeda1b31 user: drh tags: trunk)
2009-07-14
18:35
Add comments and assert() statements to show that the return value from sqlite3BtreeKeySize() and sqlite3BtreeData() usually do not matter. Ticket #3968. Also remove a NEVER() macro that can sometimes be true - discovered while testing the previous change. (CVS 6893) (check-in: 0c710c1be5 user: drh tags: trunk)
17:48
Simplifications to the PRAGMA integrity_check logic. Remove unreachable code. (CVS 6892) (check-in: 17749fa548 user: drh tags: trunk)
14:15
Simplifications and tweaks to vdbeaux.c resulting from structural testing. (CVS 6891) (check-in: fa49666fb9 user: drh tags: trunk)
02:33
Make sure the IN operator works with zeroblobs. Ticket #3965. Other simplifications associated with structural testing. (CVS 6890) (check-in: 25dd342283 user: drh tags: trunk)
2009-07-13
15:52
Remove the SQLITE_CommitBusy flag. This was an attempt to block recursion on the sqlite3_commit_hook() interface. But such recursion is explicitly disallowed, so the flag is pointless. (CVS 6889) (check-in: 1c2bfc43a4 user: drh tags: trunk)
13:18
Change an unreachable condition in btree.c to a NEVER(). (CVS 6888) (check-in: 9f800e1139 user: danielk1977 tags: trunk)
11:22
In sqlite3PagerWrite(), do not set the PGHDR_NEED_SYNC flag on a page if an IO error occured while attempting to journal it. (CVS 6887) (check-in: b9be365d85 user: danielk1977 tags: trunk)
09:41
Remove an assert ("assert( subpage>0 )") from btree.c that may not be true for a corrupt database. Also add comments and other assert() statements to btree.c function moveToRoot(). (CVS 6886) (check-in: 3151dab9c7 user: danielk1977 tags: trunk)
07:30
Remove a case from BtreeMovetoUnpacked() that is unreachable as of (6881). (CVS 6885) (check-in: 39ce2097da user: danielk1977 tags: trunk)
2009-07-12
02:32
Simplifications to btree.c to help facilitate coverage testing. (CVS 6884) (check-in: dfb146ef00 user: drh tags: trunk)
02:31
When an OOM fault occurs while moving a page for autovacuum in an in-memory database, be sure to undo the page move prior to returning the error, to avoid corrupting the in-memory database file. (CVS 6883) (check-in: d0964b9366 user: drh tags: trunk)
2009-07-11
18:26
Remove an unused parameter from the accessPayload() function in btree.c. (CVS 6882) (check-in: 7deb6568d8 user: drh tags: trunk)
17:39
Fix a case where deleting a row from a corrupt database could cause an assert to fail. (CVS 6881) (check-in: 6994b41a94 user: danielk1977 tags: trunk)
17:04
Bug fix in the computation of the number of pages to autovacuum when nReserve is greater than zero. (CVS 6880) (check-in: 618a83d65f user: drh tags: trunk)
13:13
Unwind some complex conditions in sqlite3BtreeDelete() into separate "if" statements. (CVS 6879) (check-in: d99bde9ca6 user: drh tags: trunk)
11:45
Remove another unreachable branch from btree.c. (CVS 6878) (check-in: b0853100a9 user: danielk1977 tags: trunk)
06:55
Modify the integrity-check code so that each b-tree page inspected is reinitialized while doing so, even if an initialized copy exists in the cache. This prevents an assert from failing when running integrity_check on a corrupt database. (CVS 6877) (check-in: 709576c670 user: danielk1977 tags: trunk)
05:06
Remove unreachable condition from btree.c. (CVS 6876) (check-in: 47b40fefa6 user: danielk1977 tags: trunk)
2009-07-10
16:51
Fix a pager reference count leak in btree that occurs on an OOM following a database page size change. (CVS 6875) (check-in: c6dfc8bd39 user: drh tags: trunk)
09:24
Fix a double-free that can occur when using the fts3 legacy syntax '-' operator. Add tests for the same operator. Ticket #3960. (CVS 6874) (check-in: c19d419e8c user: danielk1977 tags: trunk)
02:52
Simplifications to the PRAGMA integrity_check logic in btree.c. (CVS 6873) (check-in: 440c573c7e user: drh tags: trunk)
2009-07-09
13:25
Fix two faulty assert() statements btree. (It was possible for the assertions to be false given a corrupt database file as input.) (CVS 6872) (check-in: 9403f04dfd user: drh tags: trunk)
11:36
Remove an unused branch from btree.c. (CVS 6871) (check-in: 45efb78a8a user: danielk1977 tags: trunk)
08:27
In btree.c, have setSharedCacheLock() assume that the b-tree is sharable instead of checking to see if it is. The caller has already performed this check. (CVS 6870) (check-in: 3190eefd5f user: danielk1977 tags: trunk)
05:07
Restore (btree_set_cache_size) to test3.c. This is used on unix for the tcl "crash tests". Make some functions no longer used outside of btree.c static. (CVS 6869) (check-in: 1d96ce8c76 user: danielk1977 tags: trunk)
03:20
removed the test function sqlite3BtreeFlags() (test code only); (CVS 6868) (check-in: 579ba6c83f user: shane tags: trunk)
02:48
removed unused functions from test3.c (test code only); (CVS 6867) (check-in: 0eb69e8dda user: shane tags: trunk)
02:24
Simplifications and additional testcase() macros for btree.c. (CVS 6866) (check-in: 1b8c3a8246 user: drh tags: trunk)
2009-07-08
18:50
Fix a typo in (6861): "ifndef SQLITE_TEST" -> "ifdef SQLITE_TEST". (CVS 6865) (check-in: 890dbab28c user: danielk1977 tags: trunk)
18:45
Revert part of (6860) that was accidentally checked in. (CVS 6864) (check-in: 11e295ccd2 user: danielk1977 tags: trunk)
18:12
Add another boundary-condition testcase() macro to btree.c. Correct the comment on modifyPagePointer(). (CVS 6863) (check-in: fed66e8695 user: drh tags: trunk)
16:54
Improvements to comments in btree.c:freeSpace(). Added a testcase() macro to verify a boundary case is tested in sqlite3BtreeInitPage(). (CVS 6862) (check-in: 5ac991b3ce user: drh tags: trunk)
15:14
Comment out sqlite3BtreeFlags() when not in debug mode. Tweaks to database corruption detection logic in freeSpace(). (CVS 6861) (check-in: 196cbf8229 user: drh tags: trunk)
13:55
Fix error handling in sqlite3BtreePutData(). (CVS 6860) (check-in: 86eba4f16f user: danielk1977 tags: trunk)
08:05
Remove an ALWAYS clause that could be false if an IO error within a statement executed by a virtual table caused an emergency rollback. (CVS 6859) (check-in: 0cc705c2c4 user: danielk1977 tags: trunk)
01:49
Simplifications to sqlite3BtreeInsert() and allocateSpace(). Added many testcase() macros to verify boundary conditions in btree.c. (CVS 6858) (check-in: aab82a229a user: drh tags: trunk)
2009-07-07
17:38
Improvements to corrupt database detection in defragmentPage(). (CVS 6857) (check-in: 87bbc8d6b6 user: drh tags: trunk)
15:47
Do not load the root-page of a b-tree table/index when opening a cursor. Instead, allow it to be loaded when the cursor is first used (in function moveToRoot()). Also move the root-page flags sanity checks that were a part of the OP_OpenRead/OpenWrite opcodes into the moveToRoot() function. (CVS 6856) (check-in: 06dcfe72a6 user: danielk1977 tags: trunk)
13:56
If an error occurs in PagerBegin(), call pager_end_transaction() to reset the internal state of the pager object. (CVS 6855) (check-in: ea7ed16628 user: danielk1977 tags: trunk)
11:39
Fix a reference count problem following database corruption detection in the ptrmapPut() routine of btree.c. (CVS 6854) (check-in: ec1e27e33b user: drh tags: trunk)
02:44
Simplifications to btree.c and vdbeaux.c in support of structural coverage testing. (CVS 6853) (check-in: fc2a40a9db user: drh tags: trunk)
2009-07-06
21:54
Fix the pager so that it remembers the name of the journal for an in-memory database as an empty string. This is important when committing a multi-database transaction that includes one or more attached memory databases. (CVS 6852) (check-in: 31a5e8192e user: drh tags: trunk)
19:03
Fix the backup logic so that it detects a failure to sqlite3BtreeUpdateMeta() and reports that failure back up to the top level. (CVS 6851) (check-in: 471b92f251 user: drh tags: trunk)
18:56
Make the sqlite3BtreeMoveto function static, since it is only used from within btree.c. Remove unused function lockBtreeWithRetry from btree.c. (CVS 6850) (check-in: 30d5ec62ab user: danielk1977 tags: trunk)
00:44
Simplifications and comment cleanup in vdbeaux.c. (CVS 6849) (check-in: 1636e7831a user: drh tags: trunk)
2009-07-04
17:16
Remove unreachable code from function btreeCursor() in btree.c. (CVS 6848) (check-in: c76a366ed4 user: danielk1977 tags: trunk)
15:41
Remove a redundant branch from btree.c. (CVS 6847) (check-in: 133357d2f0 user: danielk1977 tags: trunk)
2009-07-03
22:54
Remove two unused fields from the Parse structure. The TCL interface now removes leading whitespace from SQL statements before parsing them. (CVS 6846) (check-in: 983cb6924b user: drh tags: trunk)
19:19
Remove unused code (that was commented out) from prepare.c. Remove an incorrect NEVER() macro. Fix the comment on schemaIsValid() to correctly describe its return behavior. (CVS 6845) (check-in: 90deb65835 user: drh tags: trunk)
19:18
Cause sqlite3_exec() to return SQLITE_NOMEM if it cannot allocate memory to hold the error message for some other error. (CVS 6844) (check-in: e9849292ab user: drh tags: trunk)
17:23
Remove an unused variable from the test code in test3.c. (CVS 6843) (check-in: 9e35bec9ef user: drh tags: trunk)
17:09
Add a version of the Lemon parser template "lempar.c" to the src/ subfolder. This new parser template contains a couple of NEVER() macros that disable tests that are needed for general grammars but not for the specific grammar used by SQLite. SQLite builds with the modified lempar.c. (CVS 6842) (check-in: d426cc64f6 user: drh tags: trunk)
16:25
Simplify the way the read-uncommitted flag is handled to facilitate test coverage. (CVS 6841) (check-in: e2112d6160 user: danielk1977 tags: trunk)
15:37
Make explicit the restrictions on UPDATE, DELETE, and INSERT statement syntax within triggers. Ticket #3947. (CVS 6840) (check-in: c8bf40df7b user: drh tags: trunk)
12:57
Test the result of pthread_create() and do not call pthread_join() if the thread creation failed. Ticket #3933. (CVS 6839) (check-in: 304c5110ad user: drh tags: trunk)
2009-07-02
18:40
Fix to sqlite3AuthRead to accommodate "new" or "old" references that are used in a context where a column reference may also be used (i.e. "SELECT new.
17:21
When a b-tree transaction is committed when there are open cursors, downgrade shared-cache write-locks to read-locks instead of relinquishing all locks. Fix for #3942. (CVS 6837) (check-in: 611e704fdf user: danielk1977 tags: trunk)
07:47
Cause opening a transaction on a sharable b-tree module automatically obtain a read-lock on page 1. This means there is no way for sqlite3BtreeGetMeta() to fail. (CVS 6836) (check-in: e3c055f167 user: danielk1977 tags: trunk)
05:23
Fix for compilation with OMIT_AUTOVACUUM defined. Ticket #3940. (CVS 6835) (check-in: 8f0591ae98 user: danielk1977 tags: trunk)
2009-07-01
18:09
Change to test code and scripts allowing memsys3 to be tested using a build that has both memsys3 and memsys5 enabled. (CVS 6834) (check-in: a00aeec21c user: danielk1977 tags: trunk)
18:04
Fix a 1-byte buffer overwrite that can occur when a virtual table overloads an SQL function. (CVS 6833) (check-in: bfe336a899 user: danielk1977 tags: trunk)
16:12
Report an error if a USING or ON clause is specified following a from-list element that is not to the right of a join operator. Fix for #3846. (CVS 6832) (check-in: 29b48972b6 user: danielk1977 tags: trunk)
14:56
Do not ignore alias "a" in a query of the form "SELECT ... FROM (...) AS a" Fix for #3935. Also expand upon (6751) to fix some similar obscure memory leaks. (CVS 6831) (check-in: 42f9d1e564 user: danielk1977 tags: trunk)
2009-06-29
06:00
Cause incremental-blob read/write operations lock shared-cache tables in the same way as normal SQL read/writes. Add complex assert statements to make sure tehe correct shared-cache locks are held when accessing the database. Eliminate some redundant checks from btree.c. (CVS 6830) (check-in: f17ef37897 user: danielk1977 tags: trunk)
2009-06-27
14:10
Version 3.6.16 (CVS 6829) (check-in: ff691a6b2a user: drh tags: trunk, release)
11:17
Fix an instance where sqlite3JumpHere() might be called with a negative address following an OOM fault. (CVS 6828) (check-in: 49f22e55d6 user: drh tags: trunk)
00:48
Fix a bug in sqlite3_realloc() - if called with a size of more than 2147483392 it returns 0 but it also releases the prior allocation. (CVS 6827) (check-in: 653df0afcc user: drh tags: trunk)
2009-06-26
18:35
Remove incorrect NEVER() macros from malloc.c. The allocations can be exceeded using sqlite3_malloc() and sqlite3_realloc(). (CVS 6826) (check-in: 0d345e5923 user: drh tags: trunk)
16:32
Removed a few compiler warnings under MSVC. (CVS 6825) (check-in: f01a9fc375 user: shane tags: trunk)
15:14
Remove the priorNewRowid field from the sqlite3 structure. Use the last_insert_rowid as the initial value when searching for a new random rowid in the OP_NewRowid opcode. (CVS 6824) (check-in: 96729b2d49 user: drh tags: trunk)
14:17
Skip a couple tests requiring working 64bit int support on platforms without that support. Test code change only. (CVS 6823) (check-in: d8c8145c9d user: shane tags: trunk)
14:04
When sqlite3VdbeAddOp() fails due to an OOM fault, return an address of 1 rather than zero so that there appears to always be a prior instruction. This prevents a negative jump-to address computation in where.c following an OOM fault. (CVS 6822) (check-in: fe02339cb2 user: drh tags: trunk)
12:30
Fix a test script problem in exclusive.test. (CVS 6821) (check-in: a52ef5a421 user: danielk1977 tags: trunk)
12:15
Fix the new pager.c changes so that they compile with IOTRACE defined. Fix an out-of-order variable definition in vdbeaux.c. (CVS 6820) (check-in: ac14502850 user: drh tags: trunk)
10:39
Another change to test_journal.c to account for (6817). Again, only test code has changed. (CVS 6819) (check-in: 58884b6c50 user: danielk1977 tags: trunk)
09:01
Update test_journal.c to account for (6817). Changes to test code only. (CVS 6818) (check-in: 542ee8cced user: danielk1977 tags: trunk)
07:12
Avoid writing the 8-byte journal-header magic until the journal-header is synced. In persistent journal-mode, this prevents any old content that follows an unsynced journal-header from being interpreted as part of the rollback journal. (CVS 6817) (check-in: a5ecffcf02 user: danielk1977 tags: trunk)
2009-06-25
16:11
Fix a problem with a return code being ignored in insertCell(). (CVS 6816) (check-in: bb5f1c0143 user: danielk1977 tags: trunk)
11:50
Get the notify2.test running again by removing an ALWAYS() that was mistakenly inserted and by taking care not to report corruption following an SQLITE_LOCKED failure during schema parsing. (CVS 6815) (check-in: 6e9140a729 user: drh tags: trunk)
09:40
Replace an "if" condition that is always true in btree.c with an assert(). (CVS 6814) (check-in: daadbd9a8f user: danielk1977 tags: trunk)
01:47
Improved handling of oversize string and blob errors. Other simplifications in support of full coverage testing. (CVS 6813) (check-in: 8b34076668 user: drh tags: trunk)
2009-06-24
13:16
Remove an ALWAYS() macro from vdbe.c that sometimes fails on thread tests. (CVS 6812) (check-in: 52eac078c7 user: drh tags: trunk)
13:13
Disable the new malloc-37 test when locking_mode==exclusive. The test basically works, but sometimes reports "database is locked" instead of "out of memory" and that messes up the error reporting. (CVS 6811) (check-in: 3b8f9dec24 user: drh tags: trunk)
11:08
Remove a declaration of the sqlite3Assert() function that was deleted by the previous check-in. (CVS 6810) (check-in: ee20b6a23f user: drh tags: trunk)
10:26
Remove the sqlite3Assert() function. The ALWAYS() and NEVER() macros call assert() directly when compiled with SQLITE_DEBUG. (CVS 6809) (check-in: d8fc373fef user: drh tags: trunk)
05:40
Simplify things by rolling the functionality of balance_shallower() into balance_nonroot(). (CVS 6808) (check-in: 11750c6aee user: danielk1977 tags: trunk)
2009-06-23
20:28
Enhance autoincrement so that it works with triggers that also do autoincrement inserts, even multiple inserts into the same table. Ticket #3928 (CVS 6807) (check-in: 1330993de8 user: drh tags: trunk)
16:40
Remove a condition from balance_nonroot() that is always true. (CVS 6806) (check-in: c5dc80e6bd user: danielk1977 tags: trunk)
15:43
Call balance_shallower() from balance_nonroot() instead of from balance(). This simplifies coverage testing a bit. (CVS 6805) (check-in: da9893e23c user: danielk1977 tags: trunk)
14:39
Update the configure script for version 3.6.16 (CVS 6804) (check-in: b614e554f7 user: drh tags: trunk)
14:18
Update the version number in preparation for the next release. (CVS 6803) (check-in: 207c4a02ba user: drh tags: trunk)
14:15
Simplifications to vdbe.c to promote better test coverage. (CVS 6802) (check-in: 3ffc93d762 user: drh tags: trunk)
11:53
Add a test to verify that #3929 is fixed. (CVS 6801) (check-in: 16c1ae9bde user: danielk1977 tags: trunk)
11:22
Fix a failing assert in btree.c. The same bug was causing a spurious SQLITE_CORRUPT return when compiled without SQLITE_DEBUG. (CVS 6800) (check-in: 47ec874947 user: danielk1977 tags: trunk)
2009-06-22
19:05
Simplifications to vdbe.c and it service routines in support of coverage testing. (CVS 6799) (check-in: 308f2e6152 user: drh tags: trunk)
18:03
Remove a condition that is always true from btree.c. (CVS 6798) (check-in: 3ec8b37a89 user: danielk1977 tags: trunk)
12:05
Make sure sqlite3BtreeCreateTable() returns an error code if the largest rootpage field is invalid in auto_vacuum mode. Update file-format comments to describe all of the "meta" values. (CVS 6797) (check-in: bda38f5e86 user: drh tags: trunk)
11:10
More simplifications to vdbe.c. Remove a NEVER() from vdbe.c that is possible after all. (CVS 6796) (check-in: c8f009bd24 user: drh tags: trunk)
05:43
If an OOM error occurs just after obtaining a shared lock on the database file, release the lock before returning. (CVS 6795) (check-in: 971a9650f6 user: danielk1977 tags: trunk)
00:55
Simplifications to vdbe.c in support of coverage testing. (CVS 6794) (check-in: 16680f05bd user: drh tags: trunk)
2009-06-20
18:52
When recovering from the error-state in pagerSharedLock(), do not search for a hot-journal in the file-system if the pager is configured to use an anonymous temp file as the journal. (CVS 6793) (check-in: 4b46805cbc user: danielk1977 tags: trunk)
11:54
If after obtaining an exclusive lock to rollback a hot-journal file it is found that the journal file has been deleted, do not return an SQLITE_BUSY error. Just downgrade the lock and continue with the current operation. This eliminates a spurious SQLITE_BUSY error caused by a race condition. (CVS 6792) (check-in: 9a06660037 user: danielk1977 tags: trunk)
2009-06-19
22:50
Improved documentation on the VFS methods. Ticket #3925. (CVS 6791) (check-in: f66fc7713e user: drh tags: trunk)
22:23
Do now allow a COMMIT to occur while even a single write operating is in progress. (CVS 6790) (check-in: 605520ec04 user: drh tags: trunk)
18:32
Fix the comment on the sqlite3PExpr() subroutine. Ticket #3924. (CVS 6789) (check-in: 4bb96db6b4 user: drh tags: trunk)
17:50
If a call is made to sqlite3PagerAcquire when there are no outstanding references to any pages and the pager is in the error-state, try to exit the error-state at this point. Previously this was only attempted if the pager was configured to use exclusive mode. (CVS 6788) (check-in: 62db08bc0d user: danielk1977 tags: trunk)
16:44
Make sure group_concat() ignores initial NULL values. (CVS 6787) (check-in: 90c3b23cca user: drh tags: trunk)
14:06
Reorganize and cleanup the prepared statement object. Remove code that has been commented out for ages and is no longer relevant to anything. (CVS 6786) (check-in: 37ae5f5e8f user: drh tags: trunk)
02:25
Fix a possible segfault when backing up an encrypted database. (CVS 6785) (check-in: 7d8f178c81 user: drh tags: trunk)
00:33
Make sure the sqlite3VdbeGetOp() subroutine works even when SQLite is compiled with SQLITE_OMIT_TRACE. (CVS 6784) (check-in: 1c8ec2a6e4 user: drh tags: trunk)
2009-06-18
20:52
Changes to the backup functionality so that it works better with codecs. (CVS 6783) (check-in: 87d6796d98 user: drh tags: trunk)
17:22
Move codec management from database connections into the pager so that it will work together with shared cache. (CVS 6782) (check-in: ed08b53cd6 user: drh tags: trunk)
11:34
Update the filefmt.test test script to conform to the previous check-in. (CVS 6781) (check-in: 40a40e81b3 user: drh tags: trunk)
11:29
Reduce the minimum usable page space to 480 byte from 500 bytes. (CVS 6780) (check-in: db4fb83536 user: drh tags: trunk)
00:41
Remove the P3 operand from OP_IsNull since it was not being used. (CVS 6779) (check-in: 767ef1e4a1 user: drh tags: trunk)
2009-06-17
22:50
Avoid an assertion fault if an out-of-memory error occurs while trying to run the string-concatentation operator on a zero-blob. (This is an absurd thing to do, but even so, we still should not fault.) (CVS 6778) (check-in: 0def0b76b9 user: drh tags: trunk)
21:42
Fix a problem in vdbe.c that could cause a double-free of memory if the SQLITE_LIMIT_LENGTH is changed after a statement is prepared but before it is run. Also remove debugging statements from tkt3841.test. (CVS 6777) (check-in: 3d7327fd6a user: drh tags: trunk)
16:20
Use caution to avoid integer overflow when doing real to integer affinity operations. Ticket #3922. (CVS 6776) (check-in: 392559465d user: drh tags: trunk)
13:57
Fix a potential segfault following database corruption. Problem made visible by check-in (6772). (CVS 6775) (check-in: 69eb0ff817 user: drh tags: trunk)
13:09
Suppress some -Wextra compiler warnings from GCC. (CVS 6774) (check-in: 59ec937ce2 user: drh tags: trunk)
11:49
Fix a bug affecting secure-delete mode introduced by (6768). (CVS 6773) (check-in: a433ca821c user: danielk1977 tags: trunk)
11:13
Fix for #3918. Also, fix the TRACE macros in balance_nonroot(). (CVS 6772) (check-in: 368e44ec2e user: danielk1977 tags: trunk)
01:17
A minor simplification to the tokenizer. (CVS 6771) (check-in: 18f2076ac2 user: drh tags: trunk)
00:35
Changes to prepare.c and callback.c to promote better test coverage. (CVS 6770) (check-in: 08cca219f1 user: drh tags: trunk)
2009-06-16
17:49
Changes sqlite3_prepare_v2() (and related routines) so that if it fails due to a missing table and the schema is out of date, it retries once before returning SQLITE_SCHEMA. Other changes to prepare.c to facilitate coverage testing. (CVS 6769) (check-in: 256ec3c6af user: drh tags: trunk)
16:50
Changes to balance_nonroot() and BtreeDelete() to simplify delete operations and reduce stack/heap usage while balancing b-tree structures. (CVS 6768) (check-in: 092b276e7d user: danielk1977 tags: trunk)
14:15
Fix a link error and warning that can occur in where.c when compiling under MSVC with SQLITE_OMIT_VIRTUALTABLE defined. Ticket #3914. (CVS 6767) (check-in: 793c93be16 user: shane tags: trunk)
04:35
Leave out a redundant line in build.c. Ticket #3916. (CVS 6766) (check-in: d9f997aeb7 user: danielk1977 tags: trunk)
04:31
Remove a duplicate assert from btree.c. Ticket #3915. (CVS 6765) (check-in: d89542cd8b user: danielk1977 tags: trunk)
2009-06-15
23:15
Additional updates to the symbol resolver and expression tree walker to facilitate test coverage. (CVS 6764) (check-in: a49c2d4bef user: drh tags: trunk)
20:45
Changes to allow a clean compile with no floating-point instructions generated when SQLITE_OMIT_FLOATING_POINT is used. (CVS 6763) (check-in: 1591b8322b user: drh tags: trunk)
18:32
Updates to resolve.c to facilitate full coverage testing. (CVS 6762) (check-in: c50f0f28df user: drh tags: trunk)
16:27
Fix compiler warnings with MSVC build. (CVS 6761) (check-in: e1e6430752 user: shane tags: trunk)
03:28
Version 3.6.15 (CVS 6760) (check-in: aff34826aa user: drh tags: trunk, release, version-3.6.15)
00:04
Update the configuration script for version 3.6.15. (CVS 6759) (check-in: 14df65dc04 user: drh tags: trunk)
2009-06-14
12:47
Detect database corruption and abort balance_nonroot() before the corruption causes problems. (CVS 6758) (check-in: 3448b39dcd user: drh tags: trunk)
2009-06-12
17:46
Change lemon so that it does not generate yytestcase() macros on destructor cases since destructors are commonly unreachable in a reasonable grammar. For the reduce-rule switch, gather all no-ops into the "default:" case. (CVS 6757) (check-in: caebfe82cb user: drh tags: trunk)
15:47
The previous check-in ((6755)) put in more yytestcase() macros than are called for. This check-in addresses that problem. (CVS 6756) (check-in: a5b182f93b user: drh tags: trunk)
13:53
The lemon parser generator now inserts yytestcase() macros on reduce action and on each destructor, to verify that all have been executed. yytestcase() is a no-op by default but can be set to something more useful inside of %include. (CVS 6755) (check-in: fe9c917734 user: drh tags: trunk)
12:50
In lemon: omit unused entries from the end of the yyFallback array. (CVS 6754) (check-in: 9cfbe2ba68 user: drh tags: trunk)
12:04
Enable the SQLITE_LIMIT_FUNCTION_ARG limiter. (CVS 6753) (check-in: a17e331717 user: drh tags: trunk)
11:42
Remove a C++-ism from the code. Ticket #3912. (CVS 6752) (check-in: bc729bc3e6 user: drh tags: trunk)
03:47
An additional memory leak in the parser fixed. Ticket #3911. (CVS 6751) (check-in: 6197b49271 user: drh tags: trunk)
03:27
Make sure nested queries with USING clauses do not leak memory. Preliminary fix for ticket #3911. (CVS 6750) (check-in: bd341a103c user: drh tags: trunk)
02:27
Modifications to the parser to eliminate unreachable code. (CVS 6749) (check-in: 457e0b245b user: drh tags: trunk)
2009-06-11
17:32
Honor the SQLITE_OPEN_READONLY flag even on a :memory: or temporary database, even though such a database is pointless. Ticket #3908. (CVS 6748) (check-in: 73ba841ac1 user: drh tags: trunk)
17:04
Add an ALWAYS() to a conditional in where.c. (CVS 6747) (check-in: 1fdb3e1e9a user: drh tags: trunk)
00:47
Changes to reenable codec operation and to handle memory allocation failures within a codec. (CVS 6746) (check-in: 43a6ca98b1 user: drh tags: trunk)
2009-06-10
19:33
Do not let the reverse_unordered_selects pragma force the use of an index that would not otherwise be used. Ticket #3904. Also: remove an test which is always true. (CVS 6745) (check-in: 78a391dca0 user: drh tags: trunk)
11:07
Remove a NEVER() that can sometimes occur on an OOM error. (CVS 6744) (check-in: c27f23bbaf user: drh tags: trunk)
09:11
Minor tweak to balance_quick() to save a few instructions. (CVS 6743) (check-in: 9ace995910 user: danielk1977 tags: trunk)
2009-06-09
19:53
Remove the actual checks that verify that memory pools (such as set up using SQLITE_CONFIG_HEAP) are 8-byte aligned. But document that 8-byte alignment is required. (CVS 6742) (check-in: e9b55ccc8b user: drh tags: trunk)
18:58
Fix compiler warnings with MSVC build. (CVS 6741) (check-in: 0bd84e7387 user: shane tags: trunk)
18:14
Avoid a false failure report in the test scripts caused by the vdbe stack "compression" script. (CVS 6740) (check-in: 9d3329891c user: shane tags: trunk)
18:02
Require that the buffer specified by SQLITE_CONFIG_HEAP be 8-byte aligned. (CVS 6739) (check-in: 18b78068cc user: drh tags: trunk)
18:01
Changes to tokenize.c to facilitate full coverage testing. (CVS 6738) (check-in: 5e8c48cff7 user: drh tags: trunk)
15:25
Change savepoint4.test to limit database growth. Otherwise the test can take a very long time to run, depending on the prng. (CVS 6737) (check-in: ed1d4f47ee user: danielk1977 tags: trunk)
14:27
Modify mkkeywordhash.c so that it puts the original text of each token in a comment beside the "testcase()" macros. (CVS 6736) (check-in: a7d0817c17 user: drh tags: trunk)
13:42
Enable cell overflow checking in sqlite3BtreeInitPage() using the compile-time option SQLITE_ENABLE_OVERSIZE_CELL_CHECK. Change the tests so that they recognize different error messages depending on the setting of this macro. (CVS 6735) (check-in: 56bff6eb2f user: drh tags: trunk)
11:34
Avoid calling fillInCell() to create an internal node intkey cell from balance_nonroot(). A single putVarint() does the same thing more quickly. (CVS 6734) (check-in: 2e5d42aeb4 user: danielk1977 tags: trunk)
10:37
Only do the cell overread checks in sqlite3BtreeInitPage if SQLITE_OVERREAD_CHECK is defined at compile-time. (CVS 6733) (check-in: 49f544ebae user: drh tags: trunk)
09:41
Do not clear the MemPage.nFree variable when insertCell() adds an overflow cell to a page. Not doing this means balance_quick() can avoid a call to sqlite3BtreeInitPage(). (CVS 6732) (check-in: 8f1c1f61f7 user: danielk1977 tags: trunk)
2009-06-08
19:44
Additional comments to clarify the operation of the LIKE optimizer in where.c. (CVS 6731) (check-in: cc9c12170c user: drh tags: trunk)
17:11
Clarification of the operation of the OR-term optimizer in where.c. (CVS 6730) (check-in: 6b42dc3d04 user: drh tags: trunk)
14:49
Change the btree balance code so that it does not call balance_nonroot() recursively. (CVS 6729) (check-in: 7863db904d user: danielk1977 tags: trunk)
12:52
Increase the version number to 3.6.15 in preparation for the next release. (CVS 6728) (check-in: 456ea541d6 user: drh tags: trunk)
2009-06-07
23:45
Disable the LIKE optimization if the affinity of the LHS column is not TEXT. Ticket #3901. (CVS 6727) (check-in: a255c645c4 user: drh tags: trunk)
2009-06-06
19:21
Update the error message on one of the corruption tests to account for the fact that we are finding the corruption sooner. (CVS 6726) (check-in: ba9848e7b8 user: drh tags: trunk)
16:08
Fix an error in the malloc.test test script causing a small buffer overread. (CVS 6725) (check-in: 4d129bee69 user: danielk1977 tags: trunk)
15:17
Make sure the result of sqlite3VdbeGetOp() is not used as an array following an OOM error, since after (6691) it might be a single-entry dummy opcode. (CVS 6724) (check-in: 127b139819 user: drh tags: trunk)
14:13
When building in debug mode with gcc, force the nullMem variable in function columnMem() to be aligned to an 8-byte boundary. Otherwise an assert() statement may fail. (CVS 6723) (check-in: 3fd6c72da5 user: danielk1977 tags: trunk)
2009-06-05
18:44
Detect when database corruption causes an attemp to set the pointer map value for a pointer map page and report the corruption. (CVS 6722) (check-in: 3ae4880bee user: drh tags: trunk)
17:09
Remove leftover "breakpoint" commands from test scripts. Also remove blank lines at the end of scripts. (CVS 6721) (check-in: 1fef16ec2b user: drh tags: trunk)
16:46
Do not cast an unsigned int into an int for comparison. (CVS 6720) (check-in: 302ab855e6 user: drh tags: trunk)
14:17
Take care that a corrupt variable-length integer does not cause 32-bit integer overflow when parsing a record format, nor cause excessively large memory allocations. (CVS 6719) (check-in: 38b20327a8 user: drh tags: trunk)
2009-06-04
19:06
Earlier detection of freelist corruption in the page allocation routines. (CVS 6718) (check-in: e557c8e584 user: drh tags: trunk)
17:02
Fix an assertion fault in balance_quick() that occurs when an interior btree node has zero cells due to database corruption. Also update the corrupt7.test result vectors for a couple of cases where the error report on database corruption changed due to earlier detection. (CVS 6717) (check-in: 1335e4440f user: drh tags: trunk)
16:14
If the root page of a btree is empty and is also not a leaf page and the page is not page 1, then report database corruption. (CVS 6716) (check-in: 52b02ca5f3 user: drh tags: trunk)
14:46
Reduce the stack usage of balance_quick(). (CVS 6715) (check-in: e7ad68e93b user: danielk1977 tags: trunk)
02:47
Minor updates to comments in test scripts. (CVS 6714) (check-in: 453ff88f73 user: shane tags: trunk)
02:46
Minor tweak to test script to ensure every byte in file touched at least once. (CVS 6713) (check-in: bc6c2d894b user: shane tags: trunk)
00:11
Fix two instances where a malformed header in a database file (in other words a corrupt database file) can lead to an assertion fault. (CVS 6712) (check-in: 4e92c7f20a user: drh tags: trunk)
2009-06-03
21:04
Change the pcache1.c implementation so that the "header" occurs at the end of page buffer, not at the beginning. This insures that the 20 bytes immediately following the page buffer are mapped if a read of the page buffer overruns due to a malformed cell. (CVS 6711) (check-in: c54de1f540 user: drh tags: trunk)
17:26
Add corruptD.test, a container for testing the "cell overflow" problem. Also shuffle a small amount of code in BtreeInitPage() to check that the page header pointer to the start of the cell offset array is set to a sane value. (CVS 6710) (check-in: 7fa5d3cb0f user: danielk1977 tags: trunk)
11:25
Define a set of constants to use as the "index" argument to sqlite3BtreeGetMeta and UpdateMeta. This makes some parts of the code easier to follow. (CVS 6709) (check-in: 6dbf4eca00 user: danielk1977 tags: trunk)
01:24
Additional changes to reduce stack usage. The SQLITE_SMALL_STACK compile-time option is now available. (CVS 6708) (check-in: baea79fd0c user: drh tags: trunk)
2009-06-02
21:31
Further reductions in the amount of stack space required. (CVS 6707) (check-in: 04bad9eb6d user: drh tags: trunk)
16:06
Tweaks to vdbe.c to further reduce stack space requirements. (CVS 6706) (check-in: 6f2aab3f7b user: drh tags: trunk)
15:47
Add a test case for ticket #3893 and ticket #3894. (CVS 6705) (check-in: 2472f6db95 user: drh tags: trunk)
15:21
Add the vdbe-compress.tcl script which automatically refactors the sqlite3VdbeExec() routine to use less stack space. Use this script when constructing the amalgamation. (CVS 6704) (check-in: 7f43391831 user: drh tags: trunk)
2009-06-01
19:53
Avoid allocating large objects on the stack in the incremental BLOB I/O interface. (CVS 6703) (check-in: ea7dfde700 user: drh tags: trunk)
18:18
Malloc for space to hold the Parse object in sqlite3_prepare() and friends. Or, if compiled with SQLITE_USE_ALLOCA, obtain space for the object from alloca(). (CVS 6702) (check-in: c7c0c58e47 user: drh tags: trunk)
17:10
Added assert to verify winMutex system is inited before "static" mutexes are used. (CVS 6701) (check-in: b126013b5a user: shane tags: trunk)
17:06
Ensure that "static" mutexes are deleted on shutdown so that they are not leaked across restarts. (CVS 6700) (check-in: 4e75897ee1 user: shane tags: trunk)
16:53
Fix compiler warnings with MSVC build. (CVS 6699) (check-in: 0791588520 user: shane tags: trunk)
16:42
Fix a couple of Windows only issues with test scripts. (CVS 6698) (check-in: 0f6bc5e1ba user: shane tags: trunk)
2009-05-31
21:21
Code simplifications to facilitate coverage testing following the recent changes to the Expr object. (CVS 6697) (check-in: ee9a144d44 user: drh tags: trunk)
17:16
Fix the ".genfkey" command of the CLI so that it does not leak memory if sqlite3_realloc() fails. Ticket #3891. (CVS 6696) (check-in: a028d69c70 user: drh tags: trunk)
2009-05-30
23:35
Fix typo reported by ticket #3888. Other minor edits to facilitate coverage testing. (CVS 6695) (check-in: 164adf261d user: drh tags: trunk)
20:49
Simplifications to the expr.c source module resulting from structural testing. (CVS 6694) (check-in: f760bb7a03 user: drh tags: trunk)
14:16
Fix for ticket #3887. Other unrelated bits of code cleanup in the expr.c source module. (CVS 6693) (check-in: 00e7250f11 user: drh tags: trunk)
10:46
In vacuum.c use "PagerIsMemdb(X)" instead of "PagerFile(X)->pMethods==0". (CVS 6692) (check-in: 874295ce71 user: danielk1977 tags: trunk)
2009-05-29
19:00
Enhance the sqlite3VdbeGetOp() routine so that it always returns a pointer to VdbeOp, even following an OOM fault. This simplifies error handling in callers. Cleanup to the column cache logic and the expr.c source module. (CVS 6691) (check-in: ede06dacdf user: drh tags: trunk)
14:39
Refinements in expression handling logic that have resulted from recent structural testing. (CVS 6690) (check-in: bd89f2c29b user: drh tags: trunk)
11:57
Still more refinements to the hasHotJournal() fix of ticket #3883. (CVS 6689) (check-in: 726b425e43 user: drh tags: trunk)
10:55
The hasHotJournal() fix of check-in (6687) causes some minor problems in various alternative operating modes, such as locking_mode=EXCLUSIVE. This additional patch attempts to fix those concerns. Ticket #3883. (CVS 6688) (check-in: a2ba61d927 user: drh tags: trunk)
00:30
Modify the hasHotJournal() routine to return a false-positive if it is unable to open the journal file to check its header due to a race condition. Processing downstream of hasHotJournal() already knows how to deal with false-positives. Ticket #3883. (CVS 6687) (check-in: d6b5d8e1ab user: drh tags: trunk)
2009-05-28
21:04
Remove references to deleted function sqlite3ExprRegister(). Changes to the expr.c source module to promote better testing. (CVS 6686) (check-in: 6ae4ad6ebe user: drh tags: trunk)
14:34
Fix a NULL pointer dereference following an OOM error in the column name resolver. (CVS 6685) (check-in: 3b46142532 user: drh tags: trunk)
12:49
Make sure the column name resolver does not try to duplicate Expr.u.zToken when the Expr.u.iValue union member is the element being used. (CVS 6684) (check-in: 376ecf0d87 user: drh tags: trunk)
11:05
Workaround the need for internal API sqlite3BtreeCursorDb(). It was only being used for an assert() statement, which can be done differently. (CVS 6683) (check-in: 5904af6e6d user: danielk1977 tags: trunk)
01:00
Additional refinements to Expr handling. Restore compression of trigger expressions. Change Expr.zToken to Expr.u.zToken and added Expr.u.iValue. Remove an unnecessary ExprDup from CHECK constraint processing. And so forth. (CVS 6682) (check-in: 4ac2bdfbb4 user: drh tags: trunk)
2009-05-27
10:31
Simplifications to the Expr object: Remove Expr.span completely and convert Expr.token into a char* Expr.zToken. Also simplify the Token object by removing the Token.dyn and Token.quoted fields. (CVS 6681) (check-in: 7cb1c3ba07 user: drh tags: trunk)
2009-05-25
15:00
Version 3.6.14.2 (CVS 6680) (Leaf check-in: ab76d1a252 user: drh tags: branch_3_6_14, release)
14:17
Fix the rtree test module so that it works even if the ext/ subfolder is omitted from the tree. (CVS 6679) (check-in: 086206e1f5 user: drh tags: trunk)
12:40
Update the configure script for version 3.6.14.2. (CVS 6678) (check-in: 58373119b7 user: drh tags: branch_3_6_14)
12:02
Port the fix for ticket #3879 (check-in (6676)) to the 3.6.14 branch. (CVS 6677) (check-in: d2fdae8ed1 user: drh tags: branch_3_6_14)
11:46
When pinning a temp register after it is reused by the column cache, make sure all instances of that register in the cache are pinned so that the register is never reused for a different purpose. Ticket #3879. (CVS 6676) (check-in: 5f358e6371 user: drh tags: trunk)
11:46
Add a test case for ticket #3879. (CVS 6675) (check-in: 5b9b66f47b user: danielk1977 tags: trunk)
2009-05-24
21:59
Additional clarification of the 3rd parameter to sqlite3_create_function(). Documentation change only; no changes to code. Ticket #3875. (CVS 6674) (check-in: dd75e376e8 user: drh tags: trunk)
11:08
In the previous, the upper bound on the number of function arguments is 127, not 255. Ticket #3876 (CVS 6673) (check-in: 4fe4c5fac5 user: drh tags: trunk)
11:07
Correct and clarify the documentation on the third parameter to sqlite3_create_function(). (CVS 6672) (check-in: 6b7929ed36 user: drh tags: trunk)
2009-05-22
15:43
Do not transform a WHERE clause of the form "a = ? OR a = ?" to "a IN (?, ?)" if "a" is a column of a virtual table. Ticket #3871. (CVS 6671) (check-in: fad88e71cf user: danielk1977 tags: trunk)
11:12
Add an assert() to pcache1.c to double-check that page cache buffer memory is never allocated if pcache1 is not enabled. Ticket #3872 (CVS 6670) (check-in: 93369d91ab user: drh tags: trunk)
11:10
Additional changes to pcache1 to prevent the page buffer memory from being configured if pcache1 is not enabled. Ticket #3872. (CVS 6669) (check-in: 5153ad19da user: drh tags: trunk)
10:53
Make sure sqlite3_shutdown() completely disables the default pager cache mechanism in pcache1.c. Ticket #3872. Also fix some comments associated with configuring the page cache. (CVS 6668) (check-in: 6240992cef user: drh tags: trunk)
01:02
Add omitted word in the documentation for total_change_count(). ticket #3870. (CVS 6667) (check-in: 3f6fd16f92 user: drh tags: trunk)
01:00
Fix an 8-byte alignment problem on HP/UX. Ticket #3869 (CVS 6666) (check-in: fc64f85092 user: drh tags: trunk)
2009-05-21
20:41
Simplifications to expr.c in support of full coverage testing. (CVS 6665) (check-in: 309adb5e22 user: drh tags: trunk)
15:15
In the CLI in the ".dump" command, do not attempt to clear the sqlite_sequence table until the first row of content of that table is seen. Ticket #3867 (CVS 6664) (check-in: bedd5ad194 user: drh tags: trunk)
14:51
In the CLI, always "dump" the sqlite_sequence table last. Ticket #3867 (CVS 6663) (check-in: a0028d4808 user: drh tags: trunk)
04:42
Add conditional 'extern "C"' block to sqlite3async.h. Ticket #3866. (CVS 6662) (check-in: e4d1b117c9 user: danielk1977 tags: trunk)
2009-05-20
20:10
Fix a memory leak that occurs when an out-of-memory error occurs while preparing a statement that has multiple virtual table updates within triggers. Other virtual table changes to support full-coverage testing. (CVS 6661) (check-in: 02b77a582c user: drh tags: trunk)
16:22
Remove unused, undocumented, and untested error reporting logic from the xFindFunction interface in virtual tables. (CVS 6660) (check-in: 55d6ced262 user: drh tags: trunk)
02:40
Updates to the extension loading logic to support full coverage testing. (CVS 6659) (check-in: 929cfbc66f user: drh tags: trunk)
2009-05-19
19:04
Changes to select.c to facilitate full coverage testing. (CVS 6658) (check-in: f678ed34fa user: drh tags: trunk)
14:21
Improvements to the SQLITE_INT_TO_PTR macro to reduce the number of warnings. For some platforms it might be necessary to compile with the -DHAVE_STDINT_H flag. Ticket #3860. (CVS 6657) (check-in: 1b0ee9d188 user: drh tags: trunk)
03:21
Update the showdb.c utility so that it works with databases larger than 4GiB. (CVS 6656) (check-in: 9675b62236 user: drh tags: trunk)
00:01
Version 3.6.14.1 (CVS 6655) (check-in: e4267c87e5 user: drh tags: branch_3_6_14, release)
2009-05-18
17:11
Port the sqlite3_backup fix of check-in (6632), ticket #3858 onto the 3.6.14.1 branch. (CVS 6654) (check-in: 0d3abee273 user: drh tags: branch_3_6_14)
16:22
Update the configure script for the 3.6.14.1 release. (CVS 6653) (check-in: 4ebb850181 user: drh tags: branch_3_6_14)
16:14
Port patches from the trunk into the 3.6.14.1 branch: the group_concat() fix of check-in (6616), ticket #3841 and the pcache fix of check-in (6619), ticket #3844. (CVS 6652) (check-in: 2a277c55b2 user: drh tags: branch_3_6_14)
16:12
Update the version number for the 3.6.14.1 branch. (CVS 6651) (check-in: f06cae3b5e user: drh tags: branch_3_6_14)
16:04
Fix memdb.test so that it works when OMIT_AUTOVACUUM is defined. (CVS 6649) (check-in: 8c3c0c24c8 user: danielk1977 tags: trunk)
15:46
Changes to select.c in support of full coverage testing. (CVS 6647) (check-in: e225f365bd user: drh tags: trunk)
13:34
Fix a typo on a comment associated with check-in (6641) and ticket #3860. (CVS 6646) (check-in: 43051e0315 user: drh tags: trunk)
2009-05-17
15:29
Remove debugging code accidently left in check-in (6642). Ticket #3862. (CVS 6645) (check-in: 0d97461347 user: drh tags: trunk)
15:26
Take care to free the memory for the ORDER BY clause on SELECT statements containing errors and contained within triggers. Ticket #3863. (CVS 6644) (check-in: dd665eac8c user: drh tags: trunk)
12:07
Fix a typo in the sqlite3_blob_open() documentation. (CVS 6643) (check-in: 92866482ef user: drh tags: trunk)
02:06
Tweaks and simplifications to select.c to facility full coverage testing. (CVS 6642) (check-in: e3ccbc69ba user: drh tags: trunk)
2009-05-16
17:38
Attempt to provide a version of the SQLITE_INT_TO_PTR macro that works on both llvm-gcc-4.2 and MSVC. Ticket #3860. (CVS 6641) (check-in: ddee7ff23e user: drh tags: trunk)
2009-05-15
14:41
Re-enable file locking in async4.test. (CVS 6640) (check-in: f709818728 user: danielk1977 tags: trunk)
2009-05-14
22:37
Documentation enhancements for sqlite3_update_hook(), sqlite3_commit_hook(), and the various incremental blob I/O routines. No changes to code. (CVS 6639) (check-in: e8ca932d8c user: drh tags: trunk)
19:26
Change the sqlite3_backup_finish() interface so that calling it with a NULL pointer is a harmless no-op. One other change to backup.c to facilitate full coverage testing. (CVS 6638) (check-in: 06bc89177b user: drh tags: trunk)
03:21
Documentation updates to better explain the SQLITE_OPEN_EXCLUSIVE flag. Ticket #3855. (CVS 6637) (check-in: 6bd44f36f4 user: shane tags: trunk)
2009-05-13
22:58
Additional simplifications to build.c in support full coverage testing. (CVS 6636) (check-in: 913d111493 user: drh tags: trunk)
17:35
Remove incorrect NEVER() macro in the previous check-in (6634). (CVS 6635) (check-in: c684957991 user: drh tags: trunk)
17:21
Changes to build.c to help facilitate full coverage testing. (CVS 6634) (check-in: 264ace50bb user: drh tags: trunk)
14:46
Do not run async4.test as part of the "journaltest" permutation. It specifically tests that the asynchronous IO backend can be configured to violate the assumptions made by journaltest. (CVS 6633) (check-in: b19bf39bba user: danielk1977 tags: trunk)
07:52
When locking a database file, check if any backup objects need to be restarted even if the page cache is empty. Ticket #3858. (CVS 6632) (check-in: 90309008c3 user: danielk1977 tags: trunk)
2009-05-12
18:00
Remove debugging comments left in the prior check-in by mistake. (CVS 6631) (check-in: 8207056036 user: drh tags: trunk)
17:46
Move the sqlite3MinimumFileFormat() routine from build.c over to alter.c since alter.c is the only code that uses it. Additional changes and cleanup to build.c to facility coverage testing. (CVS 6630) (check-in: 6fe3750a30 user: drh tags: trunk)
13:35
Make sure the SQLITE_OPEN_EXCLUSIVE flag is ignored by sqlite3_open_v2(). That flag is to be used by the VFS interface only. Ticket #3855. (CVS 6629) (check-in: c37f0279eb user: drh tags: trunk)
00:40
Tweaks to build.c to facilitate coverage testing. (CVS 6628) (check-in: 6572b438a0 user: drh tags: trunk)
2009-05-11
23:38
If a virtual table constructor returns SQLITE_NOMEM, set the mallocFailed flag in the corresponding database connection to insure that the error is propagated back to the top layer. (CVS 6627) (check-in: 5635666f20 user: drh tags: trunk)
20:53
Rework the logic that generates a schema for tables created using "CREATE TABLE ... AS SELECT ...". Instead of trying to copy the raw datatype string from the right-hand side, just make the type one of TEXT, INT, REAL, NUM, or nothing. This is much simpler than trying to parse and quote datatype strings. Other minor implifications to build.c are bundled with this change. (CVS 6626) (check-in: 33cf83591e user: drh tags: trunk)
18:22
Enhance the parser to allow nested parentheses in the module argument of a CREATE VIRTUAL TABLE statement. (CVS 6625) (check-in: 93772bd7f5 user: drh tags: trunk)
2009-05-09
23:29
Convert an always-true condition in hash.c into an assert(). (CVS 6624) (check-in: 4237299935 user: drh tags: trunk)
18:59
Add the SQLITE_TESTCTRL_ASSERT and SQLITE_TESTCTRL_ALWAYS codes for the sqlite3_test_control() interface. (CVS 6623) (check-in: 38df91c2ed user: drh tags: trunk)
15:17
Change sqlite_blob_open() so that it zeros the output pBlob pointer when it fails. The other sqlite3_blob interfaces accept a NULL pointer as input. (CVS 6622) (check-in: 999d507b44 user: drh tags: trunk)
00:18
Changes to the trigger.c module that facilitate full coverage testing. (CVS 6621) (check-in: 567ccc68cc user: drh tags: trunk)
2009-05-08
11:34
Fix a warning in the osx-specific part of os_unix.c. Ticket #3847. (CVS 6620) (check-in: 254ca3273c user: danielk1977 tags: trunk)
06:52
Correctly update the cache page-count when discarding pages in the xTruncate() method of the default pcache implementation. Otherwise the effective configured size of the cache shrinks each time xTruncate() is called. Fix for #3844. (CVS 6619) (check-in: 88211ceeec user: danielk1977 tags: trunk)
2009-05-07
14:11
If compiling FTS3 in the amalgamation, include the ctype.h header file. Ticket #3843. (CVS 6618) (check-in: 660108ef7a user: drh tags: trunk)
13:43
Change the sqlite3_create_function() family of routines to return SQLITE_MISUSE instead of SQLITE_ERROR if their parameters are incorrect. (CVS 6617) (check-in: 866f13e28c user: drh tags: trunk)
12:17
Make sure the iteration counter on aggregate functions is reset each time the aggregate is used in an correlated subquery. Ticket #3841. (CVS 6616) (check-in: 4a86de35d5 user: drh tags: trunk)
02:26
Version 3.6.14 (CVS 6615) (check-in: 469ad1ded3 user: drh tags: trunk, release)
2009-05-06
19:03
Fix compiler warning found with gcc -Wextra. (CVS 6614) (check-in: 93bdbc5e2f user: drh tags: trunk)
18:57
Changes to silence compiler warnings under MSVC. (CVS 6613) (check-in: df599237e1 user: shane tags: trunk)
18:42
Fix three variable initialization problems found by valgrind. (CVS 6612) (check-in: 3742843597 user: drh tags: trunk)
15:24
updated vxworks makefile for 3.6.14 release (CVS 6611) (check-in: 5d4bffaabb user: chw tags: trunk)
00:52
Add a short pause to force a context swap while waiting for a separate process to clear its lock in the lock4.test script. (CVS 6610) (check-in: 4357e76d53 user: drh tags: trunk)
00:49
Fix the test case misc3-6.11 so that it works correctly on UTF16 databases after the fix of for ticket #3838, check-in (6603) (CVS 6609) (check-in: c1e739e39b user: drh tags: trunk)
2009-05-05
20:02
Minor changes to the sqlite3_exec() implementation in legacy.c to facility full coverage testing. (CVS 6608) (check-in: 9e3016c184 user: drh tags: trunk)
18:01
Bump the version number up to 3.6.14. (CVS 6607) (check-in: f4549904b2 user: drh tags: trunk)
17:37
Changes to vacuum.c to facilitate full coverage testing. (CVS 6606) (check-in: 866284654c user: drh tags: trunk)
15:46
Make sure the left-shift operator never overflows. (CVS 6605) (check-in: 300da30178 user: drh tags: trunk)
15:46
Changes to update.c to facilitate full coverage testing. (CVS 6604) (check-in: 25a11b9eca user: drh tags: trunk)
12:54
Make sure the default value on a column added using ALTER TABLE has the correct encoding. Ticket #3838. (CVS 6603) (check-in: 7f89a860b7 user: drh tags: trunk)
2009-05-04
20:20
Make sure va_arg() does not occur on the same line as any "if" statement or "?" operator. (CVS 6602) (check-in: 3543be6e34 user: drh tags: trunk)
19:01
Avoid parsing cells that fit entirely on the b-tree page when searching a b-tree index. (CVS 6601) (check-in: 77a8239548 user: danielk1977 tags: trunk)
18:01
Changes to auth.c to promote full coverage testing. (CVS 6600) (check-in: c7615b4458 user: drh tags: trunk)
11:42
Speed up INSERT operations that add data to UNIQUE or PRIMARY KEY indexes by rationalizing duplicate seek operations. (CVS 6599) (check-in: cac4f3d812 user: danielk1977 tags: trunk)
01:58
Work toward cleaning up the authorizer interface. Work is on-going. This is an incremental check-in. (CVS 6598) (check-in: 694662f786 user: drh tags: trunk)
2009-05-03
20:23
Changes to facility full coverage testing of util.c. (CVS 6597) (check-in: a612299092 user: drh tags: trunk)
01:01
More changes to insert.c to facilitate full coverage testing. (CVS 6596) (check-in: 46c4ec968b user: drh tags: trunk)
2009-05-02
15:46
Simplifications to the uniqueness constraint failure error message generation code. (CVS 6595) (check-in: 8f3cac7682 user: drh tags: trunk)
13:29
Remove the aFKey hash table, which was not being used. Simplify the FKey object. Simplify the hash.c module since the copyKey parameter formerly used only by aFKey is now no longer required. (CVS 6594) (check-in: 80c43a355c user: drh tags: trunk)
12:02
Reduce the size of an integer literal in rowhash.tcl so that the test is able to run with the default TCL installation on Mac OS 10.5. (CVS 6593) (check-in: 2229accef3 user: drh tags: trunk)
10:03
When a cursor points at the last entry of an intkey btree after an insert, leave it there (instead of moving it to the tree root node). This speeds up statements of the form "INSERT INTO ... SELECT ..." that use auto-generated rowids. (CVS 6592) (check-in: 9950c0a79c user: danielk1977 tags: trunk)
07:36
Do not reset the cursor before seeking it in sqlite3BtreeInsert(). This speeds up INSERT operations that use auto-generated rowid values. (CVS 6591) (check-in: 20c4acc291 user: danielk1977 tags: trunk)
00:28
When checking indices for xfer compatibility, compare collating sequences by string, not by pointer. (CVS 6590) (check-in: 7d2b80c7ad user: drh tags: trunk)
2009-05-01
21:13
Record within the Token structure itself whether or not the token has been dequoted. This steals one bit from the length of a token and thus limits the size of tokens to 1GiB. (CVS 6589) (check-in: 12bcb03d9b user: drh tags: trunk)
15:17
Fix an error message that is generated if the number of columns do not match on an INSERT into a virtual table with hidden columns. (CVS 6588) (check-in: 795b453c9a user: drh tags: trunk)
13:16
Update PRAGMA integrity_check so that it treats SQLITE_IOERR_NOMEM errors from underlying components the same as SQLITE_NOMEM errors. (CVS 6587) (check-in: 26444f2a44 user: drh tags: trunk)
10:55
Change lock2.test so that it does not enter a busy loop if the child process exists unexpectedly. (CVS 6586) (check-in: 164a7f5a45 user: danielk1977 tags: trunk)
06:19
Remove a NEVER() clause from a condition that is true at least once when running attachmalloc.test. (CVS 6585) (check-in: 514efc7312 user: danielk1977 tags: trunk)
05:23
Fix for tempdb.test so that it passes when running the inmemory_journal permutation test. (CVS 6584) (check-in: 0256187b51 user: danielk1977 tags: trunk)
02:08
Fix processing of BEFORE triggers on INSERT statements with RHS SELECTs that insert a NULL into the INTEGER PRIMARY KEY. Ticket #3832. (CVS 6583) (check-in: 4a1f6a3a9a user: drh tags: trunk)
2009-04-30
17:45
More cleanup, etc. to support MSVC compiles. (CVS 6582) (check-in: 2cd9655e73 user: shane tags: trunk)
17:38
Disable an always-false test in the attach.c module. (CVS 6581) (check-in: 92b69481bd user: drh tags: trunk)
16:41
Fix a problem with in-memory sub-journals and exclusive locking mode. Also a test script problem introduced by (6575). (CVS 6580) (check-in: d67af3f5a2 user: danielk1977 tags: trunk)
15:59
Documentation updates for sqlite3_set_authorizer(). No changes to code. (CVS 6579) (check-in: 41f39c3145 user: drh tags: trunk)
13:30
Disallow attaching the same database multiple times to the same db connection in shared cache mode, since doing so leads to deadlock. (CVS 6578) (check-in: 715f14f1dc user: drh tags: trunk)
12:25
Fix apparent typo on exclusive.test in the (6575) check-in. (CVS 6577) (check-in: 95d22405e0 user: drh tags: trunk)
12:25
Changes sqlite3TempInMemory() to take a const parameter. (CVS 6576) (check-in: aa29a14ca0 user: drh tags: trunk)
09:10
When SQLite is configured to use in-memory temp files (either by setting SQLITE_TEMP_STORE during compilation or using the temp_store pragma at run time), store statement/savepoint journals in memory also. Ticket #3825. (CVS 6575) (check-in: 38f8c5a14c user: danielk1977 tags: trunk)
05:40
Fix a memory leak introduced in the previous check-in. (CVS 6574) (check-in: f082bf3605 user: drh tags: trunk)
05:19
Take care not to leave a zombie attached database if the attachment fails due to an encoding mismatch. Update attach logic to always use dynamically allocated error message strings. (CVS 6573) (check-in: a6cb4002ad user: drh tags: trunk)
01:22
Remove always-true tests from attach.c. In btree.c, always test the return from sqlite3PagerSetPagesize() since it might return SQLITE_NOMEM. (CVS 6572) (check-in: 8bf60b24ff user: drh tags: trunk)
00:11
Remove an always-true test from delete.c. Move the sqlite3OpenTable() routine from delete.c to insert.c since it is not used in delete.c. (CVS 6571) (check-in: 71756dc870 user: drh tags: trunk)
2009-04-29
18:12
Fixed compile for MSVC; removed compiler warnings; changes for NDEBUG build; minor code tweaks. (CVS 6570) (check-in: e98b12425f user: shane tags: trunk)
17:49
Modify the assemblePage() function in btree.c so that it runs slightly faster. (CVS 6569) (check-in: 7ec42e989f user: danielk1977 tags: trunk)
14:33
Update the documentation on the sqlite3_changes() and sqlite3_total_changes() functions. (CVS 6568) (check-in: 58c7bdb21c user: drh tags: trunk)
11:50
Fix a case in where.c where a crash can follow a malloc failure. Also modify test code in test8.c to check a return code that was being dropped (causing a test in vtab_err.test to fail). (CVS 6567) (check-in: 9664e2b6c6 user: danielk1977 tags: trunk)
11:31
Add a version of cellSizePtr() that is faster than using sqlite3BtreeParseCellPtr(). This speeds up balance_nonroot(). (CVS 6566) (check-in: e8f7f7b787 user: danielk1977 tags: trunk)
06:27
Simplify a conditional expression in btree.c. (CVS 6565) (check-in: fc3a5ac235 user: danielk1977 tags: trunk)
2009-04-28
18:00
Fix an out-of-order test number in blob.test. Cosmetic change. No changes to code. Ticket #3830. (CVS 6564) (check-in: e855654283 user: drh tags: trunk)
17:33
Fix asserts in hash.c so that zero-length symbols can be used. (CVS 6563) (check-in: fe9f00aa36 user: drh tags: trunk)
16:37
When testing with TEMP_STORE=3 and the test pcache, only run 20 iterations in trans.test. Otherwise the test pcache runs out of memory. (CVS 6562) (check-in: 0799b729a7 user: danielk1977 tags: trunk)
16:35
Remove an unused function declaration from hash.h. (CVS 6561) (check-in: fcf70bb8b8 user: drh tags: trunk)
15:48
Further adjustment to rowhash.test to account for rowid collisions. (CVS 6560) (check-in: 94a23f9933 user: danielk1977 tags: trunk)
15:43
Simplifications to the symbol table implementation in hash.c. For very small symbol tables (less than 10 entries) a simple linked list is used instead of a hash table. Number of hash table buckets is limited to prevent large allocations. (CVS 6559) (check-in: 5c737835de user: drh tags: trunk)
15:35
Have sqlite3_create_collation() return MISUSE if passed an encoding value other than SQLITE_UTF8, SQLITE_UTF16LE, SQLITE_UTF16BE, SQLITE_UTF16 or SQLITE_UTF16_ALIGNED. (CVS 6558) (check-in: 7975b6f2ec user: danielk1977 tags: trunk)
13:01
Do not store the zero string terminator as part of the name when holding symbols in the symbol table. (CVS 6557) (check-in: 23d67af392 user: drh tags: trunk)
12:08
Another fix to the same assert as in (6555). It can also fail after a malloc error. (CVS 6556) (check-in: e096f90a57 user: danielk1977 tags: trunk)
11:10
Fix an assert that could fail after a parse error in expr.c. (CVS 6555) (check-in: a37d1174eb user: danielk1977 tags: trunk)
05:27
Avoid changing the pager journal-mode once a write-transaction is open, even if no database pages have been modified. (CVS 6554) (check-in: ad8aba3eff user: danielk1977 tags: trunk)
04:51
Add test cases for sqlite3_complete with an EXPLAIN QUERY PLAN on a CREATE TRIGGER statement. Ticket #3828. (CVS 6553) (check-in: 6b86b40eda user: drh tags: trunk)
04:47
Make sure sqlite3_open16() always zeros the db return pointer if SQLite initialization fails. (CVS 6552) (check-in: 057c7d1713 user: drh tags: trunk)
04:46
Enhance sqlite3_complete() so that it understands EXPLAIN QUERY PLAN. Ticket #3828. Testing is done in TH3. (CVS 6551) (check-in: 3ac1b15f55 user: drh tags: trunk)
2009-04-27
18:46
Bring the documenation and implementation of sqlite3_collation_needed() into agreement. Use a more efficient implementation of sqlite3ErrStr(). sqlite3_result_error_code() now calls sqlite3ErrStr() if no prior error string was set. (CVS 6550) (check-in: cb9af82936 user: drh tags: trunk)
2009-04-25
08:39
Tests for the new asynchronous IO API. (CVS 6549) (check-in: 11b2564e71 user: danielk1977 tags: trunk)
2009-04-24
20:32
Add another test case for the "x IS NULL" uniqueness problem of ticket #3824. No changes to code. This just double-checks that everything is working now. (CVS 6548) (check-in: 3ceae3579b user: drh tags: trunk)
18:06
Dequote the "from" table in a FOREIGN KEY definition (affects the output of "pragma foreign_key_list). Fix for #3800. (CVS 6547) (check-in: 600482d161 user: danielk1977 tags: trunk)
15:46
Get rid of the special RowSet processing in where.c and move that into clients. Added the WHERE_DUPLICATES_OK option to eliminate an unnecessary RowSet during DELETE with a WHERE clause containing ORs. (CVS 6546) (check-in: 98606bee9e user: drh tags: trunk)
14:51
Make sure that the optimizer realizes that an "x IS NULL" contraint does not necessarily give a single-row result even on a UNIQUE index. Ticket #3824. (CVS 6545) (check-in: 207335fdbf user: drh tags: trunk)
10:13
Make selecting the asynchronous IO file-locking mode a runtime operation. Still untested. (CVS 6544) (check-in: 577277e84a user: danielk1977 tags: trunk)
09:27
Improve comments and documentation of the asynchronous IO VFS module. (CVS 6543) (check-in: 92bc6be2a8 user: danielk1977 tags: trunk)
2009-04-23
19:08
os_win.c, winOpen(), changed to handle the SQLITE_OPEN_EXCLUSIVE flag and sharing modes in the same manner as os_unix.c. Ticket #3821. (CVS 6542) (check-in: 18fef3fcf6 user: shane tags: trunk)
18:42
Updated misc. test scripts for Windows testing with gcc/cygwin; (CVS 6541) (check-in: 1e2c71596e user: shane tags: trunk)
18:41
Remove some incorrect async tests; (CVS 6540) (check-in: 03af25b3ee user: shane tags: trunk)
14:58
Move the asynchronous IO code from src/test_async.c to ext/async/. Refactor it to be a standalone module and to support windows. (CVS 6539) (check-in: e71fb0fb8d user: danielk1977 tags: trunk)
13:22
Rework the column-cache mechanism to be more robust (and more correct). The column-alias cache is currently disabled, (CVS 6538) (check-in: dd4d67a674 user: drh tags: trunk)
2009-04-22
17:15
Eliminate the OP_VRowid opcode. The regular OP_Rowid now work for both regular and virtual tables. (CVS 6537) (check-in: ecbef45011 user: drh tags: trunk)
15:32
Change the OP_Rowid opcode so that a deferred OP_Seek is pending, it simply pulls the rowid from the deferred seek target and does not actually move the cursor or do a seek. Other where.c cleanups. (CVS 6536) (check-in: 1c508a9982 user: drh tags: trunk)
02:15
Remove the rowhash object from the code. Rowset now fills its role. (CVS 6535) (check-in: e963bed0fe user: drh tags: trunk)
00:47
Extend the Rowset object to contain all the capabilities of Rowhash in addition to its legacy capabilities. Use Rowset to replace Rowhash. In addition to requiring less code, This removes the 2^32 result row limitation, uses less memory, and gives better bounds on worst-case performance. The Rowhash implementation has yet to be removed. (CVS 6534) (check-in: b101cf70b7 user: drh tags: trunk)
2009-04-21
18:20
Move RowHashBlock.nUsed to RowHash.nUsed. Fix a typo in a comment in test_async.c. (CVS 6533) (check-in: 799d31d99f user: danielk1977 tags: trunk)
17:23
Fix a segfault that followed a malloc failure introduced by (6527). (CVS 6532) (check-in: 08e71b1140 user: danielk1977 tags: trunk)
17:13
Adjust the rowhash.test module so that it recovers gracefully in the rare event of a rowid collision. (CVS 6531) (check-in: 72e1680904 user: drh tags: trunk)
16:15
Allocate the initial RowHash object using lookaside. (CVS 6530) (check-in: 9b30ab7199 user: drh tags: trunk)
15:05
New comments and minor refactoring of rowhash.c. (CVS 6529) (check-in: b8cb4f3e24 user: drh tags: trunk)
12:02
Remove a redundant test from sqlite3_shutdown(). (CVS 6528) (check-in: 6f481ceb50 user: drh tags: trunk)
09:02
Attempt to optimize virtual table queries with 'OR' expressions in the WHERE clause. (CVS 6527) (check-in: f61e4cd936 user: danielk1977 tags: trunk)
2009-04-20
17:43
Change the journal_mode pragma so that it always returns the current journal mode, even on a failed attempt to change the journal mode. Allow the journal mode to be changed as long as there is not a pending transaction. Ticket #3811. (CVS 6526) (check-in: 419e320ae5 user: drh tags: trunk)
13:32
Add new tests to show that journal_mode=OFF works with locking_mode=EXCLUSIVE as long as the journal_mode is set prior to the first transaction. Ticket #3811. (CVS 6525) (check-in: e62ac26f72 user: drh tags: trunk)
12:31
Clarify the documentation to make it clear that sqlite3_interrupt() does not effect new SQL statements that are started after the running statement count reaches zero. Ticket #3815. (CVS 6524) (check-in: 3182e8bf69 user: drh tags: trunk)
12:07
Do not use deprecated interfaces internally when compiling with SQLITE_OMIT_DEPRECATED. Ticket #3813. (CVS 6523) (check-in: 7f17956dfb user: drh tags: trunk)
11:34
Speed improvements by avoiding unnecessary calls to fstat() and ftruncate(). (CVS 6522) (check-in: 5b7e3a411a user: drh tags: trunk)
2009-04-19
20:51
Update comments and remove unused code in btree.c. No functional changes. (CVS 6521) (check-in: bd86018490 user: drh tags: trunk)
12:23
Make extra calls to sqlite3_shutdown() be harmless no-ops. (CVS 6520) (check-in: d80822953c user: drh tags: trunk)
2009-04-17
16:54
Revise the implementation of sqlite3_initialize() slightly in order to make it more easily testable. The functionality should be unchanged. (CVS 6519) (check-in: bb1a390a3d user: drh tags: trunk)
15:18
Get the behavior of SQLITE_HAVE_ISNAN right. It was reversed in check-in (6517). Ticket #3809. (CVS 6518) (check-in: 97c6ea2368 user: drh tags: trunk)
11:57
Add the SQLITE_HAVE_ISNAN compile-time option which, if present, causes SQLite to use the math library isnan() function rather than its own homebrew implementation of isnan(). (CVS 6517) (check-in: 54d23521c3 user: drh tags: trunk)
11:56
Check-in (6514) did not completely remove the obsolete test, resulting in a segfault. This check-in finishes the job. Ticket #3802. (CVS 6516) (check-in: c29b37ea36 user: drh tags: trunk)
2009-04-16
17:45
Add NEVER and ALWAYS tags to conditionals in analyze.c that always false or true. (CVS 6515) (check-in: fbbc80eaf3 user: drh tags: trunk)
16:32
Remove obsolete test from bindxfer.tcl. Ticket #3802. (CVS 6514) (check-in: b1b0961718 user: drh tags: trunk)
16:30
Changes to alter.c to enable full branch coverage testing. (CVS 6513) (check-in: 6a91ab08a5 user: drh tags: trunk)
12:58
Make sure the 'unixepoch' converter in the date and time functions rounds to the nearest millisecond rather than truncating downward to the next smaller millisecond. Ticket #3808. (CVS 6512) (check-in: e6e036b345 user: drh tags: trunk)
00:24
In a 3-fold compound SELECT make sure early code generation of the SELECTs to the right do not dereference non-existant columns in SELECTs on the left. (CVS 6511) (check-in: 414f340809 user: drh tags: trunk)
2009-04-15
15:16
Fix the group_concat() function so that it inserts the separator string even if the initial content strings are empty. Ticket #3806. (CVS 6510) (check-in: b83fbf15a3 user: drh tags: trunk)
14:36
Fix access violation on WinCE platforms. Ticket #3804. (CVS 6509) (check-in: e203ad400d user: shane tags: trunk)
13:39
Mark an branch in alter.c as always false. Only run the assert() on the sqlite3_aggregate_count() function in func.c if the SQLITE_OMIT_DEPRECATED compile-time option is off. (CVS 6508) (check-in: c0bba77ae6 user: drh tags: trunk)
13:07
Disable the temptrigger.test test script when shared cache is disabled. Ticket #3801. (CVS 6507) (check-in: feedbce8f1 user: drh tags: trunk)
2009-04-14
18:44
nMax can be zero and subtracting 1 from an unsigned zero produces undesirable results (CVS 6506) (check-in: a117d82dad user: aswift tags: trunk)
12:58
Change the sqlite3_bind_value() implementation to use a default branch on the type switch so that there are no untested jumps in the switch. (CVS 6505) (check-in: d0a8bd6a53 user: drh tags: trunk)
12:43
Reimplement the sqlite3_bind_value() interface so that it works when the value being bound comes from a different database connection. (CVS 6504) (check-in: 3db0c79806 user: drh tags: trunk)
2009-04-13
14:43
Enhancements to virtual table documentation. Comment changes only. No changes to code. (CVS 6503) (check-in: b0b2b2831c user: drh tags: trunk)
09:29
Version 3.6.13 (CVS 6502) (check-in: 982cc7f4e7 user: drh tags: trunk, release)
09:09
Rerun autoconf in preparation for 3.6.13. (CVS 6501) (check-in: f683e22211 user: drh tags: trunk)
08:14
updated Makefile.vxwSH4 and renamed it to Makefile.vxworks, should now be able to support SH4 and PPC targets. (CVS 6500) (check-in: e4a370c72d user: chw tags: trunk)
2009-04-11
19:09
Fix malloc5.test so it work on both 64-bit and 32-bit systems. The ::tcl_platform(wordSize) variable has to be used to adjust some memory sizes. (CVS 6499) (check-in: ea20f78edb user: drh tags: trunk)
16:27
Fix an obscure problem with recovery from I/O errors while rolling back. (CVS 6498) (check-in: 24ff486125 user: drh tags: trunk)
16:27
Add a comments and an assert() to the virtual table implementation. No functional changes. (CVS 6497) (check-in: ac5d0c0aa1 user: drh tags: trunk)
16:06
Fix a case where a corrupt database could cause an assert() to fail. (CVS 6496) (check-in: 2c560e057e user: danielk1977 tags: trunk)
14:46
Allocate a little extra scratch space for the memsubsys1 tests. The extra space is needed in some configurations. (CVS 6495) (check-in: 5484419294 user: drh tags: trunk)
11:38
Increase the hard upper bound on the number of pcache pages in test_pcache when the test harness is compiled for in-memory temp tables. Some of the test cases need to extra memory to avoid unplanned out of memory errors. (CVS 6494) (check-in: 7f2d6a0bd5 user: drh tags: trunk)
10:25
Replace invocation of (really_finish_test) from async.test with (finish_test). Otherwise a tcl exception may be thrown when running permutations. (CVS 6493) (check-in: e6465e9da3 user: danielk1977 tags: trunk)
09:51
In sqlite3PagerMovepage(), avoid holding a reference to page number X when calling sqlite3PcacheRekey() to move another page to page number X. (CVS 6492) (check-in: 4447c94f45 user: danielk1977 tags: trunk)
2009-04-10
23:11
Remove more unused branches from vdbeapi.c. (CVS 6491) (check-in: 447e959594 user: drh tags: trunk)
20:55
In the async test, make sure procedures do not get renamed over top of one another. (CVS 6490) (check-in: b6430cc429 user: drh tags: trunk)
20:32
Remove unused branches from the vdbeapi.c module. (CVS 6489) (check-in: 7ae0fc7ea5 user: drh tags: trunk)
18:41
Increase the error tolerance when verifying the approximate size of a pseudo-random database in backup_ioerr.test. Otherwise the test could fail depending on the PRNG seed. (CVS 6488) (check-in: deda5ab35e user: danielk1977 tags: trunk)
18:32
Do not run io.test as part of the inmemory_journal permutation. io.test uses the tcl API to test for journal files in the file-system (which of course never exist when running with in-memory journals). (CVS 6487) (check-in: 493f03bd73 user: danielk1977 tags: trunk)
18:21
Re-enable the alt_pcache tests in permutations.test so that they run automatically during a full regression. Fix async.test so that it works with the permutation.test pcacheNN test modules. (CVS 6486) (check-in: 310192cc0f user: drh tags: trunk)
15:42
Fix MSVC compiler warning in vdbeaux.c. (CVS 6485) (check-in: d619465e31 user: shane tags: trunk)
15:38
Disable the select1-15 tests when locking_mode is EXCLUSIVE. Ticket #3771. (CVS 6484) (check-in: 88cefbb4a1 user: drh tags: trunk)
15:02
Changes to jrnlmode.test to account for in-memory temp databases. (CVS 6483) (check-in: c31d4359ae user: danielk1977 tags: trunk)
14:28
Simplifications and additional comments on the sqlite3_get_table() implementation. Changes to facilitate full branch test coverage. (CVS 6482) (check-in: 57e3e6b3cb user: drh tags: trunk)
12:55
Changes to ensure that when running in shared-cache mode with a non-threadsafe build, the correct busy-handler callback is always invoked. (CVS 6481) (check-in: 683e4bd747 user: danielk1977 tags: trunk)
09:47
Always set BtShared.db when entering the BtShared mutex. Ticket #3793. (CVS 6480) (check-in: ed6620ba58 user: danielk1977 tags: trunk)
00:56
Force 8-byte alignment of sqlite3_value objects in the sqlite3VdbeUnpackRecord() primitive. Ticket #3777. (CVS 6479) (check-in: 2cc68272b1 user: drh tags: trunk)
2009-04-09
21:02
Increase the version number to 3.6.13 in preparation for the next release. (CVS 6478) (check-in: 9a09a47495 user: drh tags: trunk)
14:27
Provide dummy DWORD arguments to output parameters of GetDiskFreeSpace(A|W), NULL causes access violations on Windows NT 4.0 (CVS 6477) (check-in: 5350a6586c user: chw tags: trunk)
14:02
Remove misuse detection from the deprecated sqlite3_transfer_bindings() interface. The code was hard to test and was simply taking up space. (CVS 6476) (check-in: 4cd829107c user: drh tags: trunk)
01:23
Enhance sqlite3_shutdown() so that it automatically invokes sqlite3_reset_auto_extension(). This is a harmless no-op if applications are already calling sqlite3_reset_auto_extension() prior to sqlite3_shutdown(). And it prevents possible memory corruption if they do not. So it works either way. Most of the changes are to the test cases. (CVS 6475) (check-in: 0c41f7cff4 user: drh tags: trunk)
2009-04-08
23:05
Simplify the implementation of the columnName() function in vdbeapi.c. This is a code cleanup only - no behavior changes. (CVS 6474) (check-in: 0628f5864f user: drh tags: trunk)
23:04
Add an assert() to the implementation of count(*) that checks the correct operation of the sqlite3_aggregate_count() function. (CVS 6473) (check-in: f322be3833 user: drh tags: trunk)
16:10
Reconfigure the default case for the printf switch in order to improve branch coverage. (CVS 6472) (check-in: 3cc79162db user: drh tags: trunk)
15:45
Remove a pair unnecessary conditions from printf.c. The "db" parameter is now required for sqlite3MPrintf(). (CVS 6471) (check-in: 6fe8b5d702 user: drh tags: trunk)
13:51
Minor refactoring of the expression-compaction logic for clarity of presentation. New comments added. The EXPRDUP_DISTINCTSPAN flag is removed as obsolete. (CVS 6470) (check-in: 44ded2ea67 user: drh tags: trunk)
12:21
Do not attempt to walk a TokenOnly or SpanOnly expression tree node. Ticket #3791. (CVS 6469) (check-in: 8362d88324 user: drh tags: trunk)
11:49
Add a comment to printf.c - no changes to code. (CVS 6468) (check-in: ee5a4a0e59 user: drh tags: trunk)
2009-04-07
22:06
Fix the sqlite3_unlock_notify() interface so that when the callback is NULL it simply cancels any outstanding callbacks. (CVS 6467) (check-in: 9ccfcb7607 user: drh tags: trunk)
22:05
Remove two unused tests from the integrity_check pragma logic. (CVS 6466) (check-in: 22999d3141 user: drh tags: trunk)
14:38
Fix an incorrect assert in btree.c. (CVS 6465) (check-in: 2c1f59834a user: danielk1977 tags: trunk)
14:14
Fix compilation and testing when SQLITE_OMIT_TRIGGER is defined. Ticket #3786. (CVS 6464) (check-in: 277dace43d user: danielk1977 tags: trunk)
13:48
Only enable WHERE-tracing when both TEST and DEBUG are enabled. (CVS 6463) (check-in: 55b9364925 user: drh tags: trunk)
11:21
Change "... myfunction() { ... }" to "... myfunction(void) { ... }" in a few pla ces. Ticket #3783. (CVS 6462) (check-in: 6f79e6ae0d user: danielk1977 tags: trunk)
09:16
Have OP_IdxRowid handle the case where the index entry it is reading from is deleted. (CVS 6461) (check-in: cdad29b582 user: danielk1977 tags: trunk)
05:35
Compile fixes and improvements for vxwork: fixed deadlock in semClose, detect if fcntl is usable, fall back to named semaphores if not. (CVS 6460) (check-in: efd0682b7e user: chw tags: trunk)
00:49
Remove an unused test for EXPLAIN-mode in the PRAGMA processing. (CVS 6459) (check-in: 909683b342 user: drh tags: trunk)
00:43
Always enable WHERE-tracing on a test build. Oops - accidentally included a debugging change to pragma.c in this check-in. The real fix for the pragma problem is in the following checking. (CVS 6458) (check-in: 567cf90b03 user: drh tags: trunk)
00:35
It is OK for a unix file descriptor to be zero. It just can't be negative. Adjust an assert accordingly. Ticket #3781. (CVS 6457) (check-in: 47aa7eb0e0 user: drh tags: trunk)
2009-04-06
17:50
Test cases and minor code changes to increase coverage of btree.c. (CVS 6456) (check-in: def3a01691 user: danielk1977 tags: trunk)
15:55
Updates and clarification to the documentation of the sqlite3_temp_directory global variable. No changes to code. (CVS 6455) (check-in: aea99c572a user: drh tags: trunk)
14:16
Allow "default" to be a keyword used by PRAGMA statements. (CVS 6454) (check-in: ed99d2d97f user: drh tags: trunk)
12:26
Make sure the reverse_unordered_selects pragma works even on unindexed tables that are queried without a WHERE clause (CVS 6453) (check-in: d8c6b28a73 user: drh tags: trunk)
11:11
Check-in (6450) introduced the possibility of calling memset() with a negative 3rd argument. This fixes that bug. Ticket #3777. (CVS 6452) (check-in: 8ca612c42e user: drh tags: trunk)
2009-04-05
15:18
Fix a segfault in Lemon that occurs if the input grammar does not define a type for tokens. This does not effect SQLite since the SQLite grammar does define a type for tokens. (CVS 6451) (check-in: 4424aee958 user: drh tags: trunk)
12:22
Additional code to make sure and to assert that memory allocations have 8-byte alignment. Ticket #3777. (CVS 6450) (check-in: 208382e032 user: drh tags: trunk)
2009-04-04
16:02
Allow the journal_size_limit to be larger than 2147483647 bytes. (CVS 6449) (check-in: 8193125961 user: drh tags: trunk)
15:53
Allow the journal_mode for in-memory databases to be either OFF or MEMORY, not just MEMORY. (CVS 6448) (check-in: 11c77f4c2c user: drh tags: trunk)
14:04
Clarify the meanings of the SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL flags passed into the xSync method of the VFS. Comment changes only - no changes to code. (CVS 6447) (check-in: c47aeb37a1 user: drh tags: trunk)
2009-04-03
12:12
Remove a blank line in sqlite.h.in that was preventing the SQLITE_LOCKED_SHAREDCACHE constant appears in the automatically-generated documentation. Ticket #3775. (CVS 6446) (check-in: 65f9d3b948 user: drh tags: trunk)
12:04
Use integer rather than floating point compuations in converting from julian day number to unix-time to avoid round-off errors on Borland compilers. Ticket #3769. (CVS 6445) (check-in: c26f97bd85 user: drh tags: trunk)
01:43
Fix the PRAGMA parser so that it can accept negative numbers in parentheses, like the syntax diagrams say it should be able to. (CVS 6444) (check-in: 286e83178d user: drh tags: trunk)
2009-04-02
20:27
Make sure count(*) works on the sqlite_master table of an empty database. Ticket #3774. (CVS 6443) (check-in: e0c1a780f5 user: drh tags: trunk)
20:16
Make sure the VACUUM statement locks down the page_size and auto_vacuum modes after it runs. Otherwise, pragmas might change these settings on a populated database, resulting in problems. (CVS 6442) (check-in: 85e6a4740d user: drh tags: trunk)
18:32
Fix the sqlite3_prepare() family of interfaces so that they zero the *ppStmt value even on an SQLITE_MISUSE return. Make it clear in the documentation that the ppStmt parameter cannot be zero. (CVS 6441) (check-in: 23bf9f2665 user: drh tags: trunk)
18:28
Fix a problem causing the BtShared.isPending flag to be cleared to early. Also coverage improvements for btree.c. (CVS 6440) (check-in: 8f1423445b user: danielk1977 tags: trunk)
17:23
Ensure the required VerifyCookie/Transaction/TableLock opcodes are added for "x IN (SELECT c FROM t)" expressions. Ticket #3771. (CVS 6439) (check-in: 058a2f2093 user: danielk1977 tags: trunk)
17:22
Fix a couple of harmless nuisance warnings. (CVS 6438) (check-in: 53dac0a455 user: drh tags: trunk)
16:59
Disable the query flattening optimization when the subquery is a compound query with an ORDER BY clause. Ticket #3773 shows why that combination does not work. (CVS 6437) (check-in: 23f90d5073 user: drh tags: trunk)
14:05
Change the way that the random() SQL function prevents the maximum negative integer so that it is testable. (CVS 6436) (check-in: 995f2b9b10 user: drh tags: trunk)
13:36
Use ALWAYS and NEVER macros on unchangeable conditions within func.c. (CVS 6435) (check-in: eb65e64e7e user: drh tags: trunk)
10:16
In the built-in SQL function implementations, improve some comments, fix an off-by-one error in detecting over-size strings, and add testcase() macros to verify that boundary values have been tested. (CVS 6434) (check-in: 868a487f5f user: drh tags: trunk)
09:07
Enforce the run-time sqlite3_limit() length limit on zeroblob(), not just the compile-time SQLITE_MAX_LENGTH limit. (CVS 6433) (check-in: a04f9e7959 user: drh tags: trunk)
2009-04-01
23:49
Increase test coverage of bitvec.c slightly. Fix the line length on a comment in bitvec.c. (CVS 6432) (check-in: ca3aa3ba7d user: drh tags: trunk)
23:09
Mark untestable branches of memjournal.c as such. Reduce the size of a single block allocation to a power of two. Reenable the inmemory_journal permutation test. (CVS 6431) (check-in: 05c182a5db user: drh tags: trunk)
20:44
Fix the strftime() function so that the %s format can handle dates outside of the range of 1901 to 2038. Ticket #3769. (CVS 6430) (check-in: a95b843a92 user: drh tags: trunk)
19:35
Change an unreachable error condition test to an assert() in rowset.c. (CVS 6429) (check-in: 36115e4073 user: drh tags: trunk)
19:07
Remove an unreachable branch from lockBtree(). Add comments. (CVS 6428) (check-in: 859792958b user: danielk1977 tags: trunk)
18:40
Fix a bug in the sqlite3Utf16ByteLen() function so that it computes the correct length even for strings that contain surrogate pairs. Ticket #3766. (CVS 6427) (check-in: 766bb7e59c user: drh tags: trunk)
18:25
Test that two database connections that use different VFS implementations may not share a cache. (CVS 6426) (check-in: 3a92c95644 user: danielk1977 tags: trunk)
18:03
Remove the unused SQLITE_Vtab flag. (CVS 6425) (check-in: fdd78962fc user: danielk1977 tags: trunk)
17:13
In pageReinit() in btree.c, only reinitialize a page if there are one or more references to it, not including the transient reference held by pager.c. This was always the intent. (CVS 6424) (check-in: 0c5a7d1117 user: danielk1977 tags: trunk)
16:33
Remove dead code from the UTF conversion routines. Fix a bug in sqlite3_prepare16_v2() in which an out-of-memory error fails to set the statement return pointer to NULL. (CVS 6423) (check-in: 94e2f815eb user: drh tags: trunk)
16:25
Remove an unreachable branch from allocateSpace() in btree.c. Add comments and asserts to the same function. (CVS 6422) (check-in: f8e15a542d user: danielk1977 tags: trunk)
09:41
Add some assert() statements to querySharedCacheTableLock(). (CVS 6421) (check-in: 3e3b5e861a user: danielk1977 tags: trunk)
07:38
add a sanity check to make sure the configure script and VERSION file are always in sync (CVS 6420) (check-in: 1b9da6d73f user: vapier tags: trunk)
2009-03-31
23:29
update configure script so it has proper VERSION in it (CVS 6419) (check-in: ce683cbd32 user: vapier tags: trunk)
13:16
Version 3.6.12 (CVS 6418) (check-in: 0db862a23a user: drh tags: trunk, release)
03:41
Fix compiler warnings from gcc and MSVC; Correct typo in select.c; (CVS 6417) (check-in: 768514179a user: shane tags: trunk)
02:54
Make sure a ROLLBACK that follows an incremental vacuum works. Ticket #3761. (CVS 6416) (check-in: 8c1d0c6ad9 user: drh tags: trunk)
01:32
Remove two unused lines from pcache.c. (CVS 6415) (check-in: d5cab05c9e user: drh tags: trunk)
00:50
Added a test case for ticket #3672. (CVS 6414) (check-in: 7f40576dd7 user: drh tags: trunk)
2009-03-30
18:50
Fix a case where a pointer map page was not being journalled before a file truncation that occurs as part of an incremental vacuum. (CVS 6413) (check-in: c5890935a0 user: danielk1977 tags: trunk)
17:19
Add a comment to the pageReinit() routine explaining why the return code from sqlite3BtreeInitPage() is ignored. Comment change only - no changes to code. (CVS 6412) (check-in: 10f605be8c user: drh tags: trunk)
13:53
Modify integrity-check to prevent a buffer overread when dealing with a corrupted database. (CVS 6411) (check-in: 3c9097f19a user: danielk1977 tags: trunk)
13:04
Make sure recursive calls to winOpen() preserve the pVfs pointer. Fault found while testing a mingw build in VMWare. (CVS 6410) (check-in: 18b44f0df3 user: drh tags: trunk)
12:56
Avoid calls to newer TCL interfaces in the test logic. This helps the TCL test harness compile without warnings and link when using older versions of the TCL library. (CVS 6409) (check-in: 1ad1763757 user: drh tags: trunk)
12:42
Avoid all use of the "LL" suffix for long-long integer literals. Ticket #3759. (CVS 6408) (check-in: 7ef3693542 user: drh tags: trunk)
11:59
Display a warning that the notify2-3 test sometimes fails on single-core machines. (CVS 6407) (check-in: ab7c718dec user: drh tags: trunk)
07:39
Another change related to (6401) and (6402): When an attempt to unlock a file fails in os_unix.c, close all files held open waiting for the unlock event anyway. This prevents a file-descriptor leak when testing IO errors. (CVS 6406) (check-in: 50fbcdea04 user: danielk1977 tags: trunk)
2009-03-29
15:12
Add a comment to the doubleToInt64() routine that explains why returning minInt is in fact correct when it seems like maxInt should be returned. (CVS 6405) (check-in: 7f3be36085 user: drh tags: trunk)
00:15
Turn off the debugging macros in where.c - left on by mistake in the previous check-in. (CVS 6404) (check-in: b601a57582 user: drh tags: trunk)
00:13
Improvements to cost estimation for evaluating the IN operator. Ticket #3757. (CVS 6403) (check-in: 0c438e813c user: drh tags: trunk)
2009-03-28
23:47
Previous commit ((6401)) did not quite fix the problem. This should work better. (CVS 6402) (check-in: 2e7d3cc9f0 user: drh tags: trunk)
23:23
In the unix-backend, when simulating an I/O error on an unlock operation, still mark the connection as unlocked to avoid a future assert(). (CVS 6401) (check-in: fb35cff855 user: drh tags: trunk)
18:56
The test_async.c module must pass an unchanging filename to the underlying VFS. (CVS 6400) (check-in: d1eeee2167 user: drh tags: trunk)
17:21
Fix thread related problems in test modules test_async.c and test_journal.c. (CVS 6399) (check-in: 45df27a22d user: danielk1977 tags: trunk)
15:04
Back out check-in (6380). Replace it with a proper fix to the xFullPathname method in the async VFS. (CVS 6398) (check-in: 767a7f7b55 user: drh tags: trunk)
10:54
The fix in (6395) was not correct. Fix #3756 a different way. (CVS 6397) (check-in: 9278f7b1e1 user: danielk1977 tags: trunk)
07:03
Fix a couple of test script bugs. No changes to SQLite code. (CVS 6396) (check-in: c9fa329f54 user: danielk1977 tags: trunk)
06:59
Fix readDbPage() so that if an SQLITE_IOERR_SHORT_READ is encountered, the page content is zeroed. Ticket #3756. (CVS 6395) (check-in: 647e3b156e user: danielk1977 tags: trunk)
2009-03-27
15:26
When "PRAGMA case_sensitive_like" is invoked, override all existing "LIKE" functions, including UTF-16 versions. (CVS 6394) (check-in: 1c6521e53b user: danielk1977 tags: trunk)
12:44
Fix another compiler warning in the test logic of tclsqlite.c. (CVS 6393) (check-in: 47ffc4dca8 user: drh tags: trunk)
12:32
Fix some compiler warnings in test code. (CVS 6392) (check-in: a43ecc9cb9 user: drh tags: trunk)
09:10
Fix an incompatibility between the test_async.c backend and change (6390). (CVS 6391) (check-in: 6762625d29 user: danielk1977 tags: trunk)
2009-03-26
17:13
Check that the first byte of a potentially hot journal file is non-zero before beginning hot-journal rollback. Fix for #3751 and #3745. (CVS 6390) (check-in: 80241a0502 user: danielk1977 tags: trunk)
14:48
Prevent the tcl test suite from throwing an exception when a threadsafe SQLite is linked against a non-threadsafe Tcl for testing. Print a warning instead. Ticket #3753. (CVS 6389) (check-in: a22e7c818b user: danielk1977 tags: trunk)
12:20
Added new tests of the scratch memory allocator for increased test coverage. (CVS 6388) (check-in: e99e28efbb user: drh tags: trunk)
11:49
Ensure that the test vfs in test_journal.c zeroes sqlite3_file.pMethods if an xOpen() call fails. Similar problem to that fixed by #6384. This was a problem with test code, not SQLite itself. (CVS 6387) (check-in: 45ae830d56 user: danielk1977 tags: trunk)
2009-03-25
16:51
Remove an unused parameter from sqlite3DequoteExpr. Fix another unrelated and harmless compiler warning. (CVS 6386) (check-in: 8589b0fcc5 user: drh tags: trunk)
15:43
Fix a problem preventing sqlite3_extended_errcode() from working correctly. (CVS 6385) (check-in: de469c46f5 user: danielk1977 tags: trunk)
14:24
When a VFS.xOpen fails, make sure the pMethods pointer is zeroed on the sqlite3_file object so that subsequent xClose() operations against that same file handler are no-ops. Bug in the test_async.c module only - not in the core library. Ticket #3744. (CVS 6384) (check-in: c32b454118 user: drh tags: trunk)
01:06
Use fdatasync() only on linux, unless -Dfdatasync=fdatasync is set at compilation time. (CVS 6383) (check-in: cbf2ca4cc4 user: drh tags: trunk)
2009-03-24
18:42
Change OS_UNIX to SQLITE_OS_UNIX in test_thread.c. Modify notify2.test to print out its timings in addition to reporting success or failure. (CVS 6382) (check-in: 940d72d2ba user: drh tags: trunk)
17:43
Get the OOM tester in async2.test working again. (CVS 6381) (check-in: f398a2d1b0 user: drh tags: trunk)
16:55
Adjust the lock.test and lock3.test scripts so that they work with the asynchronous VFS. (CVS 6380) (check-in: 40df926b46 user: drh tags: trunk)
16:27
Include sqliteInt.h in test_async.c so that the asynchronous VFS tests will run even if SQLITE_OS_UNIX is not explicitly defined. (CVS 6379) (check-in: 29b0d6a3fe user: drh tags: trunk)
15:31
New assert()s added to verify that the Expr.token value is used correctly. Ticket #3743. (CVS 6378) (check-in: cf3d84ab73 user: drh tags: trunk)
15:08
Changes to insure that lookaside memory allocations are never used to hold schema content. Ticket #3743. (CVS 6377) (check-in: ea74d8dc62 user: drh tags: trunk)
04:46
Add a comment to prepare.c explaining why the lookaside buffer is disabled before sqlite3_exec() is called to parse a schema statement. No code changes. (CVS 6376) (check-in: 8ca6a66565 user: danielk1977 tags: trunk)
2009-03-23
21:37
Clarify the meaning of a comment. No changes to code. (CVS 6375) (check-in: 7c2df04b52 user: drh tags: trunk)
17:49
Add asserts to make sure that database connection locks are held when accessing the lookaside memory allocation buffers. No defects were found. (CVS 6374) (check-in: 8a9f3e6606 user: drh tags: trunk)
17:11
Fix an obscure race condition that can occur when multiple threads, shared cache and DDL statements are combined. Enhance notify2.test to test this scenario. (CVS 6373) (check-in: 92ec597512 user: danielk1977 tags: trunk)
04:33
Use the ROUND8() macro to round an integer up to the nearest multiple of 8 and ROUNDDOWN8() macro to round down to the nearest multiple of 8. This is a cosmetic change. (CVS 6372) (check-in: db1d4d2f50 user: danielk1977 tags: trunk)
02:34
Fix compiler warning in MSVC. (CVS 6371) (check-in: 83a4d5b3d7 user: shane tags: trunk)
2009-03-22
20:36
Allow the keyword INDEXED to be used as the name of a table or index or column - for backwards compatibility. (CVS 6370) (check-in: 53149c9f5d user: drh tags: trunk)
2009-03-21
16:19
Update comments in build.c to conform to the latest implementation. (CVS 6369) (check-in: a915e8e0a4 user: drh tags: trunk)
14:56
Rig the unix backend to use fdatasync() by default, without having to set the HAVE_FDATASYNC macro. Systems that do not support fdatasync() can be compiled using -Dfdatasync=fsync. (CVS 6368) (check-in: a331562727 user: drh tags: trunk)
14:41
On unix, always use fdatasync() instead of fsync() when available, even if the file size changes, since (we are told) fdatasync() will automatically flush the inode when the file size changes. (CVS 6367) (check-in: 0d6b11bcf6 user: drh tags: trunk)
2009-03-20
15:16
Add a test to try to hit the race-condition fixed by (6363). (CVS 6366) (check-in: 4310411f50 user: danielk1977 tags: trunk)
14:42
Fix an assert failure introduced by (6355). (CVS 6365) (check-in: a08324d16d user: danielk1977 tags: trunk)
14:18
Make sure struct WhereClause is aligned on an 8-byte boundary. Fix for #3613, #3736. (CVS 6364) (check-in: 093a0cf4ad user: danielk1977 tags: trunk)
13:15
Rename the unused MEM2 static mutex to OPEN and reuse it to serialize access to the sqlite3BtreeOpen() routine to prevent a race condition on detection of sharable caches. Ticket #3735. (CVS 6363) (check-in: 19fa5a29b9 user: drh tags: trunk)
10:24
Fix a problem in thread005.test cause errors on osx. (CVS 6362) (check-in: 56e6fca1a9 user: danielk1977 tags: trunk)
09:09
Fix a problem in loadext.test causing an error on OSX. This is not a real problem, just a case of the test script expecting a slightly different error message than the one returned. (CVS 6361) (check-in: 18680989b5 user: danielk1977 tags: trunk)
2009-03-19
18:51
Fix a couple of fairly obscure cases where an assert() could fail following a malloc failure. (CVS 6360) (check-in: cc0d925669 user: danielk1977 tags: trunk)
07:58
Change sqlite3_step() to return SQLITE_LOCKED if a statement cannot be re-compiled due to locks on the shared-cache schema. Also add a blocking wrapper of sqlite3_prepare_v2() to the test code. (CVS 6359) (check-in: e8be1af922 user: danielk1977 tags: trunk)
2009-03-18
18:43
Fix a crash that could occur when creating an index in shared-cache mode with lookaside enabled. (CVS 6358) (check-in: 097737e368 user: danielk1977 tags: trunk)
13:55
Modify test script backup2.test so that it works on OSX. (CVS 6357) (check-in: d82e8cd43f user: danielk1977 tags: trunk)
10:36
Add comments and testcase() macros to the fix for shared-cache schema default value problem of check-in (6353). (CVS 6356) (check-in: 05d8607d44 user: drh tags: trunk)
10:33
Fix some cases where executing SQL from within a user-function callback could cause problems related to statement-transactions. (CVS 6355) (check-in: a60f419179 user: danielk1977 tags: trunk)
2009-03-17
22:33
Move the rowid cache out of VdbeCursor and into BtCursor. When multiple BtCursors are open on the same table, set their rowid cache all at the same time. Ticket #3731. (CVS 6354) (check-in: 189785832a user: drh tags: trunk)
17:49
Fix a problem that could cause a crash when a shared-cache schema contains column default values. (CVS 6353) (check-in: afadddc34e user: danielk1977 tags: trunk)
15:39
Fix test script bugs in the thread002.test and thread_common.tcl. (CVS 6352) (check-in: d137e841ce user: drh tags: trunk)
2009-03-16
17:07
Make sure the finished() array in thread005.test is cleared before the script starts. (CVS 6351) (check-in: ddadc25d55 user: drh tags: trunk)
14:48
Modify quick.test to support the QUICKTEST_INCLUDE environment variable, which can be used to override the built-in EXCLUDE list. (CVS 6350) (check-in: fdfe22f0a5 user: danielk1977 tags: trunk)
13:37
Additional hyperlinks in the sqlite3_unlock_notify() documentation. (CVS 6349) (check-in: 4dae5f6ed1 user: drh tags: trunk)
13:19
Add the sqlite3_unlock_notify() API. (CVS 6348) (check-in: b649a6cc5b user: danielk1977 tags: trunk)
12:30
Bump the version number to 3.6.12. (CVS 6347) (check-in: 2fcccca3e5 user: drh tags: trunk)
10:59
Remove surplus white space from shell.c. Use strlen30() instead of strlen(). (CVS 6346) (check-in: 324a1aff30 user: drh tags: trunk)
2009-03-14
08:37
Fix for #3719. When synthesizing a CREATE TABLE statement as as result of a "CREATE TABLE AS", quote the column type names unless they are simple identifiers or simple identifiers followed by one or two dimensions (e.g. "VARCHAR(10)"). (CVS 6345) (check-in: 7c6437efe0 user: danielk1977 tags: trunk)
2009-03-13
15:32
Do not overrun a buffer in the genfkey code (now part of shell.c). Fix for #3722. (CVS 6344) (check-in: 943b11fb18 user: danielk1977 tags: trunk)
2009-03-12
15:43
Avoid fts3 crash on (MATCH '""') expressions. Ticket #3717. (CVS 6343) (check-in: 03679857a3 user: danielk1977 tags: trunk)
14:43
Make calls to sqlite3BtreeRollbackStmt() no-ops when passed a Btree* handle that does not have an open statement transaction. Ticket #3718. (CVS 6342) (check-in: a1bb1aef0e user: danielk1977 tags: trunk)
2009-03-05
14:59
Begin purging dirty pages from the cache once 90% of the cache is dirty (insteadof waiting until it is 100% dirty). This improves performance in some circumstances by effectively reserving 10% of the configured page-cache for frequently reused read-only pages. (CVS 6341) (check-in: 823fe7f555 user: danielk1977 tags: trunk)
14:53
Comment out a recently added assert statement that is failing. (CVS 6340) (check-in: d0b2015f1c user: danielk1977 tags: trunk)
05:54
Implemented winSectorSize(); Other changes for consistency. os_win.c. Ticket #2931. (CVS 6339) (check-in: 68abcb278c user: shane tags: trunk)
04:27
Changes to cleanup and improve the consistency of tests for large file support in bigfile.test. (CVS 6338) (check-in: 3dbdf68030 user: shane tags: trunk)
04:23
Added some asserts and a check for a null pointer dereference. (CVS 6337) (check-in: 6b0cabd017 user: shane tags: trunk)
04:20
Corrected typos and misspellings. Ticket #3702. (CVS 6336) (check-in: 6404afa0c5 user: shane tags: trunk)
03:48
Removed compiler warnings from MSVC builds. Ticket #3701. (CVS 6335) (check-in: 5477833ec7 user: shane tags: trunk)
2009-03-02
17:18
Converted EXPR_*SIZE macros to use offsetof() to avoid MSVC compiler warnings. (CVS 6334) (check-in: 5e8e16f7d5 user: shane tags: trunk)
14:24
Fix the SQLITE_ENABLE_UPDATE_DELETE_LIMIT option for the new Expr compression logic of check-in (6305). Bug discovered during regression testing. (CVS 6333) (check-in: 91969edac7 user: drh tags: trunk)
01:22
Fix a bug in the GROUP BY alias name resolution. The bug was by check-in (6305). Discovered by regression test on 64-bit linux. Test cases added so that the problems is detected on 32-bit systems. (CVS 6332) (check-in: fa0008502e user: drh tags: trunk)
2009-03-01
22:29
Suppress some compiler warnings (where possible). Ticket #3696. (CVS 6331) (check-in: a2373e5409 user: drh tags: trunk)
19:42
Fix a critical bug in the VDBE opcode array resizer introduced by check-in (6307). Bug detected by regression testing. (CVS 6330) (check-in: ec3b18acae user: drh tags: trunk)
2009-02-28
10:47
Instead of linking temporary triggers on non-temporary tables into the Table.pTrigger list, search the temp schema for them on demand. Fix for #3688. (CVS 6329) (check-in: 3befe1ef7e user: danielk1977 tags: trunk)
2009-02-26
07:15
In sqlite3_table_column_metadata(), hold the mutex on all attached BtShared objects while accessing schema objects. Fix for #3679. (CVS 6328) (check-in: d197afd658 user: danielk1977 tags: trunk)
2009-02-25
19:07
Move the new genfkey shell command out from within #ifdef _WIN32_ (CVS 6327) (check-in: 48ee0e47e2 user: drh tags: trunk)
15:43
Remove genfkey.c. Change genfkey.README to talk about the new shell dot-command, not the old standalone genfkey program. (CVS 6326) (check-in: 36d699660b user: danielk1977 tags: trunk)
15:22
Add the 'genfkey' functionality to the sqlite3 shell. Accessed using a new dot-command - ".genfkey". (CVS 6325) (check-in: 0a59fb28b4 user: danielk1977 tags: trunk)
08:56
Minor changes and coverge tests for "SELECT count(*)" optimization. (CVS 6324) (check-in: a3695b98f6 user: danielk1977 tags: trunk)
2009-02-24
19:21
Additional commands and another procedure name changes for clarity of presentation. No logic changes. (CVS 6323) (check-in: 91d9d51e03 user: drh tags: trunk)
18:57
Changes to comments and functions/procedure names for clarification. No changes to logic. (CVS 6322) (check-in: b99c1815fe user: drh tags: trunk)
18:40
Remove old declaration of sqlite3_pending_byte (which was used by test code). It has been replaced by sqlite3PendingByte. Ticket #3677. (CVS 6321) (check-in: 44f0162ebb user: danielk1977 tags: trunk)
18:33
Fixes and some extra test cases for count(*) optimization. (CVS 6320) (check-in: 3f0baa1b63 user: danielk1977 tags: trunk)
16:18
Enhanced comments on table locking logic as it relates to preparing new statements. Added assert() and testcase() but no other changes to code. (CVS 6319) (check-in: 4a12f5b818 user: drh tags: trunk)
10:48
Add test file test/count.test for testing "SELECT count(*)" statements. It is not properly populated yet. (CVS 6318) (check-in: a195d74ff9 user: danielk1977 tags: trunk)
10:14
Reverse commit (6315) for now. (CVS 6317) (check-in: 0e7c369c23 user: danielk1977 tags: trunk)
10:01
Optimize queries of the form "SELECT count(*) FROM <tbl>" by adding a sqlite3BtreeCount() interface to the btree layer. (CVS 6316) (check-in: d4aa659318 user: danielk1977 tags: trunk)
2009-02-23
17:33
Scan an index instead of a table for "SELECT count(*) FROM <tbl>" queries. Because an index is usually smaller than a table on disk, this saves some IO. (CVS 6315) (check-in: 294ba6f743 user: danielk1977 tags: trunk)
16:52
Add the reverse_unordered_selects pragma. (CVS 6314) (check-in: bc078e0007 user: drh tags: trunk)
14:42
Ensure the return value of sqlite3_errmsg16() is aligned on a 2-byte boundary. Ticket #3665. (CVS 6313) (check-in: 9b8acf8319 user: danielk1977 tags: trunk)
2009-02-21
22:38
The sqlite3.def file is automatically generated and is not suppose to be part of the source code repository. So it is hereby removed. Ticket #3671. (CVS 6312) (check-in: 5dcda15409 user: drh tags: trunk)
2009-02-20
22:27
unbreak Autoconf-based build procedure by added missing backup.lo to the list of library objects (CVS 6311) (check-in: 9494580197 user: rse tags: trunk)
10:58
Instead of using SetNumColumns, specify the number of columns in a table or index using the P4 argument. (CVS 6310) (check-in: e43ed64963 user: danielk1977 tags: trunk)
03:55
Add a count parameter to the OP_Variable opcode and use it to simplify prepared statements that copy consecutive unnamed parameters into consecutive registers (a common case). (CVS 6309) (check-in: 48b77b0493 user: drh tags: trunk)
03:02
Add the OP_HaltIfNull opcode and use it to simplify prepared statements for INSERTs and UPDATEs of tables with NOT NULL columns. (CVS 6308) (check-in: feccad8d0d user: drh tags: trunk)
01:28
Reuse space left-over opcode space at the end of the VDBE opcode array to store memory cells, VDBE cursors, and other content needed by the VDBE. This reduces the memory required by a prepared statement. (CVS 6307) (check-in: 58a1809257 user: drh tags: trunk)
2009-02-19
20:50
Remove code in malloc.c that was already commented out using #if 0. (CVS 6306) (check-in: e1ad757ec0 user: drh tags: trunk)
14:39
Changes to reduce the heap space consumed by triggers, views and tables in the in-memory representation of the schema. Also to reduce the space used by prepared statements slightly. (CVS 6305) (check-in: d9f6ffbc5e user: danielk1977 tags: trunk)
2009-02-18
20:31
Make sure the auto_vacuum=INCREMENTAL setting is preserved across a VACUUM. Ticket #3663. (CVS 6304) (check-in: ded04f12f4 user: drh tags: trunk)
18:37
Move the text of C-API requirements out of the sqlite.h.in source file and into separate files in the "docsrc" CM system. Comment changes only - no changes to code. (CVS 6303) (check-in: 419eb48b6b user: drh tags: trunk)
12:25
Fix the amalgamation builder to mark sqlite3PagerBackupPtr as private. Ticket #3662. (CVS 6302) (check-in: fb281950c5 user: drh tags: trunk)
04:35
run autoconf so the updated version is in the configure script (CVS 6301) (check-in: edbb3586e9 user: vapier tags: trunk)
04:34
break libsqlite3.la install step out so the tcl install step can depend on it as well (CVS 6300) (check-in: 0998c55467 user: vapier tags: trunk)
00:00
Version 3.6.11 (CVS 6299) (check-in: 6abd630c87 user: drh tags: trunk, release)
2009-02-17
18:37
Add tests to double-check that nothing within SQLite ever tries to allocate amounts of memory that are close to the maximum signed integer, leading to an integer overflow within malloc(). This is not currently a problem. The extra tests just insure it never becomes a problem. (CVS 6298) (check-in: f6ba7bb915 user: drh tags: trunk)
17:56
Initialize an uninitialized buffer to silence a valgrind warning during a VACUUM operation. (CVS 6297) (check-in: 8c61968b33 user: danielk1977 tags: trunk)
16:29
Allow sqlite3_shutdown() to be called by a process before sqlite3_initialize() is. Prior to this commit such a call could segfault. (CVS 6296) (check-in: 79431c58d9 user: danielk1977 tags: trunk)
16:17
Make sure result variables are initialized or unused following a failure of the xFullPathname VFS interface. Problem detected by valgrind. (CVS 6295) (check-in: 59a4755185 user: drh tags: trunk)
2009-02-16
17:55
Changes to remove some compiler warnings from MSVC. (CVS 6294) (check-in: 68f15442e8 user: shane tags: trunk)
16:23
Fix a compiler warning in backup.c. (CVS 6293) (check-in: 82222fbf5d user: drh tags: trunk)
2009-02-13
16:59
Make sure OOM errors in the ANALYSIS loader get reported back out to high-level layers. Strange behavior can result otherwise. (CVS 6292) (check-in: 88a6355cd6 user: drh tags: trunk)
03:43
Correctly handle attempts to add a UNIQUE or PRIMARY KEY column using the ALTER TABLE statement. Ticket #3651. (CVS 6291) (check-in: dd179ff298 user: drh tags: trunk)
2009-02-12
17:07
Add additional cross-references from API documentation to other documents. Comment changes only; no changes to code. (CVS 6290) (check-in: 97203a0ad7 user: drh tags: trunk)
17:06
Update thread tests to clear the sqlite_open_file_count counter at the end. This counter is not threadsafe and can end up with an invalid value at the end of the thread tests. (CVS 6289) (check-in: 8c4d71a169 user: drh tags: trunk)
17:01
Fix some edge cases with backing up databases that are exactly PENDING_BYTE bytes in size, or just slightly larger. (CVS 6288) (check-in: 2fc450e8e6 user: danielk1977 tags: trunk)
09:36
Modify lock.test to account for "PRAGMA lock_status" returning "unknown" for in-memory databases. (CVS 6287) (check-in: 9a6e558ba6 user: danielk1977 tags: trunk)
09:11
Fix a case where during a rollback triggered by an IO or malloc error an unjournalled region of the database could be written to (with it's original data). This was causing an assert in test_journal.c to fail. Add a test case in ioerr2.test to trigger this case. (CVS 6286) (check-in: 315a6692f9 user: danielk1977 tags: trunk)
2009-02-11
16:06
Updated for Windows compatibility. Test scripts only. (CVS 6285) (check-in: 2522ad1df3 user: shane tags: trunk)
15:23
Continuing documentation refinements. Comment changes only. (CVS 6284) (check-in: 83e8308435 user: drh tags: trunk)
15:11
Fix the backup.test script so that it works regardless of the value of SQLITE_TEMP_STORE and the initial contents of the file-system. (CVS 6283) (check-in: da660ea73a user: danielk1977 tags: trunk)
15:04
Add hyperlinks from sqlite3_limit() documention to the limits.html page. Comment changes only - no changes to code. (CVS 6282) (check-in: f0189ec8c9 user: drh tags: trunk)
14:27
Fix the crashtest infrastructure so that it doesn't trigger the "don't write to the locking region" assert in os_unix.c. (CVS 6281) (check-in: b7fd4615cd user: danielk1977 tags: trunk)
07:38
Modify the test_journal.c code to (1) account for the backup code writing to parts of the pending-byte page when changing a databases page-size, and (2) to avoid reading from the pending-byte page and triggering the assert in os_unix.c. Changes to test code only. (CVS 6280) (check-in: 4879621658 user: danielk1977 tags: trunk)
05:18
In test_mutex.c, zero the global structure staticly instead of in Sqlitetest_mutex_Init(). This is because Sqlitetest_mutex_Init() is now called by each thread during thread tests ((6193)). Test code changes only. (CVS 6279) (check-in: 8b318b9385 user: danielk1977 tags: trunk)
2009-02-10
18:54
For the "onefile" demo, pass SQLITE_OPEN_TEMP_DB instead of MAIN_DB to the OS layer when opening the single file. This is to work around the assert() in os_unix.c that tests that the locking region is not written to. (CVS 6278) (check-in: 2da076a2c1 user: danielk1977 tags: trunk)
14:45
Reduce the number of iterations in one of the savepoint4.test crash tests. (CVS 6277) (check-in: fafb07b837 user: danielk1977 tags: trunk)
14:28
Prevent code in test6.c from reading the 512 byte locking region (the PENDING_BYTE page) of a database file. Doing so triggers an assert failure in os_unix.c. (CVS 6276) (check-in: 2a6a431692 user: danielk1977 tags: trunk)
13:41
Create links from backup API documentation to the backup application note. Comment changes only - no changes to code. (CVS 6275) (check-in: 85de23fb4e user: drh tags: trunk)
11:17
Reenable triggering vdbe tracing by creating file-system entries. Add a (redundant) test that modifying the temp schema expires all prepared statements. (CVS 6274) (check-in: f6590dac46 user: danielk1977 tags: trunk)
10:44
Do not always open a transaction on the temp database when writing to the main or another attached database. (CVS 6273) (check-in: f76b0b8129 user: danielk1977 tags: trunk)
05:45
Fix a bug in test file misc7.test. No code changes. (CVS 6272) (check-in: d919d2a14c user: danielk1977 tags: trunk)
2009-02-09
18:55
Fix a problem in backup.c causing OsTruncate() to be called with an argument larger than the current file-size. (CVS 6271) (check-in: b34bde80c7 user: danielk1977 tags: trunk)
17:34
Add assert() statements to os_unix.c which fire if there is a read or write for the locking region of a database file. (CVS 6270) (check-in: 93e792ffa8 user: drh tags: trunk)
13:19
Better error message when DISTINCT is used on an aggregate function that takes two or more arguments. Ticket #3641. (CVS 6269) (check-in: e20bf38466 user: drh tags: trunk)
05:32
Ignore the return structure of and F_GETLK fcntl() call on djgpp. Fix for #3642. (CVS 6268) (check-in: 8227af3463 user: danielk1977 tags: trunk)
05:18
Attempt to reproduce ticket #3643. No luck yet. (CVS 6267) (check-in: 8f2f98d247 user: danielk1977 tags: trunk)
2009-02-06
05:59
Changes to the backup API: (1) if a negative number is passed as the second argument to backup_step(), this is interpreted as "copy all remaining pages" and (2) if backup_finish() is called after backup_step() fails with a BUSY or LOCKED error, then this error is also returned by backup_finish() (same handling as for other errors encountered by backup_step()). (CVS 6266) (check-in: 9b8c8b18cf user: danielk1977 tags: trunk)
2009-02-05
17:00
Fix a test case that was still using the old pending_byte mechanism. (CVS 6265) (check-in: 08ec4f2c39 user: drh tags: trunk)
16:53
Fix the declaration of sqlite3PendingByte so that it works with the amalgamation. (CVS 6264) (check-in: 193c871f3d user: drh tags: trunk)
16:31
Make the pending byte adjustable via sqlite3_test_control() on all builds, not just on test builds. (CVS 6263) (check-in: e8f192e2a9 user: drh tags: trunk)
03:16
Fixed error detection in winTrucate() in os_win.c. Windows version only. Ticket #3640. (CVS 6262) (check-in: 82e03f1b54 user: shane tags: trunk)
03:00
Improved overrun detection in mem2.c (SQLITE_MEMDEBUG). Previously was only checking up to 3 extra bytes allocated due to rounding. (CVS 6261) (check-in: a6fe3d6b02 user: shane tags: trunk)
2009-02-04
22:46
Add "backup" and "restore" methods to the TCL interfaces and test cases to exercise those methods. (CVS 6260) (check-in: e420a3cedc user: drh tags: trunk)
20:55
Add ".backup" and ".restore" commands to the CLI - implemented using the new backup API. (CVS 6259) (check-in: 003e1d6218 user: drh tags: trunk)
20:08
Increase the version number to 3.6.11. (CVS 6258) (check-in: 0882a028c8 user: drh tags: trunk)
19:16
If the truncate operation fails in journalmode=TRUNCATE, do not fall back to overwriting the journal header with zeros. Simply fail the operation. (CVS 6257) (check-in: d4af60e52a user: drh tags: trunk)
17:40
Simplify wording of backup API error message. Decapitalize some other error messages. (CVS 6256) (check-in: f92405afb6 user: drh tags: trunk)
16:56
The sqlite3_backup_init() interface must lock the destination in case it needs to change the error message. (CVS 6255) (check-in: 572378d3a2 user: drh tags: trunk)
15:27
Fix a bug in test_malloc.c whereby running multi-threaded test cases could cause subsequent OOM tests to fail. (CVS 6254) (check-in: 03ea9e5913 user: danielk1977 tags: trunk)
11:57
Ensure that thread001.test and thread002.test reset the global shared-cache-enabled setting before they finish. (CVS 6253) (check-in: 416288a9fa user: danielk1977 tags: trunk)
10:09
Do not attempt to use the sub-journal file descriptor if it is not opened (as in journal_mode=off mode). Ticket #3636. (CVS 6252) (check-in: 20bd760554 user: danielk1977 tags: trunk)
08:17
Fix a bug in malloc.test causing the exclusive permutation to fail. Changes to test code only. (CVS 6251) (check-in: 72745bde90 user: danielk1977 tags: trunk)
03:59
Changes to completely remove all floating point ops if SQLITE_OMIT_FLOATING_POINT defined. Note that w/o fp, date/time, round, nan, etc. are all gone or limited in functionality. Updated some of the test scripts to support missing fp and 64-bit functionality. Ticket #3029. (CVS 6250) (check-in: 5cef400023 user: shane tags: trunk)
01:49
Remove compiler warnings under MSVC. (CVS 6249) (check-in: 6301f08a2b user: shane tags: trunk)
2009-02-03
22:51
Correction to check-ins (6246) and (6247): The backup object might not hold a valid destination connection pointer. Also, do not reset the page cache when establishing a read-lock while there is a persistent or truncated journal, only if there is a journal that really needs to rollback. Otherwise backups always reset whenever the source database file is read. (CVS 6248) (check-in: 7f827ba9d7 user: drh tags: trunk)
22:17
A backup must clear the internal schema of the destination database so that the schema will be reloaded for the next sqlite3_prepare() (CVS 6247) (check-in: 76f23a4394 user: drh tags: trunk)
21:13
Must hold mutex on the destination during backups. Add documentation to warn programmers that attempting to use the destination connection during a backup can lead to deadlock. (CVS 6246) (check-in: 5f6c06b974 user: drh tags: trunk)
19:55
Fixed postToParent() return type (Tcl_ThreadCreateType) in test_thread.c to compile with MSVC. Removed a few compiler warnings. Test harness change only. (CVS 6245) (check-in: e9475abaf8 user: shane tags: trunk)
19:52
Fix buffer size in md5_cmd() in test_md5.c. Test harness change only. (CVS 6244) (check-in: c1e15717ff user: shane tags: trunk)
18:47
More adjustments to the backup API documentation. No changes to code. (CVS 6243) (check-in: ca650879d3 user: drh tags: trunk)
18:25
Tweaks to the backup API documentation contained in comments. No changes to code. (CVS 6242) (check-in: 6298bcca14 user: drh tags: trunk)
16:51
Commit first version of the 'backup' feature. (CVS 6241) (check-in: 663479b417 user: danielk1977 tags: trunk)
16:25
Fix the sqlite3_mprintf_long test command (added by check-in (6224) in order to address ticket #3621) so that it works on systems with sizeof(int)==4 and sizeof(long)==8. (CVS 6240) (check-in: 2e45c2a851 user: drh tags: trunk)
15:50
Remove several compiler warnings. (CVS 6239) (check-in: 85e9196d79 user: drh tags: trunk)
15:39
Remove the text of the sqlite3VdbeMemSanity() routine, which was already commented out. (CVS 6238) (check-in: a3c260772b user: drh tags: trunk)
15:27
Check at the write() call to work around the msdos bug in OSX actually succeeds and throw an error if it does not. #ifdef out the work-around for all platforms other than OSX. Ticket #3633. (CVS 6237) (check-in: b054b56917 user: drh tags: trunk)
13:51
Add a special rule to the amalgamation generator to deal with the sqlite3OsDlSym function. Ticket #3631. (CVS 6236) (check-in: 876f874c6e user: drh tags: trunk)
13:19
Fix a problem in check-in (6226) which could cause an assertion fault following a malloc failure. The prior check-in was for ticket #3624. (CVS 6235) (check-in: 1ffe44e9d6 user: drh tags: trunk)
13:10
Check-in (6230) introduced a bugs in SUBSTR() which was caught by the fuzz tester. Fixed by this check-in. Related to ticket #3628. (CVS 6234) (check-in: cd2e7f6c0f user: drh tags: trunk)
2009-02-02
21:57
Make group_concat() a 1- or 2-value function, as the documentation says it should be. Use the md5sum() function to verify ticket #3179, not group_concat(). This undoes the ill-advised group_concat() change of check-in (5233). (CVS 6233) (check-in: f2ae82c4d4 user: drh tags: trunk)
18:03
Omit the TEMP keyword from the schema of TEMP tables created using CREATE TEMP TABLE AS SELECT ..... Ticket #3630. (CVS 6232) (check-in: 3b0a25548c user: drh tags: trunk)
17:30
Minor simplifications to SQL function implementations. (CVS 6231) (check-in: 92e5c27f20 user: drh tags: trunk)
16:32
Update the SUBSTR function so that works consistently when the 2nd parameter is 0. Ticket #3628. (CVS 6230) (check-in: 5fc125d362 user: drh tags: trunk)
01:50
Restrict the RANDOM() function to have zero arguments. Ticket #3627. (CVS 6229) (check-in: b8b546b6ed user: drh tags: trunk)
2009-02-01
19:42
Fix SUBSTR() so that it returns NULL if any argument is NULL. Ticket #3626. (CVS 6228) (check-in: 779fce82b7 user: drh tags: trunk)
19:23
Fix the SUBSTR() function so that when the 3rd argument is negative, it counts backwards from the selected start point. Ticket #3625. (CVS 6227) (check-in: 2217339bad user: drh tags: trunk)
18:08
Change the replace() function to return a copy of its first argument when the 2nd argument is an empty string. Ticket #3624. (CVS 6226) (check-in: ffebf10f6f user: drh tags: trunk)
00:29
Adjust comments in vdbe.c to use OP_MakeRecord instead of the obsolete OP_MakeIdxRec. Ticket #3619. (CVS 6225) (check-in: 0d2abbbff5 user: drh tags: trunk)
00:21
Add a new test command, sqlite3_mprintf_long, for testing the behavior of "long integer" printf formatting. Ticket #3621. (CVS 6224) (check-in: 3ba1a17b13 user: drh tags: trunk)
00:00
Make the TO keyword available even if SQLITE_OMIT_ALTERTABLE is defined. Ticket #3622. (CVS 6223) (check-in: 3890985ca6 user: drh tags: trunk)
2009-01-31
22:28
Better error message when coalesce() has too few arguments. Ticket #3623. (CVS 6222) (check-in: 9cd43c82a3 user: drh tags: trunk)
14:54
Avoid a segfault when running vacuum on an in-memory database. Ticket #3620. (CVS 6221) (check-in: 407830c683 user: danielk1977 tags: trunk)
2009-01-30
17:27
Fix a round-off error when moving dates by negative modifier amounts. Ticket #3618. Enhance the "NNN years" modifier to accept fractional years. (CVS 6220) (check-in: 86be908c5e user: drh tags: trunk)
16:09
Made code to remove unused parameter warning part of the conditional. Ticket #3610. (CVS 6219) (check-in: c5dca1146d user: shane tags: trunk)
06:11
Changes to setupLookaside() in main.c to better handle lookaside buffer configurations of zero-size. Ticket #3616. (CVS 6218) (check-in: 0a2c7f7403 user: shane tags: trunk)
05:59
Implemented the SQLITE_LAST_ERRNO op in the xFileControl() method of os_win.c. Ticket #3615. (CVS 6217) (check-in: 9ea871f3e8 user: shane tags: trunk)
05:47
In test case incrvacuum-15.1 close both db handles (db and db2) before attempting to delete test.db. Ticket #3614. (CVS 6216) (check-in: e764a7c5d3 user: shane tags: trunk)
05:40
Minor changes to remove a few MSVC compiler warnings at /W3. Ticket #3610. (CVS 6215) (check-in: c74c78e4eb user: shane tags: trunk)
2009-01-29
19:27
Add test cases to make sure that keywords that we say can be used as identifiers really can be used as identifiers. These tests were inspired by ticket #3612, but they do not directly address ticket #3612. (CVS 6214) (check-in: 6041ca87a1 user: drh tags: trunk)
02:54
add a cvsignore file (CVS 6213) (check-in: 68c8cdd73b user: vapier tags: trunk)
2009-01-28
20:21
Fix a segfault that can occur when attempting to insert into a corrupt database file. Need a test case. (CVS 6212) (check-in: 68957cf0c4 user: drh tags: trunk)
04:46
regenerate autotools (CVS 6211) (check-in: 813a3c9686 user: vapier tags: trunk)
04:46
unify TCLLIBDIR handling with libtclsqlite3.so and use libtool to install it rather than custom tclinstaller.tcl ... this integrates better with autotools and avoids relinking issues (RPATH pointing to builddir) (CVS 6210) (check-in: 3a049ca761 user: vapier tags: trunk)
02:55
Add testcase() macros for coverage in date.c. (CVS 6209) (check-in: 90b42eba8e user: drh tags: trunk)
2009-01-26
21:43
use AC_MSG_xxx funcs rather than `echo` (CVS 6208) (check-in: ed08025ad2 user: vapier tags: trunk)
21:39
(#3449) search for tclConfig.sh first by asking tclsh itself where it is (CVS 6207) (check-in: ff2912dc14 user: vapier tags: trunk)
21:25
(#1428) installed shared libs with exec perms (CVS 6206) (check-in: 3f2a3414d0 user: vapier tags: trunk)
20:59
(#3583) add a rule for sqlite3.pc in case the .in file is updated (CVS 6205) (check-in: 4d03b69317 user: vapier tags: trunk)
2009-01-24
15:23
Remove obsolete files from the tools subfolder. (CVS 6204) (check-in: d74560803e user: drh tags: trunk)
11:30
Fix some minor compiler warnings. Added sqlite3Isalpha() for use in the soundex() function. (CVS 6203) (check-in: bfc71edca4 user: drh tags: trunk)
09:56
Remove incorrect ALWAYS macro associated with empty IN() sets. Ticket #3602. (CVS 6202) (check-in: f3c09a0cb8 user: danielk1977 tags: trunk)
2009-01-23
16:45
Optimization: When loading a new page into the cache, avoid redundant memset() calls to zero it. (CVS 6201) (check-in: 9c0b9f8813 user: danielk1977 tags: trunk)
2009-01-22
23:04
Fix the VACUUM command so that it does not commit a transaction when it is mistakenly run within a transaction - it should leave the transaction open. (CVS 6200) (check-in: 75cc709be4 user: drh tags: trunk)
17:12
Silence a C++ builder warning by writing "if( (rc = function())!=SQLITE_OK )" instead of "if( (rc = function()) )" in two places in pager.c. Ticket #3605. (CVS 6199) (check-in: 78ae96def5 user: danielk1977 tags: trunk)
2009-01-21
17:45
Add a comment to fts3_tokenizer.h to make it clear how the xNext() method is supposed to set its output variables. Make sure the output variables of xNext() are only used if SQLITE_OK is returned. Ticket #3604. (CVS 6198) (check-in: 5b3c075f96 user: danielk1977 tags: trunk)
2009-01-20
17:06
Big change to make pager.c easier to follow. Unused variables removed, comments improved, etc. (CVS 6197) (check-in: 12f7346c13 user: danielk1977 tags: trunk)
16:53
When not compiling for an EBCDIC system, use built-in alternatives to the tolowe r(), toupper() and other ctype.h library functions. Ticket #3597. (CVS 6196) (check-in: 1041abd678 user: danielk1977 tags: trunk)
2009-01-19
20:49
Make sure the *pzErrMsg return from sqlite3_get_table() is aways zeroed. Ticket #3598. (CVS 6195) (check-in: 7035c35dbe user: drh tags: trunk)
18:18
Fix the --enable-tempstore option on the configure script. Ticket #3599 (CVS 6194) (check-in: c2eabb99fe user: drh tags: trunk)
17:40
Make sure mutexes are fully enabled for thread001.test. Take steps to ensure that the thread tests run during regression testing. (CVS 6193) (check-in: 6242f113eb user: drh tags: trunk)
2009-01-17
16:59
Fix a bug that was preventing SQLite from releasing locks properly under obscure circumstances. (CVS 6192) (check-in: 502c66df8b user: danielk1977 tags: trunk)
15:53
Back out the Makefile.in changes from check-in (6181) because of reports (ticket #3594) that they do not work on NetBSD. Separately, documentation is updated to make clear that configure and Makefile.in are unsupported. (CVS 6191) (check-in: 2d79aaab13 user: drh tags: trunk)
2009-01-16
23:47
Remove a harmless UMR that occurs inside some debugging code. (CVS 6190) (check-in: 191c399fc6 user: drh tags: trunk)
16:40
Fix a change-counter bug similar to #3584. This one is much more obscure though, requiring a transient IO or malloc error to occur while running in exclusive mode. (CVS 6189) (check-in: 9f07d2d922 user: danielk1977 tags: trunk)
16:23
Revert (6187). (CVS 6188) (check-in: a353c1ab37 user: danielk1977 tags: trunk)
15:21
This commit is an error. Reverted by (6188). (CVS 6187) (check-in: aa67fd0cdb user: danielk1977 tags: trunk)
11:04
Allow recently added keywords 'savepoint' and 'release' to be used as database object names. Just as they could be prior to 3.6.8. Ticket #3590. (CVS 6186) (check-in: 54ab8326a1 user: danielk1977 tags: trunk)
2009-01-15
17:40
Treat "or" as an ANSI-C keyword, even though it is not. Ticket #3588. (CVS 6185) (check-in: ed4e308caa user: drh tags: trunk)
17:04
Version 3.6.10 (CVS 6184) (check-in: 21b720cc9b user: drh tags: trunk, release, version-3.6.10)
15:23
Disable test case select2-2.0.3. This was a timing test that sometimes fails due to CPU contention with other processes on the same host. (CVS 6183) (check-in: ffdf91fec9 user: drh tags: trunk)
04:30
Avoid using ENOTSUP on systems that do not define that symbol. Ticket #3512. (CVS 6182) (check-in: fcb6c67712 user: drh tags: trunk)
2009-01-14
23:38
Make some changes requested by Fedora. (CVS 6181) (check-in: 7bc08bc719 user: drh tags: trunk)
23:17
Fix the shell so that the ".schema" command works regardless of the pragma settings. Ticket #3585. (CVS 6180) (check-in: 6f6b638e44 user: drh tags: trunk)
23:03
Add asserts to detect if a transaction commits without first incrementing the transaction counter. These asserts are intended to prevent future problems similar to ticket #3584. (CVS 6179) (check-in: b676ccfd90 user: drh tags: trunk)
18:59
Fix typos in comments in FTS3 implementation. (CVS 6178) (check-in: b0f066630c user: drh tags: trunk)
18:59
Increment the version number in preparation for yet another release. (CVS 6177) (check-in: dce60ea764 user: drh tags: trunk)
17:45
Fix a problem with committing a transaction while there are other active statements. Sometimes, the database change counter was not being updated. (CVS 6176) (check-in: b7d2a477aa user: danielk1977 tags: trunk)
04:09
Version 3.6.9 (CVS 6175) (check-in: b6ce8199a9 user: drh tags: trunk, release)
01:10
Here is the test case to prove that ticket #3581 is fixed. (CVS 6174) (check-in: f5f5ef646b user: drh tags: trunk)
00:55
Make sure the OR-clause optimizer takes the cost of sorting into account. Reset the rowid cache on the OP_Rewind and OP_Last opcodes. Bump the version number so that we can do an emergency release. Ticket #3581. (CVS 6173) (check-in: d28b58209b user: drh tags: trunk)
2009-01-13
20:14
Updates to comments as suggested by tickets #3578 and #3579. (CVS 6172) (check-in: b5927213b6 user: drh tags: trunk)
16:03
If the journal file is open when unlocking the database, close it just before unlocking the database file instead of just after. This may fix #3572. (CVS 6171) (check-in: 36fe9a7a51 user: danielk1977 tags: trunk)
2009-01-12
15:46
Version 3.6.8 (CVS 6170) (check-in: 8ca0b7c136 user: drh tags: trunk, release)
14:01
Only run tests that depend on SQLITE_PREFER_PROXY_LOCKING builds when said symbol is set. (CVS 6169) (check-in: 5d88f8be73 user: danielk1977 tags: trunk)
2009-01-11
18:24
Sometimes a single byte is written to the main database file. Make sure that journaltest knows this. (CVS 6168) (check-in: e0af5a43f3 user: drh tags: trunk)
17:00
Fix an assert() so that it works correctly with SQLITE_TEMP_STORE=3. (CVS 6167) (check-in: fd2bbcf8d8 user: drh tags: trunk)
05:54
Fix jrnlmode.test so that it does not run tests involving in-memory journals during the "journaltest" permutation. (CVS 6166) (check-in: b47ddefc77 user: danielk1977 tags: trunk)
00:44
The crash8.test depends on auto_vacuum being off. Make sure that is the case. (CVS 6165) (check-in: 3538d2a981 user: drh tags: trunk)
00:42
In io.test, reset the connection after manually deleting the journal file, so that the connection does not continue to use the old deleted journal file. (CVS 6164) (check-in: 1e79f4f9e5 user: drh tags: trunk)
00:18
Adjust savepoint.test so that it can deal with SQLITE_TEMP_STORE=3. (CVS 6163) (check-in: 3cb910f0ce user: drh tags: trunk)
2009-01-10
18:51
Do not run crash8.test as part of the "journaltest" permutation. crash8.test uses "PRAGMA synchronous=off", which is incompatible with journaltest. (CVS 6162) (check-in: 5f184da675 user: danielk1977 tags: trunk)
17:57
Remove the unused Pager.alwaysRollback flag. Fix a couple of comments in pager.c. (CVS 6161) (check-in: 8f0672af8d user: danielk1977 tags: trunk)
17:02
Remove an faulty assertion inserted a few days ago. (CVS 6160) (check-in: 495f017e03 user: drh tags: trunk)
16:15
When compiled with SQLITE_DEBUG (in other words, when assert() is enabled) the ALWAYS and NEVER macros will throw an assertion if their arguments are not true or false, respectively. (CVS 6159) (check-in: 64a8dcd8d6 user: drh tags: trunk)
16:15
Improve coverage of pager.c. (CVS 6158) (check-in: 855c4093cf user: danielk1977 tags: trunk)
15:34
Fix a bug caused by overzealous code test coverage simplifications. Bug found by TH3. (CVS 6157) (check-in: 3da5578726 user: drh tags: trunk)
13:24
Remove some unused code from expr.c in order to increase test coverage. (CVS 6156) (check-in: 2cbea64fb0 user: drh tags: trunk)
11:13
Fix a bug in the previous commit - use SQL comments instead of Tcl comments in SQL blocks. (CVS 6155) (check-in: 3d7a8de248 user: danielk1977 tags: trunk)
11:10
Add a malloc failure test case that covers a few previously untested lines in pager.c (CVS 6154) (check-in: 000aedb047 user: danielk1977 tags: trunk)
2009-01-09
21:41
Coverage improvements in pragma.c. Change the __DARWIN__ macro to __APPLE__, which is available by default on Leopard. (CVS 6153) (check-in: 64c56226b9 user: drh tags: trunk)
17:11
Increase pager.c coverage a bit. Fix an assert failure that can occur following a "PRAGMA omit_readlock" command on a read-only database. (CVS 6152) (check-in: 0f3f9011fa user: danielk1977 tags: trunk)
14:29
Fix two problems in test instrumentation that show up on some fulltests. (CVS 6151) (check-in: c917961743 user: drh tags: trunk)
14:11
Simplifications to btree.c to improve test coverage. (CVS 6150) (check-in: ac84f106d5 user: drh tags: trunk)
10:49
Add a couple of coverage tests. (CVS 6149) (check-in: 6a64109d1f user: danielk1977 tags: trunk)
02:49
More coverage improvements. (CVS 6148) (check-in: 6e171c0a64 user: drh tags: trunk)
01:12
Increased test coverage. (CVS 6147) (check-in: 45bb5703d7 user: drh tags: trunk)
2009-01-08
21:00
Increased test coverage in where.c. (CVS 6146) (check-in: 1e5725c517 user: drh tags: trunk)
18:04
Fix a comment in pager.c. No actual code changes. (CVS 6145) (check-in: 44d3bfddf4 user: danielk1977 tags: trunk)
17:57
Avoid an 'invalid cast' warning in test_osinst.c. (CVS 6144) (check-in: 931f3a21bd user: danielk1977 tags: trunk)
17:50
Fix a couple of potential corruption problems in pager.c. (CVS 6143) (check-in: 5a39525ba3 user: danielk1977 tags: trunk)
15:24
Add a test script for ticket #2565. Change the assert() in pager.c into a testcase() macro. (CVS 6142) (check-in: 1e53e382e5 user: drh tags: trunk)
14:36
Allow database files to be created in the root directory on unix. Ticket #3570. (CVS 6141) (check-in: 81014334ad user: drh tags: trunk)
12:05
Clean up test_journal.c to make it easier to follow. (CVS 6140) (check-in: 5a28c7c7b4 user: danielk1977 tags: trunk)
03:11
Increase test coverage of where.c. Make sure OR-optimization works on UPDATE and DELETE in addition to SELECT. (Bug found by coverage tests.) (CVS 6139) (check-in: 4b2c08e898 user: drh tags: trunk)
2009-01-07
20:58
Add new test cases to increase coverage of where.c. (CVS 6138) (check-in: 2e1ab51f05 user: drh tags: trunk)
18:24
Fix a bug in the LIKE query optimization. (Found by coverage testing.) (CVS 6137) (check-in: fe90e9116b user: drh tags: trunk)
18:08
Make the same change as (6121) (accidentally reverted). Also enhance test_journal.c to catch this kind of bug. (CVS 6136) (check-in: ccc9c211a2 user: danielk1977 tags: trunk)
17:06
Add a "synchronous = off" variant to savepoint6.test. (CVS 6135) (check-in: 0f57011e3b user: danielk1977 tags: trunk)
16:15
Change SQLITE_MAX_FUNCTION_ARG from 100 to 127 to match invariant H16124. Ticket #3567. (CVS 6134) (check-in: 1fe79ffd77 user: danielk1977 tags: trunk)
15:52
For archival purposes, add the TCL script that was used to generate many of the test cases for where7.test. (CVS 6133) (check-in: 0e01cdc8d2 user: drh tags: trunk)
15:33
Conjecture: a journal header with nRec==0 must be the last header in the journal. Add asserts to make this conjecture explicit. (CVS 6132) (check-in: 15b5b5f90c user: drh tags: trunk)
15:18
Fix for 'truncate file' operations on in-memory databases. (CVS 6131) (check-in: 83d1eafbde user: danielk1977 tags: trunk)
10:52
Add a comment to the openSubjournal() function in pager.c. (CVS 6130) (check-in: 04387ae10a user: danielk1977 tags: trunk)
10:35
Fix a problem with reverting a 'DROP TABLE' command executed inside of a savepoint on an auto-vacuum database. (CVS 6129) (check-in: 3a4bb83235 user: danielk1977 tags: trunk)
08:12
Fix savepoint related bugs. A rollback caused by an IO error or "OR ROLLBACK" clause while one or more savepoints were open was leaving the sqlite3 structure in an invalid state. (CVS 6128) (check-in: e5d42c69a3 user: danielk1977 tags: trunk)
03:59
Add a HIGHSTRESS parameter to the sqlite3_config_alt_pcache debugging command in the test harness - to force calling pagerStress() more frequently. (CVS 6127) (check-in: e426860b94 user: drh tags: trunk)
02:03
Pager changes attempting to verify that ticket #2565 cannot recur. (CVS 6126) (check-in: 15b9dac455 user: drh tags: trunk)
2009-01-06
18:43
Now that we have permutations.test, it is really only necessary to run all.test for a single cycle. So make that the default. (CVS 6125) (check-in: 3c2f292fb7 user: drh tags: trunk)
18:21
Reduce the number of paths in btreeCopyFile(). (CVS 6124) (check-in: df2c285cb9 user: danielk1977 tags: trunk)
17:52
Modify test_journal.c to verify the page data being written to the journal file. (CVS 6123) (check-in: 0d258956f8 user: danielk1977 tags: trunk)
15:58
Cleanup of the PAGERTRACE macro. Other comment changes in pager.c. (CVS 6122) (check-in: ee7b4b6088 user: drh tags: trunk)
15:28
The fix in (6120) wasn't quite right. This fixes it. (CVS 6121) (check-in: ddc2ebfa52 user: danielk1977 tags: trunk)
15:20
Fix a recently introduced problem in "permutations.test autovacuum_crash". (CVS 6120) (check-in: 2cdbb468ed user: danielk1977 tags: trunk)
14:50
Update permutations.test so that it does not show an error when running the singlethread and multithread test cases on THREADSAFE=0 builds. (CVS 6119) (check-in: 301b57b7ba user: drh tags: trunk)
14:34
Fix a memory leak in test_journal.c (test code). Also remove function pager_truncate_cache(), a wrapper around sqlite3PCacheTruncate(), from pager.c. (CVS 6118) (check-in: a64f3db0b3 user: danielk1977 tags: trunk)
14:19
Fix compiler warnings. (CVS 6117) (check-in: da770a8dff user: drh tags: trunk)
13:40
Add some savepoint related test cases and fix a few problems. (CVS 6116) (check-in: 8c62ea4fde user: danielk1977 tags: trunk)
00:11
Remove leftover "breakpoint" from the fuzz.test script. (CVS 6115) (check-in: c2482d8877 user: drh tags: trunk)
00:08
Fix a problem in the WHERE clause generator when the FROM clause is empty. (CVS 6114) (check-in: a701562561 user: drh tags: trunk)
2009-01-05
22:30
The fix in (6111) was not quite right. This version works better. (CVS 6113) (check-in: 5f80140a2d user: drh tags: trunk)
19:36
Reenable fuzz testing for all.test. Make sure the query flattener copies over aggregate information from expressions on outer query terms while flattening. (CVS 6112) (check-in: e02323b362 user: drh tags: trunk)
18:02
Make sure the MEM_Zero flags is cleared whenever removing MEM_Blob. (CVS 6111) (check-in: b2131e868a user: drh tags: trunk)
17:19
Include fuzz3.test in all.test. Get fuzz3.test working again. (CVS 6110) (check-in: 77dc19cfab user: drh tags: trunk)
17:15
Fix some test code problems in "permutations.test journaltest pager.test". (CVS 6109) (check-in: cf627752c4 user: danielk1977 tags: trunk)
2009-01-03
15:06
Add some tests with attached databases to savepoint.test. Also tests of creating and dropping tables in auto-vacuum mode inside of a savepoint. (CVS 6108) (check-in: ca7f11d50d user: danielk1977 tags: trunk)
14:04
When the commit_hook calls a query recursively, make sure the commit_hook is not invoked recursively. Ticket #3564. (CVS 6107) (check-in: 27ae406537 user: drh tags: trunk)
12:55
Fix a typo in a comment. (CVS 6106) (check-in: 50f57cd145 user: drh tags: trunk)
10:41
Add test file savepoint6.test. Contains pseudo random tests of savepoint related commands. (CVS 6105) (check-in: 2946fbb718 user: danielk1977 tags: trunk)
2009-01-02
21:39
Memory allocation failure in Bitvec are probably all benign. Still, add code to check this, just to be sure. (CVS 6104) (check-in: 4688e1c8b1 user: drh tags: trunk)
21:08
Reinitialize page 1 of the database file following a ROLLBACK TO of a transactional SAVEPOINT on an initially empty database. (CVS 6103) (check-in: 3e9efb7638 user: drh tags: trunk)
18:10
Fix compiler warnings in pager.c (CVS 6102) (check-in: 78dd7909da user: drh tags: trunk)
17:33
Modify the (transaction) method of the tcl interface to use savepoints. This makes nested calls to (transaction) work more intuitively. (CVS 6101) (check-in: f047758de9 user: danielk1977 tags: trunk)
15:47
Add fts_expr.* files to Makefile.in. (CVS 6100) (check-in: 524c8634df user: shane tags: trunk)
15:45
Many of the boundary tests depend on a working 64-bit implementation of TCL, so skip them if this is not available. (CVS 6099) (check-in: b1a4a17f87 user: shane tags: trunk)
12:35
Increment the version number to 3.6.8. (CVS 6098) (check-in: 7509641a4c user: drh tags: trunk)
01:10
Do not display matches against the right-hand side of a NOT operator in the output of the FTS snippet() or offsets() functions. (CVS 6097) (check-in: d44c84c0f7 user: drh tags: trunk)
2009-01-01
15:20
Fix a (benign) valgrind error that can occur following malloc failure while executing a 'ROLLBACK TO savepoint' command. (CVS 6096) (check-in: 9ff8598f3b user: danielk1977 tags: trunk)
14:06
Fix some problems in the fts3 expression parser with mismatched parenthesis. (CVS 6095) (check-in: ccfe4580ac user: danielk1977 tags: trunk)
12:34
Additional test cases and cleanup of FTS3 parenthesis processing. (CVS 6094) (check-in: afac429300 user: drh tags: trunk)
07:42
Add a couple of extra tests for the fts3 expression parser to improve mcdc coverage. (CVS 6093) (check-in: 13146b3493 user: danielk1977 tags: trunk)
07:08
Add pseudo-random tests of the fts3 expression parser. Revise the fix in (6091). (CVS 6092) (check-in: 11c2d46861 user: danielk1977 tags: trunk)
04:19
Fix a bug parsing "<expr> AND (abc NEAR def)" in fts3_expr.c. (CVS 6091) (check-in: d1a6a2edd7 user: danielk1977 tags: trunk)
2008-12-31
21:52
Avoid surplus bytes at the end of the keyword string table. Add testcase() macros to make sure all keywords are used during testing. (CVS 6090) (check-in: 73958060aa user: drh tags: trunk)
19:27
Fix the name in the documentation of the compile-time macro for enabling FTS3 parenthesis processing. (CVS 6089) (check-in: ac8258da6e user: drh tags: trunk)
16:27
Fix the FTS3 expression parser so that it works in the amalgamation when FTS3 is disabled. (CVS 6088) (check-in: 7e238e8604 user: drh tags: trunk)
16:01
Fix the FTS3 module with parenthesis syntax so that it will work in the amalgamation. (CVS 6087) (check-in: c2b9891fc0 user: drh tags: trunk)
2008-12-30
17:55
Fix a bug in the multi-index OR cost estimator. Remove leftover "breakpoint" commands from test scripts. (CVS 6086) (check-in: b090d5736d user: drh tags: trunk)
16:35
Add LEFT JOIN test cases for multi-index OR in where9.test. (CVS 6085) (check-in: 96f3b62914 user: drh tags: trunk)
16:18
Get EXPLAIN QUERY PLAN working with the multi-index OR optimization. Added new test script "where9.test". (CVS 6084) (check-in: 4b64602210 user: drh tags: trunk)
16:13
Add further pseudo-randomly generated test cases to where8.test. (CVS 6083) (check-in: e01f6ef9d9 user: danielk1977 tags: trunk)
15:51
Fix a bug in where8.test causing a tcl exception. (CVS 6082) (check-in: 495b569a39 user: danielk1977 tags: trunk)
15:26
Add a few more tests to where8.test. (CVS 6081) (check-in: ac28aa8b61 user: danielk1977 tags: trunk)
14:40
Still more test cases in where7.test. (CVS 6080) (check-in: eb9ba5fe70 user: drh tags: trunk)
14:14
Add many new test cases to where7.test. (CVS 6079) (check-in: 174985831f user: drh tags: trunk)
13:21
Do not run savepoint4.test (crash simulation tests) in permutations.test. It slows things down too much. (CVS 6078) (check-in: 2df02b543e user: danielk1977 tags: trunk)
12:00
Add a couple of extra tests for the "WHERE ... OR" optimization. (CVS 6077) (check-in: 35c87585b8 user: danielk1977 tags: trunk)
09:45
Fix a bug in where.c causing a malfunction when an INDEXED BY clause specified an unusable index on other than the leftmost table in the FROM clause. Ticket #3560. (CVS 6076) (check-in: f8ff021212 user: danielk1977 tags: trunk)
06:36
Fix a bug in README.tokenizers. Ticket #3559. (CVS 6075) (check-in: b8898d132e user: danielk1977 tags: trunk)
06:24
Invoke the authorization callback when compiling SAVEPOINT, ROLLBACK TO and RELEASE commands. (CVS 6074) (check-in: e49807b16f user: danielk1977 tags: trunk)
2008-12-29
23:45
Always make sure WhereClause objects are initialized to zero when they are first allocated. (CVS 6073) (check-in: 7d0ae55d6b user: drh tags: trunk)
18:33
Add test file where8.test. (CVS 6072) (check-in: bff460ec2c user: danielk1977 tags: trunk)
14:51
Remove an old variable declaration that was commented out using a C++ comment. (CVS 6071) (check-in: 0b972f14f0 user: danielk1977 tags: trunk)
10:39
Set the OPFLG_IN1 flag on a couple of extra opcodes. (CVS 6070) (check-in: 03d0350441 user: danielk1977 tags: trunk)
2008-12-28
20:47
Multi-index OR optimizer response to ORDER BY rowid. But fix in sqlite3_stmt_status(): report a full table scan when "ORDER BY rowid" is used without constraints. (CVS 6069) (check-in: 3464d369d3 user: drh tags: trunk)
18:35
Optimize WHERE clauses that constain AND, BETWEEN, and LIKE terms as operands of an OR. (CVS 6068) (check-in: 67cf24b30e user: drh tags: trunk)
16:55
Simplify the VM code that implements WHERE claues. (CVS 6067) (check-in: fa95f843e1 user: drh tags: trunk)
2008-12-27
15:23
Fix a problem with savepoint and incremental-vacuum. (CVS 6066) (check-in: 08352f9ea9 user: danielk1977 tags: trunk)
2008-12-26
07:56
Reset the column cache before coding each step of a trigger program. Candidate fix for #3554. (CVS 6065) (check-in: a1b1f6cd7d user: danielk1977 tags: trunk)
2008-12-24
11:25
Fix a virtual table related assert() that can fail following a malloc failure. (CVS 6064) (check-in: c6fd3b8f29 user: danielk1977 tags: trunk)
09:30
Fix a couple of problems in test file test_journal.c that were causing segfaults when running all.test. (CVS 6063) (check-in: 416c9efb49 user: danielk1977 tags: trunk)
2008-12-23
23:56
Continuing improvements to the multi-index OR-clause optimizer. Added a few simple test cases. (CVS 6062) (check-in: 55d4f493e7 user: drh tags: trunk)
19:15
Fix a problem with the savepoint code and in-memory journals. (CVS 6061) (check-in: 26ceebf38e user: danielk1977 tags: trunk)
16:23
Fix an OOM problem in where.c. (CVS 6060) (check-in: d2105f617e user: drh tags: trunk)
15:58
Make sure nOverflow is always cleared when a page is released. (CVS 6059) (check-in: 8d0f724477 user: drh tags: trunk)
13:35
Multi-index OR-clause optimization now works for simple tests. There are no test scripts for it yet, though. And it is disabled by default, pending further testing and optimization. We need a lot of both. (CVS 6058) (check-in: d77a702358 user: drh tags: trunk)
11:46
Add a test to savepoint.test that tests that nothing goes wrong if an incremental vacuum occurs inside a savepoint. (CVS 6057) (check-in: fc4f062153 user: danielk1977 tags: trunk)
11:11
In sqlite3AddColumn(), use local variable 'db' instead of 'pParse->db'. (CVS 6056) (check-in: 0c53a4c2da user: danielk1977 tags: trunk)
10:37
Fix a couple of assert() failures that can occur in btree.c and pager.c. (CVS 6055) (check-in: ae44e74824 user: danielk1977 tags: trunk)
2008-12-22
15:04
Fix a reference counting bug in rtree. Ticket #3549. (CVS 6054) (check-in: bbdc0e9f24 user: danielk1977 tags: trunk)
11:43
Changes to test scripts so that veryquick.test runs with SQLITE_TEMP_STORE=3 defined. Also a fix to stop the same switch causing a crash in the savepoint code. (CVS 6053) (check-in: ee0e6eae9f user: danielk1977 tags: trunk)
10:58
Add a case to permutations.test to run tests with the test_journal.c backend installed. Also many fixes to test_journal.c and one quite obscure fix to pager.c. (CVS 6052) (check-in: bb177e3072 user: danielk1977 tags: trunk)
03:37
Fix a variable type to prevent a warning in the proxy-locking code. (CVS 6051) (check-in: d9595b9618 user: danielk1977 tags: trunk)
2008-12-21
03:51
Continue refactoring where.c in preparation for installing OR-clause optimizations. (CVS 6050) (check-in: 778e91ddb8 user: drh tags: trunk)
2008-12-20
18:33
Add a vfs backend that detects problems like the one addressed by (6043) and (6047). (CVS 6049) (check-in: 49172e4876 user: danielk1977 tags: trunk)
13:18
Do not use long long constants in code. Ticket #3547. (CVS 6048) (check-in: 51b3bfc3b9 user: drh tags: trunk)
08:39
Fix the crash-followed-by-corruption bug revealed by savepoint4.test. This is actually the same bug as was fixed by (6043). The fix was not entirely correct. (CVS 6047) (check-in: 688336266f user: danielk1977 tags: trunk)
02:14
Specify type "void" in the parameter list of functions that take no parameters. Tickets #3545 and #3546. (CVS 6046) (check-in: c2228bd14a user: drh tags: trunk)
02:06
Enhanced analysis of OR terms in a WHERE clause. Another step toward being able to use indices with OR-connected WHERE clause terms. (CVS 6045) (check-in: c3f7aa019c user: drh tags: trunk)
2008-12-19
18:45
Add extra crash test cases that stress the savepoint mechanism to savepoint4.test. Currently, these tests are causing database corruption which (obviously) needs to be fixed. (CVS 6044) (check-in: e06a968aa5 user: danielk1977 tags: trunk)
16:31
Add some crash-tests for savepoint. Fix a bug revealed by these tests. (CVS 6043) (check-in: 6f36c16678 user: danielk1977 tags: trunk)
11:37
Add the file ext/fts3/README.syntax, containing documentation describing the two query syntaxes now supported by fts3. (CVS 6042) (check-in: ed81ad5a5d user: danielk1977 tags: trunk)
2008-12-18
22:25
Fix the Oracle and MS-Sql command-line terminator logic in the CLI. Ticket #3544. (CVS 6041) (check-in: dcc8935fa0 user: drh tags: trunk)
18:31
Increase test coverage of new savepoint code. (CVS 6040) (check-in: d915718d0b user: danielk1977 tags: trunk)
15:45
Add savepoint2.test, a file containing savepoint tests similar to tests in trans.test and avtrans.test. And a few savepoint bug fixes. (CVS 6039) (check-in: 98a53d91f6 user: danielk1977 tags: trunk)
05:30
Fix a bug in icuOpen() in fts2. (CVS 6038) (check-in: b9c722bd96 user: danielk1977 tags: trunk)
2008-12-17
19:22
Update the WHERE clause processing infrastructure in preparation for adding multi-index OR evaluation. (CVS 6037) (check-in: 78401b33fe user: drh tags: trunk)
17:30
Add the savepoint feature. This feature is largely untested at this point. (CVS 6036) (check-in: 34b56600ec user: danielk1977 tags: trunk)
15:49
Fix some strict-aliasing problems in fts3_expr.c. (CVS 6035) (check-in: 20a4ca5d36 user: danielk1977 tags: trunk)
15:18
Modify fts3 to support a more complex expression syntax that allows parenthesis. The new syntax is not entirely backwards compatible, so is disabled by default. Use -DSQLITE_ENABLE_FTS3_PARENTHESIS to enable it. (CVS 6034) (check-in: 7389b9ecb8 user: danielk1977 tags: trunk)
2008-12-16
18:15
Version 3.6.7 (CVS 6033) (check-in: f4f40370fb user: drh tags: trunk, release)
17:20
Fix a compile error in an assert() and a warning with MSVC builds. (CVS 6032) (check-in: 8b8f6a6ab5 user: shane tags: trunk)
13:46
Make sure the memory returned from sqlite3ScratchMalloc() is 8-byte aligned. Ticket #3542. (CVS 6031) (check-in: 13b56b7ff9 user: drh tags: trunk)
2008-12-15
22:51
New hyperlinks added to C interface documentation. No changes to working code. (CVS 6030) (check-in: 230cb68e07 user: drh tags: trunk)
16:33
Add test cases that verify evaluation of randomly generated SQL expressions. (CVS 6029) (check-in: 4685ffccd3 user: drh tags: trunk)
15:27
Convert the "~" and "NOT" operators to be two-address instructions. Ticket #3541. (CVS 6028) (check-in: ea9b747efb user: drh tags: trunk)
2008-12-14
14:45
Add the example from #3359 to the test suite. (CVS 6027) (check-in: 84f8417c07 user: danielk1977 tags: trunk)
02:55
Fix the name of the source algorithm in the comments of the script generators for the recently checked-in test cases for integer boundary-value testing. (CVS 6026) (check-in: adba0f3c01 user: drh tags: trunk)
2008-12-12
19:19
Add many new integer boundary value tests. Ticket #3536. (CVS 6025) (check-in: 45277238d3 user: drh tags: trunk)
17:56
Rework the rowid lookup logic in the query optimizer to fix various boundary value problems. Ticket #3536. Renamed the OP_MoveXX opcodes to OP_SeekXX. (CVS 6024) (check-in: e545490a28 user: drh tags: trunk)
2008-12-11
20:03
Previous change to the OP_ForceInt opcode did not work correctly when the input is a negative floating point value. This change is the fix. Ticket #3536. (CVS 6023) (check-in: f6c50f357c user: drh tags: trunk)
19:50
Make sure the OP_ForceInt vdbe opcode does not cause a rowid overflow. Ticket #3536. Tests to verify this change will be checked in separately. (CVS 6022) (check-in: 6a049c6595 user: drh tags: trunk)
16:17
Guard against attacks from deliberately corrupted database files. (CVS 6021) (check-in: da2ec96422 user: drh tags: trunk)
13:08
Increase the version number to 3.6.7. (CVS 6020) (check-in: 7c367515f8 user: drh tags: trunk)
13:05
Initialize a local variable so as to avoid a valgrind warning. (CVS 6019) (check-in: 0d316160fc user: drh tags: trunk)
02:58
Removed a few more harmless warnings from MSVC. (CVS 6018) (check-in: 72fd92bd67 user: shane tags: trunk)
02:56
Fix the TCL test harness so that it compiles and runs on OSX with SQLITE_ENABLE_LOCKING_STYLE. (CVS 6017) (check-in: 561d5de16e user: drh tags: trunk)
02:20
Initialize the yyzerominor constant generated by lemon. (CVS 6016) (check-in: 76c8f6ba87 user: drh tags: trunk)
2008-12-10
23:04
More code obfuscation designed to thwart compiler warning messages. (CVS 6015) (check-in: 0a1888a7e6 user: drh tags: trunk)
22:32
Try to remove compiler warnings from vdbe.c. (CVS 6014) (check-in: 50352950df user: drh tags: trunk)
22:30
Work to remove harmless MSVC compiler warnings. (CVS 6013) (check-in: 715dcd52c1 user: shane tags: trunk)
22:18
The strlen30 function in tclsqlite.c should be defined regardless of whether or not the amalgamation is used. (CVS 6012) (check-in: d8e8c7e51c user: drh tags: trunk)
22:15
Fix an issue with the new sqlite3Strlen30() introduced by check-in (6007). Additional casts for compiler warnings. (CVS 6011) (check-in: 258722b617 user: drh tags: trunk)
21:19
Additional work at eliminating silly compiler warnings. (CVS 6010) (check-in: ea01d43788 user: drh tags: trunk)
20:11
Fixed typo in comment in mkkeywordhash.c. (CVS 6009) (check-in: b7dd05b403 user: shane tags: trunk)
20:10
Added option (-l) to lemon parser to have it skip printing line numbers (#line ... ). (CVS 6008) (check-in: ccb9393a7a user: shane tags: trunk)
19:26
Never use strlen(). Use our own internal sqlite3Strlen30() which is guaranteed to never overflow an integer. Additional explicit casts to avoid nuisance warning messages. (CVS 6007) (check-in: c872d55493 user: drh tags: trunk)
18:03
More explicit type casting to silence VC++. (CVS 6006) (check-in: 14e6d19c31 user: drh tags: trunk)
17:20
Remove or rename local variables that shadow other variables or parameters. (CVS 6005) (check-in: e7e9fa4fa1 user: drh tags: trunk)
16:45
Add explicit casts to silence nuisance warnings from VC++. (CVS 6004) (check-in: da1cbfa766 user: drh tags: trunk)
11:49
Use memcpy() rather than "=" to copy a structure, in order to work around a bug in the XLC compiler on AIX. Ticket #3344. (CVS 6003) (check-in: 18bbcafc16 user: drh tags: trunk)
11:44
Remove some obsolete markup from sqlite.h.in. (CVS 6002) (check-in: d1d05e2a8a user: drh tags: trunk)
2008-12-09
14:46
Return an appropriate out-of-memory message when sqlite3_errmsg() is called following an SQLITE_NOMEM error. (CVS 6001) (check-in: 228ebe4115 user: drh tags: trunk)
14:03
Finish incomplete edit of resolve.c from check-in (5998). (CVS 6000) (check-in: 0d7e150e8c user: drh tags: trunk)
13:12
Additional test cases for nested subqueries in a WHERE clause. (CVS 5999) (check-in: 4f10f19dd1 user: drh tags: trunk)
13:04
A subquery in the result set of a SELECT should be able to look into outer queries to find variable references. But a subquery in the FROM clause should not be able to do this. Ticket #3530. (CVS 5998) (check-in: be03fa0543 user: drh tags: trunk)
04:59
Removed some harmless compiler warnings and converted some "double" ops to "int" in date.c. (CVS 5997) (check-in: 5eb648a0b5 user: shane tags: trunk)
03:55
Get rid of more silly compiler warnings. (CVS 5996) (check-in: 59ae002068 user: drh tags: trunk)
02:51
Suppress more silly compiler warnings. (CVS 5995) (check-in: 1522c2c667 user: drh tags: trunk)
01:32
Fix compiler warnings in where.c and in the TCL test harness. (CVS 5994) (check-in: 680755dbf0 user: drh tags: trunk)
2008-12-08
21:37
Some minor name refactoring in where.c. Avoid declaring variables before initializing them in the amalgamation because VC++ doesn't like that. (CVS 5993) (check-in: 6ed696e7c0 user: drh tags: trunk)
18:27
Fix a bug in win32 command-line client introduced during efforts to reduce the number of harmless compiler warnings (check-in (5982).) (CVS 5992) (check-in: 6c0b2e7579 user: drh tags: trunk)
18:19
The amalgamation now compiles cleanly on GCC with options -pedantic-errors -Wno-long-long. (CVS 5991) (check-in: 73c7302c5f user: drh tags: trunk)
16:01
Fix two unused-parameter warnings in the parser. (CVS 5990) (check-in: cf419d0b01 user: drh tags: trunk)
13:42
Fix a segfault associated with the column cache that occurs on nested VIEWs. Ticket #3527. (CVS 5989) (check-in: 490138a201 user: drh tags: trunk)
2008-12-06
16:46
Make sure a memory allocation error did not prevent UTF16 to UTF8 conversion prior to doing a string comparison. (CVS 5988) (check-in: 9d061e20d8 user: drh tags: trunk)
16:10
Make sure the KeyInfo object attached to a transient table used for sorting records the sqlite3 object used for memory allocation, so that memory allocation failures on UTF16 to UTF8 conversion can be recorded. (CVS 5987) (check-in: 76246d9f0d user: drh tags: trunk)
14:34
Mark the hash table enlargement in pcache1.c as a benign-failure malloc. (CVS 5986) (check-in: 5c0fe63a63 user: drh tags: trunk)
2008-12-05
23:40
Make the minimum allocate size for RowSet objects large enough to accommodate 8-byte pointers. (CVS 5985) (check-in: b74885e085 user: drh tags: trunk)
22:40
Fix integrity check so that it always reports memory allocation errors that it encounters. (CVS 5984) (check-in: 2a3f5ce14c user: drh tags: trunk)
20:01
Make sure the nOverflow flag in MemPage is reset to zero after every insert. (CVS 5983) (check-in: bfde3dae0c user: drh tags: trunk)
17:17
Fix harmless compiler warnings. Improved comments in the query optimizer. (CVS 5982) (check-in: adedd697b4 user: drh tags: trunk)
15:24
Make use of sqlite3DbMallocSize to maximize the size of growable buffers after each reallocation. Added new comments and testcase() macros to where.c. (CVS 5981) (check-in: 46f2d08959 user: drh tags: trunk)
02:36
Variable name changes in the query optimizer for disambiguation and clarification. Clear space in boolean vectors for new bit values to encode new query plan templates. (CVS 5980) (check-in: 81bd0b5ce8 user: drh tags: trunk)
00:00
Expand table.* properly on a USING or a NATURAL join. Ticket #3522. (CVS 5979) (check-in: 06d206ef7d user: drh tags: trunk)
2008-12-04
22:17
Fix a segfault that can occur in the RowSet object following a malloc failure. (CVS 5978) (check-in: cb0f1658d3 user: drh tags: trunk)
20:40
Replace the VDBE Fifo object with the new RowSet object. (CVS 5977) (check-in: 39a0750b49 user: drh tags: trunk)
12:34
Make sure dot-lock is fully enabled when SQLITE_ENABLE_LOCKING_STYLE is disabled. Fix compiler warnings when SQLITE_ENABLE_LOCKING_STYLE is disabled. (CVS 5976) (check-in: 4697249fcc user: drh tags: trunk)
12:26
Fix a memory leak in the shell that occurs when a ".import" command fails. Ticket #3517 (CVS 5975) (check-in: cb9c15431c user: drh tags: trunk)
12:17
Always enable the OP_Blob opcode in the VDBE even when SQLITE_OMIT_BLOB_LITERAL is defined, since that opcode is used for other purposes as well. Ticket #3518. (CVS 5974) (check-in: 760333de65 user: drh tags: trunk)
2008-12-03
23:23
Allow the entire FROM clause of a SELECT statement to be in parentheses. (CVS 5973) (check-in: 72ebc8cbe0 user: drh tags: trunk)
22:48
Fix a missing forward declaration that is needed when SQLITE_PREFER_PROXY_LOCKING is defined. (CVS 5972) (check-in: 24235300b3 user: drh tags: trunk)
22:32
Reorganize the proxy-locking method in os_unix.c. Additional cleanup. (CVS 5971) (check-in: 31f6090e22 user: drh tags: trunk)
21:26
Make os_unix compile with SQLITE_ENABLE_PROXY_LOCKING (CVS 5970) (check-in: 3efedac6aa user: aswift tags: trunk)
19:34
Continue with the cleanup of os_unix.c. (CVS 5969) (check-in: 215d36ea89 user: drh tags: trunk)
2008-11-29
22:49
Fully initialize the unused bytes of the buffer that will become the journal file header, in order to silence a complaint from valgrind. (CVS 5968) (check-in: 2822cbb960 user: drh tags: trunk)
02:20
Continuing to refactor os_unix.c. This is an incremental check-in. (CVS 5967) (check-in: c13df0311e user: drh tags: trunk)
00:56
Continuing work on the os_unix.c refactoring. Removed all of the LOCKING_STYLE_* constants and instead pass around pointers to the underlying sqlite3_io_method objects. (CVS 5966) (check-in: 1017d2fb19 user: drh tags: trunk)
2008-11-28
15:37
First step in refactoring os_unix.c. This is work in progress. The code compiles and runs on Linux and MacOSX (as long as SQLITE_ENABLE_LOCKING_STYLE is turned off), but there are a few test failures. (CVS 5965) (check-in: 7825cd63e5 user: drh tags: trunk)
2008-11-27
02:22
Add 19 new assert() statements in btree.c that attempt to detect writing to a cache page which is not writeable. (CVS 5964) (check-in: f9c7359065 user: drh tags: trunk)
2008-11-26
20:09
expected error message has trailing space (CVS 5963) (check-in: 165bc2d765 user: pweilbacher tags: trunk)
20:03
remove warning in os2Sync() with SQLITE_NO_SYNC set (CVS 5962) (check-in: 68a51f67af user: pweilbacher tags: trunk)
19:56
make os2Randomness() act the same as other platforms with SQLITE_TEST (all zeroed buffer) (CVS 5961) (check-in: 5d189df39a user: pweilbacher tags: trunk)
18:01
Version 3.6.6.2 (CVS 5960) (Leaf check-in: 30a2080777 user: drh tags: branch_3_6_6)
17:52
Version number to 3.6.6.2. (CVS 5959) (check-in: 7e010be8e3 user: drh tags: branch_3_6_6)
14:55
Port check-ins (5955) and (5956) into the 3.6.6 branch. (CVS 5958) (check-in: 8c0edbef7e user: drh tags: branch_3_6_6)
13:44
Fix the test condition for the test cases added to prevent regressions of ticket #3508. (CVS 5957) (check-in: 4e94aa3bed user: drh tags: trunk)
07:40
Fix an obscure memory leak that can follow an IO error. (CVS 5956) (check-in: 8271229c66 user: danielk1977 tags: trunk)
07:25
Fix a couple of assert() failures provoked by running with a small default cache-size (64 pages). (CVS 5955) (check-in: 1a66481a37 user: danielk1977 tags: trunk)
2008-11-25
12:07
Move the definition of function transferOwnership() in os_unix.c to below the static functions it calls. (CVS 5954) (check-in: 622cb59791 user: danielk1977 tags: trunk)
2008-11-24
20:05
Added cast to PAGE_TO_PGHDR1 macro to remove warning. It looks like despite the warning, the compiler (tested with VS2005 and GCC on Windows) was doing the right thing. Ticket #3510. (CVS 5953) (check-in: e93cec0a72 user: shane tags: trunk)
20:01
Fixed some spelling errors in sqliteInt.h. Ticket #3509. (CVS 5952) (check-in: 7e134a5c1a user: shane tags: trunk)
15:32
Added test case to in4.test to try and duplicate crash reported on the mailing list. (CVS 5951) (check-in: 8502fba37b user: shane tags: trunk)
2008-11-22
19:50
fix the compile warnings on OS/2 (CVS 5950) (check-in: b7d0ec838b user: pweilbacher tags: trunk)
18:28
Make sure the error message handler is able to deal with NULL expression spans. Ticket #3508. (CVS 5949) (check-in: ce36b6474a user: drh tags: trunk)
15:51
Version 3.6.6.1 (CVS 5948) (check-in: c2266aa094 user: drh tags: branch_3_6_6)
14:07
Port the corruption bug fix of check-in (5938) into a branch off of version 3.6.6. (CVS 5947) (check-in: 15d88edf76 user: drh tags: branch_3_6_6)
2008-11-21
23:35
Fix testfixture linking problem by marking unix-only symbol as such. (CVS 5944) (check-in: 2ca8b82247 user: pweilbacher tags: trunk)
22:21
Factor out and simplify the canonical pathname logic in the VxWorks OS interface. (CVS 5943) (check-in: adb0aafaa6 user: drh tags: trunk)
20:32
Work toward cleaning up and refactoring the os_unix.c VFS module. Change IS_VXWORKS to OS_VXWORKS. The VxWorks implementation can now be built and tested on Linux using -DOS_VXWORKS=1 -Dsem_t=int -DPATH_MAX=512 -DNO_GETTOD=1. (CVS 5942) (check-in: 30a0132a83 user: drh tags: trunk)
16:58
Fix the OOM handling for explain statements so that it is the same as for regular statements if the OOM error occurs from within a call to sqlite3_column_text() or text16(). (CVS 5941) (check-in: 891b14e138 user: danielk1977 tags: trunk)
16:22
Fix a segfault that can be caused by an INSTEAD OF trigger on a view that includes an expression of the form "table.column" in the select list. (CVS 5940) (check-in: 88a09dbb4b user: danielk1977 tags: trunk)
09:43
Fix an assert() failure that can occur after an OOM error. (CVS 5939) (check-in: 4c765758c1 user: danielk1977 tags: trunk)
09:09
Fix the problems demonstrated in tkt35xx.test in a different way to (5936). (CVS 5938) (check-in: ddf980a501 user: danielk1977 tags: trunk)
08:50
Add another test case to tkt35xx.test showing that a statement rollback can also trigger the problem. (CVS 5937) (check-in: 74c08b8dd9 user: danielk1977 tags: trunk)
03:23
On a ROLLBACK, if there page cache entries which are dirty but not in the rollback journal, make sure they get reinitialized in the btree layer. (CVS 5936) (check-in: faded96f36 user: drh tags: trunk)
00:24
Fixes to the proxy locking so that os_unix.c compiles on linux with proxy locking omitted. (CVS 5935) (check-in: 6f910b7036 user: drh tags: trunk)
00:10
Added support for proxy file locking style Added pragma support for controlling proxy file locking Added file control access to last errno and proxy locking Added support for TMPDIR environment variable Extended unit tests to cover new proxy locking pragmas and file control features (CVS 5934) (check-in: b9bc36d3d5 user: aswift tags: trunk)
2008-11-20
18:20
When a memory allocation fails on the %Q conversion in sqlite3_mprintf(), make sure the error is reported back up the call stack. (CVS 5933) (check-in: eebacbc9d7 user: drh tags: trunk)
2008-11-19
21:35
In os_win.c, if SQLITE_TEST defined, winRandomness() should return all zeroes like os_unix.c. (CVS 5932) (check-in: 00b68a1e31 user: shane tags: trunk)
21:03
Version 3.6.6 (CVS 5931) (check-in: 01a6e2820a user: drh tags: trunk, release)
18:43
Force the corruptC.test script to use file format 1. (CVS 5930) (check-in: deadc2548d user: drh tags: trunk)
18:30
In bitvec.c: removed some of the recursion, minor optimizations, added comments, improved consistency. (CVS 5929) (check-in: 54d714fba6 user: shane tags: trunk)
18:30
Update the SECURE_DELETE code to track the latest changes in the pager. (CVS 5928) (check-in: e058f50937 user: drh tags: trunk)
16:52
Fix some compiler warnings that show up when building the amalgamation only. (CVS 5927) (check-in: d1abe8a1c9 user: danielk1977 tags: trunk)
14:35
Fix a few more compiler warnings. (CVS 5926) (check-in: 70b2f6839c user: danielk1977 tags: trunk)
13:52
In os_unix.c, use "IS_VXWORKS" instead of "defined(__RTP__) || defined(_WRS_KERNEL)". Purely because it's easier on the eyes. (CVS 5925) (check-in: 92c91a6cd7 user: danielk1977 tags: trunk)
12:43
Version number to 3.6.6. (CVS 5924) (check-in: 8cc120fb3a user: drh tags: trunk)
11:35
Eliminate some of the "unused parameter" warnings in os_unix.c. (CVS 5923) (check-in: 2f5aaad90b user: danielk1977 tags: trunk)
10:22
Simplify the way the pager layer invokes the busy-handler callback. (CVS 5922) (check-in: 7bd1ac1899 user: danielk1977 tags: trunk)
09:05
Changes to avoid "unused parameter" compiler warnings. (CVS 5921) (check-in: 88134322c3 user: danielk1977 tags: trunk)
01:20
Add an alternative application-defined pcache implementation and add test cases to permutations.test to invoke it. Added the SQLITE_CONFIG_GETPCACHE method to sqlite3_config(). (CVS 5920) (check-in: 16f1e6ec2a user: drh tags: trunk)
2008-11-18
23:25
Fix to the lemon parser template when YYSTACKSIZE is 0 (dynamically allocated stack space). (CVS 5919) (check-in: 00ccc5967f user: drh tags: trunk)
23:03
Add support for SQLITE_NO_SYNC for OS/2, too. (CVS 5918) (check-in: 2990b5b8e7 user: pweilbacher tags: trunk)
19:18
Expose the MBCS->UTF8 convert routine in the Win32 backend. (CVS 5917) (check-in: f4411f0c80 user: drh tags: trunk)
19:18
Application-defined page cache documentation updates. (CVS 5916) (check-in: db0f120359 user: drh tags: trunk)
07:27
Reduce the number of "missing initializer" warnings. (CVS 5915) (check-in: d68e2795e7 user: danielk1977 tags: trunk)
2008-11-17
19:18
Modifications to avoid unsigned/signed comparisons in various files. (CVS 5914) (check-in: 8009220c36 user: danielk1977 tags: trunk)
16:42
Modifications to avoid unsigned/signed comparisons in where.c. (CVS 5913) (check-in: f35606d1d8 user: danielk1977 tags: trunk)
15:31
Modifications to avoid signed/unsigned warnings in vdbe.c. (CVS 5912) (check-in: 9939dd839a user: danielk1977 tags: trunk)
14:20
Changes to btree.c to avoid the unsigned/signed comparison warnings. (CVS 5911) (check-in: 24469dbace user: danielk1977 tags: trunk)
08:05
Added support for vxworks >= 6.4; RTP mode tested, kernel mode untested. (CVS 5910) (check-in: f45a149363 user: chw tags: trunk)
04:56
Modifications to pager.c to avoid the unsigned/signed warnings. (CVS 5909) (check-in: cb6be84dfc user: danielk1977 tags: trunk)
2008-11-15
11:22
Fix compiler warnings in pcache1.c related to comparison of unsigned and signed values. (CVS 5908) (check-in: ce77ea989e user: danielk1977 tags: trunk)
04:54
Add a line to genfkey.README showing how to link against a shared library. Ticket #3502. (CVS 5907) (check-in: 800274b769 user: danielk1977 tags: trunk)
2008-11-13
19:12
Fix a couple of memory leaks that may follow malloc failures. (CVS 5906) (check-in: 4cf8a8e1bf user: danielk1977 tags: trunk)
18:29
Fixed several more crashes due to corrupt db files. Added corruptC.test to soak.test. (CVS 5905) (check-in: 9b7a52e952 user: shane tags: trunk)
18:20
Added support for -DSQLITE_NO_SYNC to os_win.c. (CVS 5904) (check-in: 2649337937 user: shane tags: trunk)
18:02
Fixed typo in tkt3472.test that prevented the test from running. (CVS 5903) (check-in: 428a547920 user: shane tags: trunk)
18:00
Avoid committing a transaction from within the xSync() method of a virtual table. Fix for #3497. (CVS 5902) (check-in: eabb8b7591 user: danielk1977 tags: trunk)
16:21
Minor changes to get memsys5 compiling and its tests passing. Ticket #3495. (CVS 5901) (check-in: 96453ca16e user: danielk1977 tags: trunk)
14:42
Update mksqlite3c.tcl to include new file pcache1.c. (CVS 5900) (check-in: 00442e0f57 user: danielk1977 tags: trunk)
14:28
Add an API to support custom page cache implementations. (CVS 5899) (check-in: 47866d6708 user: danielk1977 tags: trunk)
2008-11-12
18:21
Avoid some buffer overreads detected by valgrind while running corruptC.test. (CVS 5898) (check-in: faa6bd7b61 user: danielk1977 tags: trunk)
15:38
Version 3.6.5 (CVS 5897) (check-in: 369f74983b user: drh tags: trunk, release)
15:24
Do not redefine the MIN and MAX macros if they are already defined. (CVS 5896) (check-in: f41dd2053c user: drh tags: trunk)
14:22
In corruptC.test, explicitly set "PRAGMA auto_vacuum = 0". (CVS 5895) (check-in: b6563af8f9 user: danielk1977 tags: trunk)
14:21
Update the version number to 3.6.5. (CVS 5894) (check-in: f150b870e3 user: drh tags: trunk)
14:07
Omit the threadOverrideEachOthersLocks tests for builds that non-unix or non-threadsafe. (CVS 5893) (check-in: ab418656db user: drh tags: trunk)
12:27
Fix a faulty assert in select.c. Ticket #3494. (CVS 5892) (check-in: e89f9c8063 user: drh tags: trunk)
11:57
Modify a failing test case in corruptC.test. The test case was failing only because the integrity_check was returning a slightly different error message than expected. (CVS 5891) (check-in: 0953f300f8 user: danielk1977 tags: trunk)
08:49
Fix a database corruption related crash uncovered by corruptC.test. (CVS 5890) (check-in: 395084acbb user: danielk1977 tags: trunk)
08:07
Make sure affinities and implicit collation sequences are correctly used by comparison expressions in the select-list or having clause of an aggregate query. Ticket #3493. (CVS 5889) (check-in: b8ceaa0050 user: danielk1977 tags: trunk)
04:55
Fixed a few more crashes when dealing with corrupt db files. (CVS 5888) (check-in: f8bb34e409 user: shane tags: trunk)
2008-11-11
22:18
Fixed crash during an UPDATE when free cell size is corrupt. (CVS 5887) (check-in: ec18667e2d user: shane tags: trunk)
20:51
Prevent a crash during an UPDATE when the cell offset is corrupt. (CVS 5886) (check-in: 99d4172ed6 user: shane tags: trunk)
18:55
Send the "Incomplete SQL" error message of the CLI to stderr instead of stdout. Ticket #3476. (CVS 5885) (check-in: dacae20047 user: drh tags: trunk)
18:43
Remove some asserts that refer to variables removed in (5830). (CVS 5884) (check-in: 9d880a6fd2 user: danielk1977 tags: trunk)
18:34
Change the way threadsOverrideEachOthersLocks() works to avoid trying to write-lock a (potentially) read-only files. Also, assume that on non-linux systems threads do override each others locks. Ticket #3472. (CVS 5883) (check-in: 8ecae0943b user: danielk1977 tags: trunk)
18:28
Cleanup in flattenSubquery. Add OOM tests for flattenSubquery. Fix issues with OOM errors causes problems for flattenSubquery. Ticket #3485. (CVS 5882) (check-in: ea5f4baa04 user: drh tags: trunk)
17:36
Fixed crash in integrity_check with corrupt content offset size in page header. (CVS 5881) (check-in: 0659a666ff user: shane tags: trunk)
15:48
Avoid signed/unsigned comparison warnings in bitvec.c by changing the types of loop variables to unsigned int. (CVS 5880) (check-in: da869446c5 user: drh tags: trunk)
00:36
When an assignment occurs in a boolean, always test the result using "!=0" to avoid confusion and make it clear that assignment is intended, not an equality test. Ticket #3491. (CVS 5879) (check-in: 89ee5295bd user: drh tags: trunk)
00:30
Fix the CLI so that it does not terminate input when an Oracle or MS-SQL command terminator mark is seen in the middle of a string literal. Ticket #3490. (CVS 5878) (check-in: 68662e3b48 user: drh tags: trunk)
00:21
When an OOM error occurs while resizing an sqlite_value object, make sure the value of the object is set to NULL. Ticket #3488. (CVS 5877) (check-in: 7b9c9b35ff user: drh tags: trunk)
2008-11-10
23:54
Fix the documentation of the SQLITE_FUNCTION authorizer code so that it agrees with how SQLite has always behaved. Ticket #3489. (CVS 5876) (check-in: 806b6ed202 user: drh tags: trunk)
20:01
#ifdef out unused static function mutexIsNT(). Ticket #3481. (CVS 5875) (check-in: 239186804c user: shane tags: trunk)
19:24
Updated comment in source. Ticket #3453. (CVS 5874) (check-in: 83caa22087 user: shane tags: trunk)
18:20
Add check for ifcapable autovacuum to vacuum2-3.3 test. Ticket #3435. (CVS 5873) (check-in: fc36f2fc45 user: shane tags: trunk)
18:05
Removed a few more small parts of memsys6 code, including some config and test code for it; (CVS 5872) (check-in: a11241d6fb user: shane tags: trunk)
17:14
In btree.c, omit calls to setChildPtrmaps() if SQLITE_OMIT_AUTOVACUUM is defined. Ticket #3439. (CVS 5871) (check-in: e0f07323e8 user: shane tags: trunk)
17:08
Fixed typos; Consistent use of Mac OS X name; (CVS 5870) (check-in: dfc9474337 user: shane tags: trunk)
2008-11-07
03:29
Prevent buffer overruns when converting malformed UTF16 to UTF8. Ticket #3482. (CVS 5869) (check-in: 3f657e8876 user: drh tags: trunk)
00:24
Prevent a rollback from crashing if the sector-size field of the rollback journal is corrupted. (CVS 5868) (check-in: cf9d1d933f user: drh tags: trunk)
00:06
Add documentation to make it clear that short reads from xRead in the VFS must be zero-filled. (CVS 5867) (check-in: fb311d6f40 user: drh tags: trunk)
2008-11-06
15:33
Fix a bug in the CAST operator associated with the column cache. (CVS 5866) (check-in: 1b6a514044 user: drh tags: trunk)
2008-11-05
17:41
Fix memory allocation problems when string length exceeds limits. (CVS 5865) (check-in: b568e32520 user: drh tags: trunk)
16:37
The COMMIT command now works even if there are pending queries, as long as the pending queries are reading and not writing the database. (CVS 5864) (check-in: 51f04aaff2 user: drh tags: trunk)
2008-11-04
21:51
Should be 'memjournal.lo' instead of 'memjournal.o'. Ticket #3480. (CVS 5863) (check-in: 8b86860421 user: shane tags: trunk)
14:55
Add test cases for sqlite3_db_mutex(). (CVS 5862) (check-in: f818e8e5cb user: danielk1977 tags: trunk)
14:48
Enhance documentation of sqlite3_db_mutex(). (CVS 5861) (check-in: 3aed410ab0 user: drh tags: trunk)
14:25
Avoid a segfault when OOM on a simple EXPLAIN query. Ticket #3478. (CVS 5860) (check-in: acf26cc0f7 user: drh tags: trunk)
13:46
Add the sqlite3_db_mutex() interface. No test cases yet. (CVS 5859) (check-in: d95de32e8d user: drh tags: trunk)
2008-11-03
21:40
Test cases to verify that COMMIT and ROLLBACK return SQLITE_BUSY when there are active statements. (CVS 5858) (check-in: cedfa214e4 user: drh tags: trunk)
20:55
Change the name of the Cursor object to VdbeCursor. (CVS 5857) (check-in: fdb98fd8c1 user: drh tags: trunk)
09:39
Modify an assert() statement to fix #3473. No other code changes. (CVS 5856) (check-in: aca6b260c0 user: danielk1977 tags: trunk)
09:06
Fix a bug reported on the mailing list triggered by the pattern "SELECT
2008-10-31
13:57
Test that single byte corruptions in increasingly larger quantities are handled gracefully. (CVS 5854) (check-in: c73d915923 user: shane tags: trunk)
10:53
Change the way sqlite3VdbeSetColName() is called so as to remove a few lines of code. This also fixes #3470. (CVS 5853) (check-in: bfce91429b user: danielk1977 tags: trunk)
2008-10-30
22:13
Fix a faulty assert() in the merge implementation of the UNION operator. Ticket #3467. (CVS 5852) (check-in: cd1662e964 user: drh tags: trunk)
17:21
Fix a crash that can follow a malloc failure in sqlite3ValueFromExpr(). Ticket #3468. (CVS 5851) (check-in: 0996783b1b user: danielk1977 tags: trunk)
15:03
Add the sqlite3_extended_errcode() interface. Change to return SQLITE_BUSY instead of SQLITE_ERROR when a COMMIT is attempted and one or more queries are still pending. (CVS 5850) (check-in: 4c6a90a166 user: drh tags: trunk)
2008-10-29
07:01
If a hot-journal file is detected but the application does not have the required read/write permissions, return SQLITE_CANTOPEN. Prior to this change, SQLITE_BUSY was returned. Ticket #3457. (CVS 5849) (check-in: dc5308c762 user: danielk1977 tags: trunk)
2008-10-28
18:58
Remove the vestigial mem4 and mem6 memory allocators. Add the SQLITE_ZERO_MALLOC compile-time option and the mem0.c module to handle memory allocation for that case. (CVS 5848) (check-in: 4651f590f0 user: drh tags: trunk)
18:12
Add data structure description comments to memjournal.c. (CVS 5847) (check-in: e9c2adbcbf user: drh tags: trunk)
17:52
Avoid exposing internal interfaces sqlite_attach() and sqlite_detach() as SQL scalar functions. Ticket #3466. (CVS 5846) (check-in: 679c0b35aa user: danielk1977 tags: trunk)
2008-10-27
15:34
If an SQLITE_DELETE authorization callback returns SQLITE_IGNORE, proceed with the delete operation but disable the truncate optimization. (CVS 5845) (check-in: 65a2e13173 user: danielk1977 tags: trunk)
13:59
Make sqlite3_count_changes() and total_changes() work with "DELETE FROM ". (CVS 5844)
(check-in: e68e4282ad user: danielk1977 tags: trunk)
08:24
Remove some if() conditions that are always true from delete.c. (CVS 5843) (check-in: 297ad90dd3 user: danielk1977 tags: trunk)
2008-10-25
17:10
Remove unused parameter from function rtreeInit() (part of the r-tree extension). (CVS 5842) (check-in: 3224ea5981 user: danielk1977 tags: trunk)
15:03
Disable the result-set alias cache when on conditional code branches. Ticket #3461. The column cache and result set alias cache mechanisms are prone to this kind of error and need to be refactored. This check-in should be considered a temporary fix in advance of a more general redesign of the whole mechanism. (CVS 5841) (check-in: 1fa3bbd822 user: drh tags: trunk)
09:35
Add file tkt3461.test with a few examples of bug #3461. Because these tests currently fail they are disabled for now. (CVS 5840) (check-in: f2cc159159 user: danielk1977 tags: trunk)
2008-10-23
05:45
Fix a bug in pragma table_info. Column default values specified as negative numbers (col DEFAULT -1) were being reported as NULL by the pragma. (CVS 5839) (check-in: 0e448bc609 user: danielk1977 tags: trunk)
2008-10-22
18:27
Updated configure/makefiles to handle SQLITE_ENABLE* compile options. Made sure makefile passes command line options (OPTS=-Dfoo) to the compiler. Add -DSQLITE_COVERAGE_TEST=1 if gcov being used. (CVS 5838) (check-in: acb106e51f user: shane tags: trunk)
16:55
Removed some more dead code and fixed some unresolved externals for WINCE. Ticket #3420. (CVS 5837) (check-in: 5276e31d42 user: shane tags: trunk)
16:26
Make sure variable declarations occur first in code blocks. (CVS 5836) (check-in: b78f44c91f user: shane tags: trunk)
16:04
Test cases for ticket #3442. (CVS 5835) (check-in: a8bb5acf70 user: shane tags: trunk)
10:45
Fix an assert() failure that can occur following a malloc() failure. Ticket #3455. (CVS 5834) (check-in: e0d3aa75b4 user: danielk1977 tags: trunk)
2008-10-21
04:30
Update the autoconf build system to include memjournal.c. (CVS 5833) (check-in: a3c810f0c8 user: danielk1977 tags: trunk)
2008-10-19
21:03
When a name in double quotes falls back to being a string literal, make sure it has no affinity. Ticket #3442. (CVS 5832) (check-in: 81cfee5c14 user: drh tags: trunk)
2008-10-17
19:13
Add the memjournal.c file that should have been with the previous checkin. (CVS 5831) (check-in: 0509eff0e6 user: danielk1977 tags: trunk)
18:51
Add "pragma journal_mode=memory". Change the way rollback works for in-memory databases so that it reuses the journal_mode=memory code. (CVS 5830) (check-in: 39ebf01add user: danielk1977 tags: trunk)
15:10
Fix a typo in documentation. Ticket #3447. (CVS 5829) (check-in: 5ce2ddffea user: drh tags: trunk)
2008-10-16
13:27
Fix an error in (5826). (CVS 5828) (check-in: 8065a92f70 user: danielk1977 tags: trunk)
2008-10-15
19:03
Fix a naming problem when SQLITE_MUTEX_NOOP is used. (CVS 5827) (check-in: 35ce71c6f1 user: drh tags: trunk)
16:02
Do not open and sync the directory in unixDelete() if the SQLITE_DISABLE_DIRSYNC option is defined. (CVS 5826) (check-in: 8ef141644e user: danielk1977 tags: trunk)
11:59
Version 3.6.4 (CVS 5825) (check-in: cd73cffab3 user: drh tags: trunk, release)
11:43
After running speed1.test and speed1p.test, reset the size of the lookaside buffer. Otherwise, subsequent runs of malloc5.test may report an error. Changes to test code only. (CVS 5824) (check-in: 9283478e69 user: danielk1977 tags: trunk)
2008-10-14
19:21
Disable the page-cache at the end of pcache2.test. (CVS 5823) (check-in: 3d2d05b628 user: danielk1977 tags: trunk)
18:21
Fix the amalgamation generator to recognize indented #include directives. Ticket #3438. (CVS 5822) (check-in: 494510d8f2 user: drh tags: trunk)
17:58
Fix the xRandomness() method on the unix VFS to return the number of bytes of randomness obtained. (CVS 5821) (check-in: b7687e2f2d user: drh tags: trunk)
15:54
Make sure malloc3.test runs even if a CREATE TABLE transaction commits prior to the last OOM error. (CVS 5820) (check-in: 603c40e5b4 user: drh tags: trunk)
14:56
Update main.mk so that a couple of fts3 files are compiled with SQLITE_TEST when building testfixture. (CVS 5819) (check-in: 8eb315ee5c user: danielk1977 tags: trunk)
14:28
Modifications to main.mk so that -DSQLITE_ENABLE_FTS3 works. (CVS 5818) (check-in: a06d226dee user: danielk1977 tags: trunk)
2008-10-13
21:46
fix a few return codes in the OS/2 VFS (CVS 5817) (check-in: 4e978a40f7 user: pweilbacher tags: trunk)
17:09
Get the load extension tests working on amd64. Needed for test coverage. (CVS 5816) (check-in: 119b69fba0 user: drh tags: trunk)
15:35
Fix the SQLITE_OMIT_DATETIME_FUNCS compile-time option so that it builds successfully. (CVS 5815) (check-in: c3f9164515 user: drh tags: trunk)
14:16
In rollback.test, do not check for journal deletion if the journal mode is not DELETE. Call show_memstats after each test module in all.test and quick.test. (CVS 5814) (check-in: df2c28dc73 user: drh tags: trunk)
10:56
Use one less temporary table in genfkey.c. The retired table was being used to workaround the bug fixed by (5812). (CVS 5813) (check-in: 73efca985a user: danielk1977 tags: trunk)
10:37
If sqlite3_column_value() is called to obtain a value with the MEM_Static flag set, clear it and set the MEM_Ephem flag before returning. Otherwise, if the value is passed to sqlite3_bind_value() or sqlite3_result_value(), sqlite may attempt to use the buffer after the statement has been finalized. This is not always valid, as MEM_Static only guarantees that a MEM.z buffer will be valid for the lifetime of the owner statement, not that it is actually a static buffer. (CVS 5812) (check-in: b055bfc4e5 user: danielk1977 tags: trunk)
2008-10-12
02:27
Check for failures in winTruncate. Ticket #3415. (CVS 5811) (check-in: 500c50561f user: shane tags: trunk)
02:03
Added -DSQLITE_ENABLE_RTREE=1 to the mkdll.sh script. Ticket #3427. (CVS 5810) (check-in: 66f57ecb16 user: shane tags: trunk)
01:49
Add gcov compile options to link line when GCOV option enabled. (CVS 5809) (check-in: 3ddda11186 user: shane tags: trunk)
00:27
Added SQLITE_OMIT_DEPRECATED compile time option to leave out deprecated functions. Updated test scripts to skip tests of deprecated functions if they are compiled out. (CVS 5808) (check-in: ba3711acee user: shane tags: trunk)
2008-10-11
18:11
Add macros tests so that the compiler always recognizes that x86_64 is little endian. (CVS 5807) (check-in: b201e7093c user: drh tags: trunk)
17:51
When transfering an error message from a statement handle to the database handle so that it can be accessed by sqlite3_errmsg(), a malloc may fail. If this malloc fails, it is considered benign. (CVS 5806) (check-in: 311003aff8 user: danielk1977 tags: trunk)
17:42
Conditionally omit prototypes in pcache.h when the corresponding routines are not used. Ticket #3430. (CVS 5805) (check-in: 977ae12c36 user: drh tags: trunk)
17:35
Fix to sqlite3DbMallocRaw() when SQLITE_OMIT_LOOKASIDE is defined so that once it fails it continues to fail. Add a comment explaining why this is important. (CVS 5804) (check-in: 63dd8be70d user: drh tags: trunk)
17:06
Fix a OOM segfault in the BETWEEN operator parsing - discovered while using SQLITE_OMIT_LOOKASIDE. Add SQLITE_OMIT_LOOKASIDE to test_config.c and bypass lookaside.test when defined. (CVS 5803) (check-in: 2a21d52c65 user: drh tags: trunk)
17:04
Add "nolookaside" case to permutations.test. (CVS 5802) (check-in: 56fb7a2286 user: danielk1977 tags: trunk)
16:47
Fix a memory leak on ORDER BY of a compound select caused by the resolver on a flattened query. Also fix a OOM segfault in WHERE clause processing. (CVS 5801) (check-in: d2c252d6bb user: drh tags: trunk)
15:38
Added an assert() to detect lookaside memory leaks. Also added the SQLITE_OMIT_LOOKASIDE compile-time option which is useful in trying to track down lookaside memory leaks. (CVS 5800) (check-in: 0c4c66071a user: drh tags: trunk)
15:20
Fix an assertion fault that occurs with SQLITE_THREADSAFE=0. (CVS 5799) (check-in: 28bba42b33 user: drh tags: trunk)
2008-10-10
23:48
Add the SQLITE_OMIT_TRUNCATE_OPTIMIZATION option. Other unrelated documentation enhancements. (CVS 5798) (check-in: fab4940d54 user: drh tags: trunk)
18:25
Further simplifications of the code for the LIMIT clause on an UPDATE or DELETE. Added a few test cases to wherelimit.test. (CVS 5797) (check-in: 282c6a46b2 user: shane tags: trunk)
17:58
Add the genfkey program to the tool/ directory. (CVS 5796) (check-in: 84e73fe8a6 user: danielk1977 tags: trunk)
17:47
Change 'pragma foreign_key_list' to return some extra information. (CVS 5795) (check-in: 3bb33cf59d user: danielk1977 tags: trunk)
17:41
Simplify the symbol hash table to use only a single key class. Other changes to improve code coverage. (CVS 5794) (check-in: ff50a8a7e5 user: drh tags: trunk)
17:26
Documentation updates. No changes to code. (CVS 5793) (check-in: 07b5f70317 user: drh tags: trunk)
14:27
Simplify the parser reduction code for the LIMIT clause on an UPDATE or DELETE. (CVS 5792) (check-in: 3de179630e user: drh tags: trunk)
13:35
Re-factored memory allocation failure handling in the sqlite3LimitWhere() function based on failures in the mallocJ.test script. (CVS 5791) (check-in: 43507bbefb user: shane tags: trunk)
13:34
Added mallocJ.test to test allocation failure handling of the new LIMIT/OFFSET support for UPDATE/DELETE. (CVS 5790) (check-in: 5375b348b1 user: shane tags: trunk)
06:02
Initial test cases for the new LIMIT/OFFSET support for DELETE/UPDATE. (CVS 5789) (check-in: d9f5e15ca0 user: shane tags: trunk)
04:34
Updated LIMIT support for DELETE/UPDATE. Omit option changed to SQLITE_ENABLE_UPDATE_DELETE_LIMIT. (CVS 5788) (check-in: c10e8a3c7a user: shane tags: trunk)
2008-10-09
18:48
Fix an assert() failure that can occur if the user attempts to set an into an integer primary key column to a text value in a table that has a BEFORE UPDATE trigger. (CVS 5787) (check-in: c2cf9d60d6 user: danielk1977 tags: trunk)
17:57
New speed testing tools. (CVS 5786) (check-in: 2d427746d5 user: drh tags: trunk)
15:56
Add a test to verify the sqlite3_column_name() interface returns the correct value when the query is of the form: "SELECT rowid,* FROM...". Ticket #3429. (CVS 5785) (check-in: e90d5a5515 user: drh tags: trunk)
15:56
Update the version number to 3.6.4. (CVS 5784) (check-in: 4b973ac98d user: drh tags: trunk)
14:45
Minor cleanup of the new "status" command on the TCL bindings. (CVS 5783) (check-in: ec01bd72ee user: drh tags: trunk)
2008-10-08
17:58
After an OP_NullRow is executed on a cursor, cause any subsequent OP_Next or OP_Prev to behave as if there were no more rows to traverse. Ticket #3424. (CVS 5782) (check-in: af679f6170 user: danielk1977 tags: trunk)
2008-10-07
23:46
Add the experimental sqlite3_stmt_status() interface. (CVS 5781) (check-in: de473efb35 user: drh tags: trunk)
19:53
Raise the hard upper bound on SQLITE_MAX_FUNCTION_ARG to 1000 from 100. The default upper bound is still 100, but it can now be raised as high as 1000 at compile-time. (CVS 5780) (check-in: 79df72ee83 user: drh tags: trunk)
15:25
Remove the SQLITE_MUTEX_APPDEF compile-time option. The SQLITE_THREADSAFE=0 option always removes all mutex code. For application-defined mutexes only, use SQLITE_THREADSAFE=1 with SQLITE_MUTEX_NOOP=1. Ticket #3421. (CVS 5779) (check-in: 02a12eb1cf user: drh tags: trunk)
15:00
Fix a recently introduced test script bug causing rollback.test to throw an exception when run using the "onefile" variation. (CVS 5778) (check-in: 7d55ec374d user: danielk1977 tags: trunk)
14:06
Have sqlite3_bind_value() call sqlite3ApiExit() before returning. Otherwise the db->mallocFailed flag may not be cleared. (CVS 5777) (check-in: 6b7c8d5640 user: danielk1977 tags: trunk)
12:32
Do not use double unnecessarily in date+time functions. Ticket #3422. (CVS 5776) (check-in: b03231323a user: drh tags: trunk)
11:51
Fix a problem with hot-journal rollback. SQLITE_CANTOPEN was being returned if the hot-journal file contained a pointer to a master journal file that did not exist. (CVS 5775) (check-in: 22d1feb9b2 user: danielk1977 tags: trunk)
05:27
Initial support for LIMIT clause on DELETEs and UPDATEs. Changes likely with more testing. The code can be omitted with the define SQLITE_OMIT_UPDATE_DELETE_LIMIT. (CVS 5774) (check-in: 9c8b132e34 user: shane tags: trunk)
01:18
Removed redundant assert(). (CVS 5773) (check-in: 486b1124f7 user: shane tags: trunk)
2008-10-06
16:18
Allow INDEXED BY and NOT INDEXED to be used in UPDATE and DELETE statements. (CVS 5772) (check-in: 83a7e446b2 user: danielk1977 tags: trunk)
15:31
Add a test script to verify that ticket #3419 stays fixed. (CVS 5771) (check-in: c3cf54a1b6 user: drh tags: trunk)
15:18
Fix a typo in check-in (5769) (CVS 5770) (check-in: 24891902fa user: drh tags: trunk)
13:54
Expression nodes of type TK_ROW mean the rowid of the first table in the source list. (CVS 5769) (check-in: 2f7db6c98f user: drh tags: trunk)
12:46
In sqlite3_bind() interfaces, avoid acquiring the mutex until after the statement handle has been validated. Ticket #3418. (CVS 5768) (check-in: 693503e241 user: drh tags: trunk)
11:29
Add a test to indexedby.test to check that automatic indexes (sqlite_autoindex_xxx) can be used with the INDEXED BY syntax. (CVS 5767) (check-in: bb51c34506 user: danielk1977 tags: trunk)
05:32
Allow INDEXED BY and NOT INDEXED clauses in SELECT statements. (CVS 5766) (check-in: 98ca5580f5 user: danielk1977 tags: trunk)
2008-10-03
09:10
Modifications to bind.test to account for different values of SQLITE_MAX_VARIABLE_NUMBER. Ticket #3409. (CVS 5765) (check-in: 1a91f3fd58 user: danielk1977 tags: trunk)
08:44
Change one of the test cases in incrblob2.test to avoid allocating a 10MB block of heap memory. (CVS 5764) (check-in: 83b7dd737a user: danielk1977 tags: trunk)
2008-10-02
16:42
Change to reduce the number of OP_Null opcodes in "WHERE <rowid> IN (x,y,z)" queries. (CVS 5763) (check-in: 33b59a3db0 user: danielk1977 tags: trunk)
14:49
Fix for sqlite3_blob_write(): If either 3rd or 4th argument is less than zero, return SQLITE_ERROR. H17879. (CVS 5762) (check-in: f6074c0b9b user: danielk1977 tags: trunk)
14:33
Fix a typo that prevents the sqlite3_sql() interface from appearing in the official documentation. (CVS 5761) (check-in: b46814b202 user: drh tags: trunk)
13:50
Optimize queries that contain "WHERE rowid IN (x, y, z...)" by using an intkey btree to store the (x, y, z...) set instead of an index btree. (CVS 5760) (check-in: 803a1736d5 user: danielk1977 tags: trunk)
2008-10-01
13:55
Adjust the memory usage bounds on the memsubsys1.test script so that it works on amd64. (CVS 5759) (check-in: aabde23fe1 user: drh tags: trunk)
08:43
Fix a bug in where.c where a non-temp register was being incorrectly deallocated. Ticket #3408. (CVS 5758) (check-in: 59d2e89e21 user: danielk1977 tags: trunk)
2008-09-30
17:18
Add some testcase() and assert() macros to btree.c to aid with testing recent changes. (CVS 5757) (check-in: fb461b78df user: drh tags: trunk)
16:48
Fix a comment in btree.c. No code changes. (CVS 5756) (check-in: 0f3c56330b user: danielk1977 tags: trunk)
14:06
Change leading tabs into spaces. (CVS 5755) (check-in: 4e536463c1 user: drh tags: trunk)
09:31
Fix a recently introduced problem with deleting entries from index tables. (CVS 5754) (check-in: 83c064cae4 user: danielk1977 tags: trunk)
04:20
Misc clean up. Wrapped a CE only variable in if-defs. Changed to only provide cache hint for CE builds (as this prevents CE from compressing the file.) Performance testing on XP and Vista showed caching hint had little effect when the DB size was much smaller than the O/S disk cache size, and provided only marginal benefit when the DB size was much larger than the cache. On Vista, overall system performance was hurt for very large DBs. Ticket #3387. (CVS 5753) (check-in: 15dd0169a4 user: shane tags: trunk)
00:31
A few minor changes to test scripts so that they work on linux-amd64. (CVS 5752) (check-in: 78d075ff38 user: drh tags: trunk)
2008-09-29
16:41
Remove the reparentPage() and reparentChildPages() functions from btree.c. All calls to these functions can now be replaced by a call to setChildPtrmaps(). (CVS 5751) (check-in: 35e8e4dcd2 user: danielk1977 tags: trunk)
15:53
Remove the MemPage.idxShift variable. It is no longer required. (CVS 5750) (check-in: 7354abd03b user: danielk1977 tags: trunk)
14:27
Do not run vacuum.test as part of the "exclusive" permutation test. (CVS 5749) (check-in: 2fb15ae9e9 user: danielk1977 tags: trunk)
14:12
Update shared_err.test to work with (5668) (return SQLITE_CORRUPT if rollback fails). (CVS 5748) (check-in: 292acaf7c4 user: danielk1977 tags: trunk)
11:49
Instead of storing a pointer to the parent page in the MemPage structure, have each B-Tree cursor keep track of the ancestry of the current page. (CVS 5747) (check-in: 40425e9342 user: danielk1977 tags: trunk)
00:11
fix #3077: use full version in pkg-config files (CVS 5746) (check-in: efe095e0cb user: vapier tags: trunk)
2008-09-26
21:08
Add the "truncate" journal mode which commits transactions by truncating the rollback journal file to zero length and not calling fsync(). (CVS 5745) (check-in: 7c561f2e92 user: drh tags: trunk)
20:02
Make sure the queueMutex is held prior to writing the pQueueLast field of the write queue in the async demonstration code. Ticket #3405. (CVS 5744) (check-in: 5622a1e285 user: drh tags: trunk)
17:31
Performance enhancement: avoid calling reparentChildPages() from balance_nonroot(). (CVS 5743) (check-in: 28fd0a50ca user: danielk1977 tags: trunk)
2008-09-24
14:03
On windows, avoid running those tests in exclusive.test that require the journal file to be externally accessed while SQLite is holding it open. This doesn't work on windows. (CVS 5742) (check-in: 5debf12fa4 user: danielk1977 tags: trunk)
09:58
Add file fts3_icu.c to the amalgamation. Because of the way header files are included into sqlite3.c, fts3_icu.c has to appear after all the other fts3 and icu extension files. Ticket #3398. (CVS 5741) (check-in: 0acca5842f user: danielk1977 tags: trunk)
09:12
Fix some function declarations (change "int foo()" to "int foo(void)"). Ticket #3399. (CVS 5740) (check-in: 0fb98c3535 user: danielk1977 tags: trunk)
2008-09-23
17:39
Catch another case where SQLITE_IOERR could be returned instead of SQLITE_NOMEM following an out-of-memory error. (CVS 5739) (check-in: 18d030da0c user: danielk1977 tags: trunk)
16:41
Always transform error code SQLITE_IOERR_NOMEM to SQLITE_NOMEM before returning. This was already happening in most places. (CVS 5738) (check-in: 046ef07261 user: danielk1977 tags: trunk)
10:23
Enable the LOCKING_STYLE extensions by default on a Mac. Leave them disabled on all other posix platforms. (CVS 5737) (check-in: bae1d5b169 user: drh tags: trunk)
10:16
Remove an unused variable from the test logic. (CVS 5736) (check-in: 309ba380d9 user: drh tags: trunk)
10:12
Fix the TCL installer so that it omits the release number. Ticket #3396. Use strcmp() instead of sqlite3StrICmp() in the "copy" method of the SQLite object in the TCL interface. (CVS 5735) (check-in: a886062457 user: drh tags: trunk)
09:58
Add no-op Unload entry points to the TCL interface. Ticket #3397. (CVS 5734) (check-in: b31dd1e3f1 user: drh tags: trunk)
09:36
Fix for ticket #3382 was mistakenly removed by (5712). Add an assert to prevent it from being removed again. (CVS 5733) (check-in: 01d26b3df7 user: drh tags: trunk)
2008-09-22
17:54
Get rid of all of the compiler magic associated with SQLITE_EXPERIMENTAL and SQLITE_DEPRECATED. It was causing more problems than it was solving. Ticket #3395 et al. (CVS 5732) (check-in: bc040073c7 user: drh tags: trunk)
17:22
Fix a memory leak that can follow a malloc failure in sqlite3_initialize. (CVS 5731) (check-in: 118dc0ba08 user: danielk1977 tags: trunk)
11:46
Add instrumentation to os_unix.c to test that a return value of SQLITE_FULL from an xSync() callback is handled correctly. (CVS 5730) (check-in: 7bd2da93c6 user: danielk1977 tags: trunk)
10:44
Version 3.6.3 (CVS 5729) (check-in: 1634fd223d user: drh tags: trunk, release)
06:13
Remove unused macro Release() from vdbe.c. (CVS 5728) (check-in: 915679431a user: danielk1977 tags: trunk)
2008-09-21
15:14
Give file scope to non-API routines in pcache. Ticket #3392. (CVS 5727) (check-in: 6521f98ac3 user: drh tags: trunk)
2008-09-19
18:32
Speed up releaseMemArray() a bit by handling the most common types of memory cells inline. (CVS 5726) (check-in: ce07508550 user: danielk1977 tags: trunk)
16:39
In function moveToRoot(), use the MemPage.pParent pointers to find the root page if they are valid. This is slightly faster than requesting a new reference to the root page from the pager layer. (CVS 5725) (check-in: 0c8b74e668 user: danielk1977 tags: trunk)
15:10
In sqlite3BtreeGetMeta(), if BtShared.pPage1 is available use it instead of requesting a new reference from the pager layer. (CVS 5724) (check-in: 59be34cfa4 user: danielk1977 tags: trunk)
09:14
Remove an obsolete layer of redirection in pager.c. (CVS 5723) (check-in: 75deaa442f user: danielk1977 tags: trunk)
2008-09-18
18:18
Do not run the async tests if the async module is not installed. (CVS 5722) (check-in: 4de71a4e2f user: drh tags: trunk)
18:17
Fix a segfault introduced by (5720) that can follow an IO error. (CVS 5721) (check-in: 05d3462688 user: danielk1977 tags: trunk)
17:34
Avoid parsing the structure of b-tree pages (in sqlite3BtreeInitPage) more than is necessary. (CVS 5720) (check-in: 6b998f3066 user: danielk1977 tags: trunk)
13:49
Update the version number to 3.6.3. (CVS 5719) (check-in: 419764b35c user: drh tags: trunk)
11:30
Changes to test script nan.test to work on symbian. (CVS 5718) (check-in: 0889b22a29 user: danielk1977 tags: trunk)
11:18
Changes to test script io.test to work on symbian. (CVS 5717) (check-in: 2b41c4959d user: danielk1977 tags: trunk)
01:08
Performance improvements in getAndInitPage(): omit the upper bound check on page number if the page is already in cache. (CVS 5716) (check-in: badd0873e6 user: drh tags: trunk)
2008-09-17
20:06
Speed improvements for in-memory databases by omitting flag clearing on pages where it is impossible for the flag to be set and by avoiding assert()s on non-debugging builds. Ticket #3384. (CVS 5715) (check-in: a7fd9e622b user: drh tags: trunk)
16:14
Changes to test scripts to support running on symbian. (CVS 5714) (check-in: 6ef34e9d31 user: danielk1977 tags: trunk)
11:02
Add a type identifier to argument sz to sqlite3PageMalloc() in pcache.c. Ticket #3383. (CVS 5713) (check-in: 94fde77b9a user: danielk1977 tags: trunk)
00:13
Fix for tickets #3378 and #3381 that preserves the aliasing optimization. And yet, this fix feels uncomfortable. Seeking an alternative... (CVS 5712) (check-in: f8b759f197 user: drh tags: trunk)
2008-09-16
18:02
Add test cases for ticket #3378 and #3381. Add a temporary hack to get those to problems fixed. The hack causes failures in alias.test, but those are much less serious than the aforementioned tickets. This is a stop-gap until we can figure out a proper fix. (CVS 5711) (check-in: a67da9dd2f user: drh tags: trunk)
15:55
Initialize variable pKeyDup in multiSelectOrderBy(). Technically it doesn't need to be initialized, but the reasoning required to come to that conclusion is too complicated for some automated systems. So it is initialized to keep some compilers happy. Ticket #3382. (CVS 5710) (check-in: bd58be6ecf user: danielk1977 tags: trunk)
15:50
Use (file nativename (pwd)) instead of just (pwd) to find the name of the current directory to pass to "PRAGMA temp_store_directory" in pragma.test. This helps the test pass on non-unix systems. (CVS 5709) (check-in: 50feaa3707 user: danielk1977 tags: trunk)
15:09
Add test script selectC.test which demonstrates ticket #3381. (CVS 5708) (check-in: 3847faff55 user: drh tags: trunk)
14:38
If the xAccess() call used by "PRAGMA temp_store_directory = /new/path/" to determine if the supplied directory is writable returns an error, assume the directory is not writable. (CVS 5707) (check-in: e8418588f2 user: danielk1977 tags: trunk)
12:06
Modify the sqlite3VdbeMemCompare() routine so that it does not modify any Mem.z values. Ticket #3376. (CVS 5706) (check-in: 2d45055100 user: danielk1977 tags: trunk)
11:58
Add test case for ticket #3376. (CVS 5705) (check-in: c64260579d user: drh tags: trunk)
09:09
Set the type of the "comment" field to SQLITE_TEXT when outputing the results of an EXPLAIN query. (CVS 5704) (check-in: 5dff20f4bc user: danielk1977 tags: trunk)
05:12
Do not attempt to change the page size after a pager has entered the error state (Pager.errCode!=SQLITE_OK). This prevents an assertion failure in vacuum3.test. (CVS 5703) (check-in: aa5c9455be user: danielk1977 tags: trunk)
2008-09-15
15:49
Minor comment change to test_async.c. No code changes. (CVS 5702) (check-in: b134106000 user: danielk1977 tags: trunk)
15:36
Adjust the page recycling algorithm so that the number of pages allocated to each connection does not exceed its cache_size limit. (CVS 5701) (check-in: 3bc221b940 user: drh tags: trunk)
14:47
Fix the async.test test script so that it invokes (finish_test) even if the asynchronous backend is not included in the build (and no tests are run). (CVS 5700) (check-in: 5c954b40ec user: danielk1977 tags: trunk)
14:42
Fix the shared_err.test script so that it works if the device supports SQLITE_IOCAP_SAFEAPPEND. (CVS 5699) (check-in: 38e5ea070a user: danielk1977 tags: trunk)
14:08
Modify test_async.c to avoid using internal SQLite APIs. There are still some comments that need updating. (CVS 5698) (check-in: 1d4fcaafd0 user: danielk1977 tags: trunk)
04:20
Check if error code ENOTSUP is supported before using it. Ticket #3375. (CVS 5697) (check-in: c32cb106c5 user: danielk1977 tags: trunk)
2008-09-13
01:20
Fix issues with bizarrely quoted column names. Tickets #3370, #3371, and #3372. (CVS 5696) (check-in: ced6bbd228 user: drh tags: trunk)
2008-09-12
18:25
Fix the NEAR connector in FTS3 so that it can take ranges in excess of 9. The maximum range is now 32767. (CVS 5695) (check-in: 8e9b955311 user: drh tags: trunk)
16:03
Declare the isInterrupted field of the sqlite3 structure to be volatile. Ticket #3369. (CVS 5694) (check-in: 414da4ebce user: drh tags: trunk)
10:22
Add a case to permutations.test to run tests with the IOCAP_SAFEAPPEND property set. (CVS 5693) (check-in: 80bdaafa77 user: danielk1977 tags: trunk)
2008-09-11
11:28
Add a couple of (fconfigure) commands to configure the incremental blob channels used by test file incrblob.test. This is required so that the tests work on windows and other platforms that have a default -translation mode other than 'lf'. (CVS 5692) (check-in: 753caa20ca user: danielk1977 tags: trunk)
10:29
Fix a couple of problems with variable initializations picked up by stricter compilers. (CVS 5691) (check-in: f4293d1480 user: danielk1977 tags: trunk)
2008-09-10
17:53
Fix some trivial cases where database corruption was causing an error code other than SQLITE_CORRUPT to be returned. (CVS 5690) (check-in: 89fda074f6 user: danielk1977 tags: trunk)
14:45
Fix for handling database files corrupted in such a was as to make a b-tree page a direct or indirect descendant of itself. (CVS 5689) (check-in: 93545861a7 user: danielk1977 tags: trunk)
13:09
Documentation updates: Describe recursion capabilities for the various callbacks. (CVS 5688) (check-in: edd80811d7 user: drh tags: trunk)
11:28
Avoid deleting a file while it is still open in corrupt2.test. Not all platforms support this. (CVS 5687) (check-in: 099adfd311 user: danielk1977 tags: trunk)
10:57
Fix some test script details so that the test suite runs with an SQLITE_DEFAULT_AUTOVACUUM=2 build. (CVS 5686) (check-in: 300a64b725 user: danielk1977 tags: trunk)
2008-09-09
18:28
Add fuzz3.test. For testing the library's response to corrupted database files. (CVS 5685) (check-in: 7fd4dd9579 user: danielk1977 tags: trunk)
12:31
Calling sqlite3_create_function with nArg==(-1) does not override prior calls on the same function name with nArg>=0. Ticket #3345. Add the new -argcount option to the "function" method in the TCL interface. (CVS 5684) (check-in: 5aa5b8044a user: drh tags: trunk)
2008-09-08
15:35
Fix a C++ism in pager.c (variable useAtomicWrite not declard at the top of its scope). (CVS 5683) (check-in: a6dee85b82 user: danielk1977 tags: trunk)
11:07
Fix a bug in r-tree related to internal nodes with one or more dimensions of size zero. Ticket #3363. (CVS 5682) (check-in: 8b600ed083 user: danielk1977 tags: trunk)
09:06
If the 'rootpage' column of the sqlite_master table contains a NULL value, return SQLITE_CORRUPT to the caller. (CVS 5681) (check-in: a7b7b126e9 user: danielk1977 tags: trunk)
08:08
Add header file sqliteicu.h to the ICU extension. This is analogous to the rtree.h and fts3.h headers used by other extensions to declare their entry points. Fix for ticket #3361. (CVS 5680) (check-in: 79364b963b user: danielk1977 tags: trunk)
2008-09-06
14:19
Deallocate a temp register allocated by codeEqualityTerm() in where.c. If it is not deallocated, its value may be reused by the column-cache mechanism. However, by the time it is used, the value may have been clobbered by a sub-routine that also uses the same temp register. Fix for #3357. (CVS 5679) (check-in: 7c0f638ef3 user: danielk1977 tags: trunk)
2008-09-05
05:29
Change pcache.test so that it works if sqlite is configured to create auto-vacuum databases by default. (CVS 5678) (check-in: 55e677569e user: danielk1977 tags: trunk)
05:02
Fix a problem in btree.c preventing an OOM error from being propagated up to the caller. (CVS 5677) (check-in: 0b8ee83f2e user: danielk1977 tags: trunk)
2008-09-04
17:17
Add support for the SQLITE_THREADSAFE=2 and SQLITE_DEFAULT_MEMSTATUS compilation options. (CVS 5676) (check-in: 85c2a58901 user: danielk1977 tags: trunk)
12:03
Missing implementation for sqlite3TransferBindings(). (CVS 5675) (check-in: 56d6189575 user: shane tags: trunk)
06:22
If SQLITE_ENABLE_LOCKING_STYLE is defined, have the os_unix.c module offer the following extra VFS implementations for explicitly selecting a locking-style: "unix-none", "unix-afp", "unix-posix", "unix-flock" and "unix-dotfile". (CVS 5674) (check-in: 6e8fb64639 user: danielk1977 tags: trunk)
05:53
Temporarily revert to using sqlite3_transfer_bindings() internally. (CVS 5673) (check-in: 690ff3853b user: danielk1977 tags: trunk)
04:32
Modified core to not call deprecated functions sqlite3_memory_alarm() and sqlite3_transfer_bindings() by adding sqlite3MemoryAlarm() and sqlite3TransferBindings(). sqlite3_memory_alarm() and sqlite3_transfer_bindings() are now simple wrappers for the new functions. In prep for adding SQLITE_OMIT_DEPRECATED. (CVS 5672) (check-in: 821c387d15 user: shane tags: trunk)
2008-09-03
17:11
Work around an issue with the WINSCW compiler. (CVS 5671) (check-in: e333c3f4c3 user: drh tags: trunk)
01:08
Make the default threading mode multithread (-nomutex) in the TCL interface. (CVS 5670) (check-in: d9e8269426 user: drh tags: trunk)
00:43
Add support for SQLITE_OPEN_FULLMUTEX. (CVS 5669) (check-in: f2f361a5e2 user: drh tags: trunk)
00:08
If a rollback fails, mark the database as corrupt. (CVS 5668) (check-in: c8b24bd1be user: drh tags: trunk)
2008-09-02
21:35
API documentation updates for threading mode. (CVS 5667) (check-in: fa237c14c8 user: drh tags: trunk)
17:52
Explicitly initialize at least the first field of every struct. This is to work around compilers that don't like the syntax "struct XXX { ... } yyy = {};". (CVS 5666) (check-in: 88bfdc8747 user: danielk1977 tags: trunk)
17:18
Fix the position of the SQLITE_WSD macro in the declaration of global variable vfsList. (CVS 5665) (check-in: e869446119 user: danielk1977 tags: trunk)
16:22
Fine tune the hard-coded values passed to sqlite3_init_wsd(). (CVS 5664) (check-in: af5763eb65 user: danielk1977 tags: trunk)
15:44
Add an extra 'const' qualifier to two arrays (in func.c and pragma.c) to ensure that they do not consume space in the data segment of the compiled object files. (CVS 5663) (check-in: 43f757c9f0 user: danielk1977 tags: trunk)
14:07
Move the sqlite3SharedCacheEnabled global and the inProgress static variable (function sqlite3_initialize()) into the global sqlite3Config structure. This is required for the OMIT_WSD feature to work on some platforms. (CVS 5662) (check-in: 88c8275994 user: danielk1977 tags: trunk)
11:05
Add a 'const' to the opcodeProperty array in vdbe.c. (CVS 5661) (check-in: 29c9a80294 user: danielk1977 tags: trunk)
10:22
Change some more global variables to work with OMIT_WSD. (CVS 5660) (check-in: 46acaf58e1 user: danielk1977 tags: trunk)
09:38
Modify pcache.c to work with OMIT_WSD. (CVS 5659) (check-in: 44def90d1b user: danielk1977 tags: trunk)
00:52
Continuing work on adding full support for the SQLITE_OMIT_WSD compile-time option. (CVS 5658) (check-in: ef26ea5c46 user: drh tags: trunk)
2008-09-01
22:15
Add define for INVALID_FILE_ATTRIBUTES if it is not already defined, as some older Windows compilers do not define it. (CVS 5657) (check-in: e0461f8755 user: shane tags: trunk)
22:06
Added (_MSC_VER>1200) to SQLITE_DEPRECATED and SQLITE_EXPERIMENTAL defines since __declspec(deprecated) isn't supported by VC 6 or earlier. Ticket #3347. (CVS 5656) (check-in: 4bcaed08a1 user: shane tags: trunk)
21:59
Omit prototype for and calls to sqlite3MaterializeView() if !defined(SQLITE_OMIT_VIEW) && !defined(SQLITE_OMIT_TRIGGER). (CVS 5655) (check-in: 9cf484fc17 user: shane tags: trunk)
20:38
Converted strcasecmp to sqlite3StrICmp. Test code only. (CVS 5654) (check-in: bdeefe3760 user: shane tags: trunk)
19:14
Modify the aBuiltinFunc array in func.c to use the WSD macros. (CVS 5653) (check-in: 846fff5f09 user: danielk1977 tags: trunk)
18:34
Begin adding support for the SQLITE_OMIT_WSD macro. Some (many) WSD variables still need wrappers added to them. (CVS 5652) (check-in: 573d92abb9 user: danielk1977 tags: trunk)
17:23
Remove an unused function declaration from a header file. Ticket #3349. (CVS 5651) (check-in: 7a577428b2 user: drh tags: trunk)
15:52
Defer deleting Table objects associated with flattened subqueries until all code has been generated, in case some expression node still references the Table object. Ticket #3346. (CVS 5650) (check-in: d04d703367 user: drh tags: trunk)
12:47
Have the rtree module set the estimatedCost output variable. Ticket #3312. (CVS 5649) (check-in: 483932c4e0 user: danielk1977 tags: trunk)
2008-08-31
00:29
Changed to used sqlite3_snprintf instead of snprintf (test code only). (CVS 5648) (check-in: d68791e35d user: shane tags: trunk)
2008-08-30
16:34
Version 3.6.2 (CVS 5647) (check-in: 88c51b9f15 user: drh tags: trunk, release)
16:07
Run permutation subtests in sorted order. (CVS 5646) (check-in: 4cd1bdf3ce user: drh tags: trunk)
13:25
Add some code to permutations.test to make sure no test file modifies the shared-cache setting. (CVS 5645) (check-in: 8565b7c665 user: danielk1977 tags: trunk)
09:10
Make sure thread003.test waits for all spawned threads to finish before continuing. (CVS 5644) (check-in: 87c7e82f54 user: danielk1977 tags: trunk)
2008-08-29
18:42
remove private declaration of sqlite3_snprintf() in sqliteInt.h as there is already a public declaration in sqlite3.h (CVS 5643) (check-in: 4113e778be user: rse tags: trunk)
18:40
remove a doubled function declaration (the second just is just two lines below) (CVS 5642) (check-in: e5793110d5 user: rse tags: trunk)
17:56
Move a call to sqlite3_mutex_leave() to protect calls to sqlite3StatusAdd() related to scratch (SQLITE_CONFIG_SCRATCH) memory. (CVS 5641) (check-in: 4e011ddf9e user: danielk1977 tags: trunk)
15:54
Modify tclsqlite.test so that it works reliably with tcl 8.5.4. (CVS 5640) (check-in: 790d329f5d user: danielk1977 tags: trunk)
12:00
In permutations.test, disable tests that depend on soft-heap-limit functionality when running the memsubsys2 variant. It disables the soft-heap-limit. (CVS 5639) (check-in: 047c7bdb9f user: danielk1977 tags: trunk)
09:10
If a page is made eligible for recycling when more than the configured maximum number of pages are allocated, free it immediately instead of adding it to the LRU list. (CVS 5638) (check-in: 4b12922dcb user: danielk1977 tags: trunk)
02:14
Avoid reevaluating WHERE and ORDER BY expressions that alias terms in the result set. Ticket #3343. Note that aliased GROUP BY expressions are still evaluated twice. (CVS 5637) (check-in: ab0292caa5 user: drh tags: trunk)
2008-08-28
18:35
Fix ioerr5.test so that it works with the new pcache module. (CVS 5636) (check-in: 83e6a75e7d user: danielk1977 tags: trunk)
17:46
Partial fix for a bug in recovery from xStress failures in pcache. (CVS 5635) (check-in: 44193b9277 user: drh tags: trunk)
13:55
Avoid using (clock seconds) in thread003.test. It is not available if testfixture is linked to tcl 8.5. (CVS 5634) (check-in: b606263d08 user: danielk1977 tags: trunk)
13:15
Use ckfree() instead of sqlite3_free() to free an allocation made by ckalloc() in test_thread.c (test code only). (CVS 5633) (check-in: 677ac144c8 user: danielk1977 tags: trunk)
11:12
Fix mutex related bug in pcache.c to do with handling IO errors. (CVS 5632) (check-in: 5e304fed27 user: danielk1977 tags: trunk)
10:21
Enable the disabled asserts added by (5629). Add extra tests to thread003.test. And the required modifications to pcache.c. (CVS 5631) (check-in: 473c09fac2 user: danielk1977 tags: trunk)
08:31
Fix a threads/mutex problem in pcache.c. (CVS 5630) (check-in: 1928f15b78 user: danielk1977 tags: trunk)
02:26
Miscellaneous cleanup in the new pcache code. (CVS 5629) (check-in: da1777259f user: drh tags: trunk)
2008-08-27
19:01
If any error occurs during sqlite3_open(), move the database handle into "sick" state. When in the sick state the user can use sqlite3_errcode() and sqlite3_errmsg(), but not much else. (CVS 5628) (check-in: ce9c74eaab user: danielk1977 tags: trunk)
18:56
Add the trans2.test script designed to stress statement rollback and no-write optimizations on large transactions with a small cache. (CVS 5627) (check-in: 39c34e2238 user: drh tags: trunk)
18:03
Do not mark pages as clean when doing a statement journal rollback. (CVS 5626) (check-in: 9d7722f4f3 user: drh tags: trunk)
16:38
Modifications to malloc5.test to account for the fact that sqlite3_release_memory() no longer reclaims dirty pages. (CVS 5625) (check-in: b01c65b065 user: danielk1977 tags: trunk)
16:14
Clear the $result variable prior to using it in corrupt2.test. (CVS 5624) (check-in: 12f2d24f88 user: drh tags: trunk)
15:21
In the test logic: load the md5sum() SQL function as a separate autoloaded extension. (CVS 5623) (check-in: d4438251dd user: drh tags: trunk)
15:16
Use a bitvec object to store the set of pages with the 'always-rollback' property for a transaction. (CVS 5622) (check-in: 9e9325997e user: danielk1977 tags: trunk)
13:31
Remove obsolete file: md5.c. This file had been removed years ago. It is unclear how it got back into the repository. (CVS 5621) (check-in: 45fc70bd92 user: drh tags: trunk)
09:44
Remove unreachable branches from pcache.c. (CVS 5620) (check-in: 7de32498b3 user: danielk1977 tags: trunk)
2008-08-26
23:08
Fix an issue with the permutation test script. (CVS 5619) (check-in: 2e12aa3e07 user: drh tags: trunk)
21:33
In the TCL interface, disable the authorizer when during a BEGIN, COMMIT, or ROLLBACK associated with the transaction method. Ticket #3336. (CVS 5618) (check-in: 7e1032ab00 user: drh tags: trunk)
21:07
All the page_size pragma to change the page size on a new :memory: database, but not a vacuumed :memory: database. Ticket #3335 (CVS 5617) (check-in: 226a905678 user: drh tags: trunk)
19:08
Disable some very expensive asserts in pcache.c that are too slow for all.test. (CVS 5616) (check-in: 555dad900f user: danielk1977 tags: trunk)
18:05
Simplify the pcache module by only recycling clean pages from 'other' caches. This commit causes errors in test files ioerr5.test and malloc5.test because they test recycling dirty pages from other caches. (CVS 5615) (check-in: 9e511e161b user: danielk1977 tags: trunk)
14:42
Implement a "counter" SQL function that can be used to insert a sequence number each row of a result set. Currently in the test harness only, but a candidate to move into the core. (CVS 5614) (check-in: c84d46c712 user: drh tags: trunk)
12:56
Do not flatten subqueries where the subquery has a LIMIT and the outer query has a WHERE clause. Ticket #3334. (CVS 5613) (check-in: 4995a1d1c9 user: drh tags: trunk)
2008-08-25
21:23
Add the SQLITE_OPEN_FULLMUTEX definition to sqlite3.h. It currently is not valid for anything. This is merely to reserve the number. (CVS 5612) (check-in: 3b6ffb4492 user: drh tags: trunk)
19:09
Fix obscure permutation test problems. (CVS 5611) (check-in: aa92a1bec3 user: drh tags: trunk)
17:23
Fix bug in the premutation testing that was causing many permutations from begin skipped. There are now 16 errors reported by the permutation test. (CVS 5610) (check-in: 4ad096bda1 user: drh tags: trunk)
14:49
Pick up a small performance increase by eliminating the pcacheRef() function. (CVS 5609) (check-in: e3840fbf0a user: danielk1977 tags: trunk)
12:14
Additional coverage testing in the new name resolver module. (CVS 5608) (check-in: 0d61960afd user: drh tags: trunk)
12:08
Two if statements should be asserts. GCC was silently ignoring them, hence the problem did not show up in coverage testing. Ticket #3333. (CVS 5607) (check-in: 635933b1ca user: drh tags: trunk)
11:57
Fix a segfault that can occur when running integrity_check on a corrupt db. (CVS 5606) (check-in: eae959ede1 user: danielk1977 tags: trunk)
07:12
If the sector size is greater than the database page size, SQLite journals all pages that lie within a sector before writing to any of them. This change ensure that a journal sync does not occur halfway through journalling the set of pages that belong to a single sector. (CVS 5605) (check-in: 16f612d61e user: danielk1977 tags: trunk)
2008-08-23
18:53
Instead of marking a page as clean when sqlite3PagerDontWrite() is called, set a dedictated flag - PGHDR_DONT_WRITE. (CVS 5604) (check-in: a323bd29a6 user: danielk1977 tags: trunk)
16:17
Do not incorrectly detect corruption when an auto-vacuum database is converted to a non-auto-vacuum database within a vacuum. Ticket #3332. (CVS 5603) (check-in: cb869946d6 user: danielk1977 tags: trunk)
2008-08-22
18:41
quieting compiler warning about pointer/int conversion size mismatch (CVS 5602) (check-in: f8a70501c2 user: aswift tags: trunk)
17:34
Remove dead code. (CVS 5601) (check-in: 6de9c084fc user: drh tags: trunk)
17:28
add legacy.lo back (in alphabetical order) (CVS 5600) (check-in: a861aa73c4 user: pweilbacher tags: trunk)
17:09
Relinquish the pcache mutex before calling an xStress callback. This ensures that the pcache mutex is never held while IO is performed. (CVS 5599) (check-in: 8fe234b2ca user: danielk1977 tags: trunk)
16:29
Enhanced test coverage. (CVS 5598) (check-in: cc36b4e016 user: drh tags: trunk)
16:22
When recycling a page, try to find one that does not require a call to xSync() on the journal file. Also simplify some of the mutex related things in pcache. (CVS 5597) (check-in: 93dbc5427b user: danielk1977 tags: trunk)
14:41
Make sure the function context is fully initialized before invoking the function finalizer. Ticket #3326. (CVS 5596) (check-in: 8496f4a00a user: drh tags: trunk)
14:08
Remove unused variable from printf.c. Ticket #3331. (CVS 5595) (check-in: 7fd11f4ad8 user: drh tags: trunk)
13:58
remove OS/2 compiler flags that aren't really necessary (CVS 5594) (check-in: b688c68c3d user: pweilbacher tags: trunk)
13:57
fix some tests to take the right branch on OS/2 (hope I got the Tcl syntax right) (CVS 5593) (check-in: 10e62d4700 user: pweilbacher tags: trunk)
13:47
Hide (for non-debugging builds) and remove DELETEONCLOSE files on OS/2, following the Windows example. Ticket #3328. (CVS 5592) (check-in: 8aaa77000f user: pweilbacher tags: trunk)
12:57
Fix nuisance compiler warnings. Ticket #3309. (CVS 5591) (check-in: 2a365e2994 user: drh tags: trunk)
12:46
Add test case to verify that Ticket #3301 was fixed by (5569) (CVS 5590) (check-in: 73b2606862 user: drh tags: trunk)
12:30
Allow the WHERE clause in an UPDATE or DELETE against a view with an INSTEAD OF trigger to refer to the view by name. Ticket #3298. (CVS 5589) (check-in: 7360e5d1f3 user: drh tags: trunk)
00:47
Fix os_unix.c so that it will compile on Linux again. (CVS 5588) (check-in: 2416708208 user: drh tags: trunk)
00:25
Deferring file descriptor closing to avoid trashing locks when directly manipulating sqlite db file contents (causes errors on AFP testing) (CVS 5587) (check-in: e28a2870b4 user: aswift tags: trunk)
00:22
Added SQLITE_IOERR_LOCK extended error code and support for detecting and returning errors in the os_unix lock, unlock and check reserved lock variants, also added support for populating and returning system error codes so that they can be accessed via xGetLastError, unfortunately xGetLastError can't seem to access the unixFile structure where the lastErrno is recorded. (CVS 5586) (check-in: c1af14e2b6 user: aswift tags: trunk)
2008-08-21
20:21
Move date+time functions to start-time initialization. Additional start-time function cleanup. (CVS 5585) (check-in: 80d6a31cb3 user: drh tags: trunk)
19:28
Remove references to OP_MoveTo in comments of vdbe.c - that opcode no longer exists. Ticket #3327. (CVS 5584) (check-in: 30077ece45 user: drh tags: trunk)
18:49
Initialize the global built-in function table at start-time instead of at compile-time. This is less prone to malfunction when compile-time parameters very. (CVS 5583) (check-in: ef6936e50a user: drh tags: trunk)
15:54
Fix soft-heap-limit related test suite failures. (CVS 5582) (check-in: 2091d9a526 user: danielk1977 tags: trunk)
15:13
Increase the version number in preparation for the next release. (CVS 5581) (check-in: d68dad73d0 user: drh tags: trunk)
14:54
Make sure "rowid" columns in views are named correctly. Ticket #3308. (CVS 5580) (check-in: 8593218c7c user: drh tags: trunk)
14:24
Add test cases to verify that ticket #3314 has been fixed. (CVS 5579) (check-in: b46267ff07 user: drh tags: trunk)
14:15
Reinsert an SCopy operation that was removed in (5523) because coverage testing indicated that it was dead code. Ticket #3324 shows that the code was not as dead as we thought it was. (CVS 5578) (check-in: 6855711595 user: drh tags: trunk)
12:32
Patch to mkfunction to try and detect miscompiles. Add an unimportant assert back to pcache.c. (CVS 5577) (check-in: a2f375fffb user: drh tags: trunk)
12:19
Fix the functionality associated with sqlite3_release_memory() and sqlite3_soft_heap_limit(). It is automatically disabled if the SQLITE_CONFIG_PAGECACHE option is used. (CVS 5576) (check-in: d025866b09 user: danielk1977 tags: trunk)
04:41
Move an assert() in sqlite3PcacheDirtyPage() so that it does not occur before local variable declarations. Ticket #3325. (CVS 5575) (check-in: 899fa19d1a user: danielk1977 tags: trunk)
04:35
Remove leftover PGHDR_TO_DATA macro from pager.c. Ticket #3323. (CVS 5574) (check-in: 5e9559c049 user: danielk1977 tags: trunk)
2008-08-20
22:06
Modify the sqlite3VdbeUnpackRecord() interface to force the temporary space to be 8-byte aligned. This might be important for Sparc. Ticket #3318. (CVS 5573) (check-in: 00b177985e user: drh tags: trunk)
21:47
Comment and function naming tweaks to pcache. No functionality changes. (CVS 5572) (check-in: 4b0e67d397 user: drh tags: trunk)
17:48
Modify the lemon parser template to avoid using zero-initialized constants when compiled with C++. Ticket #3288. (CVS 5571) (check-in: 71992f4a37 user: drh tags: trunk)
17:19
Fix a problem in Makefile.in causing the static function hash-table to be constructed incorrectly (segfault). (CVS 5570) (check-in: aef5b909e9 user: danielk1977 tags: trunk)
16:35
Refactor the name resolution procedures in the code generator. (CVS 5569) (check-in: daf730d1de user: drh tags: trunk)
16:34
When a "pragma main.table_info(...)" is issued, consider only tables from the main database, not the temp db. Ticket #3320. (CVS 5568) (check-in: d0cfbbbaee user: danielk1977 tags: trunk)
16:21
Fix typo in main.c: SQLITE_MAX_ATTACH -> SQLITE_MAX_ATTACHED. Ticket #3319. (CVS 5567) (check-in: 66ff55efd6 user: danielk1977 tags: trunk)
14:49
Add the pcache module from the experimental branch. Also change things so that most of the built-in SQL functions are kept in single static hash-table, rather than creating and populating a separate hash table for each open database connection. (CVS 5566) (check-in: cb494e10d7 user: danielk1977 tags: trunk)
2008-08-14
00:19
Do not flatten the right term of a LEFT join. Ticket #3300. (CVS 5565) (check-in: 8947c72f93 user: drh tags: trunk)
2008-08-13
20:09
Explicit casts of the return from strlen() to int in lemon. This has no effect on SQLite. It has no effect on any lemon-generated parser with a grammar that is less than 2GB in size. Ticket #3293. (CVS 5564) (check-in: a519cdb2f4 user: drh tags: trunk)
20:04
Fix token destructors in lemon generated parsers. Does not effect SQLite. Ticket #3299. (CVS 5563) (check-in: 4887e8fc4a user: drh tags: trunk)
19:11
Additional changes toward fixing ticket #3292. (CVS 5562) (check-in: 0b92cbf525 user: drh tags: trunk)
14:07
A partial fix for ticket #3292. This fixes the original problem but there are other similar problems lurking in the code still. (CVS 5561) (check-in: 055f173ab1 user: drh tags: trunk)
2008-08-12
15:48
Make sure the lookaside test script saturates the lookaside buffer even when SQLITE_DEBUG is off. Ticket #3289 (CVS 5560) (check-in: d6aacc5dc7 user: drh tags: trunk)
15:21
Revise the initialization and shutdown logic so that it no longer keeps a recursive mutex allocated for the whole interval but instead releases the mutex as soon as possible. Do not reset status values upon initialization. (CVS 5559) (check-in: 697fe7a316 user: drh tags: trunk)
15:04
Fix further warnings/compilation errors in test code. (CVS 5558) (check-in: 42247b917a user: danielk1977 tags: trunk)
14:51
Documentation updates and clarifications in sqlite.h.in. (CVS 5557) (check-in: e3935502fd user: drh tags: trunk)
14:48
Fix warnings and a compilation error in test code. (CVS 5556) (check-in: 80c129e63e user: danielk1977 tags: trunk)
2008-08-11
20:07
GCC attribute warning first appears in the 4.3.0 docs, so updated #if to specify at least that version. (CVS 5555) (check-in: 46defad516 user: shane tags: trunk)
19:12
Make the CLI more tolerant of malformed schemas by setting the writable_schema pragma prior to running the ".dump" command. (CVS 5554) (check-in: 860babd841 user: drh tags: trunk)
18:44
Do not allow indexing of any table whose name begins with "sqlite_". Ticket #3284. Improve handling of databases with malformed schemas - just in case somebody has actually indexed a system table. (CVS 5553) (check-in: 0e1d8d14a1 user: drh tags: trunk)
18:29
The GCC magic to warn about experimental interfaces does not work on gcc version 4.1.0. Add #ifdefs to work around this. (CVS 5552) (check-in: 90cae83169 user: drh tags: trunk)
17:27
Added SQLITE_EXPERIMENTAL and SQLITE_DEPRECATED tags to APIs to take advantage of compiler warnings (with the necessary function attributes.) Ticket #3142. (CVS 5551) (check-in: 5f4b547aba user: shane tags: trunk)
14:26
Disallow empty triggers. Ticket #3283. This does not present a backwards compatibility problem because prior to this change, an empty trigger would segfault. (CVS 5550) (check-in: 571adab9d2 user: drh tags: trunk)
2008-08-08
18:06
Move a variable initialization earlier to work around MS compiler complaints. (CVS 5549) (check-in: 02232e7144 user: drh tags: trunk)
15:06
Back out part of (5546): Even though ON CONFLICT clauses on CHECK constraints are no-ops, if a schema includes them, the database will be unreadable if we do not at least parse and ignore the clause. (CVS 5548) (check-in: efcaeb68f9 user: drh tags: trunk)
14:33
Round lookaside buffer sizes in the right direction. Ticket #3277. (CVS 5547) (check-in: c1a9bf3863 user: drh tags: trunk)
14:19
Disallow the ON CONFLICT clause on CHECK constraints. The syntax used to be allowed but never worked, so this should not present compatibility problems. Other internal grammar simplifications. (CVS 5546) (check-in: 4cedc641ed user: drh tags: trunk)
2008-08-07
13:05
Improved clarity of presentation in the tokenizer. (CVS 5545) (check-in: 732657c6a6 user: drh tags: trunk)
2008-08-06
13:47
Fix compilation with SQLITE_OMIT_FOREIGN_KEY defined. Ticket #3273. (CVS 5544) (check-in: ce8cbeea51 user: danielk1977 tags: trunk)
13:40
Fix typo in comments in sqlite.h.in. Ticket #3271. (CVS 5543) (check-in: 18030631e8 user: danielk1977 tags: trunk)
10:50
Version 3.6.1 (CVS 5540) (check-in: 65ab777fd0 user: drh tags: trunk, release)
10:47
Trying again to fix the publish.sh script. (CVS 5542) (check-in: 01fb8a0d2c user: drh tags: trunk)
10:43
Fix the tarball builder in publish.sh to exclude CVS and Fossil files. (CVS 5541) (check-in: 43896f1008 user: drh tags: trunk)
2008-08-05
21:42
Revise build scripts in set SQLITE_ENABLE_COLUMN_METADATA on DLLs. (CVS 5539) (check-in: ce5daa0359 user: drh tags: trunk)
21:36
Remove a reference to snprintf() in test8.c. (CVS 5538) (check-in: 32d32b7436 user: drh tags: trunk)
17:53
Add SQLITE_STATUS_PAGECACHE_SIZE and SQLITE_STATUS_SCRATCH_SIZE. (CVS 5537) (check-in: c4e9b82406 user: drh tags: trunk)
2008-08-04
20:13
Separate verbs of sqlite3_config() and sqlite3_db_config() into their own namespaces. Allow SQLITE3_DBCONFIG_LOOKASIDE to specific an external memory buffer. (CVS 5536) (check-in: 5dd865da5e user: drh tags: trunk)
14:50
Modify the configure script to avoid using the += operator. Not all shells support it. (CVS 5535) (check-in: f167b2745d user: danielk1977 tags: trunk)
13:44
Enhanced markings for experimental and deprecated interfaces. (CVS 5534) (check-in: 7e6ec5d53d user: drh tags: trunk)
11:49
Make it easier to build with the icu extension enabled. Include icu.c in the amalgamation source. Ticket #3245. (CVS 5533) (check-in: e42ff97ba7 user: danielk1977 tags: trunk)
04:39
Add an assert() statement that will alert us if the potential problem identified by #3243 ever becomes a reality. (CVS 5532) (check-in: 34208f0ba4 user: danielk1977 tags: trunk)
04:28
Add the pkgconfigdir variable to Makefile.in. Ticket #3242. (CVS 5531) (check-in: 540c9d4c0d user: danielk1977 tags: trunk)
03:51
Fix (make test) with SQLITE_OMIT_COMPOUND_SELECT. Ticket #3235. (CVS 5530) (check-in: 9ca975c8fd user: danielk1977 tags: trunk)
01:46
removed some extraneous blank lines. made sure to use only LF line endings. (CVS 5529) (check-in: 358bd6609e user: shane tags: trunk)
2008-08-02
20:09
Test scripts revised to work when auto_vacuum defaults on. (CVS 5528) (check-in: e63186b0b6 user: drh tags: trunk)
17:36
Fix a reference count leak introduced by (5526). (CVS 5527) (check-in: f653995c32 user: danielk1977 tags: trunk)
17:03
Avoid doing IO purely to check assert() constraints. (CVS 5526) (check-in: fb26ae7239 user: danielk1977 tags: trunk)
15:32
Fix a bug introduced by (5519) causing builds with SQLITE_OMIT_VIRTUALTABLE to malfunction. (CVS 5525) (check-in: 761e73ceab user: danielk1977 tags: trunk)
15:10
Increase the ref-count on the sqlite3_vtab structure before calling either the xNext or xFilter methods. (CVS 5524) (check-in: 6e41455f2c user: danielk1977 tags: trunk)
03:50
Additional coverage testing. Fix a segfault following OOM in sqltie3_load_extension(). (CVS 5523) (check-in: f1e44eb323 user: drh tags: trunk)
2008-08-01
20:10
Bring test coverage up to 99%. (CVS 5522) (check-in: 2cd6bae809 user: drh tags: trunk)
18:47
Fix problems in test scripts. Add new test cases to improve test coverage. (CVS 5521) (check-in: b65f493c75 user: drh tags: trunk)
17:51
Also test that setting sqlite3_vtab.zErrMsg works from within the xRename method. (CVS 5520) (check-in: 4f4a9ccae7 user: danielk1977 tags: trunk)
17:37
Test that virtual table methods xBestIndex, xOpen, xFilter, xNext, xColumn, xRowid, xUpdate, xSync and xBegin can all return error messages using the sqlite3_vtab.zErrMsg variable. (CVS 5519) (check-in: 007359b770 user: danielk1977 tags: trunk)
16:31
Test cases for sqlite3_db_config() and sqlite3_db_status(). (CVS 5518) (check-in: 6a6b94302a user: drh tags: trunk)
15:06
Add a permutation test case for running all OOM tests with lookaside disabled. (CVS 5517) (check-in: 3f70e03ae8 user: drh tags: trunk)
14:33
Applied patch to fix failure with build on gcc-powerpc (provide sqlite3Hwtime). Ticket #3256. (CVS 5516) (check-in: c9ecd88e27 user: shane tags: trunk)
10:50
If xAccess() fails while attempting to detect a hot-journal file, do not assume that the error was an out-of-memory condition. (CVS 5515) (check-in: 70f20425e8 user: danielk1977 tags: trunk)
2008-07-31
17:35
Define _GNU_SOURCE only if it is not already defined. Ticket #3263. (CVS 5514) (check-in: bc5abd31a7 user: drh tags: trunk)
17:20
Update the memsubsys1 test script to take into account the buffer size changes of the previous check-in. (CVS 5513) (check-in: d43ff7bb8f user: drh tags: trunk)
17:16
Change the definition of SQLITE_CONFIG_PAGECACHE and SQLITE_CONFIG_SCRATCH to omit the magic "+4" in the buffer size calculation. (CVS 5512) (check-in: e7ed0fe640 user: drh tags: trunk)
14:47
Documentation updates. (CVS 5511) (check-in: e7fdd813cc user: drh tags: trunk)
02:43
Updated omittest.tcl. Updated OMIT list. Updated for Windows. (CVS 5510) (check-in: f94239933e user: shane tags: trunk)
02:05
Omit calls to test_get_table_printf() if SQLITE_OMIT_GET_TABLE defined. (CVS 5509) (check-in: 524a4075dd user: shane tags: trunk)
01:47
Omit calls to test_destructor16() if SQLITE_OMIT_UTF16 defined. (CVS 5508) (check-in: 2d5cec53c2 user: shane tags: trunk)
01:43
Fixed comment to use right function names for sqlite3VdbeSerialPut() and sqlite3VdbeSerialGet(). (CVS 5507) (check-in: 820c37ec52 user: shane tags: trunk)
01:40
Omit calls to sqlite3Pragma() if SQLITE_OMIT_PARSER defined. Not technically needed, as the entire generated parse.c file should not be included. (CVS 5506) (check-in: 10e0450896 user: shane tags: trunk)
01:34
Improved retry logic for winDelete() when in "pending delete" state. (CVS 5505) (check-in: 03a7973477 user: shane tags: trunk)
2008-07-30
17:28
When opening a zero-size database on unix, write one byte into the file before interrogating the inode number. This works around issues with msdos filesystems mounted on OS-X. Ticket #3260. (CVS 5504) (check-in: a480a8845f user: drh tags: trunk)
15:27
In the unix OS implementation, replace inode hash tables with linked lists. (CVS 5503) (check-in: db4022db64 user: drh tags: trunk)
13:27
Implicit string->numeric conversion should go to an integer value when possible. Ticket #3257. (CVS 5502) (check-in: da0e4bff30 user: drh tags: trunk)
13:15
Make sure everything is deallocated before calling sqlite3_shutdown(). Ticket #3259. (CVS 5501) (check-in: 4a6ee88697 user: drh tags: trunk)
13:14
Remove unused sqlite3VdbeMemDynamicify() function from the VDBE. (CVS 5500) (check-in: aee6330831 user: drh tags: trunk)
2008-07-29
20:38
Backport http://www.sqlite.org/cvstrac/chngview?cn=5489 from fts3. Re-used prepared statement from fts2 cursor. (CVS 5499) (check-in: 02870ed21d user: shess tags: trunk)
20:24
Add some simple tests to make sure that the different fulltextFilter query paths are being exercised. (CVS 5498) (check-in: ae96d960e6 user: shess tags: trunk)
18:49
finally make temporary and journal files hidden in release builds on OS/2 (CVS 5497) (check-in: c449a95c4f user: pweilbacher tags: trunk)
18:38
recursively call os2Open() with the incoming VFS pointer, in case it gets used in the future (CVS 5496) (check-in: 6eac49f046 user: pweilbacher tags: trunk)
18:35
move os2FullPathname() so that it can be used in os2Open() directly (CVS 5495) (check-in: 2455e45484 user: pweilbacher tags: trunk)
14:29
Enhancements to the pagecache malloc test configuration. Changes to the speed test scripts to use the new test enhancements. (CVS 5494) (check-in: 0ce39c21f3 user: drh tags: trunk)
14:28
Increase the version number to 3.6.1. (CVS 5493) (check-in: ec09b551e8 user: drh tags: trunk)
11:25
Use a macro to make sure that the calls to sqlite3Utf8Read() from MemTranslate() are inlined. This speeds up converting from utf8 to utf16. (CVS 5492) (check-in: 78a623bbb1 user: danielk1977 tags: trunk)
10:26
Add a missing "finish_test" to the end of misc5.test. (CVS 5491) (check-in: 89216b1669 user: danielk1977 tags: trunk)
10:18
Speed up OP_Column by eliminating some double handling. (CVS 5490) (check-in: 9ebee8401b user: danielk1977 tags: trunk)
01:13
Re-used prepared statement from fts3 cursor. Previously, each call to fulltextFilter() finalized any existing prepared statement and prepared a new one. In the case where idxNum has not changed, simply reseting the statement suffices. This provides an order of magnitude speedup in incoming joins against docid. (CVS 5489) (check-in: a08a5f2b12 user: shess tags: trunk)
2008-07-28
19:34
Implement the "lookaside" memory allocation cache. Use of this cache makes the speed1.test script run about 15% faster. Added new interfaces to control the cache. (CVS 5488) (check-in: e48f9697e9 user: drh tags: trunk)
05:26
Add mem6.c to Makefile.in. Ticket #3253. (CVS 5487) (check-in: 51be2e4463 user: danielk1977 tags: trunk)
05:22
In the documentation for SQLITE_CONFIG_MEMSTATUS, make it clear that the 'boolean' argument passed to sqlite3_config() is actually of type int. Ticket #3252. (CVS 5486) (check-in: 1ffdd46f0b user: danielk1977 tags: trunk)
2008-07-26
18:47
Remove a branch that could not be taken from OP_IsUnique. (CVS 5485) (check-in: 75c2a532f4 user: danielk1977 tags: trunk)
18:26
Fix a case where database corruption was causing an invalid reference. (CVS 5484) (check-in: 7aecabacf9 user: danielk1977 tags: trunk)
2008-07-25
16:39
Add an SQLITE_OMIT_LOCALTIME around the "utc" modifier in date/time functions. (CVS 5483) (check-in: 71486e93b2 user: drh tags: trunk)
16:07
Further performance improvements to mem6.c. (CVS 5482) (check-in: 4528f7b1cc user: danielk1977 tags: trunk)
15:39
Add the capability to track the maximum depth of the LALR(1) parser stack so that critical applications can check to see if they are getting close to limits. (CVS 5481) (check-in: ef0250f3dc user: drh tags: trunk)
14:53
Fix the corrupt7 tests to track changes in the integrity check error message. (CVS 5480) (check-in: 22177dac2e user: drh tags: trunk)
13:39
Increase limits on memsubsys1 tests to accomodate the larger structure sizes on 64-bit platforms. (CVS 5479) (check-in: f7720f1bfc user: drh tags: trunk)
13:32
Require the SQLITE_ENABLE_INSTVFS symbol in order to compile testfixture with sqlite3_instvfs enabled. This allows fulltest to run on platforms for which we do not have a working hwtime.h (ex: ppc, s390). Change requested from the SuSE team. (CVS 5478) (check-in: 16c164e79c user: drh tags: trunk)
12:49
Make the libtclsqlite3.la shared library depend on a separate libsqlite3.la shared library. I think this flies in the face of the whole SQLite philosophy of minimal dependencies, but on the other hand, few people use that shared library and the capability has been requested from the SuSE team. (CVS 5477) (check-in: 83484b42bf user: drh tags: trunk)
12:39
Fix a build problem on tclsqlite in Makefile.in. (CVS 5476) (check-in: e7a604807f user: drh tags: trunk)
10:40
Speed up the xFree() method of the mem6.c allocator by storing the offset from the pointer to the start of its chunk in a header field. (CVS 5475) (check-in: 0de54891d4 user: danielk1977 tags: trunk)
09:24
Change mem6.c to use the malloc() and free() functions directly, instead of going via another sqlite3_mem_methods structure. (CVS 5474) (check-in: cfa65e23df user: danielk1977 tags: trunk)
08:49
Updates to mem6.c allocator. (CVS 5473) (check-in: 43a4cae2ac user: danielk1977 tags: trunk)
2008-07-24
23:34
Reduce the size of the parser allocation. Add additional instrumentation to mem2. speed1*.test uses scratch malloc. (CVS 5472) (check-in: 599a9dea8f user: drh tags: trunk)
17:06
Use a new algorithm for sqlite3Strlen that is slightly slower but is more like to work on a mixture of 32- and 64-bit systems. Ticket #3237, #3248. (CVS 5471) (check-in: cb1876d8dc user: drh tags: trunk)
15:50
Update the implementation of sqlite3ResultSetOfSelect() to (hopefully) make it clearer that malloc failures cannot possibly result in a crash. Ticket #3247. (CVS 5470) (check-in: 7455310931 user: drh tags: trunk)
10:32
Do not run capi3.test or capi3c.test when testing memsys6. (CVS 5469) (check-in: e0a101117c user: danielk1977 tags: trunk)
10:11
Add a mutex to mem6.c to make it threadsafe. (CVS 5468) (check-in: 9b97ce60c6 user: danielk1977 tags: trunk)
08:20
Add mem6.c, a new allocator. More to come. (CVS 5467) (check-in: 192bc19218 user: danielk1977 tags: trunk)
2008-07-23
21:07
Error messages from virtual tables store on the sqlite3_vtab->zErrMsg field are reported back up to the application interface and memory is reclaimed. (CVS 5466) (check-in: 4a9dd5e782 user: drh tags: trunk)
20:28
Remove stray breakpoints from test scripts. (CVS 5465) (check-in: cb5e75dfa5 user: drh tags: trunk)
18:25
Clarify in the documentation that the database connection pointer to sqlite3_next_stmt() must not be NULL. Ticket #3244. (CVS 5464) (check-in: a7d64e86e8 user: drh tags: trunk)
18:17
Read the sqlite3_vtab.zErrMsg after each call to a virtual table method and transfer any error into the database connection. Fix the fts2.test and fts3.test scripts to that they return silently rather than failing the test sequence if the appropriate FTS implementation is unavailable. (CVS 5463) (check-in: e2c6771d44 user: drh tags: trunk)
15:40
Update requirements derivation information in sqlite.h.in. (CVS 5462) (check-in: d6202907e7 user: drh tags: trunk)
13:42
Quick typo fix. No changes to code. (CVS 5461) (check-in: dfa8b45663 user: mihailim tags: trunk)
00:52
Documentation updates. (CVS 5460) (check-in: fe8e9f53f4 user: drh tags: trunk)
2008-07-22
23:54
Be a bit more susicious of invalid results from the tokenizer. Backports check-in (4514) from fts3. (CVS 5459) (check-in: 311aeb9c2b user: shess tags: trunk)
23:49
Implement optimize() function. Backports check-in (5417) from fts3. (CVS 5458) (check-in: c16900dc76 user: shess tags: trunk)
23:41
Delete all fts2 index data the table becomes empty. Backports check-in (5413) from fts3. (CVS 5457) (check-in: 4c98179be2 user: shess tags: trunk)
23:32
fts2 functions for testing scripts. Backports (5340) from fts3. (CVS 5456) (check-in: 4e47394be9 user: shess tags: trunk)
23:08
Change prefix search from O(N*M) to O(NlogM). Backports (4599) from fts3. (CVS 5455) (check-in: 3f614453d2 user: shess tags: trunk)
22:57
Changes fts2 to use only sqlite3_malloc() and not system malloc. Backports (4554) and (4555) from fts3. (CVS 5454) (check-in: ecf2dec66c user: shess tags: trunk)
22:20
fts2.c buildTerms() passes -1 for nInput. Backports (4511) from fts3. (CVS 5453) (check-in: d562515e1c user: shess tags: trunk)
22:15
Cleanup the hash functions in FTS2. Backports (4440) from fts3. (CVS 5452) (check-in: e31d2f875c user: shess tags: trunk)
18:45
Documentation updates. No changes to code. (CVS 5451) (check-in: e58b49779b user: drh tags: trunk)
05:32
winGetLastError support added. Consolidated getLastErrorMsg() support. Removed some more WINCE dead code similar to instance in ticket #3232. Added error return on SystemTimeToFileTime() failure. (CVS 5450) (check-in: c0a5cf38ee user: shane tags: trunk)
05:18
Changed a few loop counters to unsigned ints to remove compiler warnings. (CVS 5449) (check-in: 16f51f9b39 user: shane tags: trunk)
05:15
Added comment on floating point precision compile option for MSVC. (CVS 5448) (check-in: e20f2b8c6a user: shane tags: trunk)
05:13
Add assertion check for NaN support at startup. (CVS 5447) (check-in: 8474cde34b user: shane tags: trunk)
05:05
"configure" support updated. Removed unused features. Added parsing of CFLAGS and CPPFLAGS to extract OMIT options to pass to lemon and mkkeywordhash. (CVS 5446) (check-in: c67aa5057d user: shane tags: trunk)
05:00
flattenSubquery() needed if either SQLITE_OMIT_SUBQUERY or SQLITE_OMIT_VIEW not defined. (CVS 5445) (check-in: 1ffe7a9957 user: shane tags: trunk)
2008-07-19
14:25
Reduce the number of "#ifndef SQLITE_OMIT_AUTOVACUUM" conditions in btree.c by using the ISAUTOVACUUM macro instead. (CVS 5444) (check-in: a560c61849 user: danielk1977 tags: trunk)
13:43
To ensure SQLITE_THREADSAFE is always defined, have test_mutex.c include sqliteInt.h. (CVS 5443) (check-in: d8be91e2d2 user: danielk1977 tags: trunk)
11:49
Improve the performance of balance_nonroot() on auto-vacuum databases by reducing the number of calls to ptrmapPut(). (CVS 5442) (check-in: 9992b1aecd user: danielk1977 tags: trunk)
2008-07-18
23:47
Remove dead code from os_win.c. Ticket #3232. (CVS 5441) (check-in: 5c5c1f7279 user: drh tags: trunk)
18:56
Use the actual size of memory allocations to update the memory status counters. Fix the roundup() function of mem3 to be much closer to the actual allocation size. Ticket #3226. (CVS 5440) (check-in: 5c22132eb1 user: drh tags: trunk)
17:16
Fix SQLITE_OMIT_AUTOVACUUM so that it works again. Ticket #3228. (CVS 5439) (check-in: 3b2dd417f9 user: drh tags: trunk)
17:03
Make sure expression spans are set correctly for "x.*" expressions in the result set of a SELECT. Ticket #3229. (CVS 5438) (check-in: 17a9984e76 user: drh tags: trunk)
09:34
Performance improvement: reduce the number of calls to ptrmapPageno() made by ptrmapPut() and ptrmapGet(). (CVS 5437) (check-in: d807fb2713 user: danielk1977 tags: trunk)
08:10
Speed up sqlite3_finalize() by removing redundant code. (CVS 5436) (check-in: c94318b982 user: danielk1977 tags: trunk)
05:36
Init zFullCp to prevent crashes in case DosQueryPathInfo() fails. (CVS 5435) (check-in: 70685b2ae8 user: pweilbacher tags: trunk)
03:32
The zeroPage() routine in btree.c need not actually zero the whole page, just the header. (CVS 5434) (check-in: c69633ec69 user: drh tags: trunk)
02:44
Omit the check for cell-pointer consistency in sqlite3BtreeInitPage() for a 2.5% performance gain. (CVS 5433) (check-in: b88087e69d user: drh tags: trunk)
00:57
Optimization to sqltie3BtreeParseCellPtr. 0.3% performance increase. (CVS 5432) (check-in: 77e099ad7d user: drh tags: trunk)
2008-07-17
18:39
Simplify the b-tree logic by taking advantage of the fact that all b-trees are either intkey+leafdata or zerodata. (CVS 5431) (check-in: 29d3bfd7c9 user: drh tags: trunk)
17:34
Fix the test harness so that it does not try to link against sqlite3_mutex_alloc() if compiled with -DSQLITE_THREADSAFE=0. (CVS 5430) (check-in: 26a203d894 user: drh tags: trunk)
2008-07-16
19:30
Get rid of the debug output, and make pre-C99 compilers happy with sqlite3_os_init() on OS/2. (CVS 5429) (check-in: 08fe49f62f user: pweilbacher tags: trunk)
18:35
Make sure the auxiliary database connection is closed after every test. (CVS 5428) (check-in: e60bb6a179 user: drh tags: trunk)
18:20
More improvements to the 64-bit integer conversion testing in func.test. (CVS 5427) (check-in: 632bb3c734 user: drh tags: trunk)
18:17
Eliminate some unnecessary IO during a commit in full auto-vacuum mode. (CVS 5426) (check-in: 1d01c02ab0 user: danielk1977 tags: trunk)
18:04
Fix a test in func.test so that it works on machines that lack long double. (CVS 5425) (check-in: 8686959d42 user: drh tags: trunk)
14:44
Version 3.6.0 (CVS 5423) (check-in: 1841aee604 user: drh tags: trunk, release)
14:43
Allow the r-tree extension to be compiled as part of the amalgamation. (CVS 5424) (check-in: 5c26f63e47 user: drh tags: trunk)
14:02
Fix a bug in the error reporting of sqlite3_table_column_metadata(). (CVS 5422) (check-in: 7eba18c3a5 user: drh tags: trunk)
13:29
Update the "experimental" markings on C/C++ interfaces. (CVS 5421) (check-in: 96e95aa5e6 user: drh tags: trunk)
12:33
Fix a bug in the HOMEGROWN_RECURSIVE_MUTEX implementation for unix. Ticket #3224. (CVS 5420) (check-in: 9af2514c83 user: drh tags: trunk)
12:25
Activate testing of mem3 and mem5. Fix problems found. Tickets #3223 and #3225. Other test configuration changes. (CVS 5419) (check-in: a3a7820540 user: drh tags: trunk)
2008-07-15
22:59
Work around bugs in older versions of the OS/2 conversion library by trying to minimize calls to UniCreateUconvObject() etc. Use global uconv objects instead. (CVS 5418) (check-in: 80e4218306 user: pweilbacher tags: trunk)
21:32
Implement optimize() function. This merges all segments in the fts index into a single segment, including dropping delete cookies. (CVS 5417) (check-in: b22e187bc2 user: shess tags: trunk)
20:56
Update column naming rules. Ticket #3221. Rules for column naming are still subject to change (except for the AS rule which we promise to keep the same) but are more consistent now. And the rules are tested using a new test script. (CVS 5416) (check-in: 61f6e19755 user: drh tags: trunk)
14:47
Continuing work on improved test coverage. (CVS 5415) (check-in: c942a38e9a user: drh tags: trunk)
00:27
Increased test coverage. (CVS 5414) (check-in: 7cf91e08c0 user: drh tags: trunk)
2008-07-14
20:43
Delete all fts3 index data the table becomes empty. Previously, deleting all rows from an fts3 table would leave a bunch of index data describing the terms of the original data, plus deletions of those terms, perhaps with some amount of it merged together so the deletions knocked out the originals. Even when all rows were deleted that original data would hang out, though eventually it would mostly be overwritten if new data contained the same set of terms. (CVS 5413) (check-in: 8b872e4260 user: shess tags: trunk)
19:39
Add a new test script to exercise the deadlock avoidance code in the btree mutex logic. (CVS 5412) (check-in: 7d5e1c4375 user: drh tags: trunk)
18:38
Fix a typo in the documentation. Ticket #3219. (CVS 5411) (check-in: 3dc72a4617 user: drh tags: trunk)
15:37
Have the rtree extension publish two virtual table types: "rtree" and "rtree_i32". rtree_i32 stores coordinate data as 32-bit signed integers. rtree uses 32-bit real (floating point) values. (CVS 5410) (check-in: c060a9a6be user: danielk1977 tags: trunk)
15:11
Remove the malloc2.test script since it was designed for use in versions of SQLite that predate SQLite's ability to recover from out-of-memory errors automatically. Removing this script causes no reduction in test coverage and removes potential problems reported by ticket #3213. (CVS 5409) (check-in: 5bfc962533 user: drh tags: trunk)
12:52
Write sqlite3_initialize() calls in sqlite3_malloc() within SQLITE_OMIT_AUTOINIT. Ticket #3217. (CVS 5408) (check-in: 4961b0bbe8 user: drh tags: trunk)
12:38
Fix a bug introduced by check-in (5406). Ticket #3216. (CVS 5407) (check-in: 518a24aa3e user: drh tags: trunk)
12:30
Work around a bug in Borland C. Ticket #3216. (CVS 5406) (check-in: 2c24e50da6 user: drh tags: trunk)
12:27
Fix additional typos in comments within lemon. Ticket #3215. (CVS 5405) (check-in: 3721476995 user: drh tags: trunk)
12:21
Fix a bug in the #line generator of lemon. Ticket #3214. (CVS 5404) (check-in: dc697c2666 user: drh tags: trunk)
2008-07-13
03:55
Fix a typo in the documentation. (CVS 5403) (check-in: d618a88330 user: drh tags: trunk)
2008-07-12
20:35
Documentation updates. No changes to code. (CVS 5402) (check-in: 8be28aa0f2 user: drh tags: trunk)
15:55
Fix the test script --binarylog option. (CVS 5401) (check-in: 03e3cfc4cc user: danielk1977 tags: trunk)
14:52
Remove leftover debugging commands (breakpoint and btree_breakpoint) from test scripts. (CVS 5400) (check-in: dcb160249f user: drh tags: trunk)
2008-07-11
21:02
Detect and handles the case where a row is modified or deleted while it is being read during SELECT processing. (CVS 5399) (check-in: c80a5d0993 user: drh tags: trunk)
17:23
Tweak to the ".timer" command in the CLI to help it work better with GCC. (CVS 5398) (check-in: 1041deb6ae user: drh tags: trunk)
16:39
Added corruptA.test for testing malformed database headers. (CVS 5397) (check-in: 6dcce6b974 user: drh tags: trunk)
16:19
Improved NaN testing for highly optimized GCC on x86. Tickets #3202 and #3194. (CVS 5396) (check-in: a8a2fe45b2 user: drh tags: trunk)
16:15
Additional test coverage for the btree module. Remove the failsafe() macro and replace it with ALWAYS() and NEVER(). (CVS 5395) (check-in: d7e2f0d2d4 user: drh tags: trunk)
13:53
Fix minor problems in the test scripts and harness. (CVS 5394) (check-in: c9ffbfe343 user: drh tags: trunk)
03:38
Remove an extra zeroPage() call that was left in the previous check-in by mistake. Ticket #3209. (CVS 5393) (check-in: c45d578e44 user: drh tags: trunk)
03:34
Make the btree layer robust when faced with a corrupt database that contains duplicate entries on the freelist. Ticket #3209. (CVS 5392) (check-in: 30825f74d6 user: drh tags: trunk)
02:21
Additional test coverage in btree.c. Added corruption tests for the ptrmap pages of an autovacuumed database (corrupt8.test). (CVS 5391) (check-in: 620b472133 user: drh tags: trunk)
2008-07-10
20:41
Fix a bug in the mutex-testing logic introduced by check-in (5389). (CVS 5390) (check-in: 8fc462b6b7 user: drh tags: trunk)
18:13
Enhancements to the testing logic for malloc and mutex. Only permit one of MEMSYS3/5 to be compiled-in at a time. Omit the SQLITE_CONFIG_MEMSYS3/5 configuration options. (CVS 5389) (check-in: ed8b252500 user: drh tags: trunk)
17:59
Fix a crash in flattenSubquery(). (CVS 5388) (check-in: 9c8b97ef59 user: danielk1977 tags: trunk)
17:52
Add the SQLITE_OPEN_NOMUTEX flag. Used for opening connections that are not protected by an internal mutex. (CVS 5387) (check-in: 7e58b78712 user: danielk1977 tags: trunk)
00:32
Remove unused code. Test coverage enhancements. Modify the algorithm used to select column names for VIEWs of joins so that the constructed column names omits the underlying table names. (CVS 5386) (check-in: 636cd72329 user: drh tags: trunk)
2008-07-09
16:51
Test coverage improvements on printf. (CVS 5385) (check-in: 2d8f7bebf0 user: drh tags: trunk)
14:47
Add a test case to join.test. No code changes, no bugs found. (CVS 5384) (check-in: 417aa1580a user: danielk1977 tags: trunk)
13:28
Begin adding the failsafe() macro. (CVS 5383) (check-in: 8aae4fe7e7 user: drh tags: trunk)
11:49
Coverage testing for balance_quick() and balance_deeper(). (CVS 5382) (check-in: 491f8f9613 user: danielk1977 tags: trunk)
01:39
Additional test coverage in select.c and expr.c. (CVS 5381) (check-in: c6cf08477c user: drh tags: trunk)
2008-07-08
23:40
Remove obsolete code from select.c, including the "affinity" parameter to the sqlite3Select() module. (CVS 5380) (check-in: cbd3c1585b user: drh tags: trunk)
22:34
Handle sqlite3_temp_directory on OS/2. (CVS 5379) (check-in: 9da0b32c8c user: pweilbacher tags: trunk)
22:28
Added macros to convert between 32-bit ints and 64-bit ptrs to avoid compiler warnings. (CVS 5378) (check-in: 6cdb6841ff user: shane tags: trunk)
22:15
Added test_mutex.c (for testfixture) to input file for configure script. (CVS 5377) (check-in: bfca089dbf user: shane tags: trunk)
19:46
make OS/2 VFS functions static (CVS 5376) (check-in: b40d9496d0 user: pweilbacher tags: trunk)
19:45
Fix a bug in where.c introduced by check-in (5373). (CVS 5375) (check-in: 1ed98f9e61 user: drh tags: trunk)
19:34
Completely rework the sqlite3SetString() primitive so that it honors the SQLITE_LIMIT_LENGTH and avoids the use of strlen(). (CVS 5374) (check-in: 8ed04b1e26 user: drh tags: trunk)
18:05
Improved testing of the min/max optimization. (CVS 5373) (check-in: fa07c360b7 user: drh tags: trunk)
17:43
Prevent the flattening optimization from transforming a to a query with an illegal ORDER BY clause. (CVS 5372) (check-in: 6c2adade34 user: danielk1977 tags: trunk)
17:13
Test another corruption case in btree.c. And an IO error related scenario. (CVS 5371) (check-in: d74fbb81ca user: danielk1977 tags: trunk)
15:59
3 more coverage tests for btree.c. (CVS 5370) (check-in: 96df0a5fa4 user: danielk1977 tags: trunk)
15:26
Tests for SQLITE_LIMIT_LENGTH enforcement in sqlite3_bind. (CVS 5369) (check-in: c5e45dd664 user: drh tags: trunk)
14:52
Improved enforcement of the SQLITE_LIMIT_LENGTH limit. (CVS 5368) (check-in: ee93150878 user: drh tags: trunk)
14:31
Another corruption related test case. (CVS 5367) (check-in: f781a68127 user: danielk1977 tags: trunk)
14:17
Fix a compilation bug with SQLITE_OMIT_AUTOINIT. (CVS 5366) (check-in: 94c95fad56 user: danielk1977 tags: trunk)
12:07
Extra coverage tests for btree.c. (CVS 5365) (check-in: 08334f6030 user: danielk1977 tags: trunk)
12:02
Make sqlite3_shutdown() a no-op if the library is not initialized. (CVS 5364) (check-in: d725d3bbce user: danielk1977 tags: trunk)
10:19
Improve coverage of btree.c. (CVS 5363) (check-in: f6d9cb835b user: danielk1977 tags: trunk)
07:35
Prohibit the user from changing the temporary storage medium (pragma temp_store) while there is a read transaction open on the temporary database. Add tests to shared.test to cover a few more lines in btree.c. (CVS 5362) (check-in: 92e0cf9a08 user: danielk1977 tags: trunk)
03:04
change to use sqlite_uint64 for MSVC compile; (CVS 5361) (check-in: 369118ca2e user: shane tags: trunk)
02:24
Test coverage improvements in printf.c. (CVS 5360) (check-in: 6f2629c783 user: drh tags: trunk)
02:12
Add tests to verify correct behavior when mutex initialization fails. (CVS 5359) (check-in: 65875005ac user: drh tags: trunk)
00:06
Testing coverage enhancements. (CVS 5358) (check-in: fe80aa58a4 user: drh tags: trunk)
2008-07-07
19:52
Make check-in (5356) compatible with builds that do not enable memory management. Remove unnecessary code from main.c. Add out-of-memory tests for sqlite3_complete16(). (CVS 5357) (check-in: 28f8b6bfcc user: drh tags: trunk)
18:42
Fix an error introduced by (5346). The list could become corrupted when the database was truncated. (CVS 5356) (check-in: fbd320ed27 user: danielk1977 tags: trunk)
17:55
Fix a problem in shared_err.test preventing it from running properly and add a test to corrupt2.test to cover another corruption detection case. (CVS 5355) (check-in: 2dcd5287a0 user: danielk1977 tags: trunk)
17:53
When sqlite3_create_collation is called with an invalid encoding, return SQLITE_MISUSE. (CVS 5354) (check-in: eae4105d8a user: drh tags: trunk)
17:13
Fix an error checked in as part of (5350). (CVS 5353) (check-in: acfb2b41ae user: danielk1977 tags: trunk)
17:04
Another test case to test a specific kind of database corruption. (CVS 5352) (check-in: 38e04d6763 user: danielk1977 tags: trunk)
15:39
Add a test case to test corruption discovered as part of the ptrmapPut() routine. (CVS 5351) (check-in: cbb9536fc4 user: danielk1977 tags: trunk)
14:56
Test a couple of specific malloc() failures that were not tested before. (CVS 5350) (check-in: b96bcaa197 user: danielk1977 tags: trunk)
14:50
Additional test cases added on the sqlite3_create_function() interface. (CVS 5349) (check-in: 4e941f3d43 user: drh tags: trunk)
13:31
Add the vfs_unregister_all and vfs_reregister_all test commands. Use them to test the sqlite3_sleep() interface when no VFSes are registered. (CVS 5348) (check-in: 024d439299 user: drh tags: trunk)
12:44
Fix a comment in alter.c. No changes to code. (CVS 5347) (check-in: 3e558acd5e user: drh tags: trunk)
11:18
Make the Pager.pAll linked-list doubly linked when ENABLE_MEMORY_MANAGEMENT is defined. This is used to speed up sqlite3_release_memory(). (CVS 5346) (check-in: 71d699de36 user: danielk1977 tags: trunk)
2008-07-06
00:21
Fail to build if the -ffast-math option is specified in GCC. Ticket #3202. (CVS 5345) (check-in: aa5be9ee93 user: drh tags: trunk)
2008-07-04
17:52
Fix a bug in btree.c that caused it to report a database as being corrupt if it used one of the last 6 slots in a freelist trunk page. Continue to never use those last 6 slots so that databases from newer versions are still readable with older versions. (CVS 5344) (check-in: b8ff6b0a3d user: drh tags: trunk)
10:56
Fix for explicitly inserting a NULL value into the rowid column of a virtual table. (CVS 5343) (check-in: a7f3b43166 user: danielk1977 tags: trunk)
09:41
Remove redundant code from sqlite3GetTempReg(). (CVS 5342) (check-in: 212d05d38c user: danielk1977 tags: trunk)
09:15
Remove references to temporary registers from the compiler column-cache when such registers are released. Fix for #3201. (CVS 5341) (check-in: f099d6773a user: danielk1977 tags: trunk)
2008-07-03
19:53
fts3 functions for testing scripts. These are a first step towards being able to write test script which verify that fts3 is internally building indices in the expected way. Both new functions are only defined if fts3.c is compiled with SQLITE_TEST defined, as when building testfixture. These functions are not intended to be part of the exposed fts3 API.

dump_terms() generates a TEXT result of all the terms in the index (or a specified segment), sorted and joined with spaces.

dump_doclist() generates a TEXT representation of the doclist associated with a given term in the index (or a specified segment). (CVS 5340) (check-in: a48e3d95f7 user: shess tags: trunk)

2008-07-02
16:10
Fix a memory leak that can occur following a malloc failure. (CVS 5339) (check-in: cec4eba1a1 user: danielk1977 tags: trunk)
13:13
Call the authorizer callback the same number of times whether or not the query flattening occurs. (CVS 5338) (check-in: 8b88b64bb3 user: danielk1977 tags: trunk)
2008-07-01
18:26
Fix errors in in.test. Also add a few tests to selectB.test. (CVS 5337) (check-in: 8f9d1abb31 user: danielk1977 tags: trunk)
17:39
Fix another memory leak related to UNION ALL and sub-selects. (CVS 5336) (check-in: 56109b9a1f user: danielk1977 tags: trunk)
17:13
In lemon: coalesce identical destructors. (CVS 5335) (check-in: 3447086cd3 user: drh tags: trunk)
16:34
In Lemon, if a non-terminal has the same type as a terminal, then reuse the terminal type in the YYMINORTYPE union for the non-terminal. This gives better table compression. (CVS 5334) (check-in: 5c9cc22cd8 user: drh tags: trunk)
16:05
Fix a memory leak to do with the recent UNION ALL sub-select optimization. (CVS 5333) (check-in: 6ee71f4ddb user: danielk1977 tags: trunk)
14:39
Fix a problem with LIMIT and OFFSET clauses on the parent query when optimizing a UNION ALL sub-select. (CVS 5332) (check-in: a79786a961 user: danielk1977 tags: trunk)
14:09
Optimize sub-selects and views that use UNION ALL. This optimization isn't very well tested yet. (CVS 5331) (check-in: 3ef468e704 user: danielk1977 tags: trunk)
2008-06-30
18:12
Call the query flattener while processing the parent query. Previously, it was called while processing the sub-queries. (CVS 5330) (check-in: 6fcb3bffe2 user: danielk1977 tags: trunk)
15:09
Changes to loadext.test so that it works on osx as well as linux. (CVS 5329) (check-in: 189cd85413 user: danielk1977 tags: trunk)
10:16
Fix a malloc() failure related problem in os_unix.c. (CVS 5328) (check-in: ba8819a6f3 user: danielk1977 tags: trunk)
07:53
Add a couple of tests to see if the new compound select optimizations work when the compound select is hidden inside a view. (CVS 5327) (check-in: 1a711249c2 user: danielk1977 tags: trunk)
2008-06-28
15:33
Remove an assert() that was failing if there were any open incremental blob handles when a statement transaction was rolled back. (CVS 5326) (check-in: f66491ab2b user: danielk1977 tags: trunk)
11:29
Added reminder message to terminate SQL statements with a semicolon on shell startup. This closes #3099. (CVS 5325) (check-in: 0ab0b030de user: mihailim tags: trunk)
11:23
Rearrange some ENABLE_LOCKING_STYLE related code in os_unix.c. (CVS 5324) (check-in: f70d552bcd user: danielk1977 tags: trunk)
2008-06-27
18:59
Changed copy-paste error in comment. Fixes #3193. (CVS 5323) (check-in: 00eee53e86 user: mihailim tags: trunk)
14:51
Documentation tweaks. (CVS 5322) (check-in: fcbd39344c user: drh tags: trunk)
14:05
Fix mem3.c (broken by (5320)). (CVS 5321) (check-in: fef90a21ae user: danielk1977 tags: trunk)
13:27
Change mem5.c so that the minimum allocation size is runtime configurable. (CVS 5320) (check-in: 4f95f4cdf7 user: danielk1977 tags: trunk)
00:52
Remove unused variable. Fix a compiler warning. (CVS 5319) (check-in: 0b01ec5cf7 user: drh tags: trunk)
00:47
Tweaks to the IN expression code generator. Fix an an unrelated bug in the compound SELECT code generator. (CVS 5318) (check-in: a400578269 user: drh tags: trunk)
2008-06-26
21:45
Fix a bug introduced by check-in (5316). Add some VDBE comments to the IN expression code generator. (CVS 5317) (check-in: 1043a605e2 user: drh tags: trunk)
20:06
Avoid generating unnecessary SCopy instructions with the RHS of an IN operator is a list of values. (CVS 5316) (check-in: ec80474b1c user: drh tags: trunk)
18:16
Documentation updates in sqlite.h.in. No changes to code. (CVS 5315) (check-in: 168fd6f83e user: drh tags: trunk)
18:04
Fix handling of "x IN (...)" and "x NOT IN (...)" expressions when the set contains an SQL NULL value. (CVS 5314) (check-in: d45a97be71 user: danielk1977 tags: trunk)
15:04
Document the rules for when an sqlite3_blob object expires. (CVS 5313) (check-in: e1de2287fd user: drh tags: trunk)
10:54
Change the TEMP_STORE preprocessor symbol to SQLITE_TEMP_STORE. (CVS 5312) (check-in: 1e3b830802 user: danielk1977 tags: trunk)
10:41
Change the OS_XXX pre-processor symbols to SQLITE_OS_XXX. Symbols "OS_UNIX", "OS_WIN", "OS_WINCE", "OS_OS2" and "OS_OTHER" are now "SQLITE_OS_UNIX", "SQLITE_OS_WIN", "SQLITE_OS_WINCE", "SQLITE_OS_OS2" and "SQLITE_OS_OTHER", respectively. (CVS 5311) (check-in: cdd4cf4ce2 user: danielk1977 tags: trunk)
08:29
Fix a race condition in sqlite3_initialize(). (CVS 5310) (check-in: 70b2ed2afc user: danielk1977 tags: trunk)
02:53
Documentation updates. No changes to code. (CVS 5309) (check-in: cdc4e75a9f user: drh tags: trunk)
2008-06-25
17:54
Change the makefiles so that "make test" now runs the veryquick.test script instead of quick.test. Also modify veryquick.test to reuse the code in quick.test. veryquick.test is now the same as quick.test except that it omits all testing related to malloc and IO error simulation. (CVS 5308) (check-in: 8c65146ea0 user: danielk1977 tags: trunk)
17:19
Remove internal function sqlite3OsDefaultVfs(). The built-in VFS layers now register their VFS implementations by calling sqlite3_vfs_register() from within sqlite3_os_init(). (CVS 5307) (check-in: 8fa33b79d7 user: danielk1977 tags: trunk)
14:57
Have mem3.c and mem5.c grab a mutex when required. Include them both in the amalgamation again. (CVS 5306) (check-in: 9e3c95ff40 user: danielk1977 tags: trunk)
14:31
Test enhancements, especially to the new compound-SELECT merge logic. (CVS 5305) (check-in: edf7f51836 user: drh tags: trunk)
14:26
Fix the allocator in mem5.c so that it can be enabled at run time using the sqlite3_config() function. (CVS 5304) (check-in: 30ff6bb0b2 user: danielk1977 tags: trunk)
10:34
Fix up some details to do with the mem3.c (memsys3) allocator. If the library is compiled with SQLITE_ENABLE_MEMSYS3, the memsys3 allocator can be selected at runtime. (CVS 5303) (check-in: 9c6c8e01b3 user: danielk1977 tags: trunk)
08:02
Fixed typo to close #1731. (CVS 5302) (check-in: 9902be8d66 user: mihailim tags: trunk)
02:47
If a unique index covers any prefix of the ORDER BY clause then let it satisfy the ORDER BY clause. (CVS 5301) (check-in: e53403b6d7 user: drh tags: trunk)
02:22
Add new test script for compound select statements. (CVS 5300) (check-in: a193b1612e user: drh tags: trunk)
00:12
The compound-select merge optimization passes quick.test with no errors. (CVS 5299) (check-in: 8bbfa97837 user: drh tags: trunk)
2008-06-24
22:50
OS/2 fixes for pre-C99 compilers and a return code correction in os2Access(). (CVS 5298) (check-in: 3241a3bdd0 user: pweilbacher tags: trunk)
19:02
Modify the memory allocation system in mem3.c so to fit in with the new sqlite3_mem_methods scheme. At this point it only "mostly" works. (CVS 5297) (check-in: 3febef548f user: danielk1977 tags: trunk)
15:39
Add a few extra tests to select9.test. (CVS 5296) (check-in: 37b084fd7d user: danielk1977 tags: trunk)
12:46
Fix a problem in sqlite3ExprIsInteger() causing failures on select1-4.9.2. Other bug fixes in compound-merge. The compound-merge is still disabled in this check-in using "#if 0" due to additional bugs. (CVS 5295) (check-in: 95037e6dbf user: drh tags: trunk)
12:28
Remove a surplus "breakpoint" from select4.test. (CVS 5294) (check-in: 3117238ce9 user: drh tags: trunk)
11:21
Add start of new test file "select9.test". To test LIMIT, OFFSET and ORDER BY on compound SELECT statements. (CVS 5293) (check-in: 3a13e943d8 user: danielk1977 tags: trunk)
09:52
Fix a typo in the documentation for the sqlite3_bind_XXX() APIs. (CVS 5292) (check-in: 839457f128 user: danielk1977 tags: trunk)
00:32
The compound-select merge optimization is mostly working with this check-in. But there are still a few problems and so the optimization is disabled by and "#if 0". This check-in is to synchronize with the other changes happening in parallel. (CVS 5291) (check-in: e2ba324cbc user: drh tags: trunk)
2008-06-23
22:13
Update OS/2 mutex implementation: make methods static and don't use them by the old names any more. Held/Notheld should be debug only. (CVS 5290) (check-in: d92418ca50 user: pweilbacher tags: trunk)
21:26
Reverted previous checkin (on second thought, changing case could break badly written homegrown parsers such as sometimes encountered in embedded firmware.) (CVS 5289) (check-in: bf2e283d6f user: mihailim tags: trunk)
21:18
Changed HTML mode output to use lowercase tags making good on the XHTML output promise (the DTDs indeed mandate lowercase) and closing #450. (CVS 5288) (check-in: e07ed82caf user: mihailim tags: trunk)
20:55
Added ldconfig invocations for postinstall and postuninstall. Updated package URL and description to match the current website. (CVS 5287) (check-in: 66529ae3a2 user: mihailim tags: trunk)
18:49
Fix a bug in handling queries on the sqlite_master table with an empty (0 bytes in size) database file. (CVS 5286) (check-in: f8238770bf user: danielk1977 tags: trunk)
17:56
Additional tests added to capi3.test. (CVS 5285) (check-in: 1fdab2c65b user: drh tags: trunk)
17:44
Fix a failure to report a failed malloc() within sqlite3_create_module(). (CVS 5284) (check-in: 3ca7dab88e user: danielk1977 tags: trunk)
16:53
Fix a bug causing the pager-cache size to be reset to its default value whenever the database schema was reloaded. (CVS 5283) (check-in: 6dbe67da5c user: danielk1977 tags: trunk)
15:55
Run (a subset of) the rtree tests from quick.test. (CVS 5282) (check-in: e872c78c72 user: danielk1977 tags: trunk)
15:10
Handle a real system malloc() failure in mem1.c. (CVS 5281) (check-in: 006fd69bf5 user: danielk1977 tags: trunk)
14:40
Remove a non-ansi construct from mem1.c - an assert() statement before the variable declarations in a function. (CVS 5280) (check-in: 1de98da6b4 user: danielk1977 tags: trunk)
14:15
Avoid passing "void(*)(void)" as an argument to va_arg(). Codewarrior doesn't like it. (CVS 5279) (check-in: edae76d6ff user: danielk1977 tags: trunk)
14:03
Fix some codewarrior compilation problems. (CVS 5278) (check-in: e6ea8f87c1 user: danielk1977 tags: trunk)
13:57
Fix a compilation problem with SQLITE_OMIT_VIRTUAL_TABLE is defined. (CVS 5277) (check-in: 0421c09967 user: danielk1977 tags: trunk)
11:23
Fixed wrong type in sqlite3_create_collation16 declaration and definition (UTF-16 string had been passed as const char* instead of const void*) (CVS 5276) (check-in: 4215e3e5ae user: mihailim tags: trunk)
11:11
Correct comments above sqlite3_release_memory() and sqlite3_soft_heap_limit(). Ticket #3138. (CVS 5275) (check-in: 3240446853 user: danielk1977 tags: trunk)
09:50
Fix a bug whereby opening a connection to an existing shared-cache caused the cache-size (the value configured by "PRAGMA cache_size") to revert to its default value. (CVS 5274) (check-in: 0492aa8ed3 user: danielk1977 tags: trunk)
2008-06-22
16:35
Removed INVARIANTS sections in the experimental extension loading API that I should not have added in the first place. No changes to code. (CVS 5273) (check-in: e7610890b4 user: mihailim tags: trunk)
12:37
Fix a bug in the KEYINFO handling within select.c. Change the OP_Move opcode to take a count and to move multiple registers. Initial code for the compound-select merge optimization is added but is incomplete and is commented out. (CVS 5272) (check-in: 663a590e30 user: drh tags: trunk)
10:21
Readded erroneously deleted {END} tag and doublechecked {(F,U,X)*}-{END} tag balancing. Minor documentation cleanup. No changes to code. (CVS 5271) (check-in: b55590501b user: mihailim tags: trunk)
09:55
More documentation spellcheck and cleanup. No changes to code. (CVS 5270) (check-in: 3a88e3ded9 user: mihailim tags: trunk)
08:58
More documentation spellcheck and cleanup. No changes to code. (CVS 5269) (check-in: d96b9bcd10 user: mihailim tags: trunk)
2008-06-21
20:11
More documentation spellcheck and cleanup. No changes to code. (CVS 5268) (check-in: 65edead166 user: mihailim tags: trunk)
19:20
Prevent veryquick.test and all.test from running permutations.test directly. (CVS 5267) (check-in: ae9e4c0e4d user: danielk1977 tags: trunk)
19:10
Fix a bug in permutations.test causing the utf-16 tests to fail. (CVS 5266) (check-in: 710621f373 user: danielk1977 tags: trunk)
18:07
Add test file permutations.test, which runs various other test files with sqlite configured in various ways. This adds a few new tests and replaces test files autovacuum_crash.test, autovacuum_ioerr.test, exclusive3.test, jrnlmode2.test, jrnlmode3.test, jrnlmode4.test, mutex2 and onefile.test. (CVS 5265) (check-in: 0e9df3507b user: danielk1977 tags: trunk)
18:02
More documentation spellcheck and cleanup. No changes to code. (CVS 5264) (check-in: 9ae03f5629 user: mihailim tags: trunk)
16:47
More documentation spellcheck and cleanup. No changes to code. (CVS 5263) (check-in: 3edfc64f27 user: mihailim tags: trunk)
13:35
More documentation spellcheck and cleanup. No changes to code. (CVS 5262) (check-in: 47b7b05e55 user: mihailim tags: trunk)
12:15
Remove mutex2.test. It will be replaced later today by permutations.test. (CVS 5261) (check-in: 98a6a0a30f user: danielk1977 tags: trunk)
11:20
More documentation spellcheck and cleanup. No changes to code. (CVS 5260) (check-in: 8c457fb08b user: mihailim tags: trunk)
08:12
Fix a problem in the test suite that could cause a crash if using a pre-allocated block of memory for pages (the problem was that sqlite3_shutdown() was being called while there were still open database connections). (CVS 5259) (check-in: 3d413e9b46 user: danielk1977 tags: trunk)
06:16
Documentation spellcheck and cleanup. No changes to code. (CVS 5258) (check-in: 2904d26ba4 user: mihailim tags: trunk)
2008-06-20
18:13
Add new Compare and Jump codes to the virtual machine. Use them in the implementation of aggregate queries. (CVS 5257) (check-in: 083113652f user: drh tags: trunk)
17:51
Add a test to check that opening a second connection to a shared cache does not reset the cache size to its default value. (CVS 5256) (check-in: 3546e245aa user: danielk1977 tags: trunk)
15:24
Change the SRT_Subroutine mode into SRT_Coroutine. Use co-routines in the INSERT processing logic. (CVS 5255) (check-in: 6b9d92fc3f user: drh tags: trunk)
14:59
Add a mode to the sqlite3_test_control() interface to register hooks called at the beginning and end of "benign malloc failure" blocks. This allows malloc() failure testing to be done using public APIs only. (CVS 5254) (check-in: 56c8af1452 user: danielk1977 tags: trunk)
11:05
Move (almost all) malloc failure test logic from fault.c to test_malloc.c. (CVS 5253) (check-in: 4ae21e3419 user: danielk1977 tags: trunk)
00:03
Patch to memsubsys1.test in order to avoid a segfault in tableapi.test. (CVS 5252) (check-in: 62411a6e60 user: drh tags: trunk)
2008-06-19
18:39
Unset global TCL variables in the func.test script prior to use to avoid conflicts from other scripts. (CVS 5251) (check-in: 9b04e10f6c user: drh tags: trunk)
18:17
Move the malloc() failure simulation out of malloc.c and into a separate sqlite3_mem_methods interface. Still some related changes to come. (CVS 5250) (check-in: d22cd2a59f user: danielk1977 tags: trunk)
17:54
Documentation and test-script updates. (CVS 5249) (check-in: 68d4f79541 user: drh tags: trunk)
16:07
Fix some minor compile problems. (CVS 5248) (check-in: 7d38da3eea user: drh tags: trunk)
15:44
Additional test cases for loadable extensions. (CVS 5247) (check-in: 9d73a68c30 user: drh tags: trunk)
15:06
Add recent API additions to the loadable extension interface. (CVS 5246) (check-in: 12ba27d94e user: drh tags: trunk)
13:20
Check in the missing status.c source file. (CVS 5245) (check-in: 298113d4a7 user: drh tags: trunk)
08:51
Shuffle some of the mutex related documentation in sqlite.h.in to match the new sqlite3_mutex_methods based API. (CVS 5244) (check-in: 9cd7f8669a user: danielk1977 tags: trunk)
02:52
Add the sqlite3_next_stmt() interface, including test cases. (CVS 5243) (check-in: 565a530896 user: drh tags: trunk)
01:50
Fix a bug in the noop-mutex implementation. (CVS 5242) (check-in: eec9a54dc3 user: drh tags: trunk)
01:03
Bug fixes: Plug a memory leak introduced by the previous check-in. Get the amalgamation to the point where it will compile. (CVS 5241) (check-in: 005f8eaef5 user: drh tags: trunk)
00:16
Add some test logic to the new memory allocation subsystem. (Lots more needed.) The test suite is currently indicating memory leaks, though it is unclear if this is a true code problem or just an instrumentation problem. (CVS 5240) (check-in: cb1f11cd97 user: drh tags: trunk)
2008-06-18
21:08
fix OS/2 files to compile again (looking at Windows equivalents for guidance) (CVS 5239) (check-in: 8b14a220f2 user: pweilbacher tags: trunk)
18:57
Remove public APIs sqlite3_mutex_init() and sqlite3_mutex_end(). This commit only changes the code, documentation is not updated yet. (CVS 5238) (check-in: 42a2a8f493 user: danielk1977 tags: trunk)
18:12
Added support for scratch-memory lookaside allocations. Largely untested. Added calls to sqlite3_initialize() within malloc APIs. (CVS 5237) (check-in: 383a78601c user: drh tags: trunk)
18:08
Add a call to sqlite3_initialize() to sqlite3_mutex_alloc() (CVS 5236) (check-in: 8b23b71944 user: danielk1977 tags: trunk)
17:59
Fix a test case in mutex1.test that was failing when sqlite was compiled with SQLITE_THREADSAFE=0. (CVS 5235) (check-in: d1a87c3bcc user: danielk1977 tags: trunk)
17:09
Implement the 'CONFIG_SINGLETHREAD' and 'CONFIG_MULTITHREAD' configuration modes. (CVS 5234) (check-in: 5059644c4b user: danielk1977 tags: trunk)
15:34
Make sure aggregate functions can take any number of arguments up to the limit imposed by SQLITE_LIMIT_FUNCTION_ARGS. Ticket #3179. Modify the group_concat() function to take an unlimited number of arguments in order to facilitate testing this behavior. (CVS 5233) (check-in: 70c6739f4e user: drh tags: trunk)
13:47
Add documentation on the sqlite3_mutex_methods object. (CVS 5232) (check-in: c3c7bfc9db user: drh tags: trunk)
13:27
Added new configuration options to query the low-level malloc interface and to provide memory buffers for scratch, page-cache, and heap memory allocators. (CVS 5231) (check-in: e36201a352 user: drh tags: trunk)
09:45
Add some test infrastructure and cases for the new mutex api. (CVS 5230) (check-in: 262baee995 user: danielk1977 tags: trunk)
02:01
Remove mem3.c and mem5.c from the amalgamation for the time being, since they do not currently work. We will add them back later once they are fixed. (CVS 5229) (check-in: 39b4e1ff4e user: drh tags: trunk)
2008-06-17
18:57
Add the SQLITE_CONFIG_MUTEX symbol for use with sqlite3_config(). (CVS 5228) (check-in: af1835bb5f user: danielk1977 tags: trunk)
17:21
Change the mutex interface to be pluggable. This is an incremental checkin, there are still changes to come. (CVS 5227) (check-in: 597283637b user: danielk1977 tags: trunk)
15:12
Add internal interfaces: PageMalloc/PageFree and ScratchMalloc/ScratchFree. (CVS 5226) (check-in: 3e797d0ffe user: drh tags: trunk)
01:03
Do not allow a VACUUM to try to change the page_size on an encrypted database. (CVS 5225) (check-in: d49e502001 user: drh tags: trunk)
2008-06-16
20:51
Clean up obfuscated code in sqlite3_table_column_meta_data(). Be sure to invoke sqlite3_initialize() within sqlite3_mprintf(). (CVS 5224) (check-in: bb4edb5396 user: drh tags: trunk)
14:36
Fix a recently introduced resource leak in test file incrblob2.test (forgot to close a blob handle). (CVS 5223) (check-in: 88e1c6092e user: danielk1977 tags: trunk)
14:19
Fix a problem with the incremental blob API. sqlite3_blob_open() was always reading the data for the leftmost column of the row that the opened blob was stored in. If this column happened to contain a (the) large blob, sqlite would make a large memory allocation to read the data into. Which defeats the purpose of using incremental blobs. (CVS 5222) (check-in: 1b9478da2f user: danielk1977 tags: trunk)
06:31
Add a test to verify that IN(...) WHERE clause terms are not handled by virtual table implemetations. (CVS 5221) (check-in: 85483c8fb3 user: danielk1977 tags: trunk)
2008-06-15
02:51
Continuing work on the new memory allocation subsystem. Added routines for temporary memory allocation. Right the btree balance mechanism to only do one temporary allocation at a time. (CVS 5220) (check-in: 65fe7b62cf user: drh tags: trunk)
2008-06-14
16:56
Continuing progress on the new memory allocation subsystem. Added the sqlite3_mem_methods structure for defining new memory allocators at run-time. (CVS 5219) (check-in: f00305f4cd user: drh tags: trunk)
2008-06-13
18:24
Progress toward implementation of sqlite3_config() and a rework of the mutex and memory allocation subsystems. This is an incremental check-in. (CVS 5218) (check-in: a03c5af115 user: drh tags: trunk)
2008-06-12
18:17
Enhance zeroblob tests to use the sqlite3_memory_highwater in order to double-check that no large allocations are occurring. (CVS 5217) (check-in: e93079be83 user: drh tags: trunk)
18:05
Fix a typo in the date/time function tests. Add additional cases to the zeroblob tests to make sure sqlite3_bind_zeroblob() does not use excess memory. (CVS 5216) (check-in: c1006fb1c8 user: drh tags: trunk)
16:35
Convert the date/time functions to work with milliseconds since the julian epoch internally (instead of days since the epoch) in order to avoid problems with floating-point roundoff error. The interface is unchanged. (CVS 5215) (check-in: ed35f8a983 user: drh tags: trunk)
14:42
Add another test to incrblob2.test. This test failed to reveal any new bugs. (CVS 5214) (check-in: 20d8ea45af user: danielk1977 tags: trunk)
13:50
Avoid unnecessary float->text->float conversions in date/time processing. This change necessary to reproduce the problem reported by BareFoot. (CVS 5213) (check-in: 6ec4d7653b user: drh tags: trunk)
12:51
Add the ability to disable the "localtime" modifier in the date/time functions. This might be necessary for systems that do not support localtime_r() or localtime_s(). (CVS 5212) (check-in: 12f3ba11e7 user: drh tags: trunk)
12:40
Remove obsolete code from the test_osinst.c module. (CVS 5211) (check-in: 699cec66cd user: drh tags: trunk)
12:38
Copy the latest VFS changes into the OS/2 implementation. This is a blind edit - I have no way to compile or test OS/2. (CVS 5210) (check-in: b60508ccbc user: drh tags: trunk)
05:16
Added additional testcases for julianday calculations with midnight boundary for UTC time. (CVS 5209) (check-in: edd2cb00ae user: shane tags: trunk)
02:24
Added x86_64 version of hwtime function. Ticket #3156. (CVS 5208) (check-in: 0729f5c3d0 user: shane tags: trunk)
02:16
Removed all C++ style comments. Ticket #3172. (CVS 5207) (check-in: 59f72425eb user: shane tags: trunk)
00:07
Additional refinements to the new sqlite3_initialize() interface design. (CVS 5206) (check-in: 14a9b9453b user: drh tags: trunk)
2008-06-11
18:56
Adjust the error-message text in corrupt7.test. (CVS 5205) (check-in: 4a77ff5b58 user: drh tags: trunk)
18:27
Fix an error in the previous commit found by corrupt7.test. (CVS 5204) (check-in: afcfba0a8a user: danielk1977 tags: trunk)
18:15
Check that the offsets in the cell-offset array of a b-tree page are within range in sqlite3BtreeInit(). (CVS 5203) (check-in: 82f27e28ee user: danielk1977 tags: trunk)
18:01
Add a test case for the database corruption in the form of cell offsets out of range in an otherwise valid btree page. (CVS 5202) (check-in: c569a6cf66 user: drh tags: trunk)
11:00
Update utility program speedtest8inst1.c. (CVS 5201) (check-in: 98bdc7b44d user: danielk1977 tags: trunk)
2008-06-10
17:41
A completely new design for the sqlite3_initialize() and sqlite3_shutdown() interfaces. (CVS 5200) (check-in: 7dfcd73dc8 user: drh tags: trunk)
17:30
Invalidate sqlite3_blob* handles whenever an SQL statement is used to delete or modify the rows containing the open blob. Previously, modifying the table containing the open blob in any way invalidated the handle. This was too restrictive. (CVS 5199) (check-in: e339c91f87 user: danielk1977 tags: trunk)
2008-06-09
21:57
Initial attempt at defining the sqlite3_initialize() and sqlite3_shutdown() interfaces. (CVS 5198) (check-in: 220bfd1f5c user: drh tags: trunk)
19:27
Moved declaration of int nPage; to top of block to silence picky compilers (MSVC). (CVS 5197) (check-in: 120bffff74 user: shane tags: trunk)
15:51
Add test file incrblob2.test to test opening two blob handles on a single database blob. (CVS 5196) (check-in: c1d877feb5 user: danielk1977 tags: trunk)
2008-06-07
08:58
Change the signature of sqlite3PagerPagecount() so that it can return an error code. (CVS 5195) (check-in: e9f01c0186 user: danielk1977 tags: trunk)
05:19
Do not call xSync() from zeroJournalHdr() if the Pager.noSync flag is set (i.e. for temp files). (CVS 5194) (check-in: 9f5cbe2922 user: danielk1977 tags: trunk)
2008-06-06
16:14
Avoid attempting to delete the journal file of a temporary pager when closing the pager. It will be deleted automatically by the OS layer. (CVS 5193) (check-in: de8b87d65a user: danielk1977 tags: trunk)
15:49
Add the xGetLastError() member function to the sqlite3_vfs structure. It is neither called nor implemented at this point. (CVS 5192) (check-in: b8f1da52c3 user: danielk1977 tags: trunk)
15:04
Remove the subroutine return stack from the VDBE. Return addresses for subroutines are now stored in registers. (CVS 5191) (check-in: ef1956eebc user: drh tags: trunk)
11:11
Remove the xGetTempname() method from the vfs structure. Temp files are now opened by passing a NULL pointer as the filename to xOpen(). (CVS 5190) (check-in: 5173b3e816 user: danielk1977 tags: trunk)
2008-06-05
16:47
Reorganize some of the code that detects expression trees with a depth greater than EXPR_MAX_DEPTH so that they are detected earlier. This further reduces the opportunities for stack overflow. (CVS 5189) (check-in: 16d4c53a8e user: danielk1977 tags: trunk)
11:39
Modify the signatures of the sqlite3_vfs.xAccess and sqlite3_vfs.xCheckReservedLock functions. (CVS 5188) (check-in: 4226ac54be user: danielk1977 tags: trunk)
2008-06-04
15:09
Fix another typo in the rtree README file. (CVS 5187) (check-in: 9ab87b7b0d user: drh tags: trunk)
14:20
Fix a bug in the R-Tree documentation. (CVS 5186) (check-in: bb445a4b1f user: drh tags: trunk)
06:45
Add "pragma journal_size_limit", used to limit the space consumed by persistent journal files left in the file-system after a transaction has concluded in exclusive (or journal_mode=persist) mode. (CVS 5185) (check-in: 5c59f469d0 user: danielk1977 tags: trunk)
2008-06-03
07:34
Ensure that vacuum3.test closes all opened database connections. Fix for #3157. (CVS 5184) (check-in: 654e3b3de8 user: danielk1977 tags: trunk)
2008-06-02
13:00
Avoid passing a null pointer to sqlite3SetString in sqlite3RunParser. Fix for #3155. (CVS 5183) (check-in: 03b5e4581a user: danielk1977 tags: trunk)
2008-05-30
15:59
Fix typos in comments in vdbe.c. (CVS 5182) (check-in: 0613569424 user: shane tags: trunk)
15:35
Fix typos in comments in sqlite.h.in. (CVS 5181) (check-in: 47956f8ee9 user: shane tags: trunk)
14:58
Fix typos in comments in where.c. (CVS 5180) (check-in: 7cadb223cb user: drh tags: trunk)
2008-05-29
20:22
Consolidated inline assembly versions of "hwtime()" into hwtime.h. Provided MSVC version. Modified code for consistent use of hwtime(). Changed implementation to use sqlite_uint64 and sqlite_int64 instead of unsigned long long int and long long int for MSVC compiler support. (CVS 5179) (check-in: 19f5f571dd user: shane tags: trunk)
20:22
Consolidated inline assembly versions of "hwtime()" into hwtime.h. Provided MSVC version. Modified code for consistent use of hwtime(). Changed implementation to use sqlite_uint64 and sqlite_int64 instead of unsigned long long int and long long int for MSVC compiler support. (CVS 5178) (check-in: 9883b406ce user: shane tags: trunk)
05:23
Fix cosmetic issues spotted while working on ticket #3146 (CVS 5177) (check-in: 5f6eab65db user: drh tags: trunk)
03:54
Moved check and define for OS_WINCE from os_win.c to os.h (with the other OS_* defines). This allows OS_WINCE to be available for mutex_w32.c which is included earlier than os_win.c in the almagamation. (CVS 5176) (check-in: ad6a782e7c user: shane tags: trunk)
03:20
When initializing the sqlite_sequence entry for an AUTOINCREMENT table, make sure the value is an reasonable integer even if the initial insert failed. Ticket #3148. (CVS 5175) (check-in: 7e6847852d user: drh tags: trunk)
03:12
Fix an obsolete comment on the OP_Rowid opcode in the VDBE. (CVS 5174) (check-in: 0d55328e68 user: drh tags: trunk)
03:01
Omit declaration for functions that are only used by asserts if asserts aren't being used (NDEBUG). (CVS 5173) (check-in: 5afc445a0e user: shane tags: trunk)
02:57
Unused functions in testfixture.exe with certain defines. (CVS 5172) (check-in: 5e3ff1bb37 user: shane tags: trunk)
02:53
sqlite3OsDl*() APIs can be omitted if SQLITE_OMIT_LOAD_EXTENSION defined. (CVS 5171) (check-in: 7c51a97dc1 user: shane tags: trunk)
2008-05-28
18:01
Use %llx instead of %x for 64 bit values (this only affects a debugging statement). (CVS 5170) (check-in: c81efc97bc user: shane tags: trunk)
17:31
Update makefile.in so that makefiles generated by configure correctly copy in rtree source files to tsrc. (CVS 5169) (check-in: e015fa4458 user: shane tags: trunk)
16:00
Add another test case to vacuum3.test. (CVS 5168) (check-in: d895e85e2f user: danielk1977 tags: trunk)
14:08
Add a test to vacuum3.test to try to trick sqlite into using the wrong database page-size. Turns out there was no problem. (CVS 5167) (check-in: 281589a22f user: danielk1977 tags: trunk)
13:49
Allow the SQLITE_MAX_EXPR_DEPTH compile-time parameter to be set to 0 in order to disable expression depth checking. Ticket #3143. (CVS 5166) (check-in: 5ceef40e39 user: drh tags: trunk)
2008-05-27
20:17
In test3.c, use type 'u32' instead of 'unsigned int' to remove a warning/error from native x86_64 compile. (CVS 5165) (check-in: 02447e4e47 user: shane tags: trunk)
19:49
Updated to use localtime_s() in Windows build environments that support it. Ticket #3126. (CVS 5164) (check-in: 1518827e48 user: shane tags: trunk)
18:11
Explicitly typedef Pgno as 'u32' instead of 'unsigned int' to remove a few warnings/errors from native x86_64 compile. (CVS 5163) (check-in: b5fd8a239d user: shane tags: trunk)
00:06
Fix a bug in rtree that occurs when too many constraints are passed in on a query. (CVS 5162) (check-in: 54b84a3ddb user: drh tags: trunk)
2008-05-26
20:49
Use %w instead of %q when constructing shadow table names for rtree. (CVS 5161) (check-in: 78f4ba974d user: drh tags: trunk)
20:19
Update the amalgamation builder to incorporate the RTREE extension. (CVS 5160) (check-in: aa8eba3360 user: drh tags: trunk)
18:41
Import 'rtree' extension. (CVS 5159) (check-in: b104dcd6ad user: danielk1977 tags: trunk)
18:33
Fix the LIKE query optimizer so that it works with LIKE patterns ending in '@%' on NOCASE columns. Ticket #3139. (CVS 5158) (check-in: 3354874436 user: drh tags: trunk)
2008-05-23
17:21
Fixed various typos, spelling, grammar, and formatting mistakes. Ticket #3124. (CVS 5157) (check-in: 77d5a7aa1c user: shane tags: trunk)
14:49
Add a test case of preparing a statement with an nBytes parameter of 0 and where the previous byte of the string is zero. Ticket #3134. (CVS 5156) (check-in: 846a69acb5 user: drh tags: trunk)
14:32
Do not references zSql(-1) if nBytes==0 in sqlite3_prepare(). Ticket #3134. (CVS 5155) (check-in: 2d2c53e505 user: drh tags: trunk)
2008-05-22
13:56
Ensure that the db.mallocFailed flag is cleared before sqlite3_errmsg16() returns. (CVS 5154) (check-in: 0d47653a3c user: danielk1977 tags: trunk)
2008-05-21
15:38
Add the "volatile" keyword to variables in the Pager structure used for synchronization when memory management is enabled. (CVS 5153) (check-in: 25b9f3b9b2 user: drh tags: trunk)
15:01
Update sqlite3_open*() documentation on shared cache/filename matching relationship. Ticket #3132. (CVS 5152) (check-in: 235e384eca user: shane tags: trunk)
13:44
Fix the VACUUM command so that it does not modify the changes counts reported by sqlite3_changes() or sqlite3_total_changes(). Update documentation on sqlite3_changes() and sqlite3_total_changes() to state that "DELETE FROM table" records a change count of zero. (CVS 5151) (check-in: f5d61d7d98 user: drh tags: trunk)
2008-05-20
19:08
Fix OS/2 compilation for pre-C99 compilers. (CVS 5150) (check-in: de8e67182d user: pweilbacher tags: trunk)
18:43
Corrections to the documented behavior of sqlite3_last_insert_rowid(). (This change is unrelated to the problem reported by Bram de Jong. That comes next.) (CVS 5149) (check-in: 894085a59c user: drh tags: trunk)
15:44
Changes to the error handling policies of sqlite3_exec() to make them more consistent. Changes to the documentation on the error handling polices of sqlite3_exec() so that the documentation and code agree. (CVS 5148) (check-in: a0376c7907 user: drh tags: trunk)
14:01
Added more DST boundary checks for 2006 and 2007. Added check for suspect Windows DST implementations and warning about them. Ticket #2322. (CVS 5147) (check-in: 14226ff0a7 user: shane tags: trunk)
13:17
Updated test case for Windows to get around problems in ticket #3129. (CVS 5146) (check-in: 2faf69ca1d user: shane tags: trunk)
07:05
Do not attempt to write a master journal name to the (non-existent) journal file in "no-journal" mode. Fix for #3127. (CVS 5145) (check-in: ffd4e50ab9 user: danielk1977 tags: trunk)
2008-05-19
23:51
Improvements to API documentation. The sqlite3_exec() function now sets the result returned by sqlite3_errcode() when it receives an SQLITE_ABORT. (CVS 5144) (check-in: f1df19ca17 user: drh tags: trunk)
20:11
SQLite stores native file names and paths for the database file. Under Windows, (file normalize test.db) is expanded using UNIX type path separators which TCL recognizes interchangeably. However, this means that the path reported by sqlite3_shared_cache_report doesn't match which causes the test case to fail. Made minor change to test case to hopefully correct this on all platforms. (CVS 5143) (check-in: 5ef6170139 user: shane tags: trunk)
15:54
Fix sqlite3Atoi64 to return true if handed a number of all zeros. The failure to do this is benign as sqlite3Atoi64() is current used, but that might change in the future so it is good to go ahead and fix the function to return the correct result. (CVS 5142) (check-in: bc90787583 user: drh tags: trunk)
15:53
In the CLI, handle the compilation option -DOS_OS2=0 correctly. (CVS 5141) (check-in: 70793be63c user: drh tags: trunk)
15:37
Added test cases for corrupt 2-10 byte SerialTypeLen values. (CVS 5140) (check-in: 97ed2dd1dc user: shane tags: trunk)
2008-05-16
15:40
Disable the column cache when coding values that will be passed to the xFilter() method of a virtual table, in case the xFilter() implementation modifies the type or encoding of the value. Ticket #3121. (CVS 5139) (check-in: ecbc0d5ded user: danielk1977 tags: trunk)
15:24
Check that the encoding of values passed to sqlite3_bind_value() matches that of the database. (CVS 5138) (check-in: e94a288306 user: danielk1977 tags: trunk)
04:51
Add more version tags to files that lack them. Ticket #3120. (CVS 5137) (check-in: 81a8c70ed7 user: danielk1977 tags: trunk)
2008-05-15
19:43
Add version tag comments to source files that lack them. Tickets #3118 and #3119. (CVS 5136) (check-in: cf1fb2d850 user: drh tags: trunk)
17:48
Add the "page_count" pragma. Returns a single integer - the number of pages in the specified database file. (CVS 5135) (check-in: eb6985e69c user: danielk1977 tags: trunk)
11:08
If a pager is already in the error-state when CommitPhaseOne() is called, exit early. (CVS 5134) (check-in: 443cf1056c user: danielk1977 tags: trunk)
09:07
Fix a test script bug - not all database handles were being closed by ioerr5.test. (CVS 5133) (check-in: 47652e7b16 user: danielk1977 tags: trunk)
08:34
Do not write pages to disk to free memory after an IO error occurs. (CVS 5132) (check-in: 10ea8287d0 user: danielk1977 tags: trunk)
2008-05-14
16:18
Version 3.5.9 (CVS 5131) (check-in: b6129f4cc2 user: drh tags: trunk)
2008-05-13
19:41
On instruction from DRH, only do malloc failure tests for O/S ops on non-Windows systems. Better test fixture code will be introduced in 3.6.0 to add this coverage back in for Windows. (CVS 5130) (check-in: e4aab15004 user: shane tags: trunk)
16:41
Do a slow-path in GetVarint32() for varints that do not fit in 32 bits. This will only happen when trying to interpret a corrupt database file so speed is not critical. (CVS 5129) (check-in: 6a6b943736 user: drh tags: trunk)
13:27
Make the benign-fault setting recursive. Make all malloc failures during a rollback benign since there is nothing we can do about them. (CVS 5128) (check-in: a9d1d93135 user: drh tags: trunk)
00:58
Update the pager so that it does not try to commit a transaction if there have been no changes to the database. (CVS 5127) (check-in: f1ed368923 user: drh tags: trunk)
00:57
Update the autoconf makefile so that it includes -lpthread. (CVS 5126) (check-in: bd654ebdbe user: drh tags: trunk)
2008-05-12
16:56
check that DosWrite() was successful before trying again (CVS 5125) (check-in: 1ef6458bee user: pweilbacher tags: trunk)
16:17
Add "b" to fopen() in the hexio tests so that extra carriage returns are not inserted on win32 and OS/2. Test harness change only - no changes to the core SQLite code. (CVS 5124) (check-in: 68cbc6b45c user: drh tags: trunk)
12:41
Temporarily disable extended IO error code tests. (CVS 5123) (check-in: f204df3c31 user: danielk1977 tags: trunk)
12:39
Fix typo in documentation of sqlite3_step(). Ticket #3110. (CVS 5122) (check-in: 4d397f57c4 user: drh tags: trunk)
10:57
Make test function do_ioerr_test more robust. No code changes. (CVS 5121) (check-in: f532692ec9 user: danielk1977 tags: trunk)
07:42
Modify logging code in test_osinst.c. No changes to production code. (CVS 5120) (check-in: 85c54a16c7 user: danielk1977 tags: trunk)
00:32
Use short timeout for locking operations by default to be more in sync with the other platforms. (CVS 5119) (check-in: d00a015dbc user: pweilbacher tags: trunk)
00:29
Correctly test DosWrite() for failure return code (CVS 5118) (check-in: 3eff0ef2cf user: pweilbacher tags: trunk)
2008-05-11
17:22
Use memcpy() instead of casting to copy the content of a long long int into a double. Ticket #3101. (CVS 5117) (check-in: 88e12caca9 user: drh tags: trunk)
11:07
New test cases to verify that SQLite handles bound NaN, +Inf, and -Inf floating point values correctly. Improvements to the text->real conversion routine so that it generates +Inf and -Inf at appropriate times. Tickets #3101 and #3060. (CVS 5116) (check-in: 3ff2f1cdc9 user: drh tags: trunk)
2008-05-09
19:38
Fix leaked filename in case DosOpen() fails. (CVS 5115) (check-in: ecc6c73906 user: pweilbacher tags: trunk)
18:03
Re-enable tests that were accidentally disabled by (5112). (CVS 5114) (check-in: bf45a3ab7a user: danielk1977 tags: trunk)
18:03
Reformulate the constants for the minimum and maximum 64-bit signed integer to work better with some compilers. Ticket #3105. (CVS 5113) (check-in: 18b1ee10b8 user: drh tags: trunk)
16:57
Fix a problem with recovering from an IO error in exclusive-locking mode. (CVS 5112) (check-in: 7a44fb965b user: danielk1977 tags: trunk)
14:39
Do not clear the error code or error message in sqlite3_clear_bindings(). Ticket #3063. (CVS 5111) (check-in: 069f456010 user: drh tags: trunk)
14:17
Fix the ALTER TABLE RENAME algorithm so that it is not confused by comments in the CREATE TABLE statement. Ticket #3102. (CVS 5110) (check-in: ab18b4e759 user: drh tags: trunk)
13:47
Back out check-in (5108). The original isnan() implementation is preferred. Ticket #3101 and #3060. (CVS 5109) (check-in: 2349ae75df user: drh tags: trunk)
03:07
Change the implementation of sqlite3IsNaN() so that it works even if compiled using -ffinite-math-only. Tickets #3101 and #3060. (CVS 5108) (check-in: 19ee2b3324 user: drh tags: trunk)
2008-05-08
16:51
Fix recently introduced bug in tester.tcl. (CVS 5107) (check-in: 4b573d4e7d user: danielk1977 tags: trunk)
15:58
Add extra instrumentation to test_osinst.c. Also the --binarylog option to the test scripts. (CVS 5106) (check-in: 8a99efc07f user: danielk1977 tags: trunk)
15:18
Use a 6-byte rather than an 8-byte encoding for integers between 17592186044416 and 140737488355327. Ticket #3100. (CVS 5105) (check-in: 0a4d26dede user: drh tags: trunk)
13:54
Increment the version number. (CVS 5104) (check-in: ed06d90d8c user: drh tags: trunk)
01:11
Fix the new ioerr4.test so that it plays well with others. (CVS 5103) (check-in: 75df2d3d50 user: drh tags: trunk)
2008-05-07
19:11
Fix some problems with multi-file transactions in persistent journal mode. (CVS 5102) (check-in: e98a7f87f9 user: danielk1977 tags: trunk)
18:59
Added test cases for corrupt SerialTypeLen header values, and additional check to improve detection of corrupt values. (CVS 5101) (check-in: 530c636061 user: shane tags: trunk)
15:44
Modify the header comment in jrnlmode2.test. No code or test changes. (CVS 5100) (check-in: ed728104c8 user: danielk1977 tags: trunk)
15:42
Change the header comment in jrnlmode4.test. No changes to any code or tests. (CVS 5099) (check-in: 0bf656a401 user: danielk1977 tags: trunk)
14:49
If an error occurs within xAccess(), it should return -1. Remove an assert() that was preventing it from doing so. (CVS 5098) (check-in: 3fbcef46f7 user: danielk1977 tags: trunk)
13:28
Add a new I/O error test: ioerr4. (CVS 5097) (check-in: c3ab1a7e2e user: drh tags: trunk)
12:45
Fix a null-pointer dereference that can occur following a DISKFULL error while running VACUUM. (CVS 5096) (check-in: 438d77a762 user: drh tags: trunk)
12:29
Omit mutex variables in the pager when threadsafe is disabled. (CVS 5095) (check-in: d15d0bbab0 user: drh tags: trunk)
07:13
Fix a problem causing the database to be truncated to the wrong size after an incremental-vacuum is performed on a database in full auto-vacuum mode. (CVS 5094) (check-in: ed98df24a3 user: danielk1977 tags: trunk)
02:42
Only look for config.h if the autoconf-based build is being used, and don't inline it into the amalgamation. (CVS 5093) (check-in: 7df9ef2c82 user: mlcreech tags: trunk)
2008-05-06
22:22
Fix most remaining testsuite failures on OS/2 by switching to exclusive locks that we meant to use from the start. (CVS 5092) (check-in: 5f682c9a68 user: pweilbacher tags: trunk)
22:15
The pathToDel element of the os2File structure should be in the local codepage instead of UTF-8 to make DosForceDelete() work. (CVS 5091) (check-in: 76028b5e5d user: pweilbacher tags: trunk)
21:42
Remove delOnClose flag from os2File structure, use pathToDel==NULL for the same check. (CVS 5090) (check-in: 02e123bb9b user: pweilbacher tags: trunk)
18:13
Fix a bug whereby the database file was not always being extended to its original size when rolling back an incremental-vacuum operation. (CVS 5089) (check-in: 4a1ae9d032 user: danielk1977 tags: trunk)
02:28
Add defines for _FILE_OFFSET_BITS and _LARGE_FILES if needed for large file support. Ticket #3094. (CVS 5088) (check-in: 729e2f06ba user: mlcreech tags: trunk)
2008-05-05
22:52
Add AC_SYS_LARGEFILE to ensure large file support, update autotools-related files. Ticket #3094. (CVS 5087) (check-in: 2b1e455c46 user: mlcreech tags: trunk)
17:14
Fix recently introduced test script error causing a failure in incrblob_err.test. (CVS 5086) (check-in: 5e7c8ebd21 user: danielk1977 tags: trunk)
16:56
Better error messages when trying to open a large file using a version of SQLite that omits large file support. Tickets #3096 and #3094. (CVS 5085) (check-in: bdd89cd231 user: drh tags: trunk)
16:27
Do not segfault in the CLI if sqlite3_open() fails to create a database connection object. Ticket #3096. (CVS 5084) (check-in: 0bec7ebf41 user: drh tags: trunk)
16:23
If an IO error occurs while locking the database and checking the cache validity, unlock the database before returning. Ticket #3030. (CVS 5083) (check-in: 4ad1809192 user: danielk1977 tags: trunk)
15:26
Avoid leaking page references after an IO error is encountered. (CVS 5082) (check-in: 198c395b01 user: danielk1977 tags: trunk)
13:23
Fix a couple of minor problems with transactions in virtual tables. (CVS 5081) (check-in: 2275fc6ee0 user: drh tags: trunk)
12:09
Avoid leaking page references when database corruption is encountered. (CVS 5080) (check-in: 270d47e8d0 user: danielk1977 tags: trunk)
11:33
Fix to test code to build when ENABLE_IOTRACE is not defined. (CVS 5079) (check-in: 8fa2bda4c5 user: danielk1977 tags: trunk)
2008-05-02
14:23
Make sure that when a connection is blocking on a RESERVED lock that it continues after the lock is released. Ticket #3093. (CVS 5078) (check-in: 3dc334aa4a user: drh tags: trunk)
14:08
Add a test case for ticket #3093. (CVS 5077) (check-in: 288a7655c9 user: drh tags: trunk)
02:00
Add another test case to verify that ticket #3092 has been fixed. (CVS 5076) (check-in: 1906d2dadc user: drh tags: trunk)
2008-05-01
18:01
Fix a problem with journal files being created unnecessarily when doing an atomic write in exclusive access locking mode. Fix a test script problem. (CVS 5075) (check-in: 70e708660f user: drh tags: trunk)
17:16
Fix more compiler warnings. (CVS 5074) (check-in: 59568844e7 user: drh tags: trunk)
17:03
Fix harmless compiler warnings. (CVS 5073) (check-in: 227a6f67c2 user: drh tags: trunk)
02:47
Test versions of getVarint functions. The updates essentially utilize loop unrolling and some shifting/anding tricks to minimize the number of logical operations required. (CVS 5072) (check-in: 682dc24dbe user: shane tags: trunk)
2008-04-30
16:38
Add comment to speculate when setting journal_mode=OFF on VACUUM does not help performance. No changes to code. (CVS 5071) (check-in: 9c8b4babb2 user: drh tags: trunk)
15:55
Improved option handling in speedtest8.c. Added -quiet and -priority options. Added reporting of total user and system time. (CVS 5070) (check-in: aa59974ec1 user: shane tags: trunk)
08:56
Fix test for buffer overrun in unixGettempname(). Fix for #3091. (CVS 5069) (check-in: fc0ca647bd user: danielk1977 tags: trunk)
2008-04-29
15:38
Zero the per-pager temporary space allocation to avoid warnings from valgrind. (CVS 5068) (check-in: f854ae576e user: drh tags: trunk)
15:22
Fix a potential buffer overrun in sqlite3_mprintf() when a non-terminated string is passed to a "%s" format with a precision specifying the number of bytes to copy. (CVS 5067) (check-in: 1f5b18419b user: drh tags: trunk)
00:15
Always convert IEEE NaN into NULL. Ticket #3060. Add test cases to verify that this is happening. (CVS 5066) (check-in: 9b07e59e51 user: drh tags: trunk)
2008-04-28
20:35
Allow SQLITE_MAX_COLUMN to be set to zero at compile-time in order to disable the checks. Also SQLITE_MAX_EXPR_DEPTH. Ticket #3069. (CVS 5065) (check-in: e6f71abb22 user: drh tags: trunk)
20:27
Add test cases to verify that multiple virtual tables can be updated within a trigger and that xSync, xCommit, and xRollback are never called except following xBegin or xCreate. Ticket #3083. (CVS 5064) (check-in: 76175199ac user: drh tags: trunk)
18:46
Make sure that transactions are started on all virtual tables that changes in a single statement, not just the first. Ticket #3083. Need to add test cases. (CVS 5063) (check-in: 133b7ee50e user: drh tags: trunk)
17:41
Modified Varint32 functions to disable code for single-byte handling as it is already handled by their respective macro forms. (CVS 5062) (check-in: be10f5dda6 user: shane tags: trunk)
17:12
Add tests to create and drop a virtual table during a recursive call from an application-defined function. Ticket #3080. (CVS 5061) (check-in: d4d6eff353 user: drh tags: trunk)
16:55
Change the implementation of the NaN recognition to be more cross-platform. Ticket #3089. (CVS 5060) (check-in: 07fd9a8c6c user: drh tags: trunk)
16:19
Fix a shared-cache mode problem triggered when sqlite3_open16() was used to open the second or subsequent connections to a utf-8 database. (CVS 5059) (check-in: 20946bf6dd user: danielk1977 tags: trunk)
15:23
Work around a NaN bug in some versions of Tcl. (CVS 5058) (check-in: 7bf8213ce9 user: drh tags: trunk)
13:02
Changes to test scripts to accommodate different architectures and different versions of Tcl. (CVS 5057) (check-in: 8eb2c07c52 user: drh tags: trunk)
12:54
Restore the #include of stdint.h removed in (5051). (CVS 5056) (check-in: e96e8b9b41 user: drh tags: trunk)
2008-04-27
22:48
Delete requirement F12764 as it has never been implemented and the same effect can be easily achieved by other means. Ticket #3085. (CVS 5055) (check-in: fadeed998e user: drh tags: trunk)
22:29
Fix the documentation to agree with long-standing behavior for the sqlite3_bind_parameter_name() interface on an ?NNN parameter. Ticket #2975. (CVS 5054) (check-in: df9991d5bb user: drh tags: trunk)
22:19
Allow multiple occurrances of %include in lemon input files. Ticket #3001. (CVS 5053) (check-in: f22fa11bde user: drh tags: trunk)
18:45
Fix the lemon parser generator so that it works again with the "error" symbol. Ticket #3079 (CVS 5052) (check-in: 20ed749266 user: drh tags: trunk)
18:40
Remove all references to sqlite3_intptr_t. (CVS 5051) (check-in: 6a94d19747 user: drh tags: trunk)
2008-04-26
13:39
Use "(void)" function arguments in declarations instead of "()". Both are legal but some pedantic compilers complain about the latter. Ticket #3086. (CVS 5050) (check-in: a4149ca317 user: drh tags: trunk)
2008-04-25
12:25
Clarify some comments. No changes to code. (CVS 5049) (check-in: 7f80539225 user: drh tags: trunk)
12:10
Add test cases to prove that ticket #3082 has been fixed. (CVS 5048) (check-in: 776e702410 user: drh tags: trunk)
00:08
Candidate fix for ticket #3082. Test cases needed. (CVS 5047) (check-in: f6313311dd user: drh tags: trunk)
2008-04-24
22:57
Remove two more unused files. (CVS 5046) (check-in: a400faf519 user: drh tags: trunk)
19:15
Consolidated varint macro usage from btreeInt.h, vdbe.c, and vdbeaux.c into sqliteInt.h and made their use consistent. Slight improvements to varint32 macros. (CVS 5045) (check-in: 0d04ccd978 user: shane tags: trunk)
12:38
Fix a problem with the test scripts caused by not cleaning up the global tcl namespace. (CVS 5044) (check-in: 4404923958 user: danielk1977 tags: trunk)
12:37
Fix an assert() failure that can occur if "journal_mode=off" is used in a build with the atomic-write optimization enabled. (CVS 5043) (check-in: 709d17b19d user: danielk1977 tags: trunk)
12:36
Fix a crash that can follow a malloc() failure in malloc7.test. (CVS 5042) (check-in: 85eedad186 user: danielk1977 tags: trunk)
09:49
Ensure that it is not possible to open either virtual table or view columns using the blob API. Ticket #3078. (CVS 5041) (check-in: 6039328fe0 user: danielk1977 tags: trunk)
08:56
Minor change to comment on sqlite3_blob_read(). No code changes. Ticket #3072. (CVS 5040) (check-in: adb4bc5a7d user: danielk1977 tags: trunk)
08:36
Remove redundant assert() statement from vdbeaux.c. Ticket #3065. (CVS 5039) (check-in: 3cba116607 user: danielk1977 tags: trunk)
08:31
Add version comment to vdbeaux.c. No code changes. Ticket #3066. (CVS 5038) (check-in: d667add44b user: danielk1977 tags: trunk)
2008-04-23
23:03
We should better not pass open file handles to child processes, so add respective flag for DosOpen(). (CVS 5037) (check-in: 1518e8542c user: pweilbacher tags: trunk)
2008-04-22
17:15
Always sync the journal file after zeroing out the header. (CVS 5036) (check-in: 5896ae3d68 user: drh tags: trunk)
14:31
Avoid non-contiguous writes when creating a journal header. (CVS 5035) (check-in: dfacddbb50 user: danielk1977 tags: trunk)
2008-04-19
20:53
Add some tests for journal_mode=off. Need to come up with a way of handling rollback attempts when there is no journal. (CVS 5034) (check-in: e29b870ed0 user: drh tags: trunk)
20:34
Continuing work on journal_mode. Journal_mode=persist now appears to be working, though additional testing would be welcomed. (CVS 5033) (check-in: 277e4099ce user: drh tags: trunk)
14:40
Comment and variable-name cleanup in where.c. Add testcase() macros to insure adequate test coverage of table-driven logic. (CVS 5032) (check-in: adcef73b39 user: drh tags: trunk)
14:06
Fix a typo in the documentation on sqlite3_open_v2(). (CVS 5031) (check-in: f7b62daa9f user: drh tags: trunk)
2008-04-18
11:31
Remove unused code from OP_IdxLt and OP_IdxGE. (CVS 5030) (check-in: df02175ec0 user: danielk1977 tags: trunk)
10:25
Combine cases 3 and 4 in where.c, since case 4 is now a special case of case 3. (CVS 5029) (check-in: 9a97681924 user: danielk1977 tags: trunk)
09:01
Allow OP_MoveGt and similar to use an array of registers instead of a serialized record. Modify one type of index range scan to use this. (CVS 5028) (check-in: c448f15aa5 user: danielk1977 tags: trunk)
2008-04-17
20:59
Continuing progress on the journal_mode pragma. It still does not work. (CVS 5027) (check-in: 4a72a7bb9c user: drh tags: trunk)
19:14
Additional work on ticket #3015. The previous fix (check-in (4919)) did not appear to work in all cases and it disabled indexing in some places where it should not have. New test cases added to help insure that the current fix is better. (CVS 5026) (check-in: 0d2e258e1a user: drh tags: trunk)
17:03
Fix a typo in the documentation for sqlite3_bind_text. Ticket #3056. (CVS 5025) (check-in: 79571e2c74 user: drh tags: trunk)
17:02
Add the journal_mode pragma. This is currently just syntax - it is not operational. (CVS 5024) (check-in: 8eaa0c7102 user: drh tags: trunk)
14:16
In exclusive locking mode, commit by zeroing the first 28 bytes of the journal file, not by truncating the journal. Overwriting is much faster than truncating. (CVS 5023) (check-in: 8efb7f4ffb user: drh tags: trunk)
2008-04-16
23:50
Add the -overwrite option to speedtest8.c. (CVS 5022) (check-in: 6765ea52b3 user: drh tags: trunk)
23:39
Clear a global variable in the incrblob.test script. Ticket #3062. (CVS 5021) (check-in: 1c19854ae7 user: drh tags: trunk)
16:11
Fix the bind.test test script so that the tests for zeros embedded in strings work correctly for UTF-16 encoded databases. (CVS 5020) (check-in: 7c094c80b2 user: drh tags: trunk)
15:39
Version 3.5.8 (CVS 5019) (check-in: 6a2e3eb26a user: drh tags: trunk)
12:58
Add tests to verify that strings may use embedded zero characters. Ticket #3056. (CVS 5018) (check-in: bb0f9e92e4 user: drh tags: trunk)
12:57
Add speed-test scripts that also show EXPLAIN output. (CVS 5017) (check-in: d11f5dafda user: drh tags: trunk)
00:49
Make sure the database connection mutex is held before calling sqlite3SafetyOn() or sqlite3SafetyOff(). Ticket #3059. (CVS 5016) (check-in: d35dea059e user: drh tags: trunk)
00:28
Back out the zero-terminator optimization introduced in check-in (4915). Ticket #3056. (CVS 5015) (check-in: cce8deae2d user: drh tags: trunk)
2008-04-15
18:50
Support UTF-8 filenames on OS/2 by converting them to and from the local codepage. Ticket 3052. (CVS 5014) (check-in: cafa8ac268 user: pweilbacher tags: trunk)
14:37
Increment the version number. (CVS 5013) (check-in: a12fa0252c user: drh tags: trunk)
14:36
Do not attempt to omit unused columns of a view in an instead-of trigger since sometimes those columns can be used in ways that we do not expect. Ticket #3055. (CVS 5012) (check-in: f5fc42e96d user: drh tags: trunk)
12:14
Fix a code generator bug caused by the new CSE optimization. Add test cases to prevent a recurrence. (CVS 5011) (check-in: d04246a463 user: drh tags: trunk)
04:02
Fix a bug in the RTRIM collating sequence discovered while working on condition/decision branch coverage. Increase test coverage of the date/time functions. (CVS 5010) (check-in: c5435f71ef user: drh tags: trunk)
02:36
Add out-of-range tests on the first parameter to sqlite3_limit(). Add the ability to record tests that have been skipped due to configuration limitations. (CVS 5009) (check-in: b7ffc6f0f3 user: drh tags: trunk)
00:02
Add a test case to cover the bug fixed in check-in (5007). (CVS 5008) (check-in: 1863e87c40 user: drh tags: trunk)
2008-04-14
23:13
Do not attempt to write to temporary database files that have never been opened. (CVS 5007) (check-in: 7bb9a4165a user: drh tags: trunk)
22:57
Fix #3053: bashism (CVS 5006) (check-in: 7217cecee7 user: mlcreech tags: trunk)
17:42
Fix alignment issue in instrumentation code. (CVS 5005) (check-in: c9e0d625bc user: danielk1977 tags: trunk)
16:37
Do not set the pager to persistent error state if a call to OsAccess() fails. (CVS 5004) (check-in: aa16eb5729 user: danielk1977 tags: trunk)
15:27
Make sure the page size in crash6.test does not exceed the maximum configured page size. (CVS 5003) (check-in: 36b6610b25 user: drh tags: trunk)
15:15
Free Mem.z buffers when a vdbe statement is reset. (CVS 5002) (check-in: 0bedbe092a user: danielk1977 tags: trunk)
14:34
Cleanup some #ifdefs to make their meaning clearly. No logical changes. (CVS 5001) (check-in: b8bc5f3a83 user: drh tags: trunk)
13:42
Disable auto_vacuum during the vacuum3 test. (CVS 5000) (check-in: e2e1ca818c user: drh tags: trunk)
01:00
Get the SQLITE_SECURE_DELETE compile-time option working again. Ticket #3050. (CVS 4999) (check-in: 40ba51fd4c user: drh tags: trunk)
2008-04-13
23:13
Fix build errors in test_osinst (CVS 4998) (check-in: f047399799 user: mlcreech tags: trunk)
2008-04-12
16:03
Modify speedtest8.c so that it can use the logging from test_osinst.c when HAVE_OSINST is defined. (CVS 4997) (check-in: 7622d74ad6 user: danielk1977 tags: trunk)
13:06
Remove all instances of sprintf() from the FTS modules. Ticket #3049. (CVS 4996) (check-in: 062bf5d44d user: drh tags: trunk)
11:30
Modify test_osinst.c so that it only uses public interfaces. (CVS 4995) (check-in: 3866a5da2b user: danielk1977 tags: trunk)
10:53
Add a logfile option to test_osinst.c. (CVS 4994) (check-in: f97d894582 user: danielk1977 tags: trunk)
2008-04-11
21:20
Add the speedtest8inst1.c program for running speed tests with an instrumented VFS. (CVS 4993) (check-in: baa8056c67 user: drh tags: trunk)
19:37
Faster implementation of hexToInt that uses not branches. Ticket #3047. (CVS 4992) (check-in: a70e958756 user: drh tags: trunk)
19:18
Avoid the use of uninitialized variables in sqlite3GenerateRowIndexDelete. Ticket #3048. (CVS 4991) (check-in: a93b7a344a user: drh tags: trunk)
17:15
Remove a recently added assert() that is failing with certain compilers on 32-bit platforms. Ticket #3043. (CVS 4990) (check-in: 03c0279d7b user: danielk1977 tags: trunk)
17:11
Remove entries from the sqlite_stat1 table whenever an index is dropped. Related to #3033. (CVS 4989) (check-in: 349aab42c7 user: danielk1977 tags: trunk)
15:36
Additional reductions in the use of memset(). (CVS 4988) (check-in: 38746c5438 user: drh tags: trunk)
14:56
Speed improvements by removing unnecessary memset() operations. Also: do not resize the opcode array of a virtual machine to its minimum size after code generation completes. The extra resize merely uses time. (CVS 4987) (check-in: 2589955507 user: drh tags: trunk)
2008-04-10
18:44
Enhancements to the change counter tests. Ticket #3013. (CVS 4986) (check-in: 1aaed6a469 user: drh tags: trunk)
18:35
Correctly handle virtual tables that are created and dropped all within a single transaction. Ticket #2994. (CVS 4985) (check-in: 0acb1b428d user: drh tags: trunk)
17:27
Add the --ostrace and --ossummary options to tester.tcl. To log calls the vfs layer from within test scripts. (CVS 4984) (check-in: e1322415d0 user: danielk1977 tags: trunk)
17:14
Enhanced testing and documentation of sqlite3_result_error_code(). Ticket #2940. (CVS 4983) (check-in: 5be56dbe87 user: drh tags: trunk)
16:47
Disable nuisance warnings on borland compilers. ticket #2936. (CVS 4982) (check-in: 1e094ecfd7 user: drh tags: trunk)
16:42
Make sure check-in (4976) also fixes ticket #2935. (CVS 4981) (check-in: e3f798b1ca user: drh tags: trunk)
16:01
Give file scope to the sqlite3Apis constant. Ticket #3024. (CVS 4980) (check-in: 30c5086068 user: drh tags: trunk)
15:12
Verify that a RAISE(ROLLBACK,...) works like RAISE(FAIL,...) when not inside a transaction. Ticket #3035. (CVS 4979) (check-in: 87dc82d043 user: drh tags: trunk)
14:57
Make sure all memory allocations are 8-byte aligned. Ticket #3040. Note that the mem3.c memory allocator returns 4-byte aligned memory allocations. But as mem3.c is intended for use in 32-bit embedded systems, we are not going to change that. (CVS 4978) (check-in: d11e8e307a user: drh tags: trunk)
14:51
Add source file test_osinst.c. A wrapper vfs with instrumentation capabilities. (CVS 4977) (check-in: d9a6b653d3 user: danielk1977 tags: trunk)
14:00
Make sure changes to virtual tables are counted the same as real tables. Ticket #3038. (CVS 4976) (check-in: 55591fc49c user: drh tags: trunk)
13:42
Fix to the "copy" method in the TCL interface. Ticket #3039. (CVS 4975) (check-in: 6f07968ec4 user: drh tags: trunk)
13:38
Document the fast that the result flag combinations to sqlite3_open_v2() that are not defined in the documentation results in undefined behavior. Ticket #3037. (CVS 4974) (check-in: b390e1f7f8 user: drh tags: trunk)
13:33
First cut at optimizing single-row updates to use a one-pass algorithm. (CVS 4973) (check-in: fba97f7874 user: drh tags: trunk)
13:32
Add three new test cases to speed4p.test. Two of the three do single-row updates based on rowid and on primary key. (CVS 4972) (check-in: a2da7f9ac2 user: drh tags: trunk)
13:20
Fix a bug in the speed4p.test performance testing script. (CVS 4971) (check-in: 8031159414 user: drh tags: trunk)
2008-04-08
03:09
Replace always-true condition with assertion (CVS 4970) (check-in: be7f3240c2 user: mlcreech tags: trunk)
03:07
Add test case for empty VFS list (CVS 4969) (check-in: 6797814ec5 user: mlcreech tags: trunk)
2008-04-05
18:41
Add the sqlite3PutVarint32 routine as an alternative to sqlite3PutVarint. Gives 0.5% speed increase. (CVS 4968) (check-in: b2517a7d8f user: drh tags: trunk)
2008-04-04
15:12
Smaller and hopefully faster routine for converting blob literals into binary. (CVS 4967) (check-in: 92d49499ee user: drh tags: trunk)
12:21
Fix the output labels on the tests in malloc9. (CVS 4966) (check-in: 9987a7b193 user: drh tags: trunk)
12:21
Fix the TCL interface so that it does not use unpublished interfaces. (CVS 4965) (check-in: 046a98a8c8 user: drh tags: trunk)
2008-04-03
21:46
Remove superfluous code from btree.c. (CVS 4964) (check-in: 4017301070 user: drh tags: trunk)
21:42
Make sure the zTail return from sqlite3_prepare() is initialized even if there is a malloc failure. (CVS 4963) (check-in: 040cffe272 user: drh tags: trunk)
20:09
Fix to the previous check-in so that it works on a intel Mac. (CVS 4962) (check-in: 1d67f41c88 user: drh tags: trunk)
19:40
Use an improved RDTSC access routine. (CVS 4961) (check-in: b4eba9c533 user: drh tags: trunk)
17:57
Changes speedtest8 and speedtest16 so that the database file can be specified on the command-line. Allows speed testing against a :memory: database. (CVS 4960) (check-in: 64badc5053 user: drh tags: trunk)
16:28
Instead of calling sqlite3_exec() to evaluate "PRAGMA encoding = UTF16" in sqlite3_open16(), set the connection encoding flag directly. (CVS 4959) (check-in: 33a12e737c user: danielk1977 tags: trunk)
16:01
Add the speedtest8.c and speedtest16.c files to the tools subdirectory. (CVS 4958) (check-in: b8d211a76f user: drh tags: trunk)
14:36
Avoid an out-of-bounds read in sqlite3_prepare() and fix a case where the output variable *pzTail was being set incorrectly. Fix for #3027. (CVS 4957) (check-in: c287a7b294 user: danielk1977 tags: trunk)
10:13
Change the allocator in mem2.c (used when SQLITE_MEMDEBUG is defined) so that allocations are not rounded up to the nearest 4 byte boundary. Fix a couple of errors in malloc.test related to sqlite3OsAccess() returning -1. (CVS 4956) (check-in: fd97f8762c user: danielk1977 tags: trunk)
2008-04-02
18:33
Minor optimizations. (CVS 4955) (check-in: e852945580 user: drh tags: trunk)
16:29
Simplifications to the LockTable opcode. (CVS 4954) (check-in: 66c5d715bb user: drh tags: trunk)
04:23
Set flags = MEM_Null on allocation failure in sqlite3VdbeMemGrow (CVS 4953) (check-in: 846f9739d3 user: mlcreech tags: trunk)
2008-04-01
18:04
Avoid factoring single-instruction constants that end up getting replaced by an SCopy instruction. (CVS 4952) (check-in: e84ff57b62 user: drh tags: trunk)
15:06
Add the testcase() macro. Additional CSE test coverage. (CVS 4951) (check-in: 492490f9c8 user: drh tags: trunk)
12:24
Fix a problem with CASTs and the new CSE mechanism. (CVS 4950) (check-in: e25939fb25 user: drh tags: trunk)
05:07
Fix the CSE mechanism so that it takes into account column affinity changes that might be imposed by comparison operators. (CVS 4949) (check-in: 91cc646e2b user: drh tags: trunk)
03:27
More test cases and bug fixes with CSE. (CVS 4948) (check-in: 7e8156129d user: drh tags: trunk)
02:45
Add a configure option for using gcov (makes things easier for versions of GCC that fail to build otherwise) (CVS 4947) (check-in: 7d1e797162 user: mlcreech tags: trunk)
01:42
Initial test cases and bug fixes in the CSE logic. (CVS 4946) (check-in: e5aff09ac6 user: drh tags: trunk)
00:36
Break up the implementation of OP_Move, OP_Copy, and OP_SCopy to reduce the number of branch instructions. (CVS 4945) (check-in: 53e533d3a7 user: drh tags: trunk)
2008-03-31
23:51
Add the veryquick.test script for a very fast overview test that omits all i/o and malloc testing. (CVS 4944) (check-in: f61df8daa8 user: drh tags: trunk)
23:48
Avoid duplicate OP_Column opcodes by remembering prior results. This is similar to CSE, but only applies to columns. (CVS 4943) (check-in: c29ee0fed2 user: drh tags: trunk)
18:19
Factor constant subexpressions out of loops. (CVS 4942) (check-in: 2126db3985 user: drh tags: trunk)
17:41
In setQuotedToken(), only make a malloced copy if the argument contains one or more " characters. (CVS 4941) (check-in: b266924b89 user: danielk1977 tags: trunk)
2008-03-29
23:25
Minor cleanup: Use size_t for struct size cast (CVS 4940) (check-in: 618df68b8b user: mlcreech tags: trunk)
17:26
Set exclusive locking mode by default on the speed4p test. (CVS 4939) (check-in: 2d9fea9533 user: drh tags: trunk)
16:01
Make the sqlite3BtreeMoveto routine a no-op if the cursor is already pointing at the cell we are trying to move to. (CVS 4938) (check-in: 9b567ab61e user: drh tags: trunk)
12:50
add two missing initializer values (CVS 4937) (check-in: bf28f1c260 user: rse tags: trunk)
12:47
eliminate compile-time warnings related to missing field initializations (CVS 4936) (check-in: d6a34d983e user: rse tags: trunk)
12:39
add three missing initializers (CVS 4935) (check-in: f45f0593cf user: rse tags: trunk)
11:00
Add the --pause option to the main test driver. (CVS 4934) (check-in: 37dfcdf529 user: drh tags: trunk)
2008-03-28
19:16
Fix a problem with min() and descending indexes. (CVS 4933) (check-in: 39705b617a user: danielk1977 tags: trunk)
19:16
Fix a memory leak that can occur when the library API is misused. (CVS 4932) (check-in: 2b6d3e015e user: danielk1977 tags: trunk)
19:15
Do not incorrectly report a malloc() failure when allocating 0 bytes. Fixes a problem in bind.test. (CVS 4931) (check-in: b99d19d651 user: danielk1977 tags: trunk)
18:11
Fix for #3022. Handle queries like "SELECT min(b) FROM T WHERE a = X AND b > X" when there is an index on (a,b). (CVS 4930) (check-in: bce2897535 user: danielk1977 tags: trunk)
17:41
Change the pager's sector size algorithm to the maximum of the size reported by xSectorSize() from the VFS and 512. It was using the maximum of xSectorSize() and the current page size, but that was adding an extra 512 bytes to the size of the journal file in the common case. (CVS 4929) (check-in: 17ea0c97a8 user: drh tags: trunk)
15:44
Changes to the Mem structure to reduce the frequency of freeing and reallocating the dynamic buffer. (CVS 4928) (check-in: d0bf73d814 user: danielk1977 tags: trunk)
12:53
Patch to the new memory tracing logic that allows it to build even if memory debugging is turned off. (CVS 4927) (check-in: 0a9c63b227 user: drh tags: trunk)
07:42
If memory is leaked when running a test script with the --malloctrace option, write out a file called leaks.sql in the same format as mallocs.sql containing th e leaked applications. The same tools can then be used to examine the stack traces associated with leaked allocations. (CVS 4926) (check-in: f1b97ed931 user: danielk1977 tags: trunk)
2008-03-27
22:42
Allow the xAccess method in the VFS to return -1 to signal an I/O error, and in particular an SQLITE_IOERR_NOMEM. (CVS 4925) (check-in: 3cb704c4c4 user: drh tags: trunk)
17:59
Allow creation of ephemeral pseudo-tables - pseudo-tables that copy a pointer to a row when inserted instead of copying the row data. (CVS 4924) (check-in: 1a58a87023 user: danielk1977 tags: trunk)
15:07
Added the speed4p.test script for testing performance of views and triggers. (CVS 4923) (check-in: adf7645f9a user: drh tags: trunk)
2008-03-26
18:34
Changes to delay freeing buffers associated with vdbe memory cells until either sqlite3_finalize() or sqlite3_release_memory() is called. (CVS 4922) (check-in: 8c2f69521f user: danielk1977 tags: trunk)
17:18
Work around problems with compilers that do not allow C preprocessor macros with empty arguments. (CVS 4921) (check-in: afe1963ec5 user: drh tags: trunk)
15:56
Change comment in sqliteLimit.h to correctly describe the SQLITE_MAX_ATTACHED #define. Ticket #3016. (CVS 4920) (check-in: d016d07840 user: drh tags: trunk)
14:56
Make sure ON clause terms of a LEFT JOIN are not used with an index on the right table of the join. Ticket #3015. (CVS 4919) (check-in: 3fafa56259 user: drh tags: trunk)
12:50
Comment change on the previous check-in. No changes to code. (CVS 4918) (check-in: 72ae456239 user: drh tags: trunk)
12:46
Make sure an imbalance in the number of columns on a compound SELECT is detected and reported as an error before it can cause an assertion fault or array-bounds overflow in the code generator. Oops: part of the fix for ticket #3015 got included with this check-in by mistake. (CVS 4917) (check-in: 50de87dc80 user: drh tags: trunk)
2008-03-25
17:23
Modify the {quote: IdxDelete} opcode so that it takes an array of registers rather than a record formed using {quote: MakeRecord.} This avoids a needless packing and unpacking of the record to be deleted. (CVS 4916) (check-in: ee381b4356 user: drh tags: trunk)
16:16
Test string values passed to bind_text() and result_text() for a nul-terminator. (CVS 4915) (check-in: 24c3ebc0c5 user: danielk1977 tags: trunk)
14:24
Have each {quote: BtShared} structure hang on to a buffer of just under page-size bytes for temporary use. This reduces the number of calls to malloc(). (CVS 4914) (check-in: fe1bc0f3b7 user: danielk1977 tags: trunk)
09:56
Fix for memory leak in malloc3.test. (CVS 4913) (check-in: ef0e40e814 user: danielk1977 tags: trunk)
09:47
Use a vdbe memory cell to allocate the space required for vdbe cursors. (CVS 4912) (check-in: 0471536481 user: danielk1977 tags: trunk)
00:22
Removed the direct btree tests - part of the ongoing effort to test by calling only public interfaces. Modify the sqlite3VdbeRecordCompare interface to used a pre-parsed second key - resulting in a 13% performance improvement on speed1p.test. (CVS 4911) (check-in: 0e1d84f2f4 user: drh tags: trunk)
2008-03-24
12:51
Improved documentation of sqlite3_blob_open(). (CVS 4910) (check-in: 1ed695f560 user: drh tags: trunk)
2008-03-23
00:20
Remove redundant tests from the reparenter in the btree module. (CVS 4909) (check-in: a807e7184b user: drh tags: trunk)
2008-03-22
23:59
Bug fix in the newly revised sqllimit1.test script. (CVS 4908) (check-in: 2a89fb3c3e user: drh tags: trunk)
01:08
Add the speed1p.test script. Like speed1.test except that it tries to take advantage of prepared statements. (CVS 4907) (check-in: ece4fb9f7b user: drh tags: trunk)
01:07
Add the SQLITE_OMIT_DECLTYPE compile-time option. Remove more code when SQLITE_ENABLE_COLUMN_METADATA is not defined. (CVS 4906) (check-in: 8ef26646cf user: drh tags: trunk)
2008-03-21
18:01
Defer allocating memory space to hold the array of column values and names in sqlite3_exec() until there is a need to use the array. In the common case where there is no callback, this avoids a malloc() call. (CVS 4905) (check-in: d8686abcdf user: drh tags: trunk)
17:29
Better integrate the new malloc related instrumentation with the test infrastructure. (CVS 4904) (check-in: d2140cae39 user: danielk1977 tags: trunk)
17:13
Make sure the text result of an aggregate function has the correct encoding. Ticket #3009. (CVS 4903) (check-in: 13e388cecf user: drh tags: trunk)
16:45
Add a completely new testing system for the Bitvec object. The new testing system uses sqlite3_test_control() instead of unpublished APIs. Now provides 100% condition/decision coverage. Obscure bugs in Bitvec found and fixed as a result of the enhanced coverage. (CVS 4902) (check-in: 2498d3ea36 user: drh tags: trunk)
14:22
Add some more logging to the malloc system used when SQLITE_MEMDEBUG is defined. (CVS 4901) (check-in: 79738f582f user: danielk1977 tags: trunk)
2008-03-20
18:00
In the sqlite3_limit() interface, take out the feature where zero means use the hard upper bound. If an application wants the hard upper bound, it can set the limit to 0x7fffffff and the bound will be automatically truncated. (CVS 4900) (check-in: d6be1f495e user: drh tags: trunk)
16:30
Reinstate test cases for the limit tests. The sqlite3_limit() API is now tested and working. (CVS 4899) (check-in: 4c4be4c3c8 user: drh tags: trunk)
16:26
Do not run crash7.test as part of a quick test. (CVS 4898) (check-in: 53b4a09040 user: danielk1977 tags: trunk)
14:03
Initial implementation of per-connection limits and the sqlite3_limit() API. The sqllimits1.test script crashes. SQLITE_LIMIT_PAGE_COUNT and SQLITE_LIMIT_VDBE_OP are currently ignored. (CVS 4897) (check-in: 60c77882b2 user: drh tags: trunk)
11:04
Allow a VACUUM operation to change the page-size in the same way as it can be used to change a database between auto-vacuum and normal mode. (CVS 4896) (check-in: 871df0e7c3 user: danielk1977 tags: trunk)
10:44
stick everything that sqlite links against into Libs.private (CVS 4895) (check-in: 8b198617f5 user: vapier tags: trunk)
04:45
Write the page-size into the first journal-header of each journal file. (CVS 4894) (check-in: 79f573cc7b user: danielk1977 tags: trunk)
02:25
Make out-of-tree builds work as expected when using configure script (CVS 4893) (check-in: e2d05ea3c3 user: mlcreech tags: trunk)
00:32
Fix the load-extension mechanism so that tests build with or without it. This check-in also includes prototypes for the new sqlite3_limit() interface, but no implementation. (CVS 4892) (check-in: bee38c2dda user: drh tags: trunk)
2008-03-19
23:52
Fix build whether compiling with or without auto-extension enabled (CVS 4891) (check-in: 7b9682c65f user: mlcreech tags: trunk)
23:15
Don't wrongly look for the amalgamation in $(TOP) (CVS 4890) (check-in: 41d6ca31ac user: mlcreech tags: trunk)
21:45
Add a new interface, sqlite3_context_db_handle(), that returns the database connection pointer for an application-defined function. (CVS 4889) (check-in: 54c55cae55 user: drh tags: trunk)
20:42
Undefine the "isView" macro when compiling with SQLITE_OMIT_VIEW so that the macro does not interfer with subsequent modules in the amalgamation. (CVS 4888) (check-in: a42caa8f83 user: drh tags: trunk)
20:18
Use the xCurrentTime method of the default VFS instead of stdlib time() to get the current time when compiling with SQLITE_OMIT_DATETIME_FUNCS. (CVS 4887) (check-in: 73fbac7cf7 user: drh tags: trunk)
19:55
Update the loadable extension module to include recently added interfaces. (CVS 4886) (check-in: bf1cecede8 user: drh tags: trunk)
19:01
Initialize the MD5 SQL functions from test_func.c instead of using conditional compilation in tclsqlite.c. (CVS 4885) (check-in: 801a0e3c99 user: drh tags: trunk)
16:35
Create the test_destructor16() test SQL function to enhance test coverage. Prior to check-in (4883), the test_destructor() function was sufficient, but we now need separate functions since the implementation is restricted to using the published API. (CVS 4884) (check-in: bb7218657f user: drh tags: trunk)
16:08
Move SQL functions used for testing only out of func.c and into a new test file named test_func.c. Use sqlite3_auto_extension() to make sure the test functions appear in every database connection. (CVS 4883) (check-in: e90c4cc8a8 user: drh tags: trunk)
14:15
Add a new api sqlite3_randomness() for providing access to SQLite's internal PRNG. Add sqlite3_test_control() verbs for controlling the PRNG. (CVS 4882) (check-in: 15110ea027 user: drh tags: trunk)
13:03
When a parse of the sqlite_master table fails, include the name of the object being parsed as part of the error message. (CVS 4881) (check-in: 57805b588f user: drh tags: trunk)
00:21
Remove the dependency on the direct btree interface from as many test scripts as is practical. Fix a bug in the output limiter of the integrity_check pragma that came up while making this change. (CVS 4880) (check-in: 24e769972e user: drh tags: trunk)
2008-03-18
13:47
Update the documentation to distinguish between protected and unprotected sqlite3_value objects. (CVS 4879) (check-in: 074ee55ffd user: drh tags: trunk)
13:46
Test script changes that go with the coverage enhancements of the previous check-in. (CVS 4878) (check-in: f87ddf83a5 user: drh tags: trunk)
13:01
Minor test coverage enhancements. (CVS 4877) (check-in: edd207b9a9 user: drh tags: trunk)
00:54
Fix a memory leak introduced by the previous bug fix. (CVS 4876) (check-in: b9c5dce349 user: drh tags: trunk)
00:07
Add the ability to simulate out-of-memory errors when using the default memory allocator, mem1.c. Fix a bug that this enhancement revealed. (CVS 4875) (check-in: d55a5e1c11 user: drh tags: trunk)
2008-03-17
19:03
Version 3.5.7 (CVS 4874) (check-in: 9a6583d375 user: drh tags: trunk)
17:18
Fix an uninitialized variable in the Prev and Next opcodes. (CVS 4873) (check-in: fcf3d0a3d5 user: drh tags: trunk)
17:08
Abandon the OR optimization following a memory allocation failure, to avoid referencing uninitialized memory. (CVS 4872) (check-in: 9d2afbb543 user: drh tags: trunk)
16:54
Detect the failure to zero-terminate a result string due to a malloc failure. (CVS 4871) (check-in: 57db14067f user: drh tags: trunk)
16:23
Label test case bindxfer-1.9 as a misuse test case, since it is one. (CVS 4870) (check-in: 7b99122632 user: drh tags: trunk)
15:09
Modify the tableapi.test script so that it works under windows. (CVS 4869) (check-in: 89e06b4e08 user: drh tags: trunk)
13:50
Put the statement journal in the temp-file directory since that directory is often on optimized storage such as RAM disk and because unlike the main journal, the statement journal does not need to be colocated with the database file. (CVS 4868) (check-in: 72c4072693 user: drh tags: trunk)
09:36
Return an error when an xBestIndex() method indicates that it intends to use the value of an unusable constraint. Related to #2998. (CVS 4867) (check-in: ffd4702795 user: danielk1977 tags: trunk)
2008-03-15
14:53
Skip tests that require setting detailed unix permissions on files when running on filesystems such as AFP that do not support that capability. (CVS 4866) (check-in: 5589b9d395 user: drh tags: trunk)
02:09
Add tests to make sure the busy handler resets. (CVS 4865) (check-in: 5e4df44181 user: drh tags: trunk)
2008-03-14
19:33
Reset the busy callback iteration counter at the beginning of each lock test loop. (CVS 4864) (check-in: 66777f0481 user: drh tags: trunk)
19:17
Change an instance of intptr_t to sqlite3_intptr_t. (CVS 4863) (check-in: 6db7186c30 user: drh tags: trunk)
13:02
Revise Bitvec struct sizing to prevent assertion failure on 64-bit systems (CVS 4862) (check-in: a3c12dbe95 user: mlcreech tags: trunk)
08:57
Fix a second race condition in lock4.test. (CVS 4861) (check-in: e62858b9b8 user: danielk1977 tags: trunk)
04:11
Allow the testfixture to be built even when using the amalgamation (CVS 4860) (check-in: 8a726e3731 user: mlcreech tags: trunk)
2008-03-13
23:34
One additional intptr_t conversion (in the same vein as check-in 4824) (CVS 4859) (check-in: 2777ca7882 user: mlcreech tags: trunk)
23:28
Apply patch for #2915 to add target extension for executables (CVS 4858) (check-in: 63fc7b7207 user: mlcreech tags: trunk)
19:55
Specify installation lib in 'rpath' options for sqlite3 executable (CVS 4857) (check-in: 5076d48033 user: mlcreech tags: trunk)
18:28
Add/move files in Makefile.in to bring it more in line with main.mk (CVS 4856) (check-in: b57fc81c3d user: mlcreech tags: trunk)
04:53
Eliminate a race condition from lock4.test. (CVS 4855) (check-in: 85585f1104 user: danielk1977 tags: trunk)
2008-03-12
10:39
Do not segfault after a parse error in a sub-select in a statement of the form "DELETE WHERE ... IN(sub-select)". Ticket #2991. (CVS 4854) (check-in: 3f9f81e908 user: danielk1977 tags: trunk)
2008-03-11
18:03
If tclsh is not found, don't default to building the amalgamation (CVS 4853) (check-in: cbc0167556 user: mlcreech tags: trunk)
15:41
Increase the version number to 3.5.7 in anticipation of the next release. (CVS 4852) (check-in: c85e97e4f0 user: drh tags: trunk)
2008-03-10
16:17
Remove the #includes of stdlib.h and sys/types.h from sqliteInt.h since they are never used and because they broke the build. (CVS 4851) (check-in: 2668000fc8 user: drh tags: trunk)
14:12
Add explicit !=0 tests in order to suppress warning messages in Borland-C. Ticket #2985 (CVS 4850) (check-in: d4ab14b974 user: drh tags: trunk)
2008-03-09
02:51
Fix for #2981 - specifically use "tclsh8.4" if it's available (CVS 4849) (check-in: 8ced1d6464 user: mlcreech tags: trunk)
02:20
Fix for #1802, #2041, and #2270 - link libsqlite with -lrt (CVS 4848) (check-in: ccd70a6ee4 user: mlcreech tags: trunk)
02:00
Change <sqlite3.h> to "sqlite3.h" in #includes (CVS 4847) (check-in: 98e55fa4d3 user: mlcreech tags: trunk)
01:38
Use autoconf to detect presence of gmtime_r() and localtime_r() (CVS 4846) (check-in: 9894d2ce41 user: mlcreech tags: trunk)
01:14
Replace SQLITE_EXTERN with SQLITE_API in exported variables when generating the amalgamation. Should fix #2982 (CVS 4845) (check-in: f134c282ea user: mlcreech tags: trunk)
2008-03-08
12:37
Clarify the language in the sqlite3_create_function() documentation. Ticket #2980. (CVS 4844) (check-in: 2db43738bf user: drh tags: trunk)
12:23
Fix asserts in prepare.c to handle the misuse case of ppStmt==0. (CVS 4843) (check-in: 788b2c6b53 user: drh tags: trunk)
06:16
Move a comment within the Parse structure to make it more accurate. No actual code changes. (CVS 4842) (check-in: 0ca14399b1 user: danielk1977 tags: trunk)
2008-03-07
21:37
Make sure all necessary mutexes are held prior to initializing the schema in sqlite3_table_column_metadata(). (CVS 4841) (check-in: 4996ff9357 user: drh tags: trunk)
21:04
Fix an alignment problem in test_async.c. (CVS 4840) (check-in: 752d8e21bb user: drh tags: trunk)
20:14
Another fix to the OsUnlock I/O error logic. (CVS 4839) (check-in: 22bd537ee2 user: drh tags: trunk)
19:51
Correctly handle I/O errors that occur during OsUnlock(). Before this fix, an I/O error during OsUnlock() could lead to database corruption. That is not a serious problem, though, since errors during OsUnlock() are not possible on most systems. (CVS 4838) (check-in: b4c1258edb user: drh tags: trunk)
15:34
Cleanup the locking-style code in os_unix.c. (CVS 4837) (check-in: 40f55c09db user: drh tags: trunk)
03:20
Trivial documentation fixes (CVS 4836) (check-in: 9819cefbd7 user: mlcreech tags: trunk)
02:20
Add missing prefix & exec_prefix to Makefile - fixes #2979. (CVS 4835) (check-in: 4cda019b63 user: mlcreech tags: trunk)
00:27
Updates to the locking-style code in os_unix.c. Not yet working. (CVS 4834) (check-in: 6ebce3b798 user: drh tags: trunk)
2008-03-06
16:28
Clean up recent autoconf-related additions, add config.h to the amalgamation (CVS 4833) (check-in: 8044623062 user: mlcreech tags: trunk)
09:58
Handle non-autoconf build correctly with new changes (CVS 4832) (check-in: e2a9f5f105 user: mlcreech tags: trunk)
09:19
Typo in amalgamation non-x86 builds (CVS 4831) (check-in: a8424e0606 user: mlcreech tags: trunk)
09:16
Don't try and include common.h on stand-alone amalgamation builds (CVS 4830) (check-in: 9898320be0 user: mlcreech tags: trunk)
09:03
Remove amalgamation on "make clean" (fixes #2559) (CVS 4829) (check-in: e03802f362 user: mlcreech tags: trunk)
08:54
Miscellaneous autoconf cleanups - get rid of TARGET_CFLAGS, fix header list (CVS 4828) (check-in: a674f76db9 user: mlcreech tags: trunk)
08:09
Respect user's configured bindir/libdir/includedir if present (fixes #558) (CVS 4827) (check-in: 48c9fa97b9 user: mlcreech tags: trunk)
07:51
Actually use TARGET_CFLAGS on autoconf-driven builds (CVS 4826) (check-in: dda3d65899 user: mlcreech tags: trunk)
07:36
Add headers for use with autoconf (missing from previous checkin) (CVS 4825) (check-in: 4513a5f493 user: mlcreech tags: trunk)
07:35
Use intptr_t definition to silence warnings about ptr-int casts (CVS 4824) (check-in: 54839a84e6 user: mlcreech tags: trunk)
07:19
Include inttypes.h when available, add support for intptr_t (CVS 4823) (check-in: 88698fbdd5 user: mlcreech tags: trunk)
04:14
Make extension loading more easily configurable. Fixes #2977 (CVS 4822) (check-in: fc401ad9d1 user: mlcreech tags: trunk)
04:14
Make extension loading more easily configurable. Fixes #2977 (CVS 4821) (check-in: 2a2e8b64df user: mlcreech tags: trunk)
2008-03-04
19:03
Build amalgamation by default on autoconf-driven builds, add --disable-amalgamation option to configure script (CVS 4820) (check-in: f9391fa06f user: mlcreech tags: trunk)
17:45
Various renames & cleanups to limit exported symbols on amalgamation build (CVS 4819) (check-in: 9c6694bb61 user: mlcreech tags: trunk)
2008-03-03
18:47
Additional documentation and tests making it clear that whenever sqlite3_prepare() fails it sets *ppStmt to NULL. (CVS 4818) (check-in: 39769f00c5 user: drh tags: trunk)
2008-03-02
05:40
Add fts2/3 files to autoconf-generated Makefile (needed for amalgamation) (CVS 4817) (check-in: 89666f9490 user: mlcreech tags: trunk)
05:34
Add mem5.c to source files in autoconf-generated Makefile (CVS 4816) (check-in: 8c1b6357f0 user: mlcreech tags: trunk)
03:32
Trivial text cleanups (CVS 4815) (check-in: bbf9f0e6e2 user: mlcreech tags: trunk)
2008-03-01
23:34
Fix typo for #2968 (CVS 4814) (check-in: d1f6b24382 user: mlcreech tags: trunk)
2008-02-27
03:22
Add bitvec.lo to LIBOBJS and corresponding make rule (CVS 4813) (check-in: 1d68f3af36 user: mlcreech tags: trunk)
2008-02-26
18:40
Fix a math error when computing how much memory to allocate for a new pager. (CVS 4812) (check-in: 690d05ceda user: drh tags: trunk)
16:16
Add commentary to clarify what is happening when an I/O error occurs while writing dirty pages to the database file. (CVS 4811) (check-in: afe49d81f4 user: drh tags: trunk)
14:46
Add an assert() to verify that the dirty-page list in the pager is valid before using it. (CVS 4810) (check-in: 942daf94ef user: drh tags: trunk)
06:05
Have sqlite3PagerPagecount() return -1 when the pager is in error state. Fix for #2961. (CVS 4809) (check-in: 427e7f8b4a user: danielk1977 tags: trunk)
03:46
Add bitvec to build (CVS 4808) (check-in: c690dd68f2 user: mlcreech tags: trunk)
2008-02-23
21:55
Fix a bug in the LIKE optimizer that occurs when the last character before the wildcard is an upper-case 'Z'. Ticket #2959. (CVS 4807) (check-in: 610574b23b user: drh tags: trunk)
2008-02-21
21:30
Additional test cases. (CVS 4806) (check-in: 74126bf4e6 user: drh tags: trunk)
20:40
Accept "Z" as the zulu timezone at the end of date strings. (CVS 4805) (check-in: 4c9a7b42b7 user: drh tags: trunk)
20:17
Updates to API documentation contained in comments of sqlite.h.in. (CVS 4804) (check-in: 08276df3fd user: drh tags: trunk)
02:09
Test coverage and documentation improvements. (CVS 4803) (check-in: e0baceac41 user: drh tags: trunk)
2008-02-20
00:00
Make multiple attempts to delete files marked DELETE_ON_CLOSE under WinCE. Ticket #2950. (CVS 4802) (check-in: 5bc8e564e3 user: drh tags: trunk)
2008-02-19
18:29
Remove instances of strcpy() from test code. Use memcpy() or sqlite3_snprintf() instead. (CVS 4801) (check-in: 7b50140dc0 user: drh tags: trunk)
18:28
Remove an instance of sprintf() from the VM implementation. SQLite should not use sprintf() from the C library - it has its own implementation. (CVS 4800) (check-in: 68f5ddddf0 user: drh tags: trunk)
15:44
Avoid the use of UTF16 functions in code that is part of a build when UTF16 support is omitted. Ticket #2949. (CVS 4799) (check-in: 9db346dede user: drh tags: trunk)
15:20
Make sure SQLITE_OPEN_DELETEONCLOSE is ignored by sqlite3_open_v2(). (CVS 4798) (check-in: 33e26f6adf user: drh tags: trunk)
15:15
Change non-exported memory interfaces to following the naming conventions. (CVS 4797) (check-in: 94774b4142 user: drh tags: trunk)
14:59
Use 16-bit integers for indexing within a page in btree. Tighter bounds on the maximum number of cells within one page. (CVS 4796) (check-in: 8fdbe4abab user: drh tags: trunk)
2008-02-18
22:24
Add the memory fault simulator to mem5.c. Enable soft heap limit on mem5.c. Limit the size of hash tables and the vdbefifo when using mem5.c. (CVS 4795) (check-in: 63da5d9754 user: drh tags: trunk)
14:47
Add the Bitvec object for tracking which pages have been journalled. This reduces memory consumption and runs faster than the bitmap approach it replaced. (CVS 4794) (check-in: 7c57bdbcdb user: drh tags: trunk)
2008-02-16
16:21
The power-of-two first-fit memory allocator is now working. (CVS 4793) (check-in: d134d29cea user: drh tags: trunk)
2008-02-15
17:38
Fix a bug in the ".show" command of the CLI. Ticket #2942. (CVS 4792) (check-in: dedf5f230b user: drh tags: trunk)
14:33
Do not apply the query flattening optimization when the outer query is an aggregate and the inner query contains an ORDER BY clause. Ticket #2943. (CVS 4791) (check-in: 6d33cbd99c user: drh tags: trunk)
2008-02-14
23:44
Fix a bug in EXPLAIN growing out of the new Mem implementation. (CVS 4790) (check-in: 4df62a55d6 user: drh tags: trunk)
23:26
Add the experimental mem5.c memory allocator. Allocate the content part of cache pages separately from the header. (See check-ins (4495) and (4409)). (CVS 4789) (check-in: 669ece8c82 user: drh tags: trunk)
23:24
Fix a typo in a comment used to generate documentation. (CVS 4788) (check-in: 65e66dd81c user: drh tags: trunk)
15:31
Fix some VdbeMemCopy() related problems. (CVS 4787) (check-in: aca2bee866 user: danielk1977 tags: trunk)
05:44
Fix a problem in the ptrchng.test script. (CVS 4786) (check-in: 30a45f0784 user: danielk1977 tags: trunk)
00:00
small correctness fix for os2CheckReservedLock() (CVS 4785) (check-in: f364d93423 user: pweilbacher tags: trunk)
2008-02-13
23:48
always use random access mode when opening files (like on Windows) (CVS 4784) (check-in: 9f4da1013b user: pweilbacher tags: trunk)
18:25
Where possible, avoid freeing buffers allocated for vdbe memory cells in case they can be reused. (CVS 4783) (check-in: 990237e27e user: danielk1977 tags: trunk)
2008-02-12
16:52
When materializing a view for an UPDATE or DELETE make use of the WHERE clause to limit the number of rows materialized. Ticket #2938. (CVS 4782) (check-in: 5ab71c3a79 user: drh tags: trunk)
2008-02-09
14:30
ALTER TABLE uses double-quotes for quoting table names. (CVS 4781) (check-in: 607247c27b user: drh tags: trunk)
2008-02-08
18:25
Modify shared.test to do case independent comparison of filenames. To account for the fact that "c:/test.db" and "C:/test.db" are the same file. (CVS 4780) (check-in: 63915b54cf user: danielk1977 tags: trunk)
18:25
Change the test code used for speed tests so that it does not throw an exception if the time command returns "0 microseconds per iteration". (CVS 4779) (check-in: f37e8637d2 user: danielk1977 tags: trunk)
2008-02-06
23:52
Do not release registers used to hold the results of a compound select after just the first select has run. Ticket #2927. For now, we will never release the registers used to hold the result set, since the same register set will be used for each select. This is not an unacceptable register leak and it is the safest approach. (CVS 4778) (check-in: e9fcb79399 user: drh tags: trunk)
16:58
Version 3.5.6 (CVS 4777) (check-in: 1d82ab6987 user: drh tags: trunk)
14:14
Bump the version number to 3.5.6. (CVS 4776) (check-in: 3444efabfc user: drh tags: trunk)
14:11
Add the sqlite3_result_error_code() application interface. Use it in the ATTACH function so that a failed attach returns a proper error code. Ticket #2914. (CVS 4775) (check-in: c246162043 user: drh tags: trunk)
2008-02-02
20:47
Delete unused "pager3_refinfo_enable" flag and its associated debugging macros. Ticket #2923. (CVS 4774) (check-in: fccb217d91 user: drh tags: trunk)
04:47
When OMIT_TRIGGER is defined, provide a no-op macro for sqlite3SelectMask(). Fix for #2918. (CVS 4773) (check-in: 1d478e9091 user: danielk1977 tags: trunk)
02:48
Add more test cases to prove that ticket #2920 does not exist in CVS HEAD. The problem was previously fixed by the changes to ticket #2686. Ticket #2920 is a duplicate of #2686. (CVS 4772) (check-in: b3259e8721 user: drh tags: trunk)
2008-02-01
19:44
Use the buffer size as limit for temp file names. This is done for windows too, see check-in (4595). (CVS 4771) (check-in: 99275bcd62 user: pweilbacher tags: trunk)
19:42
fix broken OS/2 mutex implementation (Ticket #2905) (CVS 4770) (check-in: 05afd86e2d user: pweilbacher tags: trunk)
15:34
Minor fixes to FTS3 so that it works better when appended to the end of the amalgamation. (CVS 4769) (check-in: 62ede6699d user: drh tags: trunk)
13:44
Fix the build scripts for windows binaries. ticket #2916. (CVS 4768) (check-in: c336b2318a user: drh tags: trunk)
01:19
Modify the printf test script so that it does not depend on the platform printf, so that we do not spurious test failures when moving from one platform to another. (CVS 4767) (check-in: 514d7e4743 user: drh tags: trunk)
00:31
make os2Truncate() actually do something and fix os2FullPathname() to be more elegant and work more correctly in all cases (Ticket #2904) (CVS 4766) (check-in: 921c7a0ac4 user: pweilbacher tags: trunk)
2008-01-31
19:34
Fix a problem with virtual tables and left joins introduced by check-in (4761). Ticket #2894 and #2913. (CVS 4765) (check-in: ebeac2a499 user: drh tags: trunk)
17:25
Version 3.5.5 (CVS 4764) (check-in: cb5bf4642f user: drh tags: trunk)
17:21
Remove a broken hyperlink from the API documentation. (CVS 4763) (check-in: 5fbda12174 user: drh tags: trunk)
16:36
Fixes to API definition comments in sqlite.h.in. Updates to the build script - ticket #2874. (CVS 4762) (check-in: c23f51de61 user: drh tags: trunk)
15:53
Make sure virtual table interfaces are not invoked after EOF when the virtual table appears in an outer join. Ticket #2894. (CVS 4761) (check-in: face510bc1 user: drh tags: trunk)
15:31
Add "return rc;" to the end of sqlite3_test_control(). (CVS 4760) (check-in: b547e7ea75 user: danielk1977 tags: trunk)
14:54
Fix assertion fault in sqllimits1.test encountered when auto_vacuum is enabled. Correct the sqllimit1 tests to account for extra pages inserted by auto_vacuum. (CVS 4759) (check-in: 9b207d1a66 user: drh tags: trunk)
14:43
Add the sqlite3_test_control() API. Use it to control the fault injector. (CVS 4758) (check-in: 413ddade6a user: drh tags: trunk)
13:35
Version number to 3.5.5. Include FTS3 in the amalgamation by default (but disabled unless compiled with -DSQLITE_ENABLE_FTS3). Fix a memory allocation problem. (CVS 4757) (check-in: 72411043e6 user: drh tags: trunk)
12:26
Additional API documentation updates in sqlite.h.in. (CVS 4756) (check-in: 9b6ab9faad user: drh tags: trunk)
2008-01-30
16:16
Improvements to the API documentation found in comments in the sqlite.h.in source file. (CVS 4755) (check-in: 0b8b5c2e83 user: drh tags: trunk)
16:14
Disable the likely() and unlikely() macros as they do not work some older versions of GCC. (CVS 4754) (check-in: e01f9ed945 user: drh tags: trunk)
2008-01-28
22:09
Committed changes for ticket #2909 (CVS 4753) (check-in: 29ce204dbf user: aswift tags: trunk)
15:19
Fix an incorrect comment on the Mem object in vdbeInt.h. (CVS 4752) (check-in: 50c9cf9bbb user: drh tags: trunk)
2008-01-27
10:35
remove an unused variable (CVS 4751) (check-in: 8884619547 user: rse tags: trunk)
2008-01-25
15:04
Error messages says "no such view" instead of "no such table" when trying to DROP a VIEW that does not exist. (CVS 4750) (check-in: 50815a82e0 user: drh tags: trunk)
2008-01-24
14:27
Fix a segfault that may follow a malloc failure during compilation of an INSTEAD OF trigger. (CVS 4749) (check-in: c6635a71db user: danielk1977 tags: trunk)
2008-01-23
17:13
Fix another segfault that can occur following a malloc failure in the SQL compiler. (CVS 4748) (check-in: 9d98a3f0dd user: danielk1977 tags: trunk)
15:44
Fix a couple of segfaults that could occur after a malloc() failure in the SQL compiler. (CVS 4747) (check-in: 6bd8db3839 user: danielk1977 tags: trunk)
14:51
Testing coverage enhancements to sqlite3_get_table() and to the SELECT code generator. (CVS 4746) (check-in: 45c59802f6 user: drh tags: trunk)
12:52
Improvements to test coverage in the lemon-generated parser and in the sqlite3_get_table() interface. (CVS 4745) (check-in: 9f95d79dae user: drh tags: trunk)
03:03
Make sqlite3SafetyOn() and sqlite3SafetyOff() macros which disappear when compiling without -DSQLITE_DEBUG=1. (CVS 4744) (check-in: 5375ad6b4b user: drh tags: trunk)
2008-01-22
23:37
Improved test coverage for the tokenizer and sqlite3_complete() interface. Fix bugs in parsing blob literals and SQL variables beginning with $. (CVS 4743) (check-in: c82033faf8 user: drh tags: trunk)
21:30
Add the fault injector module in fault.c. Use it as a basis for memory allocation failure testing. (CVS 4742) (check-in: 1a335e1801 user: drh tags: trunk)
19:34
Fix a bug introduced by checkin (4739). (CVS 4741) (check-in: c8394ac24b user: drh tags: trunk)
16:35
Detect and report a particular type of database corruption that would formerly cause a segfault. (CVS 4740) (check-in: f47cf3cc5c user: drh tags: trunk)
16:35
Detect and report a particular type of database corruption that would formerly cause a segfault. (CVS 4739) (check-in: 6ed2d9f82e user: drh tags: trunk)
14:50
Remove dead code from the lemon-generated parser. Better testing of the sqlite3_file_control() interface, and in particular make sure the interface works on :memory: databases. (CVS 4738) (check-in: 83ca4fc7dc user: drh tags: trunk)
11:50
Move the test (sqlite3_simulate_device) functionality out of the main code and into a test vfs. (CVS 4737) (check-in: 17e7bd6c3f user: danielk1977 tags: trunk)
01:48
Changes to lemon to generate additional comments in the output file and to remove unreachable code. Additional test cases for improved test coverage. (CVS 4736) (check-in: 2a0bc1e186 user: drh tags: trunk)
2008-01-21
16:47
Additional test cases for the RTRIM collation. (CVS 4735) (check-in: 51452d20f9 user: drh tags: trunk)
16:22
Miscellaneous test coverage improvements. (CVS 4734) (check-in: 720bc20a11 user: drh tags: trunk)
13:04
Remove some unused branches from internal function sqlite3PagerDontRollback(). (CVS 4733) (check-in: 3d4252b06b user: danielk1977 tags: trunk)
2008-01-20
23:19
Add the RTRIM collating sequence. Only implemented for UTF8. Still considered experimental and may be removed if we find adverse impact elsewhere in the system. (CVS 4732) (check-in: 0bf4e7fefd user: drh tags: trunk)
2008-01-19
23:50
Additional test coverage improvements. Test coverage now stands at 98.73%. (CVS 4731) (check-in: 010f7b780c user: drh tags: trunk)
20:11
Miscellaneous code simplifications and cleanup and test coverage enhancements. (CVS 4730) (check-in: af129b6d15 user: drh tags: trunk)
03:35
Cleanup and simplification of constraint processing. Simplifications to the VM for better test coverage. (CVS 4729) (check-in: d9ebe9d78c user: drh tags: trunk)
2008-01-18
17:03
Fix test instrumentation problems on shared_err.test. (CVS 4728) (check-in: 5aef5b0dd8 user: drh tags: trunk)
14:17
Remove an absolute path from crash5.test. (CVS 4727) (check-in: 42d8a37755 user: danielk1977 tags: trunk)
14:08
Remove the OP_HexBlob instruction and code OP_Blob directly. Reduce the amount of memory allocation required to encode blob literals. Remove the "out2" instruction type. Other minor optimizations. (CVS 4726) (check-in: 0e50c0200a user: drh tags: trunk)
13:42
Add a test (and fix) for possible corruption if malloc() fails during a CREATE INDEX statement, the application continues with the transaction, then crashes. (CVS 4725) (check-in: 65245d9904 user: danielk1977 tags: trunk)
11:33
Add a couple of missing calls to pagerLeave(). (CVS 4724) (check-in: 87534dfff9 user: danielk1977 tags: trunk)
02:31
Fix a bug in the test scripts that was preventing many scripts from running with all.test. Lots of hidden failures now come to light. (CVS 4723) (check-in: 251c78a982 user: drh tags: trunk)
2008-01-17
22:27
Test coverage for date.c. (CVS 4722) (check-in: a676f949b6 user: drh tags: trunk)
20:26
Improved test coverage in date.c. Report an error if a malloc fails within strftime(). (CVS 4721) (check-in: 495fb41626 user: drh tags: trunk)
17:27
Remove unused p4 element from the {quote: VdbeOpList} object. (CVS 4720) (check-in: 1c37d7b69b user: drh tags: trunk)
17:15
Reuse registers better in the inner loop of a SELECT statement. (CVS 4719) (check-in: 5ba4e5adf6 user: drh tags: trunk)
16:22
Registerification of the VDBE is complete. The operand stack has been removed from the code. All instructions operate out of registers only. (CVS 4718) (check-in: 706b41b70b user: drh tags: trunk)
02:36
Registerification of the WHERE clause logic. (CVS 4717) (check-in: 5581160f43 user: drh tags: trunk)
02:36
Registerification of the WHERE clause logic. (CVS 4716) (check-in: b3a141b2b0 user: drh tags: trunk)
2008-01-16
18:20
Use 1<<$x instead of pow(2,$x) in the test suite code. (CVS 4715) (check-in: 3a289b6d28 user: danielk1977 tags: trunk)
17:46
Get all tests running without memory leaks. (CVS 4714) (check-in: 5807921f5a user: drh tags: trunk)
08:24
Work around using (regexp) in the (ifcapable) function of the test suite. So that simpler versions of tcl can call it. (CVS 4713) (check-in: 3aa5606bd4 user: danielk1977 tags: trunk)
2008-01-15
02:22
Fix for a couple of minor memory leaks. (CVS 4712) (check-in: a13d3e953f user: drh tags: trunk)
2008-01-14
15:20
Fix for ticket #2883. (CVS 4711) (check-in: 187f41f54d user: drh tags: trunk)
2008-01-13
19:02
Fix some issues with out-of-memory recovery. (CVS 4710) (check-in: 23181f8689 user: drh tags: trunk)
2008-01-12
21:35
The sqlite3_trace() callback now prints a message as each trigger fires within a statement. (CVS 4709) (check-in: 110c000d86 user: drh tags: trunk)
19:03
Continuing work toward converting the VM to a register machine. (CVS 4708) (check-in: 426f31ecdd user: drh tags: trunk)
12:48
Continuing work toward converting the VM into a register machine. (CVS 4707) (check-in: a6dddebcc5 user: drh tags: trunk)
2008-01-11
15:27
Do explicit range tests before attempting to convert a 64-bit float into a 64-bit integer. Some systems (windows) seem to throw exceptions if the conversion is out of range. Ticket #2880. (CVS 4706) (check-in: 4744257d3c user: drh tags: trunk)
00:06
Attempt to work around a bug in the Borland BCC 5.5.1 compiler. Ticket #2880. (CVS 4705) (check-in: 6de0ee4907 user: drh tags: trunk)
2008-01-10
23:50
More work toward converting the VM into a register-based machine. (CVS 4704) (check-in: 8cbd46517f user: drh tags: trunk)
03:46
Continuing work toward registerizing the code generator. (CVS 4703) (check-in: 173698c963 user: drh tags: trunk)
00:08
Fix mixing quote excapes in an awk script. Ticket #2877. (CVS 4702) (check-in: 05fbca9108 user: drh tags: trunk)
2008-01-09
23:21
Fix a test script problem associated with the new crash4.test file. Ticket #2882. (CVS 4701) (check-in: 1134c5ea71 user: drh tags: trunk)
23:04
All essential opcodes can now operate out of registers and completely avoid the stack. Many still optionally use the stack to support legacy code generation, but the stack is not required. The next step is to update all code generation to avoid using the stack. (CVS 4700) (check-in: e3cf1c1c11 user: drh tags: trunk)
18:31
Fix the build for AIX and other systems where "char" is unsigned by default. (CVS 4699) (check-in: 47672af0c6 user: drh tags: trunk)
02:15
Continued work toward converting to a register-based VM. (CVS 4698) (check-in: 92deff07bb user: drh tags: trunk)
2008-01-08
23:54
Registerify the comparison opcodes. (CVS 4697) (check-in: 8862ce9cee user: drh tags: trunk)
18:57
Finish registerizing the core logic of INSERT and UPDATE. (CVS 4696) (check-in: 5fd1036788 user: drh tags: trunk)
16:03
Add crash4.test with additional crash testing. (CVS 4695) (check-in: 87b4ac4b73 user: drh tags: trunk)
15:18
Add additional randomness to crash tests. (CVS 4694) (check-in: 3ccce1f58b user: drh tags: trunk)
02:57
Progress toward registerification of the constraint checking logic for INSERT and UPDATE. (CVS 4693) (check-in: b9bf509e39 user: drh tags: trunk)
2008-01-07
19:20
Registerify the AUTOINCREMENT processing and the OP_IsNull and OP_NotNull operators. (CVS 4692) (check-in: aa48867cfa user: drh tags: trunk)
10:16
Comment changes in select.c. (CVS 4691) (check-in: 38020592f1 user: danielk1977 tags: trunk)
2008-01-06
00:25
Registerify the SRT_Subroutine destination for SELECT results. (CVS 4690) (check-in: 8201f71729 user: drh tags: trunk)
2008-01-05
18:48
Modify OP_RegMakeRec to take a base register and count and optionally store results in the register specified by P3. (CVS 4689) (check-in: 6bb1b1bc18 user: drh tags: trunk)
18:44
Fix a memory leak introduced with #4687. (CVS 4688) (check-in: 2b98b0fca8 user: danielk1977 tags: trunk)
17:39
First pass at optimizing max()/min() as described in #2853. Some refinements to come. (CVS 4687) (check-in: c449e04f18 user: danielk1977 tags: trunk)
16:29
Registerify binary operators. Add register tracing to debugging output. (CVS 4686) (check-in: 66396d2f02 user: drh tags: trunk)
06:51
Expression code generator takes advantage of recent opcode changes. (CVS 4685) (check-in: 6c78d2a49a user: drh tags: trunk)
05:38
Register-ify the OP_ForceInt opcode. (CVS 4684) (check-in: 32380dcabc user: drh tags: trunk)
05:20
Register-ify the OP_AddImm and all casting opcodes. Omit the OP_MemIncr opcode. (CVS 4683) (check-in: 3e8a07dd3c user: drh tags: trunk)
04:06
Get rid of OP_Dup, OP_MemStore, OP_MemLoad, and OP_MemMove. Replace with OP_Copy, OP_SCopy, and OP_Move. Add the infrastructure for operation properties in1, in2, in3, out2, and out3 but do not yet use any of these. (CVS 4682) (check-in: cc149eb9ca user: drh tags: trunk)
2008-01-04
22:01
Implement the out2-prerelease opcode design pattern. (CVS 4681) (check-in: fe057a88d0 user: drh tags: trunk)
19:33
Allow the P2 operand to be negative on opcodes that are not jumps. (CVS 4680) (check-in: 717bcd11a2 user: drh tags: trunk)
19:12
Fix mkopcodeh.awk so that it works on a mac. (CVS 4679) (check-in: 59d3dfa41f user: drh tags: trunk)
19:10
Some modifications to insert.c to work without using the stack. (CVS 4678) (check-in: d9ac6beef5 user: danielk1977 tags: trunk)
16:50
Replace the NOPUSH_MASKs with a bit-vector mechanism that can contain several different properties about each opcode. (CVS 4677) (check-in: 042dcb9621 user: drh tags: trunk)
13:57
Modify FifoRead and FifoWrite to work exclusively with memory cells. (CVS 4676) (check-in: 2c913908a4 user: danielk1977 tags: trunk)
13:24
Modify the code generated for a DELETE to use registers instead of the vdbe stack. (CVS 4675) (check-in: 173f281334 user: danielk1977 tags: trunk)
11:01
Add OP_MemSet, for setting a memory cell to a string value. (CVS 4674) (check-in: 8bb9f970dd user: danielk1977 tags: trunk)
2008-01-03
23:44
Change the sqlite3ExprCode() function so that callers can request that the result of the expression be left on the stack or in a register. (CVS 4673) (check-in: 61bfb77c42 user: drh tags: trunk)
18:56
Fix typo in comment. Ticket #2870. (CVS 4672) (check-in: e97e457867 user: danielk1977 tags: trunk)
18:44
Update OP_Rowid, OP_Column and related opcodes to use registers. (CVS 4671) (check-in: 4f3967073d user: drh tags: trunk)
18:39
Modify VFilter and VRename to use registers instead of the vdbe stack for inputs. (CVS 4670) (check-in: 253ed40aa3 user: danielk1977 tags: trunk)
18:03
Registers (aka memory cells) in the VM are now numbered starting with 1 instead of 0. A register number of 0 means "no such register". (CVS 4669) (check-in: 0b849805c3 user: drh tags: trunk)
17:31
Modify OP_VUpdate to read arguments from a range of memory cells instead of from the stack. (CVS 4668) (check-in: 955b15a020 user: danielk1977 tags: trunk)
11:50
Change the VdbeOp.p4 union to include specific pointer types for the various values of VdbeOp.p4type. (CVS 4667) (check-in: 7e8330c804 user: danielk1977 tags: trunk)
09:51
Change the OP_Insert opcode to read the key and data to insert from memory cells, not the stack. (CVS 4666) (check-in: 46501f490a user: danielk1977 tags: trunk)
08:18
Change the output of vdbe_trace etc. to include operands p3 and p5. (CVS 4665) (check-in: 76f2040b05 user: danielk1977 tags: trunk)
08:08
Combine the OP_Column and OP_DfltValue opcodes. (CVS 4664) (check-in: c30f820635 user: danielk1977 tags: trunk)
07:54
Change OP_OpenRead and OP_OpenWrite so that the database number is read from the P3 operand, not the stack. (CVS 4663) (check-in: 35da261daf user: danielk1977 tags: trunk)
07:09
Fix EXPLAIN and EXPLAIN query plan to work with new opcode format. (CVS 4662) (check-in: b166c33a7b user: danielk1977 tags: trunk)
01:28
Revamp sqlite3VdbeAddOpList() so that the structure holds integer values for P1, P2, and P3. (CVS 4661) (check-in: 4dc507d87b user: drh tags: trunk)
00:01
Refactoring the VM. The P3 parameter is changed to P4. A P5 parameter is added (though not currently used.) Add routines sqlite3VdbeAddOpX() where X is one of 0, 1, 2, 3, or 4. (CVS 4660) (check-in: 027875e4d4 user: drh tags: trunk)
2008-01-02
17:25
Add operands p4 and p5 to the VdbeOp structure. (CVS 4659) (check-in: ad528735e4 user: drh tags: trunk)
17:11
Minor optimizations for sub-selects in EXISTS(...) expressions: Discard any DISTINCT or ORDER BY clauses and do not calculate any column values. (CVS 4658) (check-in: fbd17a8976 user: danielk1977 tags: trunk)
16:27
Combine the eDest and iParm arguments to sqlite3Select() into a single type - "SelectDest". (CVS 4657) (check-in: 86dcdfe6d7 user: danielk1977 tags: trunk)
14:28
Add opcodes OP_ResultRow and OP_RegMakeRec which are register-based equivalents to OP_Callback and OP_MakeRecord. Use the new opcodes. (CVS 4656) (check-in: 4c7f35da77 user: drh tags: trunk)
13:05
Remove a surplus OP_Close from delete.c. Fixes a problem with (4654). (CVS 4655) (check-in: 03cc91b3b0 user: drh tags: trunk)
11:50
Take advantage of the fact that b-tree cursors need not be closed while other cursors modify their tables to simplify trigger program generation code. (CVS 4654) (check-in: f1966a8a47 user: danielk1977 tags: trunk)
04:41
Add some extra tests for the recent trigger compilation optimization. (CVS 4653) (check-in: de54dad800 user: danielk1977 tags: trunk)
00:34
Begin setting a foundation on which to convert the VM from a stack-based to a register-based machine. Everything is still mostly stack based with this check-in. This change merely begins adding infrastructure to support a register-based architecture. (CVS 4652) (check-in: 051ec01f27 user: drh tags: trunk)
2008-01-01
19:02
Optimize trigger compilation to avoid populating the OLD.* and NEW.* pseudo-tables with data that will never be used. Some testing to come. (CVS 4651) (check-in: e08a33ed72 user: danielk1977 tags: trunk)
06:19
Silence a harmless unitialised variable warning in btree.c. Ticket #2862. (CVS 4650) (check-in: b51782ccac user: danielk1977 tags: trunk)
05:49
Define SQLITE_CORE=1 at the start of the amalgamation file for the benefit of any extension source code (i.e. fts3) appended to it. Ticket #2858. (CVS 4649) (check-in: 6dea8c1638 user: danielk1977 tags: trunk)
2007-12-30
23:38
fix case in os2GetTempname() where none of the usual environment variables are set to not overwrite two unrelated bytes (CVS 4648) (check-in: 9719a06394 user: pweilbacher tags: trunk)
23:35
simplify os2FullPathname() and at the same time make the allocations more robust (CVS 4647) (check-in: 6f8952a836 user: pweilbacher tags: trunk)
23:29
move variable declaration to be able to compile sqlite3_mutex_alloc() with older compilers (like EMX/gcc 2.8.1) (CVS 4646) (check-in: a568a9cf37 user: pweilbacher tags: trunk)
2007-12-29
13:39
Add experimental pragma "quick_check", a reduced version of integrity_check that runs without most of the overhead of the full integrity_check. (CVS 4645) (check-in: 2ddc8d7272 user: danielk1977 tags: trunk)
13:18
Mem3.c enhanced so that an allocation of N bytes only requires (N+11)&~7 bytes instead of (N+15)&~7 bytes of heap storage. Minimum heap usage per allocation is still 16 bytes. 8-byte alignment is preserved. (CVS 4644) (check-in: d027f91cea user: drh tags: trunk)
2007-12-27
15:12
Fix a race condition that can occur when reloading the database schema in shared-cache mode. (CVS 4643) (check-in: b37babef91 user: danielk1977 tags: trunk)
2007-12-21
04:47
Fix for #2854. "BEGIN EXCLUSIVE" excludes other shared cache users from using the database. (CVS 4642) (check-in: 2e59b1d07e user: danielk1977 tags: trunk)
00:02
Fix some issues with lemon. Tickets #2852 and #2835. (CVS 4641) (check-in: 5283e0d146 user: drh tags: trunk)
2007-12-19
09:20
Add the ioerr3.test file, that found an error in br3317. The error is not present in this branch. (CVS 4640) (check-in: d3efec1489 user: danielk1977 tags: trunk)
2007-12-18
17:50
Fix a problem with SQLITE_MAX_SQL_LENGTH introduced by check-in (4636). Ticket #2851 (CVS 4639) (check-in: cdd866f597 user: drh tags: trunk)
15:41
In the CLI, quote strings that contain the separator character. Ticket #2850. (CVS 4638) (check-in: 493a17c46a user: drh tags: trunk)
11:19
Fix for typo in main.mk: the output of target sqlite3 was testcli. (CVS 4637) (check-in: 15675dc518 user: danielk1977 tags: trunk)
2007-12-17
16:20
When SQLITE_MAX_SQL_LENGTH is 0, disable the limit. Make the default 0. Once again build the sqlite3 CLI from individual source files so that it can be built on systems that lack tclsh. Tickets #2845 and #2846. (CVS 4636) (check-in: 07aeca3b9c user: drh tags: trunk)
2007-12-14
17:39
Version 3.5.4 (CVS 4635) (check-in: cf4a11b2a8 user: drh tags: trunk)
17:24
Update library version number to 3.5.4. (CVS 4634) (check-in: 5c653bfc7f user: drh tags: trunk)
17:24
Fix a C++-ism in recent changes to select.c. (CVS 4633) (check-in: 4a00805014 user: drh tags: trunk)
17:22
Change to the crash simulator to give better diagnostics in case it runs out of memory while using the mem3.c allocator. (CVS 4632) (check-in: 0d5747dbad user: drh tags: trunk)
16:11
Fix a typo in the previous check-in. Also simplify a line in select.c. (CVS 4631) (check-in: 86f45d7bb6 user: drh tags: trunk)
15:12
Fix an out-of-memory NULL pointer defer in the code generator. Ticket #2843. (CVS 4630) (check-in: b821b6ed17 user: drh tags: trunk)
2007-12-13
21:54
Change all instances of "it's" in comments to either "its" or "it is", as appropriate, in case the comments are ever again read by a pedantic grammarian. Ticket #2840. (CVS 4629) (check-in: 4e91a267fe user: drh tags: trunk)
19:15
Fix a memory leak that can occur following a malloc() failure. (CVS 4628) (check-in: 993a213024 user: danielk1977 tags: trunk)
18:29
Fix the location of a #include in test_thread.c. ticket #2826. (CVS 4627) (check-in: 6129fce873 user: drh tags: trunk)
18:24
Add test cases for errors in "IN(SELECT ...)" expressions where the SELECT statement is a compound SELECT. No faults found. (CVS 4626) (check-in: 49b67adfe9 user: danielk1977 tags: trunk)
18:20
Add new makefile target for "testcli" that builds a CLI using individual source files instead of the amalgamation. Ticket #2838. (CVS 4625) (check-in: b6f04e5b93 user: drh tags: trunk)
17:50
Additional test cases for tkt2822. Fix a related bug in printf(). (CVS 4624) (check-in: 8f184e40ff user: drh tags: trunk)
08:15
Return an error if the user attempts to rename a view. Related to (but not a fix for) #2831. (CVS 4623) (check-in: 19d56d997f user: danielk1977 tags: trunk)
07:58
Adjust the test suite to account for recent changes related to #2822. Most changes are related to English language error messages only. (CVS 4622) (check-in: 2f88b9b3e3 user: danielk1977 tags: trunk)
03:45
ORDER BY in a compound SELECT will first match against the left-most SELECT. If there is no match there, it begins working its way to the right. (CVS 4621) (check-in: 56063ec84b user: drh tags: trunk)
02:45
Towards getting ORDER BY to match against the correctin columns. This version only looks at the left-most column in a compound SELECT. That is the correct thing to do, but not what SQLite has historically done. (CVS 4620) (check-in: bbddf16ac9 user: drh tags: trunk)
2007-12-12
22:24
Minor cleanup changes on the OP_StackDepth opcode. Added the sidedelete test for additional testing of ticket #2832. (CVS 4619) (check-in: c068940932 user: drh tags: trunk)
18:05
Remove an (explain) accidentally left in tkt2832.test. (CVS 4618) (check-in: 48947e2b75 user: danielk1977 tags: trunk)
17:42
Try to find some more stack leaks by adding OP_StackDepth to loops in DML statements. None were found. (CVS 4617) (check-in: 12c3029b1e user: danielk1977 tags: trunk)
17:19
Remove a couple of lines in delete.c that weren't doing anything. (CVS 4616) (check-in: 86332c79ae user: danielk1977 tags: trunk)
16:06
Fix some problems similar to #2832, but caused by triggers instead of an OR REPLACE clause. (CVS 4615) (check-in: ee98ae1718 user: danielk1977 tags: trunk)
14:46
Test file containing minimal example of bug #2832. (CVS 4614) (check-in: ed2e61a9fa user: danielk1977 tags: trunk)
12:25
Fix database corrupting code generation error for UPDATE OR REPLACE. ticket #2832. Still need to add test cases and additional defensive logic to avoid future occurrences of similar problems. (CVS 4613) (check-in: 18e10f8167 user: drh tags: trunk)
12:00
Add a new OP_StackDepth opcode to help detect VDBE stack leaks early, before they cause damage. For diagnostics in ticket #2832. (CVS 4612) (check-in: 3fd6a26753 user: drh tags: trunk)
04:38
Fix test numbering in tkt2822.test. Ticket #2830. (CVS 4611) (check-in: 8fe8e9c460 user: danielk1977 tags: trunk)
2007-12-11
20:04
Fix a comment on the SQLITE_SQL_MAX_LENGTH definition. (CVS 4610) (check-in: 9335c94050 user: drh tags: trunk)
19:34
Build the CLI using the amalgamation. Relax the limit on SQL statement length when building the CLI. (CVS 4609) (check-in: a5d81cd371 user: drh tags: trunk)
04:23
Fix a 'const' issue in trimFunc(). (CVS 4608) (check-in: 64787d78b9 user: danielk1977 tags: trunk)
2007-12-10
21:11
Make sure the windows driver responds correctly to the SQLITE_OPEN_DELETEONCLOSE flag. Ticket #2829. (CVS 4607) (check-in: 19db91fd68 user: drh tags: trunk)
18:51
Further modifications to do with ORDER BY and compound SELECT queries. Related to ticket #2822. (CVS 4606) (check-in: 0d9b0e6e3a user: danielk1977 tags: trunk)
18:07
Fix a macro in func.c that causes problems for the amalgamation. (CVS 4605) (check-in: 6adbe91eff user: drh tags: trunk)
17:55
Fix a bug in the compilation procedures for the Linux shared library that includes the TCL bindings. (CVS 4604) (check-in: d384810a95 user: drh tags: trunk)
05:03
Fix compilation/testing with OMIT_SUBQUERY defined. Ticket #2828. (CVS 4603) (check-in: 0b34a18651 user: danielk1977 tags: trunk)
2007-12-08
21:10
Better resolution of ORDER BY terms in compound queries. Candidate solution for ticket #2822. Needs more testing and documentation before going final. (CVS 4602) (check-in: 62a78d212c user: drh tags: trunk)
18:01
Strengthen the tests for aggregate functions in GROUP BY clauses. Changes to test cases only. No changes to code. (CVS 4601) (check-in: 4be8e6765b user: drh tags: trunk)
17:55
Fix a bug in the debugging printf logic. (CVS 4600) (check-in: 1d6a9f5faf user: drh tags: trunk)
2007-12-07
23:47
Change prefix search from O(N*M) to O(NlogM). The previous code linearly merged the doclists, so as the accumulated list got large, things got slow (the M term, a fucntion of the number of documents in the index). This change does pairwise merges until a single doclist remains. A test search of 't*' against a database of RFC text improves from 1m16s to 4.75s. (CVS 4599) (check-in: feef1b15d6 user: shess tags: trunk)
18:55
In shared-cache mode, make sure the busy hander invoked is the busy handler associated with the database connection that caused the lock contention in the first place. (CVS 4598) (check-in: c9eb65912f user: drh tags: trunk)
18:39
Get the LIKE and GLOB operators working again on systems using the EBCDIC character set. (CVS 4597) (check-in: 754298a74e user: drh tags: trunk)
2007-12-06
17:41
Fix a leaking database connection in the vacuum2 test script. Ticket #2827. (CVS 4596) (check-in: f29deb5f0b user: drh tags: trunk)
13:26
Use the specified buffer length, not the maximum buffer length in unixFullPathname() and related functions. (CVS 4595) (check-in: f015a38771 user: drh tags: trunk)
02:42
Continuing work on the C/C++ interface requirements that appears as comments in sqlite.h.in. (CVS 4594) (check-in: 2130e71251 user: drh tags: trunk)
2007-12-05
18:05
Begin adding requirements numbers to the C/C++ interface documentation. (CVS 4593) (check-in: ae1936aadf user: drh tags: trunk)
01:38
Add the ability to change the autovacuum status of an existing database by setting the auto_vacuum pragma then running the VACUUM command. (CVS 4592) (check-in: bdfc19e838 user: drh tags: trunk)
2007-12-04
16:54
Make sure statement journals are initiated when doing DROP operations (since the DROP might fail after sqlite_master changes). Also make sure statement journals are initiated if there are pending SELECT statements. Ticket #2820. (CVS 4591) (check-in: bf34284ff0 user: drh tags: trunk)
13:41
Fix a bug in the TCL code for sqlite3_analyzer. (CVS 4590) (check-in: 7c2cf45428 user: drh tags: trunk)
13:22
Clarify the operation of sqlite3_blob_close() in the API documentation. Ticket #2815. (CVS 4589) (check-in: 78f359dffa user: drh tags: trunk)
2007-12-03
21:52
Do not require os_other.h if compiling with -DOS_OTHER=1. (CVS 4588) (check-in: 96ec39031e user: drh tags: trunk)
2007-12-02
11:46
When parsing CREATE INDEX statements from the sqlite_master table, do not search the temp database schema for the corresponding table. Only consider the database for which the schema is being parsed. Ticket #2817. (CVS 4587) (check-in: e6f02aa5ae user: danielk1977 tags: trunk)
2007-12-01
19:25
Another fix to Makefile.in for mingw. (CVS 4586) (check-in: cfaeb02554 user: drh tags: trunk)
19:23
Beginning attempts at casting the sqlite.h.in documentation into formal requirements. (CVS 4585) (check-in: 2ea78d2cbd user: drh tags: trunk)
09:32
Bug fix to Makefile.in to allow it to work with mingw. (CVS 4584) (check-in: fdca98d1eb user: drh tags: trunk)
2007-11-30
01:06
Add a few function requirements numbers to interfaces in the comments of sqlite3.h.in. This is experimental. (CVS 4583) (check-in: b829a64515 user: drh tags: trunk)
2007-11-29
18:44
Make sure we never try to "truncate" a file to a larger size. (CVS 4582) (check-in: 7d2f6a1d6c user: drh tags: trunk)
18:36
Add the optional (and experimental) mmap() memory allocator in the mem4.c module. (CVS 4581) (check-in: cfd683ac80 user: drh tags: trunk)
17:43
When using an index to scan a database table, read column data from the index in preference to the table. This increases the likelihood that the table will not be required at all. (CVS 4580) (check-in: 061608c72a user: danielk1977 tags: trunk)
17:05
Optimisations for expressions of the form "<value> IN (SELECT <column> FROM )". (CVS 4579)
(check-in: 56d0e32677 user: danielk1977 tags: trunk)
2007-11-28
22:36
Add the {quote: StrAccum} object for accumulating strings. Revamp xprintf to use the new object. Rewrite the group_concat() function to use the new object. Productize and test the group_concat() function. (CVS 4578) (check-in: 221aee72be user: drh tags: trunk)
16:19
Change the BTree so that it uses the Pagers temporary page space when reorganizing the rows on a page, rather than mallocing for space of its own. In this way, we avoid having to deal with a malloc failure deep down inside the page reorganizer. Ticket #2806 (CVS 4577) (check-in: 98960132dc user: drh tags: trunk)
14:04
Reorganize the code for the homegrown recursive mutexes. Fix a place in the previous check-in where the #ifdef label was incorrect. Ticket #2804. (CVS 4576) (check-in: 542e11f954 user: drh tags: trunk)
13:55
Clarify the conditions under which homegrown recursive mutexes work (they require a coherent cache) and only enable them if there is an explicit #define so as to avoid accidental use on platforms that do not meet the constraints. Ticket #2805. (CVS 4575) (check-in: 80299eebdd user: drh tags: trunk)
13:43
Preset the legacy_file_format pragma to the value of the primary database so that a VACUUM will not unknowingly alter the setting. Ticket #2804. (CVS 4574) (check-in: f731fa6bb3 user: drh tags: trunk)
00:51
Add an implementation of recursive mutexes for unix systems that lack pthreads recursive mutexes (ex: Solaris 2.6). Modern unix systems continue to use the recursive mutexes provided by pthreads. (CVS 4573) (check-in: f366a776c1 user: drh tags: trunk)
2007-11-27
23:36
Add test cases to verify that the file format is preserved across VACUUM. Ticket #2804. (CVS 4572) (check-in: 57400f50c6 user: drh tags: trunk)
23:11
Use the hexio test utility rather than TCL's binary I/O to avoid 32/64-bit problems in io.test. Ticket #2803. (This is a change to the test harness only - not to SQLite.) (CVS 4571) (check-in: 07f7dde8a6 user: drh tags: trunk)
21:44
Remove superfluous -lpthread from publish_osx.sh. Ticket #2801. Fix a bug in mkdll.sh. (CVS 4570) (check-in: 8d6e8fd381 user: drh tags: trunk)
18:45
Omit the superfluous -lpthread option in publish.sh. Ticket #2800. (CVS 4569) (check-in: 4f09f233f0 user: drh tags: trunk)
18:30
Add the publish_osx.sh script for building binaries for OSX (CVS 4568) (check-in: 9bd7c31496 user: drh tags: trunk)
17:38
Update the "publish.sh" scripts used to build the binaries for the website. (CVS 4567) (check-in: 2f748318fb user: drh tags: trunk)
17:12
Version 3.5.3 (CVS 4566) (check-in: a39007d5b1 user: drh tags: trunk)
16:55
Fix a bug that can cause a segfault on win32 systems following an I/O error. (CVS 4565) (check-in: eeec8d27c4 user: drh tags: trunk)
14:50
Bug fix in the configure script. Ticket #2799. The configure script is a real mess and needs to be completely rewritten. (CVS 4564) (check-in: 9d15f0330d user: drh tags: trunk)
14:46
Update the version number to 3.5.3. Fix some minor testing problems. (CVS 4563) (check-in: f4c8f2d191 user: drh tags: trunk)
02:38
Add likely() and unlikely() macros to the header file. They are not yet used for anything. (CVS 4562) (check-in: 485add38a1 user: drh tags: trunk)
2007-11-26
22:54
Use macro __DARWIN__ rather than __MACOS__ for conditional compilation of MacOSX specific features. Ticket #2780. (CVS 4561) (check-in: d0a4c2a363 user: drh tags: trunk)
13:36
Additional out-of-memory testing. Fix bugs caused by malloc failures in where.c. Tickets #2794, #2795, #2796, and #2797. (CVS 4560) (check-in: 5e02dbabcf user: drh tags: trunk)
2007-11-24
10:23
Declare the invalidateCursorsOnModifiedBtrees function to be static. Ticket #2792. (CVS 4559) (check-in: 94f25fc112 user: drh tags: trunk)
00:41
The FTS3 amalgamation can now be appended to the SQLite amalgamation to generate a single source file that contains both components. (CVS 4558) (check-in: 0fc61f99b5 user: drh tags: trunk)
2007-11-23
18:19
Fix a typo in a change to all.test from earlier today. (CVS 4557) (check-in: 8c0b2157f2 user: drh tags: trunk)
18:06
Do not require SQLITE_ENABLE_BROKEN_FTS2 if FTS2 is not enabled. The same for FTS1. Ticket #2777. (CVS 4556) (check-in: f94cdcfd11 user: drh tags: trunk)
18:01
Add a #include of sqlite3.h to fts3_hash.c. Tickets #2762 and #2777. (CVS 4555) (check-in: c8485eb8bc user: drh tags: trunk)
17:31
Changes fts3 to use only sqlite3_malloc() and not system malloc. Ticket #2762. (CVS 4554) (check-in: 460af6bb66 user: drh tags: trunk)
15:12
Remove most documentation from the source code repository. Documentation configuration management is now handled by a separate repository at http://www.sqlite.org/docsrc. (CVS 4553) (check-in: b20f3a6fed user: drh tags: trunk)
15:02
Make sure that INSERT INTO ... SELECT ... always uses an ephemeral intermediate table if the SELECT clause refers to the destination table, even if the SELECT clause is compound or uses the destination table in a subquery. This fixes a long-standing bug that can cause an infinite loop for some SQL statements. (CVS 4552) (check-in: 492b39b6a8 user: drh tags: trunk)
13:42
Avoid a double-free in an out-of-memory situation with a USING clause or NATURAL JOIN. Ticket #2789. (CVS 4551) (check-in: 596694752c user: drh tags: trunk)
2007-11-22
00:47
Change to sqlite3.pc.in recommended by ticket #2786. (CVS 4550) (check-in: 247fa2eac0 user: drh tags: trunk)
2007-11-21
15:24
Handle out-of-memory situations inside the query flattener. Ticket #2784. (CVS 4549) (check-in: 2655a3f2d1 user: drh tags: trunk)
2007-11-17
22:23
Fix a bug in the grammar. We were giving the ones-complement operator ~ the same precedence as the NOT operator, which is incorrect. (CVS 4548) (check-in: b48a4bfd32 user: drh tags: trunk)
2007-11-16
14:55
Fix a crash that can occur after a malloc failure. Ticket #2775. (CVS 4547) (check-in: c91bc8d333 user: danielk1977 tags: trunk)
00:23
Don't do anything when input doclists are both empty. Ticket #2774 (CVS 4546) (check-in: 75cb46f82a user: shess tags: trunk)
2007-11-15
16:04
Return SQLITE_MISUSE instead of crashing if NULL is (incorrectly) passed to sqlite3_step(). Ticket #2773. (CVS 4545) (check-in: 3bfee76fa6 user: danielk1977 tags: trunk)
13:10
Fix a segfault that can occur after a malloc failure in an ANALYZE statement. Ticket #2772. (CVS 4544) (check-in: d05eb67dd6 user: danielk1977 tags: trunk)
2007-11-14
06:48
Add an experimental API for retrieving the SQL source from a compiled statement: sqlite3_sql(). Ticket #2769. (CVS 4543) (check-in: d31f1e0d74 user: danielk1977 tags: trunk)
2007-11-13
10:30
Modify the Tcl interface to use sqlite3_prepare_v2(). (CVS 4542) (check-in: 7bb00c7df6 user: danielk1977 tags: trunk)
2007-11-12
21:09
Various changes to enable compilation of SQLite library and command line shell with the Windows CE cross compiler from cegcc.sourceforge.net (CVS 4541) (check-in: 8ad0ab8cb3 user: chw tags: trunk)
17:56
Another attempt at fixing a memory leak in the TCL interface. See check-in (4338) for the first attempt. Ticket #2597. (CVS 4540) (check-in: 68a43c99f1 user: drh tags: trunk)
15:40
Fix a code comment in select.c. No code changes. (CVS 4539) (check-in: cf41d6a00f user: danielk1977 tags: trunk)
15:29
Where possible, transform the DISTINCT qualifier to a GROUP BY clause. GROUP BY clauses may be optimized by indices, DISTINCT qualifiers cannot. (CVS 4538) (check-in: e563312347 user: danielk1977 tags: trunk)
09:50
Allow collation sequence names to be quoted. Ticket #2744. (CVS 4537) (check-in: 06749ac7af user: danielk1977 tags: trunk)
08:09
Modify the order of assert() macros in vdbe.c as per the suggestion in #2768. (CVS 4536) (check-in: af5af5dc26 user: danielk1977 tags: trunk)
2007-11-11
18:36
Fix the code generation for UPDATE and DELETE so that BEFORE triggers that use RAISE(IGNORE) do not leave extra values on the stack. Ticket #2767 (CVS 4535) (check-in: 3391f4139c user: drh tags: trunk)
2007-11-07
15:13
Add asserts on sqlite3_mutex_held() to the zero-malloc memory allocator, in order to prove that the mutex is held when it is needed. (CVS 4534) (check-in: 31eb4abc89 user: drh tags: trunk)
01:23
Changes the asynchronous I/O test module so that it can be appended to the end of the amalgamation. (CVS 4533) (check-in: c1fe27de7b user: drh tags: trunk)
01:19
In the windows VFS, make sure we do not return an error if attempting to delete a file that does not exist. (CVS 4532) (check-in: 08a685abc1 user: drh tags: trunk)
2007-11-05
20:49
Version 3.5.2 (CVS 4531) (check-in: 60da01630a user: drh tags: trunk)
18:11
Preparing documentation for the release of version 3.5.2. (CVS 4530) (check-in: b985328ad9 user: drh tags: trunk)
17:54
Drop support for the SQLITE_OMIT_MEMORY_ALLOCATION compile-time option. (CVS 4529) (check-in: b57c89fed0 user: drh tags: trunk)
17:01
Reset the writer-thread halt criteria after halting the thread. (CVS 4528) (check-in: ecbff972a1 user: danielk1977 tags: trunk)
15:30
Fix some minor problems with malloc failure and in-memory databases. (CVS 4527) (check-in: b752906e70 user: danielk1977 tags: trunk)
14:58
Fix a bug in the misc1 test script. (CVS 4526) (check-in: fa16996d99 user: drh tags: trunk)
14:30
Make sure the default page size never exceeds the maximum page size. (CVS 4525) (check-in: 9c2731f143 user: drh tags: trunk)
12:46
Use malloc to obtain space for sqlite3_aggregate_context(). Ticket #2751. (CVS 4524) (check-in: bf75058f57 user: danielk1977 tags: trunk)
05:12
Handle "IS NULL" constraints on virtual table scans. IS NULL constraints are not passed to the virtual table layer. Ticket #2759. (CVS 4523) (check-in: 7027368c15 user: danielk1977 tags: trunk)
2007-11-02
12:53
Add the ".timer" command to the CLI. (CVS 4522) (check-in: 56680360d3 user: drh tags: trunk)
12:52
Fix building of sqlite3_analyzer on Mac. (CVS 4521) (check-in: a616b6cb64 user: drh tags: trunk)
09:07
Add some assert() statements to the asychronous backend demo to enforce the strategy used to avoid deadlock. Also a minor change to avoid a potential deadlock. (CVS 4520) (check-in: 6340ca5eee user: danielk1977 tags: trunk)
2007-11-01
17:38
Add a prototype "group_concat()" aggregate function to func.c. Disabled by default. No documentation nor test cases. No effort to make it efficient. (CVS 4519) (check-in: 61987a89d1 user: drh tags: trunk)
2007-10-30
17:28
Avoid leaking a file descriptor after a malloc failure on unix. (CVS 4518) (check-in: c249d5da72 user: danielk1977 tags: trunk)
15:38
Remove a debugging assert() that went in by accident with the previous commit. (CVS 4517) (check-in: 4ad60bdba0 user: danielk1977 tags: trunk)
15:29
Fix a race condtion in test_async.c. (CVS 4516) (check-in: 5e3f7c3dec user: danielk1977 tags: trunk)
2007-10-27
16:25
Clarify the behavior of sqlite3_last_insert_rowid() when using INSERT OR IGNORE. (CVS 4515) (check-in: c0fa0c8ba8 user: drh tags: trunk)
2007-10-24
23:24
Be a bit more susicious of invalid results from the tokenizer. (CVS 4514) (check-in: deb8f56d3a user: shess tags: trunk)
23:04
Fix os2CurrentTime() to give correct results for negative timezones. (CVS 4513) (check-in: a3b82548cb user: pweilbacher tags: trunk)
23:03
Fix os2GetTempname() to actually work: DosScanEnv() wants an empty PSZ as argument and we obviously don't need to test for file existence any more. (CVS 4512) (check-in: 8a233845f6 user: pweilbacher tags: trunk)
21:52
fts3.c buildTerms() passes -1 for nInput. (CVS 4511) (check-in: e87c883a12 user: shess tags: trunk)
2007-10-23
18:55
Add comments, assertions, and test cases to demonstrate that the problem described in ticket #2742 is not a real problem. (CVS 4510) (check-in: c085d6dfc0 user: drh tags: trunk)
15:59
Add comments to the code warning that _XOPEN_SOURCE might need to be defined manually if using USE_PREAD or USE_PREAD64. (CVS 4509) (check-in: d7ed7cd077 user: drh tags: trunk)
15:51
Make sure the _LARGEFILE_SOURCE macro occurs before any system includes. Ticket #2739. (CVS 4508) (check-in: 36465aeb1f user: drh tags: trunk)
15:39
Floating point and 64-bit integer constants store in the virtual machine opcodes in binary, not as text. Performance improvement. Ticket #2733. (CVS 4507) (check-in: 7e30fd6a09 user: drh tags: trunk)
14:55
Fix limit assertions in vdbe.c. Ticket #2740. (CVS 4506) (check-in: 27f846d089 user: drh tags: trunk)
14:49
Make sure the sqlite3_vfs_register() and sqlite3_vfs_unregister() APIs work right even if not VFS is currently registered. Ticket #2738. (CVS 4505) (check-in: c36500871e user: drh tags: trunk)
10:25
Add speed4.test, with some speed tests for triggers, sub-selects, views and joins. (CVS 4504) (check-in: 3e3475b9e0 user: danielk1977 tags: trunk)
08:17
Fix an error message in the tcl interface. (CVS 4503) (check-in: 2449e08069 user: danielk1977 tags: trunk)
2007-10-22
18:02
Add the NEAR operator to fts3. (CVS 4502) (check-in: aef7720e0b user: danielk1977 tags: trunk)
2007-10-21
22:59
We need an extra define to activate OS/2 semaphores for compiling/linking. (CVS 4501) (check-in: 0604dace0e user: pweilbacher tags: trunk)
22:47
Finally bring OS/2 to the 3.5 level. This at least is a first draft version that survives very basic tests. It still contains a lot of debugging stuff... (CVS 4500) (check-in: 46b2d1034b user: pweilbacher tags: trunk)
2007-10-20
20:58
Use the 2-argument version of substr() in the SQL contained in the VACUUM and ALTER TABLE commands. Ticket #2737. (CVS 4499) (check-in: 82b08a3dc2 user: drh tags: trunk)
16:36
Add the new memory allocator to the amalgamation. Improvements to out-of-memory handling. (CVS 4498) (check-in: b58c2b37a5 user: drh tags: trunk)
16:11
Bug fix in the realloc algorithm of the static memory allocator. (CVS 4497) (check-in: 50db16be50 user: drh tags: trunk)
15:41
Simplify the mem3.c memory allocator. Have it call sqlite3_release_memory() automatically, without having to specify the soft heap limit. (CVS 4496) (check-in: ca51b2f540 user: drh tags: trunk)
13:17
Go back to allocating each page and its header with a single memory allocation. This undoes the change of (4409). (CVS 4495) (check-in: f56c9884be user: drh tags: trunk)
12:34
Fix a mutex leak in the new malloc-free memory allocator. (CVS 4494) (check-in: 30f014d3d0 user: drh tags: trunk)
2007-10-19
17:47
Added an experimental malloc-free memory allocation subsystem, intended for use on embedded systems. Runs 7% faster than when using system malloc() on Linux. (CVS 4493) (check-in: 8487ca82fa user: drh tags: trunk)
2007-10-17
01:44
Reorder some tests at the beginning of sqlite3_step() to work around misuse by python. Ticket #2732. (CVS 4492) (check-in: e8d591e8c3 user: drh tags: trunk)
2007-10-16
19:45
A cosmetic changes to btree.c which (we are told) works around a bug in MSVC++. (CVS 4491) (check-in: 329dd014b0 user: drh tags: trunk)
2007-10-15
19:34
Add a malloc size histogram to the debugging malloc implementation in mem2.c. (CVS 4490) (check-in: 3e51696cb8 user: drh tags: trunk)
07:08
Fix for OMIT_AUTHORIZATION builds. (CVS 4489) (check-in: 260711a14d user: danielk1977 tags: trunk)
2007-10-12
20:42
Do not invoke the authorizer when reparsing the schema after a schema change or when trying to figure out the result set of a view. (CVS 4488) (check-in: e756bc9b74 user: drh tags: trunk)
19:35
Convert a K&R style function to ANSI style. Ticket #2548. (CVS 4487) (check-in: e1b2e7c24c user: drh tags: trunk)
19:11
Make the 3rd parameter of the SUBSTR() function optional. Ticket #2579. (CVS 4486) (check-in: 4a807d48ea user: drh tags: trunk)
18:36
Add an explicit type conversion in an AWK script to work around bugs in cygwin. Ticket #2713. (CVS 4485) (check-in: 043cee2fd9 user: drh tags: trunk)
18:30
Update documentation to talk about the SQLITE_UTF16_ALIGNED option for sqlite3_create_collation(). Ticket #2722 (CVS 4484) (check-in: a7292c14de user: drh tags: trunk)
00:23
Fix to the main.mk makefile. (CVS 4483) (check-in: e4527dd6ed user: drh tags: trunk)
2007-10-09
15:36
Still more tweaks to the wince interface. Ticket #2711. (CVS 4482) (check-in: b2bdb47685 user: drh tags: trunk)
15:20
Fix a typo in the wince driver. Ticket #2710. See also ticket #2702. (CVS 4481) (check-in: beb91af706 user: drh tags: trunk)
08:29
Fixes to the test suite (no code changes) so that quick.test runs with OMIT_ATTACH builds. #2706. (CVS 4480) (check-in: 07c00fffe5 user: danielk1977 tags: trunk)
2007-10-08
15:06
More untested changes for wince contributed by users. Ticket #2702. (CVS 4479) (check-in: ccd709e179 user: drh tags: trunk)
12:29
Reverting check-in (3836) at the request of winCE users. We no ability to test this change. Presumably this is a fix for tickets #2698, #2533, and #2598. It is unclear if this causes #2294 to be reopened or not. (CVS 4478) (check-in: 27346fa55e user: drh tags: trunk)
12:22
Fix a bug in code for winCE. Ticket #2700. (CVS 4477) (check-in: a36fca4cde user: drh tags: trunk)
12:21
In windows, always open files using FILE_FLAG_RANDOM_ACCESS. Ticket #2699. (CVS 4476) (check-in: 5cdbc0972f user: drh tags: trunk)
2007-10-06
01:40
Fix a memory leak in the sqlite3_realloc() implementation of the non-debugging memory allocator. (CVS 4475) (check-in: 7e9b886dab user: drh tags: trunk)
2007-10-05
16:23
Remove #include <math.h> from all source files. It is no longer needed but causes compile problems when -DSQLITE_OMIT_FLOATING_POINT is defined. Ticket #2696. (CVS 4474) (check-in: 4424357d17 user: drh tags: trunk)
16:16
Changes lemon so that the generated parser does not accept prior to seeing the EOF token. This is a lemon change only and does not effect SQLite. Ticket #2550. (CVS 4473) (check-in: 1c68d93412 user: drh tags: trunk)
15:53
Changes to a couple of test scripts to handle the tcl 8.5 version of (file attributes -readonly) on mac. (CVS 4472) (check-in: a51946e66b user: danielk1977 tags: trunk)
15:08
Do not attempt to use TryEnterCriticalSection() under win32. It causes too many compiler problems. Ticket #2685. (CVS 4471) (check-in: f795431c72 user: drh tags: trunk)
15:04
Fix problem building testfixture on mac. Ticket #2689. (CVS 4470) (check-in: fe067d706b user: danielk1977 tags: trunk)
14:54
The sqlite3internal.h file obsolete as of version 3.5.0. Remove legacy procedures and makefile targets for building this file. Tickets #2693 and #2694. (CVS 4469) (check-in: e65842a9d4 user: drh tags: trunk)
14:49
Use FormatMessageA() instead of FormatMessage() in the w32 VFS. Ticket #2687. (CVS 4468) (check-in: 38674fd287 user: drh tags: trunk)
2007-10-04
18:52
Correct the name on the new test script for ticket #2686. (CVS 4467) (check-in: d261e2c731 user: drh tags: trunk)
18:11
Fixes for OMIT_AUTHORIZATION builds. #2691. (CVS 4466) (check-in: 755fcaf7e3 user: danielk1977 tags: trunk)
00:30
Version 3.5.1 (CVS 4465) (check-in: 81cf518646 user: drh tags: trunk)
00:29
Updates to the documentation index page. (CVS 4464) (check-in: 837fc86166 user: drh tags: trunk)
2007-10-03
21:18
Get io.test to work even if auto_vacuum is on by default and we are running with a reduced maximum page size. (CVS 4463) (check-in: 0d05f3fbaa user: drh tags: trunk)
21:10
Fix a syntax error that comes up when memory debugging is disabled. (CVS 4462) (check-in: 96dd3c336b user: drh tags: trunk)
20:32
Update documentation in preparation for the release of 3.5.1. (CVS 4461) (check-in: a57b25a2e4 user: drh tags: trunk)
20:15
Update documentation to talk about the response to errors within an explicit transaction. (CVS 4460) (check-in: 84616a13af user: drh tags: trunk)
18:45
Simplify the vdbeHalt logic slightly. (CVS 4459) (check-in: b59f7bcbab user: drh tags: trunk)
15:30
Rollback the transaction if an SQLITE_FULL error is encountered. This is a preliminary fix for ticket #2686. More testing and analysis is needed before we close the ticket. (CVS 4458) (check-in: 0fb6d5a577 user: drh tags: trunk)
15:22
Fix a memory leak that could occur during error-state recovery. (CVS 4457) (check-in: 3d1d13d1eb user: danielk1977 tags: trunk)
15:02
Add a test case to malloc.test. (CVS 4456) (check-in: 7d3f0b149b user: danielk1977 tags: trunk)
09:43
Fix a problem in test script malloc5.test. (CVS 4455) (check-in: 028ec36c71 user: danielk1977 tags: trunk)
08:46
Add automatic recovery from the pager "error-state". Also add a new error code - SQLITE_IOERR_NOMEM. (CVS 4454) (check-in: 12eca32a6a user: danielk1977 tags: trunk)
2007-10-02
19:56
Use local variables instead of #defines for the mutex name and length in OS/2's sqlite3_mutex_alloc(). (CVS 4453) (check-in: 272959cc91 user: pweilbacher tags: trunk)
2007-10-01
17:47
Additional #ifdefing around _XOPEN_SOURCE. Ticket #2681. (CVS 4452) (check-in: eb5d78451e user: drh tags: trunk)
17:45
Document that END TRANSACTION is an alias for COMMIT. Ticket #2656 (CVS 4451) (check-in: ebe3e6913c user: drh tags: trunk)
14:30
Omit the _XOPEN_SOURCE 500 define on Mac OS-X. Ticket #2673 (CVS 4450) (check-in: 0bbf654b67 user: drh tags: trunk)
13:59
Update the build process so that it includes sqlite3ext.h with the amalgamation ZIP archive. Ticket #2678. (CVS 4449) (check-in: 6232ee6750 user: drh tags: trunk)
13:54
Use sqlite3_int64, not sqlite_in64, consistently in the documentation. Ticket #2680. (CVS 4448) (check-in: f7a2647033 user: drh tags: trunk)
13:50
Fix comment typos in sqlite3.h. Ticket #2666. (CVS 4447) (check-in: 2ea278a2af user: drh tags: trunk)
13:45
Add text to the load_extension SQL function documentation that explains limitations in the use of that function. Ticket #2672. (CVS 4446) (check-in: b2befc84c3 user: drh tags: trunk)
2007-09-21
12:43
Remove "const" keywords from the sqlite3_index_info structure definition. The use of this keyword is suspected to be causing problems for some compilers. (CVS 4445) (check-in: 005d780de6 user: drh tags: trunk)
04:28
Another comment typo. Also #2660. (CVS 4444) (check-in: 0c1e6f69cd user: danielk1977 tags: trunk)
04:27
Fix a typo in comments. Ticket #2660. (CVS 4443) (check-in: 02c8d60bea user: danielk1977 tags: trunk)
2007-09-20
21:40
Initial attempt of the new OS/2 mutex implementation. (Compiles and an attempt to create a new table does not crash in mutex_os2 any more.) (CVS 4442) (check-in: aa61b24425 user: pweilbacher tags: trunk)
14:39
Replace "i64" with "sqlite3_int64" in the w32 VFS. (CVS 4441) (check-in: 138d3fcc5a user: drh tags: trunk)
12:53
Cleanup the hash functions in FTS3. (CVS 4440) (check-in: ac645c8f30 user: drh tags: trunk)
11:34
get rid of remaining GCC 4.3 -Wall compiler warnings by initializing two variables and one structure properly (although the code path was already rather safe) (CVS 4439) (check-in: d748694f8d user: rse tags: trunk)
11:32
fix typo in comment (CVS 4438) (check-in: c2ac43a4ef user: rse tags: trunk)
10:02
Fixes for uninitialized variables. Tickets #2658 and #2659. (CVS 4437) (check-in: 27fe128833 user: drh tags: trunk)
08:38
The code is correct as it contains an assert(3) in the "default" switch case, but GCC 4.3 is not able to detect this and instead complains with "warning: 'amode' may be used uninitialized in this function". Hence, although the assert(3) already protects the code here, get rid of this compiler warning by doing a simple initialization of the "amode" variable. (CVS 4436) (check-in: 91831ff292 user: rse tags: trunk)
2007-09-18
16:53
Add disabled test cases for ticket #2652. We will enable these test cases after #2652 is fixed. The fix will be difficult and will probably take a while. On the other hand, correlated aggregate queries have never worked in SQLite and the problem is just now coming to light, so it is probably not a pressing issue. (CVS 4435) (check-in: 5c41619e29 user: drh tags: trunk)
15:55
Remove unneeded pSchema field from the Expr structure. (CVS 4434) (check-in: b2d605a271 user: drh tags: trunk)
2007-09-17
07:02
Add a parameter to specify the size of the output buffer passed to xGetTempname() and xFullPathname(). This, and the previous commit, are changes to the public vfs API introduced in 3.5.0. (CVS 4433) (check-in: 8b29f5fbfc user: danielk1977 tags: trunk)
06:06
Change the names of xGetTempName and sqlite3OsGetTempName to xGetTempname. To be consistent with xFullPathname and sqlite3OsFullPathname. (CVS 4432) (check-in: ad3687b16e user: danielk1977 tags: trunk)
2007-09-14
20:32
Corrections to the winCE code. Untested. (CVS 4431) (check-in: 8cc51e0a81 user: drh tags: trunk)
16:20
Minor fixes for the OMIT_INCRBLOB compilation option. (CVS 4430) (check-in: 87e37eabf0 user: danielk1977 tags: trunk)
16:19
Add demo code for a vfs that operates on a single pre-allocated file. (CVS 4429) (check-in: 15680ca482 user: danielk1977 tags: trunk)
01:48
Add tests to prevent a regression of the short read problem discovered in version 3.2.2. (CVS 4428) (check-in: 995c63b561 user: drh tags: trunk)
2007-09-13
18:16
Drop the forced error from fts3.c and add forced errors to fts2.c and fts1.c. (CVS 4427) (check-in: fec6567a0f user: shess tags: trunk)
18:14
Add an implicit (HIDDEN) docid column. This works as an alias to rowid, similar to how things work in SQLite tables with INTEGER PRIMARY KEY. Add tests to verify operation. (CVS 4426) (check-in: c8d2345200 user: shess tags: trunk)
18:12
Mark the table-named column HIDDEN. Add tests to make sure it's working as expected. (CVS 4425) (check-in: ca669eaf1b user: shess tags: trunk)
17:54
Fix incorrect index cost assumptions that occur after an ANALYZE. Ticket #2643. (CVS 4424) (check-in: 2cfdbfe654 user: drh tags: trunk)
2007-09-12
17:01
Fixes for compilation/testing when the various OMIT macros are defined. (CVS 4423) (check-in: c8405b15c0 user: danielk1977 tags: trunk)
15:41
In the query optimizer, make sure table dependencies from all terms of a compound SELECT statement are recognized so that subqueries in a WHERE clause are not evaluated too early. Fix for ticket #2640. (CVS 4422) (check-in: 9c9c2a1da2 user: drh tags: trunk)
14:09
Add a missing semi-colon to os_win.c. Ticket #2642. (CVS 4421) (check-in: c6ee5929e7 user: danielk1977 tags: trunk)
2007-09-10
16:13
Fix a problem in the noop-mutexes used for testing. (CVS 4420) (check-in: 4dbeb915b3 user: danielk1977 tags: trunk)
10:53
Add another test file to help verify thread-safety. (CVS 4419) (check-in: c758cc1d88 user: danielk1977 tags: trunk)
07:35
Enhance thread001.test again, this time to also test in shared-cache mode. (CVS 4418) (check-in: 54f8789903 user: danielk1977 tags: trunk)
06:23
Upgrade thread001.test to test with multiple database handles. (CVS 4417) (check-in: 6ee2b8ffc4 user: danielk1977 tags: trunk)
06:12
Fix an undeclared identifier in an IOTRACE (debugging) block. (CVS 4416) (check-in: 48e59c747f user: danielk1977 tags: trunk)
2007-09-07
18:40
Modify test_thread.c to use tcl apis for creating threads. (CVS 4415) (check-in: 9b7bab7fc2 user: danielk1977 tags: trunk)
14:32
Fix a segfault that could occur while attempting to add new pages to the freelist in a corrupt database. (CVS 4414) (check-in: c8e85fff7e user: drh tags: trunk)
11:29
Add the beginning of the thread-safety tests. There are more to come. (CVS 4413) (check-in: 753908e841 user: danielk1977 tags: trunk)
01:12
Modify the CLI so that it will ignore whitespace at the end of lines. Ticket #2631 (CVS 4412) (check-in: f780a17f4b user: drh tags: trunk)
2007-09-06
23:39
Throw an error on an attempt to open a database where the page size is larger than SQLITE_MAX_PAGE_SIZE. Ticket #2628. (CVS 4411) (check-in: 4881f7cb37 user: drh tags: trunk)
23:28
Base the name of the statement journal on the original database filename. Remember the statement journal name for the lifetime of the Pager so that the name pointer passed to xOpen persists as long as the file exists. (CVS 4410) (check-in: 44d8d1e92d user: drh tags: trunk)
22:19
Allocate page cache headers and page cache data buffers separately. The data buffer will be a power of two in size and this gives some malloc implementation additional optimization opportunitites. (CVS 4409) (check-in: 2b755defe5 user: drh tags: trunk)
13:49
Updated comments on journal.c. No changes to code. (CVS 4408) (check-in: 3298441086 user: drh tags: trunk)
07:47
Add some extra comments to the header in test_async.c. (CVS 4407) (check-in: 79cf4e886c user: danielk1977 tags: trunk)
2007-09-05
22:28
Fix temp file handling for OS/2 so that trailing slashes or backslashes are stripped off the path gotten from the environment. Otherwise full paths might contain multiple slashes which causes opening of files to fail. (CVS 4406) (check-in: 96aa96ac11 user: pweilbacher tags: trunk)
17:06
Fix a harmless typo in the PRNG initialization on win32. Ticket #2617. (CVS 4405) (check-in: ea1d76e3fa user: drh tags: trunk)
16:54
Fix error handling (malloc and io errors) in the asynchronous backend. (CVS 4404) (check-in: 80a44382d1 user: danielk1977 tags: trunk)
14:32
Test that the asynchronous backend works with components like "." or ".." in the path to the database file. (CVS 4403) (check-in: 0a87a85422 user: danielk1977 tags: trunk)
14:30
Restore the sqlite3_mutex_try() optimization on winNT systems. (CVS 4402) (check-in: 3aace2fa91 user: drh tags: trunk)
13:56
Remove the unixFile.isOpen variable (no longer in use). (CVS 4401) (check-in: 1786e9c881 user: danielk1977 tags: trunk)
11:34
Fix a problem in the test scripts for the asynchronous backend. (CVS 4400) (check-in: 630fc71f3d user: danielk1977 tags: trunk)
2007-09-04
22:31
Do not use the TryEnterCriticalSection API on windows since it is unavailable on some platforms. (CVS 4399) (check-in: bf3d67d1bd user: drh tags: trunk)
18:28
Add external locking to test_async.c. There are still some tests to come. (CVS 4398) (check-in: 3794dcd31a user: danielk1977 tags: trunk)
15:38
Fix a problem whereby the *ppVtab output buffer passed to sqlite3_module.xConstruct() could be invalidated (freed) if a malloc() failure occured within a call to sqlite3_declare_vtab(). (CVS 4397) (check-in: efd61df1b9 user: danielk1977 tags: trunk)
14:31
Add internal locking to the test_async.c backend. So that more than one connection may be used from within a single process. (CVS 4396) (check-in: 17ca684c12 user: danielk1977 tags: trunk)
12:18
Clarify documentation on the return value from sqlite3_column_blob() for a zero-length BLOB. Clarify the documentation on what happens when you have a zeroblob() with a negative length. Additional test cases but no changes to code. Ticket #2623. (CVS 4395) (check-in: 63ca02a5b2 user: drh tags: trunk)
12:00
Documentation fixes. No changes to code. Tickets #2622 and #2624. (CVS 4394) (check-in: 2eadef9016 user: drh tags: trunk)
03:28
Fix yet another typo on the homepage. Ticket #2621. (CVS 4393) (check-in: d5fec87310 user: drh tags: trunk)
03:08
Fix a typo on the homepage. Ticket #2619. (CVS 4392) (check-in: deecd934e6 user: drh tags: trunk)
02:38
Version 3.5.0 Alpha (CVS 4391) (check-in: 1b690be22a user: drh tags: trunk)
01:58
More documentation changes prior to the 3.5.0 alpha release. (CVS 4390) (check-in: b15b03dfd6 user: drh tags: trunk)
01:25
Fix the malloc-10 test in malloc.test so that it will run on windows when invoked from exclusive3.test. (CVS 4389) (check-in: 1166f9c7d1 user: drh tags: trunk)
2007-09-03
22:15
Fix Makefile.in so that it rebuilds all source files that use SQLITE_TEST when constructing the testfixture. (CVS 4388) (check-in: dced71a010 user: drh tags: trunk)
22:00
Fix btree.c so that it works with -DSQLITE_THREADSAFE=0 and -DSQLITE_DEBUG=1 (CVS 4387) (check-in: fee2d7c0e6 user: drh tags: trunk)
20:32
Documentation updates in preparation for the release of version 3.5.0. (CVS 4386) (check-in: c6809bf776 user: drh tags: trunk)
18:01
In sqllimits1.test, set MAX_SQL_LENGTH to a value smaller than MAX_LENGTH. (CVS 4385) (check-in: 51726a9bb6 user: danielk1977 tags: trunk)
17:42
Unix OS interface returns SQLITE_CANTOPEN following a getcwd() failure. (CVS 4384) (check-in: ed15db4610 user: drh tags: trunk)
17:30
Remove an unreachable case from xferOptimization(). Also other minor test coverage improvements. (CVS 4383) (check-in: 75af7189c0 user: danielk1977 tags: trunk)
17:09
Fix the open file counter on windows. (CVS 4382) (check-in: 40cf0c1776 user: drh tags: trunk)
17:02
Get the io.test tests working on windows. (CVS 4381) (check-in: 1be70015e2 user: drh tags: trunk)
16:45
Fix the incrblob.test on windows. Disable line terminator translation. (CVS 4380) (check-in: ccbd2efeba user: drh tags: trunk)
16:12
Enable threadsafe builds by default in configure. Ticket #2606. Changes to test scripts to do better testing under all configurations. (CVS 4379) (check-in: d66e08fd4f user: drh tags: trunk)
15:42
Test script fixes to get things running under varying configurations. No changes to code. (CVS 4378) (check-in: 340a6d09bc user: drh tags: trunk)
15:26
Remove the last traces of SQLITE_ENABLE_REDEF_IO. (CVS 4377) (check-in: 38dff76ddf user: drh tags: trunk)
15:19
Honor the SQLITE_OPEN_ flags passed into sqlite3_open_v2(). Some test cases added but more are needed. Ticket #2616. (CVS 4376) (check-in: 020a2b10d4 user: drh tags: trunk)
15:03
Fix a problem in hash.c when replacing entries in tables configured with copyKey==0. (CVS 4375) (check-in: a19d3a73a9 user: danielk1977 tags: trunk)
13:06
Improvements to the xRandomness() method on the default windows VFS. Ticket #2615. (CVS 4374) (check-in: 91b50f31e3 user: drh tags: trunk)
12:34
Document the fact that xRandomness is only called once from the default VFS. Ticket #2614. (CVS 4373) (check-in: e89d4131a1 user: drh tags: trunk)
11:51
Add a module-destructor to the echo module (test8.c) to improve code coverage. (CVS 4372) (check-in: e3dd365142 user: danielk1977 tags: trunk)
11:04
Handle transient malloc() failures in sqlite3CreateFunc(). (CVS 4371) (check-in: c0ce631964 user: danielk1977 tags: trunk)
07:31
Fixes to test code so that the test suite passes without SQLITE_MEMDEBUG defined. (CVS 4370) (check-in: ed2a2e0102 user: danielk1977 tags: trunk)
2007-09-02
17:52
The sqlite3_vfs_register() interface now calls sqlite3_vfs_find(0) to make sure the VFS subsystem is initialized. Ticket #2611. (CVS 4369) (check-in: 4a9999a36d user: drh tags: trunk)
17:50
Fix function name typo in mem1.c. This bug managed to make it into the tree because the code in mem1.c is only compiled when the -DSQLITE_MEMDEBUG compile-time option is omitted. But pre-checkin tests usually include this option. Ticket #2612. (CVS 4368) (check-in: 59e02db240 user: drh tags: trunk)
2007-09-01
18:24
Fix a bug in jrnlTruncate(). And other coverage improvements. (CVS 4367) (check-in: 02b751fb9d user: danielk1977 tags: trunk)
18:17
Comment changes in sqlite.h.in in order to generate better capi3ref.html documentation. (CVS 4366) (check-in: 2804745956 user: drh tags: trunk)
17:00
Remove code for calling the SQL function randstr() with 0 or 1 argument, as it is registered with sqlite as requiring exactly 2. Also test io errors in sqlite3_release_memory(). (CVS 4365) (check-in: 5842f68c1b user: danielk1977 tags: trunk)
16:16
Remove the syncOk argument to pager_recycle. Now that sqlite3_memory_release uses a global lru list of page, it is no longer required. (CVS 4364) (check-in: fb27692ab1 user: danielk1977 tags: trunk)
11:04
Test sqlite3_bind_zeroblob(). Only include sqlite3Utf8To8 in builds if SQLITE_DEBUG is defined. (CVS 4363) (check-in: fde6142b7b user: danielk1977 tags: trunk)
10:01
Allow sqlite3GetInt32 to recognize 10-digit decimal numbers as 32-bit. (CVS 4362) (check-in: 7571345d20 user: danielk1977 tags: trunk)
09:02
Fix a problem handling a malloc() failure in printf.c. Also some other things to improve test coverage. (CVS 4361) (check-in: 595bfe72f0 user: danielk1977 tags: trunk)
06:51
Fix for registration of non-default vfs objects. (CVS 4360) (check-in: 5f48fb95c2 user: danielk1977 tags: trunk)
06:19
Fix a bug in loadext.test. (CVS 4359) (check-in: 2be8af9d40 user: danielk1977 tags: trunk)
05:57
Call sqlite3OsDlError to obtain error information after DlOpen or DlSym fail. (CVS 4358) (check-in: 3d74256c91 user: danielk1977 tags: trunk)
02:13
Change the windows tempfile name generator so that it uses 119 bits of randomness and does not bother to check to see if the file already exists. Ticket #2608. (Unable to test from this machine, but the changes are simple and isolated. Hope it works.) (CVS 4357) (check-in: ca6c1e3f44 user: drh tags: trunk)
2007-08-31
18:50
Get make doc working again. (CVS 4356) (check-in: 8f73ebc6e3 user: drh tags: trunk)
18:34
Remove the xLockState method for sqlite3_io_methods. Replace it with a defined call to xFileControl(). This simplifies the interface and also gives us coverage testing of sqlite3_file_control(). (CVS 4355) (check-in: 306586c412 user: drh tags: trunk)
17:42
Allow sqllimits1.test to be run from a regular build of testfixture. Add the 'amalgamation-testfixture' target to main.mk - to build testfixture via sqlite3.c. (CVS 4354) (check-in: d119427314 user: danielk1977 tags: trunk)
16:11
Initial implementation of the sqlite3_file_control() interface. Compiles and passes all historical tests but the new method is itself untested. (CVS 4353) (check-in: d3ab3e3911 user: drh tags: trunk)
14:31
Convert the TCL interface to use sqlite3_open_v2 (CVS 4352) (check-in: 3434b7a921 user: drh tags: trunk)
05:00
Fix a problem in malloc3.test preventing all.test from completing. No code changes. (CVS 4351) (check-in: ee9b3e5e38 user: danielk1977 tags: trunk)
2007-08-30
20:09
Add the experimental sqlite3_threadsafe() API. (CVS 4350) (check-in: 1b39a714ef user: drh tags: trunk)
20:09
Fix the loadable extension module so that it will compile with SQLITE_THREADSAFE=0. (CVS 4349) (check-in: a73a8b50f7 user: drh tags: trunk)
20:01
Fix discrepency in the test pointed out by a user. Was testing fts2 :-). (CVS 4348) (check-in: 65c62ed85e user: shess tags: trunk)
19:56
Fix memory leak reported by an fts1 user. Was losing a doclist on a query error. (CVS 4347) (check-in: eee0250249 user: shess tags: trunk)
17:15
Make mutex functions available to loadable extensions. Fix the amalgamation generator to include the latest source files. (CVS 4346) (check-in: 293a3f837b user: drh tags: trunk)
16:46
Fix a memory leak in the win32 OS driver. Ticket #2602. (CVS 4345) (check-in: 1f80cf5e75 user: drh tags: trunk)
16:30
Fix the "test_destructor" test function in utf-16 mode. Fix for test failure in utf16 version of func.test. (CVS 4344) (check-in: c073b78040 user: danielk1977 tags: trunk)
16:23
Make the latest interfaces usable by loadable extensions. (CVS 4343) (check-in: e9b2700b8c user: drh tags: trunk)
16:13
Prevent sqlite from opening directories as databases under unix. Fix for test cae in misc7.test. (CVS 4342) (check-in: e30546504c user: danielk1977 tags: trunk)
15:46
Check in extra fixes for malloc4.test. (CVS 4341) (check-in: 49ce3a8381 user: danielk1977 tags: trunk)
15:16
Fixes for malloc4.test. (CVS 4340) (check-in: 23746924db user: danielk1977 tags: trunk)
15:05
Fix the SQLITE_MIXED_ENDIAN_64BIT_FLOAT option so that it works on goofy linux kernels that employ CONFIG_FPE_FASTFPE. Patch from Frank van Vugt. (CVS 4339) (check-in: 71ab92e900 user: drh tags: trunk)
14:58
Fix a ref-count problem in the TCL bindings. Ticket #2597. (CVS 4338) (check-in: 18a5babb72 user: drh tags: trunk)
14:49
Remove the SYNC_BARRIER flag. (CVS 4337) (check-in: 5a22d8695b user: danielk1977 tags: trunk)
14:41
Fixes to malloc3.test so that it can run in transient or persistent failure mode. (CVS 4336) (check-in: e14e3688eb user: danielk1977 tags: trunk)
14:10
Bug fixes in the mutex header file. Tickets #2599 and #2600. (CVS 4335) (check-in: 4bdfe1419c user: drh tags: trunk)
11:48
Fixes for failures in fuzz_malloc.test. (CVS 4334) (check-in: d3e5022638 user: danielk1977 tags: trunk)
10:49
Fix some problems in async2.test. No code changes. (CVS 4333) (check-in: d80d87c239 user: danielk1977 tags: trunk)
10:07
Better handle a malloc() failure in sqlite3PagerSetPagesize(). (CVS 4332) (check-in: 41550d87c9 user: danielk1977 tags: trunk)
08:27
Fix a bug in a test file causing malloc5.test to crash. (CVS 4331) (check-in: ab09967bd2 user: danielk1977 tags: trunk)
08:08
Add tests for malloc() failure when the atomic-write optimization is being used. Also fix things so that rollback can occur without a malloc(), even if there is a master journal file. (CVS 4330) (check-in: 481fd3a89e user: danielk1977 tags: trunk)
02:26
Test case fixes for fulltest. (CVS 4329) (check-in: cddce49505 user: drh tags: trunk)
01:19
Fix for the sqlite3AbortOtherActiveVdbes() problem. (CVS 4328) (check-in: e40d40a5d4 user: drh tags: trunk)
2007-08-29
19:15
Fix minor problems on various tests. This is a snapshot prior to possible major changes in order to fix the sqlite3AbortOtherActiveVdbes problem. (CVS 4327) (check-in: 35cb63ecfd user: drh tags: trunk)
18:20
Fix a bug in test_server.c that resulted from the change in semantics of sqlite3_enable_shared_cache(). All quick tests now pass. (CVS 4326) (check-in: 5201fa4f83 user: drh tags: trunk)
17:59
Disable tests that require SQLITE_ENABLE_ATOMIC_WRITE if that feature is not enabled. (CVS 4325) (check-in: 4874499377 user: drh tags: trunk)
17:43
Improvements to mutex asserts. The quick test runs to completion without assertion faults. (CVS 4324) (check-in: 2732af0ec7 user: drh tags: trunk)
14:06
Use the DbMalloc() and DbRealloc() functions more consistently. (CVS 4323) (check-in: c790c234c3 user: danielk1977 tags: trunk)
13:45
Be careful to verify the schema cookie when running the xfer optimization on INSERT statements. (CVS 4322) (check-in: d8ef702417 user: drh tags: trunk)
12:31
Modifications to the malloc failure tests to test transient and persistent failures. (CVS 4321) (check-in: e38ef81b85 user: danielk1977 tags: trunk)
04:00
Better asserts(). But now some of the tests are busted again. (CVS 4320) (check-in: e8060f85e7 user: drh tags: trunk)
00:33
More locking fixes. Now makes it all the way through quick.test. There are errors but no assertion faults. Progress. (CVS 4319) (check-in: 844d40b837 user: drh tags: trunk)
2007-08-28
23:28
The shared_err test runs with no errors. But a potential deadlock has been discovered and is still unfixed. (CVS 4318) (check-in: f093a0d7b2 user: drh tags: trunk)
23:28
The shared_err test runs with no errors. But a potential deadlock has been discovered and is still unfixed. (CVS 4317) (check-in: f84550be0a user: drh tags: trunk)
22:24
Clean up the locking in the btree logic. (CVS 4316) (check-in: 967ab229af user: drh tags: trunk)
20:36
Fix memory leak of InteriorReader.term. Comes up when doing queries against large segments. (CVS 4315) (check-in: 6c617bd89f user: shess tags: trunk)
19:21
remove unused os_os2.h (CVS 4314) (check-in: dd43a2de3e user: pweilbacher tags: trunk)
16:44
Fix locking bug in btshared.c. (CVS 4313) (check-in: af24e7d01a user: drh tags: trunk)
16:34
Break up the mutex implementation into separate source files, one each for unix, w32, and os2. (CVS 4312) (check-in: fc5cd71aef user: drh tags: trunk)
15:47
Updates to the sqlite3_open() documentation. Method the magic :memory: filename. Ticket #2591. (CVS 4311) (check-in: 5f55b2fc4e user: drh tags: trunk)
15:21
Update the sqlite3_vfs_register() documentation to make the behavior undefined for VFSes with a NULL or empty string as the name or with duplicate names. (CVS 4310) (check-in: e7a98b4838 user: drh tags: trunk)
08:19
Use "affected" instead of "effected". Ticket #2589. No code changes. (CVS 4309) (check-in: 4c5631ce34 user: danielk1977 tags: trunk)
08:00
Add some comments and test-cases for the global lru page list (used by sqlite3_release_memory()). (CVS 4308) (check-in: 0b80168895 user: danielk1977 tags: trunk)
02:27
Work toward correct btree locking in a multithreaded environment. (CVS 4307) (check-in: b8cc493b47 user: drh tags: trunk)
2007-08-27
23:48
Disable tests that debug on SQLITE_MEMDEBUG when that macro is not defined. (CVS 4306) (check-in: 741d6fb096 user: drh tags: trunk)
23:38
Fix the autoconf makefile with all the latest changes. (CVS 4305) (check-in: bc6d73d015 user: drh tags: trunk)
23:26
Work around problem with forward declarations of constants in MSVC in the amalgamation. Ticket #2574. (CVS 4304) (check-in: dc80b2e1f4 user: drh tags: trunk)
21:49
Bring the amalgamation builder up to date with the latest changes. Remove some vestigial code. (CVS 4303) (check-in: 0ae30e5c76 user: drh tags: trunk)
21:10
Added the 34to35.html document describing the changes between 3.4.2 and 3.5.0. Minor interface cleanups. (CVS 4302) (check-in: 0791f917bb user: drh tags: trunk)
17:27
Modify sqlite3_release_memory() to use a global LRU list of pages. Untested. (CVS 4301) (check-in: 5626ce0b5e user: danielk1977 tags: trunk)
2007-08-25
16:31
Create a fresh pthread_mutexattr_t every time a recursive mutex is allocated. Ticket #2588. (CVS 4300) (check-in: 3d746343ad user: drh tags: trunk)
16:21
Documentation and comment updates in sqlite.h.in and mutex.c. (CVS 4299) (check-in: 7289079d6b user: drh tags: trunk)
14:49
Clarification in the documentation of the sqlite3_mutex_held() and sqlite3_mutex_notheld() interfaces. Make it clear that these routines are only for use inside assert(). (CVS 4298) (check-in: a6bbf6eaf6 user: drh tags: trunk)
14:39
Use recursive mutexes in pthreads. If the pthreads implementation does not support recursive mutexes, then you cannot compile SQLite with SQLITE_THREADSAFE=1. Ticket #2588. (CVS 4297) (check-in: 1668284d15 user: drh tags: trunk)
13:37
Update the rest of the malloc failure test scripts to use the new interface. (CVS 4296) (check-in: b076e1655d user: danielk1977 tags: trunk)
13:09
Fix bugs in the altermalloc.test and incrblob_err.test scripts. (CVS 4295) (check-in: e5ec170717 user: danielk1977 tags: trunk)
12:39
Update the async2.test test script to use the new malloc() failure simulation interface. (CVS 4294) (check-in: 686fcfeda4 user: danielk1977 tags: trunk)
12:29
Make the test_async backend work again. (CVS 4293) (check-in: 04167483aa user: danielk1977 tags: trunk)
03:59
Bug fix in the implementation of recursive mutexes using non-recursive pthreads mutexes. Ticket #2588. (CVS 4292) (check-in: 7d24c3a5a7 user: drh tags: trunk)
2007-08-24
20:46
New mutex implementation for both Unix and windows. (CVS 4291) (check-in: e144b81f69 user: drh tags: trunk)
18:32
fix cleanup by removing sqlite3.pc (generated by 'configure') on 'make distclean', too (CVS 4290) (check-in: 3c90864835 user: rse tags: trunk)
17:52
Rework the win32 OS driver to use malloc()/free() directly rather than going through the SQLite memory allocation layer. With this change, the complete quick.test script now runs on windows. There are a few errors, but no segfaults. Progress. (CVS 4289) (check-in: 75aad31698 user: drh tags: trunk)
16:29
Fix bugs in temp database handling introduced by the prevous check-in. (CVS 4288) (check-in: 300038be93 user: drh tags: trunk)
16:08
Remove nRef and vfsMutex from the sqlite3_vfs structure. Omit the sqlite3_vfs_release() interface. Less memory allocated for a pager in the common case where the size of the pathname is less than MAX_PATH. (CVS 4287) (check-in: b8451da378 user: drh tags: trunk)
11:52
Select the default page size for new databases based on the sector-size and IOCAP flags. (CVS 4286) (check-in: 13dda2e8e8 user: danielk1977 tags: trunk)
11:43
Remove unnecessary sqlite3MallocDisallow() that was preventing win32 from running. (CVS 4285) (check-in: eb6c98fc10 user: drh tags: trunk)
08:15
Add tests to simulate power-failure on devices that support IOCAP_SEQUENTIAL or IOCAP_SAFE_APPEND. (CVS 4284) (check-in: bdf5cb8d25 user: danielk1977 tags: trunk)
04:15
Bug fix in the memory leak trace output. (CVS 4283) (check-in: a1b495c28a user: drh tags: trunk)
03:51
The win32 driver compiles but does not yet work well. Many bugs fixed. (CVS 4282) (check-in: 3a68fcddfa user: drh tags: trunk)
2007-08-23
20:28
Make comments and variable naming more consistent WRT rowid versus docid/blockid. This should have no code impact. (CVS 4281) (check-in: 76f1e18ebc user: shess tags: trunk)
20:23
Fix fts3 to not have the VACUUM bug from fts2. %_content.docid is an alias to fix the rowid for documents, %_segments.blockid is an alias to fix the rowid for segment blocks. Unit test for the problem. (CVS 4280) (check-in: 6eb2d74a8c user: shess tags: trunk)
16:27
Add some warm-body tests for rollback journal i/o enhancements. (CVS 4279) (check-in: ff3770f855 user: danielk1977 tags: trunk)
14:48
Add code to reduce rollback journal i/o based on IOCAP flags. As yet untested. (CVS 4278) (check-in: 595568492e user: danielk1977 tags: trunk)
11:47
Ensure temporary files are deleted when they are closed. (CVS 4277) (check-in: cf4e3c158a user: danielk1977 tags: trunk)
11:07
Add some further tests and a bugfix for the atomic-write optimization. (CVS 4276) (check-in: 5f0fb894f4 user: danielk1977 tags: trunk)
08:06
Add some tests for the atomic-write optimization. (CVS 4275) (check-in: e2cc7b4a34 user: danielk1977 tags: trunk)
02:50
Change names of constants in lemon.c to work around name conflicts on Solaris. Ticket #2583. (CVS 4274) (check-in: e4e74cd0f9 user: drh tags: trunk)
02:47
Improvements to memory leak detection. The --backtrace=NNN option is now recognized by tester.tcl. Memory leak summaries are automatically written to the file ./memleak.txt and each leak is tagged with the test in which it occurred. The quick.test script runs on Linux with no errors and no leaks. (CVS 4273) (check-in: 21f6b31097 user: drh tags: trunk)
2007-08-22
22:04
All of the malloc test cases run. Still seeing failures in malloc4.test. (CVS 4272) (check-in: 205d0b881d user: drh tags: trunk)
20:18
The malloc.test script now passes all tests with no errors. (CVS 4271) (check-in: db818430e9 user: drh tags: trunk)
18:54
Fix a bug in the logic for journaling pages when the device sector-size is greater than the page size. (CVS 4270) (check-in: b6399dff13 user: danielk1977 tags: trunk)
11:41
Get the quick.test script running with SQLITE_THREADSAFE enabled. (CVS 4269) (check-in: 1f28b7e47b user: drh tags: trunk)
11:22
Add code for the atomic-write optimisation. Disabled by default. (CVS 4268) (check-in: 581fadfe31 user: danielk1977 tags: trunk)
02:57
Remove a debugging btree_breakpoint from vtab1.test. (CVS 4267) (check-in: 6cc8641ed2 user: drh tags: trunk)
02:56
A complete run of quick.test with mutex debugging enabled. (CVS 4266) (check-in: 783e07d561 user: drh tags: trunk)
00:39
Reenable the memory management logic. The quick.test script now runs with SQLITE_MEMDEBUG and SQLITE_ENABLE_MEMORY_MANAGEMENT. 7 minor errors. (CVS 4265) (check-in: 1914044b88 user: drh tags: trunk)
2007-08-21
20:25
All mutexing and locking appears to be in place. Now we just have to test it and make it all work. (CVS 4264) (check-in: 0f7941aef9 user: drh tags: trunk)
19:33
The sqlite3_value object now carries an sqlite3* pointer to use for recording malloc failures. This eliminates the need to pass sqlite3* pointers into many internal interfaces. Also added more mutexing. (CVS 4263) (check-in: 9287276191 user: drh tags: trunk)
16:15
Adding more thread locking code. This is an incremental check-in. (CVS 4262) (check-in: 7428732b1f user: drh tags: trunk)
15:13
Readded the sqlite3_open_v2() interface. No test cases yet. Additional progress toward adding mutexes to all interfaces. (CVS 4261) (check-in: 3787563e90 user: drh tags: trunk)
14:27
Delay opening temporary pager files until they are first written. (CVS 4260) (check-in: 3fb97a63ef user: danielk1977 tags: trunk)
13:51
Remove the obsolete static mutexes. Use only the lastest static mutex code. (CVS 4259) (check-in: 6225cd461c user: drh tags: trunk)
13:30
Add the tests that go with the previous commit. (CVS 4258) (check-in: a87f32e13e user: danielk1977 tags: trunk)
13:11
Avoid journalling an extra page when a btree insert operation uses the 'quick-balance' trick. (CVS 4257) (check-in: 0da4820914 user: danielk1977 tags: trunk)
13:07
Fix some problems in the crash-test backend. (CVS 4256) (check-in: 5bced2392a user: danielk1977 tags: trunk)
10:44
Remove unnecessary #includes of "os.h". New mutex implementations. (CVS 4255) (check-in: fbbd5bda54 user: drh tags: trunk)
2007-08-20
23:50
The quick test runs again with a handfull of errors after adding the mutex locks to btree, the VFS registration interfaces, and FTS3. (CVS 4254) (check-in: 6cf725d212 user: drh tags: trunk)
22:48
Work toward multithreading support. Currently crashes quickly on a test. (CVS 4253) (check-in: 1315bd8e12 user: drh tags: trunk)
17:53
Oops - a random fts2 test I had abandoned slipped into the fts3 batch. (CVS 4252) (check-in: 709f2aa18a user: shess tags: trunk)
17:38
Replicate the fts2*.test files as fts3a*.test, and convert fts2 to fts3 in the text of the files. (CVS 4251) (check-in: 24739f148e user: shess tags: trunk)
17:37
Add support for building with fts3. (CVS 4250) (check-in: 95ef963232 user: shess tags: trunk)
17:37
Copy fts2 to fts3, renaming, and replacing references to fts2 with fts3, including capitalization variants. (CVS 4249) (check-in: 216c91d2fc user: shess tags: trunk)
16:07
Call sqlite3OsSleep() with an argument in microseconds, not milliseconds. (CVS 4248) (check-in: 917790413c user: danielk1977 tags: trunk)
14:23
Changes to crash-test io backend (test6.c) so that it works with the sqlite3_vfs interface. (CVS 4247) (check-in: 40f66ada81 user: danielk1977 tags: trunk)
13:14
Bug fix in BTree shared cache locking code. (CVS 4246) (check-in: 399d3e7552 user: drh tags: trunk)
11:12
Get main.c to compile when HAVE_USLEEP is 0. (CVS 4245) (check-in: b27f022fb9 user: drh tags: trunk)
06:44
Update the locking-style code in os_unix.c. The updates are as yet untested. (CVS 4244) (check-in: 41f2175b1e user: danielk1977 tags: trunk)
05:36
Fix full_fsync() related functionality broken as part of the migration to sqlite3_vfs. (CVS 4243) (check-in: cb24cda179 user: danielk1977 tags: trunk)
2007-08-18
10:59
Further progress on migration to sqlite3_vfs. (CVS 4242) (check-in: a258c4ec24 user: danielk1977 tags: trunk)
2007-08-17
16:50
Remove some old OsFile and IoMethod related code. Add the sqlite3OsLockState function. (CVS 4241) (check-in: 08a0f48028 user: danielk1977 tags: trunk)
15:53
Begin migration to using sqlite3_vfs interface. (CVS 4240) (check-in: af3e3c7acd user: danielk1977 tags: trunk)
01:14
Begin adding mutexes. Compiles without SQLITE_OMIT_SHARED_CACHE but we get an assertion fault on the shared cache testing. (CVS 4239) (check-in: 4c1e9ffebe user: drh tags: trunk)
2007-08-16
19:40
Change the design of the mutex interface to allow for both "fast" and "recursive" mutexes. (CVS 4238) (check-in: 160593dcc5 user: drh tags: trunk)
13:01
Remove the thread specific data subsystem from the unix build. Remove legacy cruft from sqliteInt.h. Use the new mutex subsystem in the PRNG. (CVS 4237) (check-in: 3d60c14a32 user: drh tags: trunk)
12:24
Combine sqlite3DbOfVdbe() and sqlite3VdbeDb() into a single function. (CVS 4236) (check-in: ba80ee59a7 user: drh tags: trunk)
11:36
Fix some more small problems introduced by recent refactoring. (CVS 4235) (check-in: 5e2795d0eb user: danielk1977 tags: trunk)
10:36
Replace a few sqlite3_malloc() calls that should be sqlite3MallocZero(). (CVS 4234) (check-in: 384d0ca9bc user: danielk1977 tags: trunk)
10:09
More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233) (check-in: 77b1671351 user: danielk1977 tags: trunk)
04:39
Add a test for malloc() failure when compiling a trigger step of the form "INSERT INTO ... SELECT ...". Currently causes a segfault. (CVS 4232) (check-in: 161643a694 user: danielk1977 tags: trunk)
04:30
Half-way through a major refactoring of the memory allocation. I have not even attempted to compile so I am certain there are countless errors. (CVS 4231) (check-in: deb7ecd65f user: drh tags: trunk)
2007-08-15
20:41
Enhancements and smoke testing of the new memory allocation subsystem. Have not yet cut it over to the core, though. (CVS 4230) (check-in: 1dad2c0a1f user: drh tags: trunk)
19:16
Test infrastructure for the new memory subsystem. (CVS 4229) (check-in: 9e50665672 user: drh tags: trunk)
17:08
Modify the crash-recovery test code in test6.c for 3.5. Also change some other code to use the new sqlite3_io_methods interface. Lots of things are broken now. (CVS 4228) (check-in: af9503daf3 user: danielk1977 tags: trunk)
17:07
Add a debugging memory allocator. (CVS 4227) (check-in: 8d2d1c4ff9 user: drh tags: trunk)
13:04
Add initial implementations of mutex and memory subsystem modules. (CVS 4226) (check-in: c0fa376979 user: drh tags: trunk)
11:28
Revisions to the interface design for 3.5. (CVS 4225) (check-in: 174116f7c0 user: drh tags: trunk)
2007-08-14
18:03
Clarify documentation on sqlite3_interrupt(). (CVS 4224) (check-in: 0b5b526c9d user: drh tags: trunk)
17:42
Add comments describing upcoming changes to crash-test module (test6.c). No code changes. (CVS 4223) (check-in: 63631c1737 user: danielk1977 tags: trunk)
13:20
Back-port critical soft heap limit fixes to version 3.3.17. The following check-ins were back-ported: (4031), (4037), (4097), (4202), (4203), (4207), (4208), (4214). (CVS 4222) (Leaf check-in: f0029da32f user: drh tags: branch_3_3_17)
01:58
Add a first cut at the new version 3.5 interface definitions to sqlite.h.in. (CVS 4219) (check-in: 0a57f3dd4d user: drh tags: trunk)
2007-08-13
20:31
Version 3.4.2 (CVS 4218) (check-in: 64989904d4 user: drh tags: trunk, release)
16:15
Update version number of documentation in preparation for version 3.4.2. (CVS 4217) (check-in: 1ed51e3ca0 user: drh tags: trunk)
15:28
Invalidate prepared SQL statements when rolling back a transaction that includes schema modifications. (CVS 4216) (check-in: a07143fc05 user: danielk1977 tags: trunk)
15:18
Disable tests that require 80-bit long doubles when the host only provides 64-bit long doubles. Ticket #2570. (CVS 4215) (check-in: 4f4f8ef416 user: drh tags: trunk)
14:56
Fix a page leak in btree balance routines that follows a malloc failure. This problem detected by the new soft-heap-limit testing. (CVS 4214) (check-in: bad661bb0b user: drh tags: trunk)
14:41
When loading a database schema, do not clear the SQLITE_InternChanges flag. This fixes the problem illustrated by (4211). (CVS 4213) (check-in: 540a7b28bc user: danielk1977 tags: trunk)
12:58
Fix the test labels in mallocC.test. (CVS 4212) (check-in: 7d4cdff444 user: drh tags: trunk)
12:39
Add a new test cases for a problem with malloc failure during the parsing of CREATE TABLE statements in autovacuum mode. (CVS 4211) (check-in: be50387e65 user: drh tags: trunk)
11:10
Remove a memory allocation from sqlite3VdbeIOTraceSql(). This means that when doing I/O tracing, the text of an SQL statement is truncated to the first 1000 characters. But it also means tracing works in an out-of-memory situation. (CVS 4210) (check-in: 578da2476e user: drh tags: trunk)
2007-08-12
20:07
Updates to test scripts for better support of soft-heap-limit testing. (CVS 4209) (check-in: 990f621f22 user: drh tags: trunk)
2007-08-11
00:26
Backout check-in (4206) and replace it with a much better and more general fix for the problem identified in ticket #2565. (CVS 4208) (check-in: 7961a73850 user: drh tags: trunk)
2007-08-10
23:56
Fix some incorrect asserts() in the pager - problems brought to light by the new soft-heap-limit testing apparatus of check-in (4202). (CVS 4207) (check-in: 51f3e01b74 user: drh tags: trunk)
23:54
Fix the corruption problem of ticket #2565 as demonstrated by the test added in (4204). There may yet be other instances of similar problems lurking in the code. (CVS 4206) (check-in: 7ed2f59e70 user: drh tags: trunk)
23:47
Convert fts2 to use sqlite3_prepare_v2() to prevent certain logic errors around SQLITE_SCHEMA handling. This also allows sql_step_statement() and sql_step_leaf_statement() to be replaced with sqlite3_step().

Also fix a logic error in flushPendingTerms() which was clearing the term table in case of error. This was wrong in the face of SQLITE_SCHEMA. Even though the change to sqlite3_prepare_v2() should cause us not to see SQLITE_SCHEMA any longer, it was still a logic error... (CVS 4205) (check-in: 16730cb137 user: shess tags: trunk)

19:46
Add a test case to reproduce the database corruption problem reported by ticket #2565. (CVS 4204) (check-in: f267ce8094 user: drh tags: trunk)
19:46
Update tests so that they work properly even if the soft-heap-limit is set low. (CVS 4203) (check-in: e01eb99edf user: drh tags: trunk)
16:41
Add the --soft-heap-limit=N option to the test scripts. Set this value to enforce a soft heap limit across all tests. This changes exposes several new bugs. (CVS 4202) (check-in: 8be8459816 user: drh tags: trunk)
2007-08-09
00:00
Fix documentation typos. Tickets #2168 and #2560. (CVS 4201) (check-in: 4333b231af user: drh tags: trunk)
2007-08-08
12:11
More tweaking of linkage. Ticket #2554. (CVS 4200) (check-in: 3759a38fe8 user: drh tags: trunk)
01:04
Additional refinements on the amalgamation: Give a couple of constants file scope and add the SQLITE_API prefix to some interfaces that need it. Ticket #2554. (CVS 4199) (check-in: c09ec102c4 user: drh tags: trunk)
2007-08-07
17:13
Remove all tabs from source code files. Ticket #2556. (CVS 4198) (check-in: 7550dd1d59 user: drh tags: trunk)
17:04
Revise the amalgamation so that all symbols have file scope except those that begin with "sqlite3_". Ticket #2554. (CVS 4197) (check-in: 73db545289 user: drh tags: trunk)
2007-08-05
23:52
Fix some compiler warnings. (CVS 4196) (check-in: 6cc15409ad user: drh tags: trunk)
2007-08-03
08:18
Change some (English language) grammar in faq.tcl. Ticket #2480. No code changes. (CVS 4195) (check-in: e526817f15 user: danielk1977 tags: trunk)
07:33
Avoid reloading the schema when an expired statement is finalized or reset. This is only necessary when the in-memory schema does not match the file-system schema. (CVS 4194) (check-in: 61de5b52da user: danielk1977 tags: trunk)
2007-07-30
23:02
Fix a typo in limits.html. (CVS 4193) (check-in: c709140b51 user: drh tags: trunk)
20:41
Make excess output from the CLI appear inside SQL comments so as not to interfere with generated SQL. Ticket #2544. (CVS 4192) (check-in: 49a2e85511 user: drh tags: trunk)
18:55
Fix ticket #2439: the FTS1 and FTS2 extensions use the non-standard, unportable and highly deprecated <malloc.h> header on all platforms except Apple Mac OS X. The <malloc.h> actually is never required on any OS with an at least partly POSIX-conforming API as the malloc(3) & friends functions officially live in <stdlib.h> since over 10 years. Under some platform like FreeBSD the inclusion of <malloc.h> since a few years even causes an "#error" and this way a build failure. So, just get rid of the bad <malloc.h> usage in FTS1 and FTS2 extensions at all and stick with <stdlib.h> there only. (CVS 4191) (check-in: 3f9a666143 user: rse tags: trunk)
18:31
"extern" declarations inside function bodies are not every compiler's favorite, so move to global scope. Additionally, at least under Unix environment use <unistd.h> to get the proper prototype instead of using a K&R-style own declaration. (CVS 4190) (check-in: 5955a77d6c user: rse tags: trunk)
18:26
Get rid of the following compile-time warnings: tool/mkkeywordhash.c:353: warning: array subscript has type 'char' tool/mkkeywordhash.c:354: warning: array subscript has type 'char' (CVS 4189) (check-in: c01d794479 user: rse tags: trunk)
18:24
Get rid of the following compile-time warning: "src/shell.c:112: warning: 'iotracePrintf' defined but not used" (CVS 4188) (check-in: 271e27fd30 user: rse tags: trunk)
14:40
Fix a bug with explicit collation sequences attached to a column reference expression that is on the right-hand-side of a binary comparison operator. (CVS 4187) (check-in: 7b69968618 user: danielk1977 tags: trunk)
2007-07-26
10:16
Test that an explicit collation sequence overrides an implicit one attached to a 'new' reference (it does). No code changes. (CVS 4186) (check-in: a443b07ed6 user: danielk1977 tags: trunk)
06:50
Fix two obscure memory leaks that can follow a malloc() failure in sqlite3_set_auxdata(). Ticket #2534. (CVS 4185) (check-in: b88af1827b user: danielk1977 tags: trunk)
2007-07-25
00:56
Implement xRename() for fts1 so that it is possible to rename fts1 tables. See http://www.sqlite.org/cvstrac/chngview?cn=4143 (CVS 4184) (check-in: febf75f022 user: shess tags: trunk)
00:38
Replicates http://www.sqlite.org/cvstrac/chngview?cn=4151 which modified fts2:

Modify handling of SQLITE_SCHEMA in fts2 code. An SQLITE_SCHEMA error may cause SQLite to reload the internal schema, deleting and recreating v-table objects. So the sqlite3_vtab structure can be deleted out from under a v-table implementation. (CVS 4183) (check-in: f9020cffda user: shess tags: trunk)

00:28
Sorry, previous check-in included a last-minute "Did it really work?" change :-). (CVS 4182) (check-in: 5db25e369a user: shess tags: trunk)
00:25
Apply change 4095 to fts1. Fix snippet generation when the left-most column of an fts table is used in the MATCH clause. Fix for ticket #2429. (CVS 4181) (check-in: c2ba3cc0f7 user: shess tags: trunk)
2007-07-24
10:22
Remove the comment in the documentation that says that incremental vacuum mode is not persistent because as of 3.4.1 it is persistent. Ticket #2528. (CVS 4180) (check-in: 6c4040941e user: drh tags: trunk)
2007-07-23
22:51
Detect nested aggregate functions even if the inner aggregate function is aliased using an AS clause. Ticket #2526. (CVS 4179) (check-in: de000280c6 user: drh tags: trunk)
19:39
The REPLACE conflict resolution falls back to FAIL when on a CHECK constraint violation. Ticket #2525. (CVS 4178) (check-in: b213614abf user: drh tags: trunk)
19:31
Move prototypes for LEMON-generated parser functions into sqliteInt.h. Ticket #2521. (CVS 4177) (check-in: bc02c7f162 user: drh tags: trunk)
19:26
Check the return value of sqlite3PagerWrite() when autovacuuming. Ticket #2524. (CVS 4176) (check-in: b4a5c62b85 user: drh tags: trunk)
19:12
Rework the UTF8 reader logic in order to avoid the use of malloc(). Ticket #2523. (CVS 4175) (check-in: 9a059cb6bc user: drh tags: trunk)
2007-07-22
19:10
Fix a bad sizeof in vdbe.c. Ticket #2522. (CVS 4174) (check-in: 77ebc3feb0 user: drh tags: trunk)
2007-07-21
19:41
Work around a bug in GCC. Ticket #2469. (CVS 4173) (check-in: 1924ba5207 user: drh tags: trunk)
2007-07-20
20:25
Work around an AFP file system byte-range locking error caused by opening and closing a second file descriptor on the database file as RDWR which clears the exclusive byte-range lock and results in an fcntl error when the AFP locking code attempts to clear it afterwards. This error is caused by the test harness and isn't a flaw in the sqlite or its implementation of AFP file locking. (CVS 4172) (check-in: b2ba3e81fb user: aswift tags: trunk)
13:42
Updates to build scripts. Added scripts for building FTS2 shared libraries. (CVS 4171) (check-in: e269f6e9f6 user: drh tags: trunk)
10:56
Version 3.4.1 (CVS 4170) (check-in: 81a4dd07c1 user: drh tags: trunk)
10:48
Keep sqlite3ext.h backwards compatible. This really should have been part of the previous check-in. (CVS 4169) (check-in: 7cf15a5f65 user: drh tags: trunk)
10:33
Add new APIs to the end of the sqlite3_apis structure in loadext.c, in order to preserve backwards compatibility. Fix an incompatibility introduced by (4108). (CVS 4168) (check-in: 639993490e user: drh tags: trunk)
01:17
Documentation change in preparation for version 3.4.1. (CVS 4167) (check-in: cf227766ac user: drh tags: trunk)
00:35
Fix a memory leak in the Rename method of the echo test virtual table. No changes to the core. (CVS 4166) (check-in: e5c132fff3 user: drh tags: trunk)
00:33
Cleanup unused function in pager.c. This is the conclusion of the fix to ticket #2518. We believe the fix is complete and correct. (CVS 4165) (check-in: 31dba1e933 user: drh tags: trunk)
2007-07-19
22:30
Disable tests that use the progress handler when the progress handler is disabled at compile-time. Followup to ticket #2497. (CVS 4164) (check-in: cbc56fd4ec user: drh tags: trunk)
16:35
Preliminary fix for ticket #2518. Make sure the VACUUM command increments the change counter. (CVS 4163) (check-in: 75263797e2 user: drh tags: trunk)
12:41
Clarify the documentation on the nByte parameter to sqlite3_prepare(). Make it clear that nByte is a maximum string length. Ticket #2516. (CVS 4162) (check-in: d1ae3de461 user: drh tags: trunk)
2007-07-18
18:17
Get the min/max optimization working with descending indices. Ticket #2514. (CVS 4161) (check-in: a80a3c9d0a user: drh tags: trunk)
18:16
Additional diagnostics added to the "out" file generated by lemon. (CVS 4160) (check-in: 7ef2aaf72a user: drh tags: trunk)
2007-07-17
17:22
Fix annoying emacs warning about suspicious line. The change removes a leading space (emacs wants Makefiles to use leading tabs there). (CVS 4159) (check-in: 4daadf659a user: shess tags: trunk)
2007-07-13
10:36
Add an extra integrity_check to the transaction test script. (CVS 4158) (check-in: 5ea43b2db1 user: drh tags: trunk)
10:35
Update documentation to make it clear that VACUUM is free to change implicit rowids. Ticket #2382. (CVS 4157) (check-in: d111b1daa5 user: drh tags: trunk)
10:26
"extern" prototypes cause problems for the Digital Mars compiler. So remove them. Ticket #2502. (CVS 4156) (check-in: f35fbf8070 user: drh tags: trunk)
2007-07-12
13:18
Fix for #2497. Set the database error code to the return value of sqlite3_step(). (CVS 4155) (check-in: b01fda5f50 user: danielk1977 tags: trunk)
2007-07-03
23:37
Fix compilation warnings shown when using strict GCC options for os_os2.c. (CVS 4154) (check-in: 22277b7e1b user: pweilbacher tags: trunk)
05:31
Fix a memory leak in shell.c. Reported on the mailing list. This has only been informally tested. (CVS 4153) (check-in: a008905b39 user: danielk1977 tags: trunk)
2007-07-02
19:31
Fix a comment typo reported on the mailing list. (CVS 4152) (check-in: 25e6df9cdd user: drh tags: trunk)
10:16
Modify handling of SQLITE_SCHEMA in fts2 code. An SQLITE_SCHEMA error may cause SQLite to reload the internal schema, deleting and recreating v-table objects. So the sqlite3_vtab structure can be deleted out from under a v-table implementation. (CVS 4151) (check-in: dee1a0fd28 user: danielk1977 tags: trunk)
2007-07-01
21:18
Remove an unnecessary temporary variable for clarity of presentation in a loop that GCC 4.2.0 is miscompiling. Ticket #2469. GCC 4.2.0 miscompiles this loop regardless of whether or not the temporary variable is used, but by removing the variable, we hope to make it easier to explain the problem to GCC maintainers. The error only appears if -ftree-vrp is used (which is turned on by -O2). (CVS 4150) (check-in: 35ae398bd3 user: drh tags: trunk)
15:41
Change OS/2 version of sqlite3Os2FullPathname() for cross-compiler compatibility: - allocate zBuff on demand (restricted stack space on old compilers) - 2 bytes in zDrive in include '\0' - pass drive number to DosQueryCurrentDir() instead of 0 to make EMX work - zFull does not need to be preallocated (CVS 4149) (check-in: cc21051765 user: pweilbacher tags: trunk)
2007-06-30
16:30
Including os2safe.h from os_os2.c is no longer necessary (now that it's including from os.h) (CVS 4148) (check-in: 6432bbe1c1 user: pweilbacher tags: trunk)
15:24
old emx/gcc sets __EMX__ (with double underscores) as builtin #define (CVS 4147) (check-in: d69204fec7 user: pweilbacher tags: trunk)
2007-06-29
12:04
Set FD_CLOEXEC on all open files under Unix. Ticket #2475. (CVS 4146) (check-in: f1e5fed8eb user: drh tags: trunk)
2007-06-27
23:52
Add a test case to verify that ticket #2470 has been fixed. (CVS 4145) (check-in: b3f442698e user: drh tags: trunk)
17:09
Test error handling when renaming fts2 tables. (CVS 4144) (check-in: 57840eba6a user: danielk1977 tags: trunk)
16:26
Implement xRename() for fts2 so that it is possible to rename fts2 tables. (CVS 4143) (check-in: 488474fde7 user: danielk1977 tags: trunk)
15:53
Allow ALTER TABLE on virtual tables. (CVS 4142) (check-in: 37d1f9f37e user: danielk1977 tags: trunk)
15:01
respect $LDFLAGS from env/configure (CVS 4141) (check-in: 9c13fc0f4b user: vapier tags: trunk)
11:10
Fix for compiling with OMIT_VIRTUALTABLE defined. (CVS 4140) (check-in: 850822e290 user: danielk1977 tags: trunk)
10:21
Fix typo in comments of the sqlite.h.in header file - comments from which documentation is automatically extracted and generated. Ticket #2468. (CVS 4139) (check-in: 53b526203c user: drh tags: trunk)
10:20
Make sure auto_vacuum is turned off before running the tests in pragma2.test. (CVS 4138) (check-in: fc85c8aa16 user: drh tags: trunk)
00:36
Set the connection error code when sqlite3_blob_read() or sqlite3_blob_write() fail. Ticket #2464. (CVS 4137) (check-in: 3bd990be3c user: drh tags: trunk)
00:08
Update the FAQ to describe how moving sqlite3 handles across threads is not safe with SQLITE_ENABLE_MEMORY_MANAGEMENT. Tickets #2357 and #2463. (CVS 4136) (check-in: 2640f518de user: drh tags: trunk)
2007-06-26
22:55
Make sure the TCL bindings always use Tcl_GetWideIntFromObj() even if the reported type is "int" because on x86-64 and "int" type is 64-bits. Ticket #2465. (CVS 4135) (check-in: 5c93324b93 user: drh tags: trunk)
22:42
Fix a test case so that it (hopefully) works on x86-64. Ticket #2465. (CVS 4134) (check-in: 3daf7cae18 user: drh tags: trunk)
22:10
Remove vestigal code from Makefile.linux-gcc. Ticket #2466. (CVS 4133) (check-in: 338c187910 user: drh tags: trunk)
12:54
Reorganize comments in fts2_tokenizer.h. No code changes. (CVS 4132) (check-in: b331e30395 user: danielk1977 tags: trunk)
12:52
Use (((i64)1)<<63) instead of just (1<<63) to compute the most negative 64-bit integer. (CVS 4131) (check-in: be2570c061 user: danielk1977 tags: trunk)
11:13
Fix for #2444: Avoid SIGFPE on 64-bit platforms when evaluating expressions like ((1<<63)/-1). (CVS 4130) (check-in: c6dfd9e434 user: danielk1977 tags: trunk)
10:56
Remove the unused EXTSRC variable from the non-configure makefile. (CVS 4129) (check-in: bbdcf372c6 user: danielk1977 tags: trunk)
10:55
Fix an unitialized variable in fts2. (CVS 4128) (check-in: c349cf9425 user: danielk1977 tags: trunk)
10:38
Allow virtual tables to mark columns as 'hidden'. Hidden columns do not show up in "*" expansion, the implicit column list of an INSERT statement, or the results of a "PRAGMA table_info" statement. (CVS 4127) (check-in: 7f887a6a00 user: danielk1977 tags: trunk)
01:04
Try to work around an MSVC compiler bug. Ticket #2457. (CVS 4126) (check-in: 4a7079a19a user: drh tags: trunk)
00:52
Modify the amalgamation generator to identify every API using the SQLITE_API macro which is normally defined to nothing but which can be overridden on the compiler command-line to be "static" if desired. Ticket #2453. (CVS 4125) (check-in: 474a52347d user: drh tags: trunk)
00:37
Change the name of sqlite3_atoi64 back to sqlite3Atoi64 so that it is clearly and internal API. Modify the amalgamation to use a macro SQLITE_PRIVATE instead of the keyword "static" so the macro can be overridden to by nothing. (CVS 4124) (check-in: 96190cf13d user: drh tags: trunk)
2007-06-25
17:28
Rework the string to integer conversion logic to address tickets #2344 and #2454. (CVS 4123) (check-in: 5b3a490649 user: drh tags: trunk)
16:29
Fix for #2445. A bug in the lookupName() logic that could cause a crash when a WHERE clause used an alias to refer to an expression in the result-set of the SELECT, and that expression was itself a reference to a table column. (CVS 4122) (check-in: 044ca1c72a user: danielk1977 tags: trunk)
14:28
Modify the non-configure build system to make it easier to build the library with the fts2 or icu extensions linked in. (CVS 4121) (check-in: 02b23c4394 user: danielk1977 tags: trunk)
13:50
Put #ifdefs in fts2_tokenizer so that the build works even when FTS2 is omitted. Add the SQLite blessing to the header comments on all FTS2 source files. (CVS 4120) (check-in: c795e6fd8f user: drh tags: trunk)
12:49
All the use of MySQL-style quoting in the FTS modules. Ticket #2446. (CVS 4119) (check-in: 3be2a6d1c3 user: drh tags: trunk)
12:05
Add a test that calls fts2_tokenizer() with an argument set via C code. (CVS 4118) (check-in: fbcf2d75cd user: danielk1977 tags: trunk)
11:24
Add some tests for the fts2 icu tokenizer. (CVS 4117) (check-in: b79ced3e0a user: danielk1977 tags: trunk)
09:52
Add some documentation for user-defined fts2 tokenizers. (CVS 4116) (check-in: 5a9eee8658 user: danielk1977 tags: trunk)
08:16
Make the auto_vacuum mode peristent in all cases. (CVS 4115) (check-in: 5b0408ddd0 user: danielk1977 tags: trunk)
2007-06-24
16:11
Fix for #2451. Code comment changes only. (CVS 4114) (check-in: bc61dcbf64 user: danielk1977 tags: trunk)
10:14
Make setting "PRAGMA auto_vacuum = incremental" persistent if it is executed before the database file is created. (CVS 4113) (check-in: c666fad151 user: danielk1977 tags: trunk)
08:00
Add the "(database.)freelist_count" PRAGMA. For querying the size of the database free-list. (CVS 4112) (check-in: 1fb4251a70 user: danielk1977 tags: trunk)
06:32
When expanding '*' in the result set of a SELECT, quote the expanded identifiers. Fix for #2450. (CVS 4111) (check-in: d5b7224f37 user: danielk1977 tags: trunk)
2007-06-22
20:17
fix linking failure on OS/2 that happens with the amalgamation and the high memory option enabled (CVS 4110) (check-in: f35e20e196 user: pweilbacher tags: trunk)
20:04
fix compilation failure on OS/2 with the amalgamation (CVS 4109) (check-in: 12327ca049 user: pweilbacher tags: trunk)
15:21
Extend fts2 so that user defined tokenizers may be added. Add a tokenizer that uses the ICU library if available. Documentation and tests to come. (CVS 4108) (check-in: 68677e420c user: danielk1977 tags: trunk)
2007-06-21
15:25
Clarify documentation of the column metadata APIs. Make sure that the new documentation claims are tested. (CVS 4107) (check-in: 2dafe08a91 user: drh tags: trunk)
13:30
Update the URL to mailing list archives. (CVS 4106) (check-in: af4b914a21 user: drh tags: trunk)
2007-06-20
16:20
Use NAWK everywhere in Makefile.in. Ticket #2437. (CVS 4105) (check-in: 314669b6cc user: drh tags: trunk)
16:13
A column name preceded by a unary "+" operator is considered to be a column name when computing the collating sequence to be used by a comparison operator or ORDER BY clause. (CVS 4104) (check-in: 99a20f6a42 user: drh tags: trunk)
15:29
Remove the dependency on libm for isnan(). Ticket #2436. (CVS 4103) (check-in: 406675bb1c user: drh tags: trunk)
15:14
Remove an unused variable from btree.c. (CVS 4102) (check-in: cb47a8297f user: drh tags: trunk)
13:37
Fix comment typo in analyze.c. Ticket #2434. (CVS 4101) (check-in: df9957b947 user: drh tags: trunk)
13:10
Fix a bug in the command-line shell that prevents the reading of the ".sqliterc" file. Ticket #2433. (CVS 4100) (check-in: 6eaf29f5e1 user: drh tags: trunk)
12:18
Disallow empty GROUP BY clauses. Ticket #2431. (CVS 4099) (check-in: 9581e7a4a4 user: drh tags: trunk)
11:56
Additional changes for ticket #2426. (CVS 4098) (check-in: 79debf95cd user: drh tags: trunk)
09:09
Fix for #2432 and partial fix for #2427 (documentation change only). (CVS 4097) (check-in: f025a74531 user: danielk1977 tags: trunk)
08:49
Change main.mk to make it easier to build testfixture and sqlite3 with the icu or fts2 extensions linked in. (CVS 4096) (check-in: 91719cc8ea user: danielk1977 tags: trunk)
06:23
Fix snippet generation when the left-most column of an fts2 table is used in the MATCH clause. Fix for ticket #2429. (CVS 4095) (check-in: fec56ad2ed user: danielk1977 tags: trunk)
2007-06-19
23:01
Change the TCL bindings so that @aaa always treats the variable aaa as a bytearray and binds the value as a BLOB. This change is backwards compatible since the $ behavior is unchanged and @ was not accepted until the current round of changes. (CVS 4094) (check-in: 6f7d55aced user: drh tags: trunk)
17:48
Cleanup the TCL interface source code and add documentation for recently added methods on the SQLite object of TCL. (CVS 4093) (check-in: d88b79818a user: drh tags: trunk)
17:15
In the TCL bindings, if a TCL variable has a bytearray representation and the host parameter starts with @ instead of $, then always store the content as a BLOB not as a string even if a string representation is also available. (CVS 4092) (check-in: dcb104bd41 user: drh tags: trunk)
15:23
Change the name of the "limits.h" source file to "sqliteLimit.h". Ticket #2428. (CVS 4091) (check-in: 64bcc41f12 user: drh tags: trunk)
10:58
Do not segfault even if sqlite is misused by requesting query results after the query has been reset. ticket #2426. (CVS 4090) (check-in: 783f19be38 user: drh tags: trunk)
10:50
Cast the 2nd parameter of ftruncate to off_t to work around bugs in some unix implementations. Ticket #2425. (CVS 4089) (check-in: 0b20a69609 user: drh tags: trunk)
2007-06-18
17:44
Another attempt to fix the build process for TCL windows bindings. (CVS 4088) (check-in: 1fd2a358d6 user: drh tags: trunk)
17:25
Bring the pager_datahash() macro into sync with its function definition. Ticket #2422. (CVS 4087) (check-in: ba967bbb62 user: drh tags: trunk)
16:06
Fix the build scripts so that they generate Tcl bindings for windows correctly. (CVS 4086) (check-in: c7be8b419f user: drh tags: trunk)
13:33
Version 3.4.0 (CVS 4085) (check-in: 2647980fba user: drh tags: trunk)
12:22
Documentation updates prior to release 3.4.0. Enhanced support for soak testing in the test scripts. (CVS 4084) (check-in: eec3871038 user: drh tags: trunk)
2007-06-16
18:39
Fix a faulty assert() in the pager. (CVS 4083) (check-in: 4cff47b061 user: drh tags: trunk)
14:43
Modify the tests in exclusive2.test to account for the fact that the pager cache may be very small by default. These tests are only valid if the entire database fitting in the cache. (CVS 4082) (check-in: 04a13fe43e user: danielk1977 tags: trunk)
14:19
Add another scenario to the soak1.tcl script. (CVS 4081) (check-in: 10e6822d4f user: drh tags: trunk)
11:17
A minor logic correction in the previous check-in. Also added a lengthy comment describing the meanings of various flags in the {quote: PgHdr} structure. (CVS 4080) (check-in: 57bf8204cd user: drh tags: trunk)
04:42
Fix a database corruption problem that can occur in auto-vacuum mode when a malloc() failure causes a statement rollback, additional statements are run in the same transaction, then the total transaction rolls back. (CVS 4079) (check-in: c9dcf2b926 user: drh tags: trunk)
03:06
Additional debugging instrumentation added to the pager. (CVS 4078) (check-in: dcdb20f81a user: drh tags: trunk)
2007-06-15
20:29
Make arrangements to optionally print a debug message at the point of a simulated malloc() failure when SQLITE_MEMDEBUG is defined. (CVS 4077) (check-in: 7d3c1f08a3 user: drh tags: trunk)
18:59
Fix more documentation typos. Ticket #2416. (CVS 4076) (check-in: b55318b12d user: drh tags: trunk)
18:53
Remove a C++ism from the test harness. Get the TCL interface working with older versions of TCL. (CVS 4075) (check-in: c8beb8674e user: drh tags: trunk)
18:43
Add a script for "soak" testing. (CVS 4074) (check-in: d4ea1287a8 user: drh tags: trunk)
17:50
Fix a race condition in test_server.c/test7.c (test changes only). (CVS 4073) (check-in: d0de32e4c6 user: danielk1977 tags: trunk)
17:04
Fix typo in change comments for 3.4.0. Ticket #2416 (CVS 4072) (check-in: 1f6f033000 user: drh tags: trunk)
17:03
Fix a memory leak in the parser that can occur following a malloc failure. (CVS 4071) (check-in: d0b6e9a07e user: drh tags: trunk)
16:37
Fix an obscure memory leak in the SQL compiler.. (CVS 4070) (check-in: d4ab94288b user: danielk1977 tags: trunk)
15:31
Fix a memory leak that was discovered by the tests that were added to cover ticket #2339. (CVS 4069) (check-in: 1d10a48934 user: drh tags: trunk)
15:08
Fix a test suite bug. To accommadate the fact that handles returned by (db incrblob) change for the second test suite iteration of full.test. (CVS 4068) (check-in: 32218834b8 user: danielk1977 tags: trunk)
14:53
Fix for #2415. The progress handler should abandon only the current query, not all active queries. (CVS 4067) (check-in: 115e19fe22 user: danielk1977 tags: trunk)
13:57
Do not try to run the fuzz_malloc tests if SQLITE_MEMDEBUG is not enabled. (CVS 4066) (check-in: 452115959f user: drh tags: trunk)
12:41
Clean up a variable in tkt2409.test that would cause subsequent tests to fail. (CVS 4065) (check-in: 0f944cb9fb user: drh tags: trunk)
12:16
Documentation updates in preparation for 3.4.0. (CVS 4064) (check-in: 5232fd29d0 user: drh tags: trunk)
12:06
Update the btree file format description in btreeInt.h. (CVS 4063) (check-in: 1ac160d3dc user: drh tags: trunk)
2007-06-14
20:57
The C-api reference documentation is now generated directly from comments in the sqlite3.h header file. (CVS 4062) (check-in: d93c41e9a9 user: drh tags: trunk)
2007-06-13
16:49
Have queries interrupted by the progress-handler return SQLITE_INTERRUPT. Rollback any active transaction if a DML statement returns SQLITE_INTERRUPT. (CVS 4061) (check-in: 33454b5691 user: danielk1977 tags: trunk)
15:22
Fix for #2409. Return SQLITE_IOERR_BLOCKED instead of SQLITE_BUSY in cases where failure to obtain a database lock leaves the cache in an inconsistent state. See additional information at CorruptionFollowingBusyError. (CVS 4060) (check-in: ce2c9925d0 user: danielk1977 tags: trunk)
2007-06-12
18:50
In the "transaction" command of the TCL interface, if a COMMIT fails finish it with a rollback. (CVS 4059) (check-in: 6da39fa442 user: drh tags: trunk)
18:20
Minor comment edits from my prefix development client. No code changes. (CVS 4058) (check-in: 6953cd0935 user: shess tags: trunk)
2007-06-11
23:23
Fix typo in the limits.html document. Ticket #2410. (CVS 4057) (check-in: d3fe186c33 user: drh tags: trunk)
12:56
Fix a bug in the LIKE optimization that was causing the pattern string to be dequoted twice. Ticket #2407. (CVS 4056) (check-in: abf64d1d0a user: drh tags: trunk)
08:00
Add a README.txt file for the ICU extension. (CVS 4055) (check-in: 7b6927829f user: danielk1977 tags: trunk)
2007-06-10
22:57
Define isnan() on windows. Ticket #2399. (CVS 4054) (check-in: fed9373e27 user: drh tags: trunk)
2007-06-09
09:53
Documentation updates, in particular in the new limits.html file is added. (CVS 4053) (check-in: 4ca6cdae94 user: drh tags: trunk)
2007-06-08
18:27
Use C-sylte comments exclusively, never C++ comments. Ticket #2406. (CVS 4052) (check-in: 8f5b789fea user: drh tags: trunk)
08:43
Additional test cases for comparisons against NULL in the WHERE clause and elsewhere in a SELECT. (CVS 4051) (check-in: 72612a0373 user: drh tags: trunk)
08:39
Make sure rowid comparisons against NULL work correctly. Ticket #2404. (CVS 4050) (check-in: 11ee8ea43f user: drh tags: trunk)
00:20
Fix the query optimizer so that it correctly handles constant expressions in the ON clause of a LEFT JOIN. Ticket #2403. (CVS 4049) (check-in: 46fdd19548 user: drh tags: trunk)
2007-06-07
19:08
Make sure zeroblob does reasonable things with a negative argument or an argument that is larger than the maximum blob size. (CVS 4048) (check-in: f40218434e user: drh tags: trunk)
15:45
Fix an error in test file sqllimits1.test that was causing a test to fail when SQLITE_MAX_EXPR_DEPTH was defined. (CVS 4047) (check-in: e66aa2c34a user: danielk1977 tags: trunk)
10:55
Add the SQLITE_MAX_COMPOUND_SELECT compile-time parameter for limiting the number of terms in a compound select statement. Set the default limit to 100. (CVS 4046) (check-in: 0d71ad4591 user: drh tags: trunk)
2007-06-02
07:54
Fix a vdbe stack leak that could occur where one side of a WHERE clause inequality evaluated to SQL null. (CVS 4045) (check-in: 17152bf1a2 user: danielk1977 tags: trunk)
2007-05-31
08:20
Extend out-of-memory testing with fuzzily generated sql some. One fix for a problem found by the same. (CVS 4044) (check-in: d2282e64f1 user: danielk1977 tags: trunk)
2007-05-30
10:36
Add some extra tests for malloc failure during expression parsing and execution using fuzzily generated SQL. (CVS 4043) (check-in: 7522d2fb32 user: danielk1977 tags: trunk)
08:18
Add the start of the soak-test infrastructure. (CVS 4042) (check-in: 5d0b247ca1 user: danielk1977 tags: trunk)
06:19
Fix a problem with zeroblob() and CAST(...) expressions that could cause an assert() to fail. (CVS 4041) (check-in: 03750a2a6b user: danielk1977 tags: trunk)
2007-05-29
12:11
Consider explicit collate clauses when matching WHERE constraints to indices. Fix for #2391. (CVS 4040) (check-in: f9a95e92df user: danielk1977 tags: trunk)
2007-05-24
10:18
Add some tests to verify that the parameter to the incremental_vacuum pragma is working. It is. (CVS 4039) (check-in: 1abf784fe2 user: danielk1977 tags: trunk)
09:44
Fix a typo in comments in sqlite.h.in. No code changes. Ticket #2384. (CVS 4038) (check-in: e8ae6214bf user: danielk1977 tags: trunk)
09:41
Remove an assert() statement that may not be true if an IO or malloc error has occured. (CVS 4037) (check-in: 16c8e9c20c user: danielk1977 tags: trunk)
09:20
Fix a page reference leak that could occur after an IO error. (CVS 4036) (check-in: d00c8242c6 user: danielk1977 tags: trunk)
07:47
Remove an incorrect assert() statement that was being triggered by ioerr tests run in utf-16 mode. (CVS 4035) (check-in: c6575173be user: danielk1977 tags: trunk)
07:22
Fix an assert() failure occuring in corrupt.test. (CVS 4034) (check-in: 3c54cddf23 user: danielk1977 tags: trunk)
2007-05-23
16:23
Add some code to MemTranslate() to prevent the READ_UTF8() macro from overreading a buffer. (CVS 4033) (check-in: 0595319cd7 user: danielk1977 tags: trunk)
13:50
Make sure the database schema has been read before compiling an incrmental_vacuum pragma. (CVS 4032) (check-in: efd7bcb34c user: danielk1977 tags: trunk)
13:34
Fix a leaked page reference that could occur after an IO error in auto-vacuum databases. Also modify incrvacuum.test to work with DEFAULT_AUTOVACUUM=1 builds. (CVS 4031) (check-in: e691f2fa3d user: danielk1977 tags: trunk)
09:52
Fix a database corrupting bug in the optimistic overflow chain. Exposed by running bigrow.test with auto-vacuum enabled. (CVS 4030) (check-in: 10ee2d50cb user: danielk1977 tags: trunk)
07:20
Additional comments ono the SQLITE_MIXED_ENDIAN_64BIT_FLOAT issue. (CVS 4029) (check-in: dd48a31e67 user: drh tags: trunk)
06:31
Make sure zeroblob() works with the concatenation operator. Ticket #2379. (CVS 4028) (check-in: 6e19ef7582 user: drh tags: trunk)
06:25
Increase the number of repititions in crash.test. (CVS 4027) (check-in: f3c3412afa user: danielk1977 tags: trunk)
2007-05-21
21:59
Fix overzealous fts2 assertions WRT rowid 0 or lower. Only check that docids are ascending if there was a prior docid set for the doclist, ignore the initial docid of 0. (CVS 4026) (check-in: ed3a131f1d user: shess tags: trunk)
2007-05-19
11:50
Add the larger SQLite icon to the repository. (CVS 4025) (check-in: d7539c6e8b user: drh tags: trunk)
06:48
Add a few extra words to the sqlite3_finalize() documentation. (CVS 4024) (check-in: 315dc71b92 user: danielk1977 tags: trunk)
2007-05-17
18:28
Change the way overflow pages are allocated from the free-list to increase the chance that they are a contiguous block. Much more can still be done. (CVS 4023) (check-in: b739189204 user: danielk1977 tags: trunk)
16:38
Bring the autoconf based build system up to date with the recent changes. #2366, #2367 and #2368. (CVS 4022) (check-in: ae644bc7aa user: danielk1977 tags: trunk)
16:34
Fix a problem with casting blobs to numeric types. (CVS 4021) (check-in: f2ce727c4d user: danielk1977 tags: trunk)
14:45
Add speed3.test file. For testing performance issues related to overflow pages. (CVS 4020) (check-in: 684f765df3 user: danielk1977 tags: trunk)
06:44
Modify test scripts to allow for the fact that zeroblob() is not available when compiled with OMIT_INCRBLOB. Ticket #2365. (CVS 4019) (check-in: 2ee959be4a user: danielk1977 tags: trunk)
2007-05-16
18:23
Remove the SKIP_UTF16 macros (they are no longer in use). (CVS 4018) (check-in: 73e654fbdc user: danielk1977 tags: trunk)
18:11
Fix handling of utf-16 encoding of code point 0xE000. (CVS 4017) (check-in: bfc35ce867 user: danielk1977 tags: trunk)
17:50
Avoid passing a negative value to isspace() in a couple places. (CVS 4016) (check-in: d5db8be368 user: danielk1977 tags: trunk)
17:28
Change a few selected functions to macros to speed things up. (CVS 4015) (check-in: 93f811ec74 user: danielk1977 tags: trunk)
14:23
Omit some extra code when OMIT_INCRBLOB is defined. (CVS 4014) (check-in: 1d89be287d user: danielk1977 tags: trunk)
13:55
Add a --nostatic option to mksqlite3c.tcl. With this option turned on, the extra "static" storage class markers are not inserted into the amalgamation. (CVS 4013) (check-in: 57e17c7cda user: drh tags: trunk)
11:55
Keep the full precision of integers if possible when casting to "numeric". Ticket #2364. (CVS 4012) (check-in: 2ac985a380 user: drh tags: trunk)
2007-05-15
18:35
Additional tests for malformed UTF-8. (CVS 4011) (check-in: 448d3ef670 user: drh tags: trunk)
16:51
Make sure pParse->rc gets set whenever sqlite3ErrorMsg() is called. This is added insurance that parsing will stop quickly after an error. This change did make the parser stop faster in some cases, which required some revisions to tests. (CVS 4010) (check-in: f84d9dab11 user: drh tags: trunk)
14:40
Remove the alternative UTF-16 implementation of SUBSTR(). It does not work anymore and the UTF-8 version can do everything that the UTF-16 version does. (CVS 4009) (check-in: 9b91502ef0 user: drh tags: trunk)
14:34
Relax the restriction on using bytes 0x80 through 0xbf as the first character of an identifier. Enhancements to ALTER TABLE tests for tables with strange names or stange column names. (CVS 4008) (check-in: 262a3e6339 user: drh tags: trunk)
14:17
Change the documentation to clearly state that the result of sqlite3_column_type() is undefined following a type conversion. (CVS 4007) (check-in: 960be575e2 user: drh tags: trunk)
14:10
Fix to check-in (4005). A call to sqlite3_column_blob() should not make subsequent calls to sqlite3_column_type() return SQLITE_BLOB. Sqlite3_column_type() returns the initial type. (CVS 4006) (check-in: b5e85deb5a user: drh tags: trunk)
13:27
Clarification on the best practices for using the _bytes() APIs. Change sqlite3_value_blob() to force the representation to be purely a BLOB and not a dual BLOB/String. Ticket #2360. (CVS 4005) (check-in: cf2dd45b58 user: drh tags: trunk)
11:55
A new approach for UTF-8 translation. (CVS 4004) (check-in: 6c8ad2790e user: drh tags: trunk)
09:00
Do not allow bytes 0x80 through 0xBF to be the first character of an identifer because no valid UTF-8 character can begin with those bytes. If we allowed an identifier to begin with one of those bytes, then the substr() function in ALTER TABLE will not work correctly. (CVS 4003) (check-in: 252810424d user: drh tags: trunk)
07:14
Fix some test script errors in fuzz.test. (CVS 4002) (check-in: 51eeae7b7a user: danielk1977 tags: trunk)
07:00
A fix for queries that used correlated, compound sub-queries in the HAVING clause. Also update fuzz.test some more. (CVS 4001) (check-in: da0c1ab4de user: danielk1977 tags: trunk)
03:56
Fix problems in ALTER TABLE that occur when column or table names are invalid UTF encodings. (CVS 4000) (check-in: 9ff382f458 user: drh tags: trunk)
02:45
Fix a typo in a comment. Ticket #2359. (CVS 3999) (check-in: 1fbbc108a9 user: drh tags: trunk)
02:34
Fix a bug in sqlite3_mprintf() which could have caused a buffer overrun if malloc() failed. (CVS 3998) (check-in: 5af49a57d4 user: drh tags: trunk)
01:13
The built-in substr() function applied to a BLOB counts bytes, not characters. (CVS 3997) (check-in: 75d573080d user: drh tags: trunk)
00:09
Make sure the parser aborts quickly following a syntax error. (CVS 3996) (check-in: d07cdd3c09 user: drh tags: trunk)
2007-05-14
16:50
Fix a problem with ORDER BY and compound SELECT queries. (CVS 3995) (check-in: af76928fc5 user: danielk1977 tags: trunk)
15:49
Fix a bug in "flattening" optimization. Occured if the parent of the flattened sub-query is also the parent of a sub-query that uses a compound op (i.e. UNION, INTERSECT etc.). (CVS 3994) (check-in: 1c33829c9e user: danielk1977 tags: trunk)
14:05
Prevent sub-queries with "LIMIT 0" from leaving an extra value on the vdbe stack. Also updates to fuzz.test. (CVS 3993) (check-in: b1d1b16e98 user: danielk1977 tags: trunk)
12:12
In the windows driver, reacquire the shared lock if an exclusive lock fails. Ticket #2354. (CVS 3992) (check-in: fc489b5382 user: drh tags: trunk)
11:34
Remove terms with operator TK_AS from the expression tree. Ticket #2356. (CVS 3991) (check-in: 5627ff74be user: drh tags: trunk)
2007-05-12
15:00
Make REINDEX robust in the face of malloc() errors. (CVS 3990) (check-in: dbe417745d user: drh tags: trunk)
12:08
Make the ANALYZE command robust in the face of malloc() failures. (CVS 3989) (check-in: c08658e1f8 user: drh tags: trunk)
10:41
Fix another variant of the "IN (...)" b-tree problem. (CVS 3988) (check-in: 260338c4b2 user: danielk1977 tags: trunk)
09:30
Fix an obscure b-tree bug that applied to transient trees used for IN(...) expressions. (CVS 3987) (check-in: 96c7232f8b user: danielk1977 tags: trunk)
06:11
Bugfixes for assert() failures found by fuzz.test. (CVS 3986) (check-in: 2e80736d57 user: danielk1977 tags: trunk)
2007-05-11
16:58
Check in some changes to fuzz.test. Still failing. (CVS 3985) (check-in: 6f346a6be9 user: danielk1977 tags: trunk)
12:30
Avoid multiple storage class specifiers ("static extern") in the amalagmation. (CVS 3984) (check-in: 2f70159b1d user: drh tags: trunk)
10:10
Expand the expressions tested by fuzz.test. Fix for (CAST zeroblob() AS text). (CVS 3983) (check-in: 4e1bb41f30 user: danielk1977 tags: trunk)
07:08
Fix a problem with inserting zeroblob() into an indexed column. (CVS 3982) (check-in: ccef5d2daa user: danielk1977 tags: trunk)
01:44
Additional parsing bugs fixed. (CVS 3981) (check-in: d12a8924c6 user: drh tags: trunk)
00:20
Make sure that the REGISTER token generates a valid Expr. REGISTER will cause the tokenizer to abort, but the parser might do several reduce actions prior to that abort and those reduce actions sometimes need a valid Expr. (CVS 3980) (check-in: d146f01a02 user: drh tags: trunk)
2007-05-10
21:31
Backport the stack-size reduction patch in (3673) to version 3.3.13. (CVS 3979) (Leaf check-in: e91012b603 user: drh tags: branch_3_3_13)
21:14
When converting literal BLOBs to text using the encoding of the main database. Ticket #2349. (CVS 3975) (check-in: a57afaff42 user: drh tags: trunk)
17:38
Simplify failing case in fuzz.test. (CVS 3974) (check-in: a54c74990c user: danielk1977 tags: trunk)
17:32
Add cases to fuzz.test. Some tests in this file fail at the moment. (CVS 3973) (check-in: 1e8fcb3fbe user: danielk1977 tags: trunk)
17:23
Add some UTF-8 test infrastructure. Treat NaN as NULL. The printf routines print infinity as "Inf" not as "NaN". Ticket #2345. (CVS 3972) (check-in: ffe615a711 user: drh tags: trunk)
15:37
Add new test file fuzz.test, to test SQLite with fuzzily generated SQL. (CVS 3971) (check-in: 1e9e6fe75d user: danielk1977 tags: trunk)
13:23
Fix a C++ism in func.c. (CVS 3970) (check-in: 9c0050a10c user: drh tags: trunk)
11:43
Another test for overflow in strftime(). It was not broken. (CVS 3969) (check-in: 5800d0327e user: danielk1977 tags: trunk)
10:46
Add code to enforce the MAX_EXPR_DEPTH limit. (CVS 3968) (check-in: 2c9c94a24d user: danielk1977 tags: trunk)
2007-05-09
22:56
Make sure compound queries inside a subquery only return a single result column. Ticket #2347. (CVS 3967) (check-in: 66954bdd81 user: drh tags: trunk)
20:35
Fix a typo in a comment. Ticket #2348. (CVS 3966) (check-in: c0dbac4630 user: drh tags: trunk)
20:31
Fix a problem with strange expressions being fed to an ATTACH or DETACH statement. (CVS 3965) (check-in: 0c91dc9ee0 user: drh tags: trunk)
15:56
Fix an obscure cache corruption that could occur after an SQLITE_FULL error. (CVS 3964) (check-in: e8e879aca6 user: danielk1977 tags: trunk)
11:37
Add further test cases for compile time limits. (CVS 3963) (check-in: 9bf2c594a4 user: danielk1977 tags: trunk)
08:24
Fix enforcement of the LIKE_PATTERN limit. (CVS 3962) (check-in: 8819617b7c user: danielk1977 tags: trunk)
2007-05-08
21:56
Remove a keyword from the header comment in date.c (CVS 3961) (check-in: 03349ec0be user: drh tags: trunk)
21:45
Remove compiler warnings in the amalgamation. (CVS 3960) (check-in: c5754530c6 user: drh tags: trunk)
20:59
Disable tracing pragmas when not in debug mode. This eliminates an external dependency on stdout. (CVS 3959) (check-in: 5a0fe98548 user: drh tags: trunk)
20:37
Fix the amalgamation generator so that all non-API functions have file scope. (CVS 3958) (check-in: e9f56ead05 user: drh tags: trunk)
18:30
Update the release builder script. (CVS 3957) (check-in: 21299b9178 user: drh tags: trunk)
18:04
Fix a null-pointer dereference that follows a malloc() failure introduced in (3954). (CVS 3956) (check-in: 251ba1981e user: danielk1977 tags: trunk)
17:59
Update the amalgamation builder for the latest changes. (CVS 3955) (check-in: becd64d361 user: drh tags: trunk)
17:54
Add a few more tests to sqllimit1.test. (CVS 3954) (check-in: eeee6b71e5 user: danielk1977 tags: trunk)
16:13
Add a test case that uses a trigger to insert many rows to sqllimits1.test. (CVS 3953) (check-in: 6368222558 user: danielk1977 tags: trunk)
15:59
Add new test file sqllimits1.test. (CVS 3952) (check-in: c897460397 user: danielk1977 tags: trunk)
15:46
Do not allocate so much surplus memory in the implementation of the replace() function. (CVS 3951) (check-in: 0cf518ceeb user: drh tags: trunk)
15:34
Limit the length of the patterns on LIKE and GLOB to avoid problems with deep recursion and N^2 behavior. (CVS 3950) (check-in: 42e6c82699 user: drh tags: trunk)
15:15
Introduce the (experimental) sqlite3_result_error_toobig() API that function implementations can use to signal SQLite that the function result is too big to represent. (CVS 3949) (check-in: 17c4235c49 user: drh tags: trunk)
14:51
Add the max_page_count pragma used to limit the maximum size of a database file. Untested. (CVS 3948) (check-in: b1b74f0668 user: drh tags: trunk)
14:39
Fix a potential buffer overrun in the replace() function. (CVS 3947) (check-in: b0fb4a3cf6 user: danielk1977 tags: trunk)
13:58
Add more code to enforce the limits specified in limits.h. (CVS 3946) (check-in: c59d436095 user: drh tags: trunk)
13:57
Avoid evaluating (INT_MIN/-1) with 32 bit signed numbers. It can cause SIGFPE. (CVS 3945) (check-in: 2f186e916c user: danielk1977 tags: trunk)
12:37
Do not crash in the internal functions sqlite_rename_table() or sqlite_rename_trigger() if they are somehow passed unexpected input. (CVS 3944) (check-in: c2f90b465e user: danielk1977 tags: trunk)
12:12
Begin adding code to explicitly limit the size of strings and blobs. (CVS 3943) (check-in: 031a5915b6 user: drh tags: trunk)
11:27
Fix a bug in the test logic introduced by check-in (3928). (CVS 3942) (check-in: 47d1678d2d user: drh tags: trunk)
01:08
Begin implementing a new system of upper bounds on the capabilities of SQLite. By clearly defining the upper bounds, we make those upper bounds explicitly testable. This check-in is just infrastructure. The upper bounds are not yet enforced. (CVS 3941) (check-in: 93b623b232 user: drh tags: trunk)
2007-05-07
19:31
Fix an NULL deref in the randomblob() function following a malloc failure. (CVS 3940) (check-in: 011e7db253 user: drh tags: trunk)
16:58
Add a version of the LIKE operator to the icu extension. Requires optimisation. (CVS 3939) (check-in: 3e96105c1f user: danielk1977 tags: trunk)
14:58
Change the name of create_collation_x() to create_collation_v2(). Also add some tests for it. (CVS 3938) (check-in: ddc4e4797f user: danielk1977 tags: trunk)
13:11
Fix typo in Makefile.in. Ticket #2343 (CVS 3937) (check-in: db51f59a7b user: drh tags: trunk)
11:53
Add interface to configure SQLite to use ICU collation functions. (CVS 3936) (check-in: b29a81b4fb user: danielk1977 tags: trunk)
11:24
Change sqlite3_snprintf() so that it does not write a zero-terminator if the buffer size argument is less than 1. Ticket #2341. Added documentation about the sqlite3_snprintf() function. (CVS 3935) (check-in: f3ae4ac5fe user: drh tags: trunk)
09:32
Add the experimental create_collation_x() api. (CVS 3934) (check-in: ff49d48f2f user: danielk1977 tags: trunk)
2007-05-06
21:20
Fix missing word in the copyright.html web page. (CVS 3933) (check-in: 2d1348dda2 user: drh tags: trunk)
20:04
Do not flatten subqueries that are part of a compound SELECT and which have both an ORDER BY and a LIMIT clause. Ticket #2339. (CVS 3932) (check-in: 9600a99804 user: drh tags: trunk)
16:04
Add the start of the ICU extension. (CVS 3931) (check-in: f473e85267 user: danielk1977 tags: trunk)
2007-05-05
22:45
Add "Powered By SQLite" logo contributed by Alberto Simoes. (CVS 3930) (check-in: 25cfa7740a user: drh tags: trunk)
18:49
Fix a header problem introduced in the previous check-in. (CVS 3929) (check-in: bece7a6bae user: drh tags: trunk)
18:39
Factor out btree test logic into a separate test_btree.c file. (CVS 3928) (check-in: d51274f1cc user: drh tags: trunk)
12:06
Fix a sprintf() problem introduced by (3916). (CVS 3927) (check-in: 54a1d275aa user: drh tags: trunk)
11:48
Refactoring. Split btreeInt.h off from btree.c. Split malloc.c off from util.c. Expect much more to follow. (CVS 3926) (check-in: ad549a40ed user: drh tags: trunk)
11:48
Refactoring. Split btreeInt.h off from btree.c. Split malloc.c off from util.c. Expect much more to follow. (CVS 3925) (check-in: 16041116aa user: drh tags: trunk)
2007-05-04
19:16
Add documentation on the incremental vacuum feature. (CVS 3924) (check-in: b3e2cdaed3 user: drh tags: trunk)
19:03
Fix compilation and testing with OMIT_INCRBLOB defined. (CVS 3923) (check-in: a0f8adc692 user: danielk1977 tags: trunk)
18:36
Test interaction of incremental io and other database writes. (CVS 3922) (check-in: 4516416b4d user: danielk1977 tags: trunk)
18:30
Change incremental vacuum to be triggered by a pragma rather than a command. We have a lot to learn about this yet and we do not want to paint ourselves into a corner by commiting to specific syntax too early. (CVS 3921) (check-in: b13e497a32 user: drh tags: trunk)
17:07
Tighter compression of the keyword hash table. (CVS 3920) (check-in: 681216767d user: drh tags: trunk)
16:14
Optional parameter in the INCREMENTAL VACUUM statement specifies how many pages to vacuum from the database. (CVS 3919) (check-in: ed713f9ccb user: drh tags: trunk)
14:36
Get tests working with SQLITE_OMIT_AUTOVACUUM=1. (CVS 3918) (check-in: b94d39e4d9 user: drh tags: trunk)
14:14
Make "incremental" a fallback token so that you can set "auto_vacuum=incremental" without having to quote the "incremental". (CVS 3917) (check-in: 9d7a2e2bb4 user: drh tags: trunk)
13:15
Eliminate all uses of sprintf() and strcpy(). These were not being misused. But getting rid of them removes a library dependency. And it avoids warnings from the OpenBSD compiler. Ticket #2336. (CVS 3916) (check-in: ba4845b32b user: drh tags: trunk)
12:05
Test cases and corrections to IO and malloc() error handling in incremental blob IO functions. (CVS 3915) (check-in: 641e55284e user: danielk1977 tags: trunk)
12:01
Fix a formatting errror in I/O logging. (CVS 3914) (check-in: 2d37687a08 user: drh tags: trunk)
11:59
Add compile-time option -DSQLITE_MIXED_ENDIAN_64BIT_FLOAT=1 that uses mixed-endian doubles. This is needed on ARM7 to make database file formats compatible with all other processors. Tickets #2278 and #2335. (CVS 3913) (check-in: 2a178d0c79 user: drh tags: trunk)
08:32
Rework accessPayload() function for clarity. (CVS 3912) (check-in: 42d07c70ec user: danielk1977 tags: trunk)
2007-05-03
20:06
fix from Gentoo for allowing TCLLIBDIR to be overridden in env (CVS 3911) (check-in: e54a49e264 user: vapier tags: trunk)
18:14
Test some more incremental IO error cases. (CVS 3910) (check-in: 64705410bd user: danielk1977 tags: trunk)
17:18
Improvements to I/O tracing output. Require -DSQLITE_ENABLE_IOTRACE when compiling shell.c in order to link in the I/O tracing capability. (CVS 3909) (check-in: 8a43e1676f user: drh tags: trunk)
16:55
Get the amalgamation builder working with incremental I/O. (CVS 3908) (check-in: 92b5360165 user: drh tags: trunk)
16:31
Test cases and minor bugfixes for incremental blob APIs. (CVS 3907) (check-in: e12c522383 user: danielk1977 tags: trunk)
13:11
Fix a bug where accessPayload() was calling PagerWrite() on the wrong page handle. Ticket #2332. (CVS 3906) (check-in: cf9eeba7be user: danielk1977 tags: trunk)
13:02
Use memmove() instead of memcpy() when moving between memory regions that might overlap. Ticket #2334. (CVS 3905) (check-in: 678d672b73 user: drh tags: trunk)
11:43
Minor bugfixes for incrblob mode. (CVS 3904) (check-in: b84d597c90 user: danielk1977 tags: trunk)
11:43
Minor bugfixes for incrblob mode. (CVS 3903) (check-in: db54a9466e user: danielk1977 tags: trunk)
2007-05-02
17:54
Allow CREATE TABLE to occur while other queries are running. DROP TABLE is still prohibited, however, since we do not want to delete a table out from under an running query. (CVS 3902) (check-in: 5b4bf1fce4 user: drh tags: trunk)
17:48
Combine the internal btree functions BtreePutData() and getPayload(). (CVS 3901) (check-in: a100a5304b user: danielk1977 tags: trunk)
16:51
More fixes and improvements to the zeroblob() mechanism. (CVS 3900) (check-in: 83ab25014e user: drh tags: trunk)
16:48
Cache the location of overflow pages in cursors used for incremental blob IO. (CVS 3899) (check-in: 349f1ea789 user: danielk1977 tags: trunk)
15:36
Fix an invalid UTF8 encoding in the tests for the trim function. (CVS 3898) (check-in: 4dbbfff4a7 user: drh tags: trunk)
13:30
Add support for zero-blobs to the OP_MakeRecord opcode. First test cases of zeroblob functionality. (CVS 3897) (check-in: e6d560ddee user: drh tags: trunk)
13:16
Use the pointer-map pages to make the incremental blob API more efficient. (CVS 3896) (check-in: 93a3bf71d5 user: danielk1977 tags: trunk)
02:08
Fix some compiler warnings. Add the (untested) zeroblob() SQL function. (CVS 3895) (check-in: 6f4f8ba7ec user: drh tags: trunk)
01:34
Begin adding the zeroblob API to support incremental blob i/o. (CVS 3894) (check-in: 7a01836dde user: drh tags: trunk)
2007-05-01
18:25
Enable prefix-search in query-parsing and snippet generation. If the character immediately after the end of a term is '*', that term is marked for prefix matching. Modify term comparison in snippetOffsetsOfColumn() to respect isPrefix. fts2n.test runs prefix searching through some obvious test cases. (CVS 3893) (check-in: 7c4c659240 user: shess tags: trunk)
17:49
First approximation of incremental blob IO API. (CVS 3892) (check-in: c444836e7b user: danielk1977 tags: trunk)
17:14
Modify loadSegmentLeavesInt() to correctly handle prefix searching. The new function docListUnion() is used to accumulate a union of the hits for the matching terms, which will be merged across segments using docListMerge(). (CVS 3891) (check-in: 72c7963073 user: shess tags: trunk)
16:59
The pager takes the sector size to be the larger of the sector size reported by sqlite3OsSectorSize() and the page size. (CVS 3890) (check-in: e5e6af55cc user: drh tags: trunk)
2007-04-30
22:09
Propagate prefix flag through implementation of doclist query code. Also implement correct prefix-handling for traversal of interior nodes of segment tree. A given prefix can span multiple children of an interior node, and from there the branches need to be followed in parallel. (CVS 3889) (check-in: cae844a01a user: shess tags: trunk)
21:39
Fix a potential segfault following a malloc() failure during a call to sqlite3_prepare() where the nBytes parameter is positive but less than the length of the input SQL string. (CVS 3888) (check-in: 27bf3fc3cf user: drh tags: trunk)
17:52
Lift docListMerge() call out of loadSegmentLeavesInt() for prefix search. Doclists from multiple prefix matches will need a union merge function, which will have to logically happen across a segment before doclists are merged between segments. (CVS 3887) (check-in: 7ddb826689 user: shess tags: trunk)
16:55
Try to avoid reading pages when moving overflow chains to the free-list. (CVS 3886) (check-in: 8cccec68bd user: danielk1977 tags: trunk)
2007-04-28
15:47
Add some tests (and 2 resulting bug fixes) to incr vacuum mode. (CVS 3885) (check-in: 89b1b3f897 user: danielk1977 tags: trunk)
2007-04-27
22:02
Break interior-node and leaf-node readers apart in loadSegment(). Previously, the code looped until the block was a leaf node as indicated by a leading NUL. Now the code loops until it finds a block in the range of leaf nodes for this segment, then reads it using LeavesReader. This will make it easier to traverse a range of leaves when doing a prefix search. (CVS 3884) (check-in: 9466367d65 user: shess tags: trunk)
21:59
Internationalize the TRIM functions. Ticket #2323. (CVS 3883) (check-in: ff1f4e7447 user: drh tags: trunk)
21:24
Lift code to traverse interior nodes out of loadSegment(). Refactoring towards prefix searching. (CVS 3882) (check-in: 25935db738 user: shess tags: trunk)
21:02
Refactor fts2 loadSegmentLeaf() in preparation for prefix-searching. Prefix-searching will want to accumulate data across multiple leaves in the segment, using LeavesReader instead of LeafReader is the first step in that direction. (CVS 3881) (check-in: 22ffdae4b6 user: shess tags: trunk)
17:16
Make sure sqlite3_value_bytes() does not reformat the content after a call to sqlite3_value_blob(). Add documentation to explain this hazard. Add many new tests. Ticket #2321. (CVS 3880) (check-in: e92bd97a37 user: drh tags: trunk)
07:55
Extra tests for incremental vacuum. (CVS 3879) (check-in: 40ba6493e9 user: danielk1977 tags: trunk)
07:05
Modifications to btree integrity check so that it can be run inside a transaction after an incr vacuum. (CVS 3878) (check-in: 4d4180d647 user: danielk1977 tags: trunk)
01:18
The replace() function should return NULL if the second argument is an empty string. Ticket #2324. (CVS 3877) (check-in: e6a0c90dd9 user: drh tags: trunk)
2007-04-26
14:42
Add largely untested code for the incremental vacuum function. (CVS 3876) (check-in: f6a6d2b887 user: danielk1977 tags: trunk)
12:11
In the pager, load the content of pages which were initialized with noContent==1 if they are subsequently requested with noContent==0. (CVS 3875) (check-in: d0745a43b6 user: drh tags: trunk)
2007-04-25
18:23
Fix segfaults that can occur if a malloc failure happens just before a built-in function calls sqlite3_value_text(). (CVS 3874) (check-in: 9cb0ed6ee9 user: drh tags: trunk)
15:42
Disable tests in misc7 that do not work on windows due to limitations of the windows file system. (CVS 3873) (check-in: 66646d6fda user: drh tags: trunk)
12:07
Version 3.3.17 (CVS 3872) (check-in: 16979f4525 user: drh tags: trunk)
12:06
Fix a file descriptor leak in the exclusive2 test script. (CVS 3871) (check-in: 2d2e68da74 user: drh tags: trunk)
11:42
Preparing for the release of 3.3.17. (CVS 3870) (check-in: e278c4ef60 user: drh tags: trunk)
11:32
Fix duplicate test IDs in the test suite. No changes to code. Ticket #2319. (CVS 3869) (check-in: 0935cdf82a user: drh tags: trunk)
11:28
Fix a bug in the sqlite3_changes() function reported on the mailing list. (CVS 3868) (check-in: 58ea768c3e user: drh tags: trunk)
2007-04-24
17:35
This fixes a missed case in check-in (3866). Do not apply patch (3866) without also applying this patch. (CVS 3867) (check-in: 66c2fa0836 user: drh tags: trunk)
17:27
When the write_version flag in the database header is larger than what the library understands, make the database read-only. The old behavior was to make the database unreadable. (CVS 3866) (check-in: 10648e9992 user: drh tags: trunk)
2007-04-23
23:56
Get the build working with -DSQLITE_OMIT_UTF16=1. Ticket #2314. (CVS 3865) (check-in: 25c1c7aaa8 user: drh tags: trunk)
2007-04-21
16:37
Add the ability to turn the FTS2 module into an amalgamation. (CVS 3864) (check-in: 94374654cc user: drh tags: trunk)
2007-04-20
12:22
Remove the ARRAYSIZE macro from where.c to avoid a name conflict with microsoft header files. Ticket #2311 (CVS 3863) (check-in: 9389a15f35 user: drh tags: trunk)
2007-04-19
18:36
Fix bug in fts2 handling of OR queries. When one doclist ends before the other, the code potentially tries to read past the end of the doclist. http://www.sqlite.org/cvstrac/tktview?tn=2309 (CVS 3862) (check-in: dfac6082e8 user: shess tags: trunk)
14:48
Better fix than (3860) for the same problem. (3860) could leave file-handles open in some circumstances. (CVS 3861) (check-in: 5ad645339b user: danielk1977 tags: trunk)
14:28
Fix a crash that can occur if an error happens in a virtual table xSync() function. (CVS 3860) (check-in: d1afdd8c9c user: danielk1977 tags: trunk)
12:30
Comment changes in the ioerr tests. No changes to code. (CVS 3859) (check-in: b7ed0e1e88 user: drh tags: trunk)
11:09
Fix a bug whereby sqlite3_prepare_v2() could return both an out-of-memory error and a valid statement handle. (CVS 3858) (check-in: 8795d11c3c user: danielk1977 tags: trunk)
00:24
Get the build working with SQLITE_OMIT_SHARED_CACHE. Ticket #2307. (CVS 3857) (check-in: b623538c55 user: drh tags: trunk)
2007-04-18
17:07
Fix a && where & was intended. This is a real problem, but it would be very difficult to devise a test case where it might lead to an unexpected result. Ticket #2306. (CVS 3856) (check-in: 7f9f0444ed user: drh tags: trunk)
17:04
Better handle malloc() failures in the "echo" virtual table test module. (CVS 3855) (check-in: 6881f9212f user: danielk1977 tags: trunk)
16:45
The sqlite3_step() routine reports SQLITE_ERROR after a commit failure, not SQLITE_DONE. This fix only effects the legacy sqlite3_prepare() interface. It already worked correctly with sqlite3_prepare_v2(). (CVS 3854) (check-in: 165dc72d70 user: drh tags: trunk)
15:33
Version 3.3.16 (CVS 3853) (check-in: 8c6b5adb5c user: drh tags: trunk)
14:47
Fix an assertion failure caused by (3851). (CVS 3852) (check-in: 24683f1d29 user: danielk1977 tags: trunk)
14:24
Minor changes (mainly to assert() macros) to handle malloc failure in vtab operations. (CVS 3851) (check-in: 175156d1fc user: danielk1977 tags: trunk)
13:49
Bump the version number and update documents in preparation for 3.3.16. (CVS 3850) (check-in: 852100a332 user: drh tags: trunk)
2007-04-17
08:32
Avoid reloading the db schema after a failed OP_VerifyCookie if the in-memory schema cookie already matches the database file. (CVS 3849) (check-in: 61c1d06d10 user: danielk1977 tags: trunk)
2007-04-16
17:07
Fix a memory leak introduced by (3842) associated with ticket #2296. (CVS 3848) (check-in: cdc7608b8d user: drh tags: trunk)
15:49
Add test cases to make sure virtual tables cannot be used in shared-cache mode. (CVS 3847) (check-in: 66e468adfc user: danielk1977 tags: trunk)
15:35
Make it clear in the docs that virtual tables and shared cache do not play well together. (CVS 3846) (check-in: 62ef2b1127 user: drh tags: trunk)
15:06
Ensure sqlite3_finalize() can be called from within the xDisconnect() method of virtual tables. (CVS 3845) (check-in: 8d6c3bfc4d user: danielk1977 tags: trunk)
15:02
Detect database file changes using a 128-bit segment of the file header that includes the change counter. Ticket #2303. (CVS 3844) (check-in: e44995debf user: drh tags: trunk)
2007-04-14
12:04
Update the whentouse.html document to mention that less bitmap memory is used for larger page sizes. (CVS 3843) (check-in: 2c8e2a5be3 user: drh tags: trunk)
2007-04-13
16:06
Match ORDER BY terms to columns using names in compound queries. Make sure this works for subqueries, especially in the right-hand side of an IN operator. Ticket #2296. (CVS 3842) (check-in: cfc6f933dc user: drh tags: trunk)
04:01
Fix a bug in autovacuum introduced by (3839). (CVS 3841) (check-in: e39efa195a user: drh tags: trunk)
03:23
Additional tests designed to detect future performance regressions. (CVS 3840) (check-in: 764e7262b9 user: drh tags: trunk)
02:14
Fix multiple performance regressions (ticket #2298 among them) and add tests to make sure they do not come back. (CVS 3839) (check-in: 32bb2d5859 user: drh tags: trunk)
2007-04-12
21:25
Changes toward fixes for tickets #2296 and #2291. (CVS 3838) (check-in: 0dd3e2e47b user: drh tags: trunk)
03:54
Get the column affinities right when processing an IN operator where the right-hand side is a subquery with an ORDER BY clause. Ticket #2295. This bug has likely been present since version 3.0.0 and it has just now been noticed, so it seems to be a obscure case. (CVS 3837) (check-in: 4062ddf3c7 user: drh tags: trunk)
2007-04-11
17:54
Blind check-in of changes to fix #2294 - I have no ability to test. Gentle wince users: please test this change and if it works leave a remark on the #2294 ticket. Tnx. (CVS 3836) (check-in: ca56c3e225 user: drh tags: trunk)
2007-04-10
18:17
Preliminary fix for ticket #2291. This fixes the immediate problem. But we really need to write more tests for the xfer optimization in order to look for other related problems before closing this ticket. (CVS 3835) (check-in: 34fec312fd user: drh tags: trunk)
13:51
Be careful not to use the result of sqlite3_value_blob() after changing the representation of an object. Ticket #2290. (CVS 3834) (check-in: e14374e4e6 user: drh tags: trunk)
2007-04-09
20:45
Fix crash in delete when existing row has null fields. Previous code assumed that the row had values in all columns, sigh. Fixes bug http://www.sqlite.org/cvstrac/tktview?tn=2289 . (CVS 3833) (check-in: 81be7290a4 user: shess tags: trunk)
20:30
Fix stack buffer overrun problem in the test harness. (CVS 3832) (check-in: cad9faf3ad user: drh tags: trunk)
13:49
Version 3.3.15 (CVS 3831) (check-in: ba5f4a55fa user: drh tags: trunk)
13:18
Perparations for the release of 3.3.15. (CVS 3830) (check-in: 8d0dea873d user: drh tags: trunk)
12:45
Fix an obscure pager refcnt leak that occurs following a transient I/O error. (CVS 3829) (check-in: ce6f56ece8 user: drh tags: trunk)
11:20
Have the pager call xReiniter() instead of xDestructor() to restore btree level state after rolling back a page. (CVS 3828) (check-in: 4e8941333e user: danielk1977 tags: trunk)
2007-04-08
16:52
Work around buggy TCL implementations in the exclusive2 test file. Ticket #2287 (CVS 3827) (check-in: 5424fcc5f8 user: drh tags: trunk)
2007-04-07
17:44
Make sure autovacuum is turned off for malloc5.test. (CVS 3826) (check-in: 105a7efb09 user: drh tags: trunk)
15:03
For filesystem databases, do not store a list of pages in the statement journal in main memory. (CVS 3825) (check-in: 0af764a026 user: danielk1977 tags: trunk)
2007-04-06
21:42
Changes to test scripts to support alternative configurations. (CVS 3824) (check-in: 3471a2269f user: drh tags: trunk)
18:23
Additional coverage testing. (CVS 3823) (check-in: 26b2e1aede user: drh tags: trunk)
15:02
Binary file I/O infrastructure added and used to increase test coverage for detection of corrupt database files. (CVS 3822) (check-in: 479b3d965b user: drh tags: trunk)
11:26
The FOR EACH STATEMENT clause in a trigger is now a syntax error. It used to be silently ignored. STATEMENT is no longer a keyword. (CVS 3821) (check-in: 8e2559b4da user: drh tags: trunk)
02:32
Test coverage improvements. Over 90% of branches are now executed in both directions. (CVS 3820) (check-in: a776d93cca user: drh tags: trunk)
01:04
Changes to increase test coverage. (CVS 3819) (check-in: fd4da6b134 user: drh tags: trunk)
01:03
Make sure the sqlite3BtreePrevious() routine terminates properly if the table is deleted out from under it. Ticket #2286. This bug was discovered while trying to increase test coverage from 98.5% to 99% - once again showing the value of full coverage testing. (CVS 3818) (check-in: bebf8d2f88 user: drh tags: trunk)
2007-04-05
21:58
Fix the amalgamation so that it works with -DSQLITE_ENABLE_REDEF_IO. Change tclsqlite.c so that it can be appended to the amalgamation. Create a new amalgamation of header files for use by projects that want to redefine their own I/O interface using -DSQLITE_ENABLE_REDEF_IO. (CVS 3817) (check-in: f2caff870c user: drh tags: trunk)
18:34
Add a target to the autoconf-generated makefile for amalgamation. (CVS 3816) (check-in: 204e7d38ae user: drh tags: trunk)
17:36
New testfixture command: sqlite3_pager_refcounts. Returns a list of integers which is the pager refcount for each pager in the database. (CVS 3815) (check-in: 7338e68e0f user: drh tags: trunk)
17:15
Always truncate the pager cache when truncating the database file. Also reorganize the code to check the change-counter after first obtaining a shared lock. (CVS 3814) (check-in: 9dc4100eff user: danielk1977 tags: trunk)
14:29
Use the MEMDB macro instead of OMIT_MEMORYDB in pager_recycle(). (CVS 3813) (check-in: 97c5159816 user: danielk1977 tags: trunk)
13:12
Avoid attempting to reclaim memory from in-memory databases in sqlite3_release_memory(). (CVS 3812) (check-in: c20f7563c0 user: danielk1977 tags: trunk)
11:54
Add some assert() statements to pager.c. (CVS 3811) (check-in: 973b2a5fb5 user: danielk1977 tags: trunk)
11:25
Improvements to coverage testing. (CVS 3810) (check-in: 38af156da8 user: drh tags: trunk)
08:40
Catch an IO error case introduced by (3808). (CVS 3809) (check-in: 383a08e260 user: danielk1977 tags: trunk)
05:46
Zero cached pages located beyond the end of the file before returning them. Ticket #2285. (CVS 3808) (check-in: 5180810eea user: danielk1977 tags: trunk)
2007-04-04
01:27
Test coverage improvements. (CVS 3807) (check-in: 25f49acc56 user: drh tags: trunk)
2007-04-03
16:13
Add Tcl (flush) commands to exclusive2.test, which is failing on some systems but not others. (CVS 3806) (check-in: 9e004c519a user: danielk1977 tags: trunk)
2007-04-02
22:19
Fix to Makefile.in so that "make test" works. (CVS 3805) (check-in: f592dd2d99 user: drh tags: trunk)
18:06
Do not use the second parameter to gettimeofday() on unix. Pass it a NULL. (CVS 3804) (check-in: 96b678818c user: drh tags: trunk)
17:54
Fix a union initializer so that it works with the Borland compiler. (CVS 3803) (check-in: a067f78bf6 user: drh tags: trunk)
16:46
Add a different form of I/O tests. So far has failed to expose new bugs. (CVS 3802) (check-in: 9e1295428f user: danielk1977 tags: trunk)
16:45
If preprocessor macro OS_OTHER is defined, then ignore OS_UNIX, OS_WIN, and OS_OS2. This makes it easier to add proprietary backends.. (CVS 3801) (check-in: 4fdafd3f58 user: drh tags: trunk)
16:40
Provide a compile-time option to enable exclusive access mode by default. (CVS 3800) (check-in: 93a41510f0 user: drh tags: trunk)
15:31
Version 3.3.14 (CVS 3799) (check-in: 3dbf4f98ac user: drh tags: trunk)
15:29
Changes to the download page. (CVS 3798) (check-in: de8055bcd6 user: drh tags: trunk)
15:04
Update the build scripts and the homepage in preparation for version 3.3.14. (CVS 3797) (check-in: a154224b32 user: drh tags: trunk)
14:19
Cover an extra case in sqlite3PagerMovepage(). (CVS 3796) (check-in: 7313688bd0 user: danielk1977 tags: trunk)
12:29
Fix for #2281. This was a problem with the test-case only. (CVS 3795) (check-in: c036db6251 user: danielk1977 tags: trunk)
12:28
Cover a corrupt-db case in pager.c. (CVS 3794) (check-in: 84077fa160 user: danielk1977 tags: trunk)
12:22
In the amalgamation, put date.c before os.c so that the time_t typedef can be correctly resolved by windows compilers. (CVS 3793) (check-in: 9c5697c70f user: drh tags: trunk)
11:22
If an IO error is encountered on a commit, close the journal so that it persists and can (hopefully) rollback the failed transaction later. (CVS 3792) (check-in: 22e10cc24e user: drh tags: trunk)
11:08
Correctly handle the obscure case of a read-only hot-journal file. (CVS 3791) (check-in: 4d8c6bf44e user: danielk1977 tags: trunk)
05:07
Fix a resource leak introduced by the change-counter optimisation. Also add some test coverage. (CVS 3790) (check-in: ba0538a497 user: danielk1977 tags: trunk)
00:53
Update the version number and change comments in preparation for the release of 3.3.14. (CVS 3789) (check-in: d9f6fdb72b user: drh tags: trunk)
2007-04-01
23:49
Fix some warnings about unused and uninitialized variables. (CVS 3788) (check-in: 18aec1ddfb user: drh tags: trunk)
18:46
Make unix builds threadsafe by default. (CVS 3787) (check-in: ddfc3b2df0 user: drh tags: trunk)
01:57
Fix typos in the amalgamation builder script. (CVS 3786) (check-in: a5070a2d11 user: drh tags: trunk)
2007-03-31
22:34
Improvements to the output of the speed tests. (CVS 3785) (check-in: 1a4d8024b0 user: drh tags: trunk)
22:33
Remove unreachable code from util.c. (CVS 3784) (check-in: 82b7a6f05c user: drh tags: trunk)
22:29
Add the amalgamation generator to the makefile. (CVS 3783) (check-in: a0f3c960fa user: drh tags: trunk)
16:29
Fix the amalgamation so that it can be compiled with REDEF_IO enabled. (CVS 3782) (check-in: 6a3d6142d8 user: drh tags: trunk)
15:28
Increase test coverage by statically defining SQLITE_BIGENDIAN and related macros for ix86 platforms. Still a run-time test for other architectures. Need to add additional cases to cover other popular processors. (CVS 3781) (check-in: 476e7c3fcc user: drh tags: trunk)
15:02
Improved test coverage for printf.c. (CVS 3780) (check-in: c2badb208f user: drh tags: trunk)
13:00
The XFER optimization works if the target table lacks an integer primary key and is not empty as long as it has no indices. It always has and continues to work if the target table was empty. (CVS 3779) (check-in: 2c62ffcb86 user: drh tags: trunk)
10:00
More coverage for pager.c. (CVS 3778) (check-in: 665b119a24 user: danielk1977 tags: trunk)
03:59
Fix a long-standing memory leak in the hash table. The leak only appears following a malloc failure of a hash that copies its keys, which rarely happens and so we have not previously noticed it. (CVS 3777) (check-in: 2aae196457 user: drh tags: trunk)
02:36
Fix a large memory leak in the btree layer that occurs following an I/O error when in shared cache mode. (CVS 3776) (check-in: dce4cb8493 user: drh tags: trunk)
01:34
Fix memory leaks in WHERE clause processing and in TRIGGER parsing. (CVS 3775) (check-in: 6736f4547c user: drh tags: trunk)
2007-03-30
20:46
Remove vestiges of SQLITE_PROTOCOL from the test scripts. (CVS 3774) (check-in: e5e8d56397 user: drh tags: trunk)
20:43
Remove vestiges of the SQLITE_PROTOCOL error. (CVS 3773) (check-in: 6dfd4a12a8 user: drh tags: trunk)
20:40
Fix a memory leak that occurs after a malloc failure in trigger parsing. (CVS 3772) (check-in: 407a85e69b user: drh tags: trunk)
18:42
Fix a memory leak in multi-database commit. Also enhance a comment that explains why a particular valgrind error is harmless. (CVS 3771) (check-in: 28c7ed1eb7 user: drh tags: trunk)
18:21
Coverage testing for a few lines in pager.c. (CVS 3770) (check-in: c1aca18fad user: danielk1977 tags: trunk)
17:18
Remove asserts on the existing of journal files in pager - asserts that are not valid for certain kinds of simulated I/O errors or for async I/O. (CVS 3769) (check-in: f5fad52a97 user: drh tags: trunk)
17:17
Get the memleak.test script working again after recent changes. (CVS 3768) (check-in: cd6ca078e3 user: drh tags: trunk)
17:11
Coverage tests for some pragmas. (CVS 3767) (check-in: eec7ab63be user: danielk1977 tags: trunk)
16:01
Always enable exclusive access mode for TEMP databases. This cannot be changed. The locking_mode pragma has not effect on the TEMP database. (CVS 3766) (check-in: 04d3b9098e user: drh tags: trunk)
14:56
Coverage improvements for where.c. (CVS 3765) (check-in: df64894bac user: danielk1977 tags: trunk)
14:56
Coverage improvements for where.c. (CVS 3764) (check-in: 7e0aa96412 user: danielk1977 tags: trunk)
14:46
Tease apart the two phases of pager commit. (CVS 3763) (check-in: e5f17078a2 user: drh tags: trunk)
14:06
Refactoring the btree and pager routines into distinct two-phase commit routines. We've always done a two-phase commit - this change is just making that more apparent in the code. (CVS 3762) (check-in: 66b3ad09ea user: drh tags: trunk)
13:35
Make yypMinor available to the stack overflow callbacks in lemon generated parsers. This does not effect SQLite. (CVS 3761) (check-in: 70c8c7e2ce user: drh tags: trunk)
13:01
Avoid using the "clock" command in test scripts since it is a proc in Tcl8.5 and is thus not available to testfixture. (CVS 3760) (check-in: 339941d83a user: drh tags: trunk)
11:29
Move the sqlite3_temp_directory global variable out of the OS porting layer and into main.c so that it is more accessible to non-standard OS porting layers. (CVS 3759) (check-in: 23653f7aab user: drh tags: trunk)
11:23
Remove the anonymous union from the sqlite3_value structure since some compilers are unable to deal with it. (CVS 3758) (check-in: 6b995259bc user: drh tags: trunk)
11:12
Comment changes in btree.c and added a missing "else" in pragma.c. (CVS 3757) (check-in: 9a7d7e3190 user: drh tags: trunk)
09:13
Test coverage a few extra lines in where.c. (CVS 3756) (check-in: ea49ddf64a user: danielk1977 tags: trunk)
07:10
Extra test cases to improve coverage of main.c. (CVS 3755) (check-in: 19fc3d7896 user: danielk1977 tags: trunk)
2007-03-29
20:19
Assume any return code from fcntl() other than -1 is success. Formerly we only assumed that 0 was success. Ticket #2173. (CVS 3754) (check-in: 8d0073c0e8 user: drh tags: trunk)
20:13
Fix to token destructors in Lemon. This does not impact SQLite. Ticket #2175. (CVS 3753) (check-in: 6195af4982 user: drh tags: trunk)
18:46
Add the sqlite3_clear_bindings() API to the loadable extension interface. Ticket #2135. (CVS 3752) (check-in: 3111b43ec3 user: drh tags: trunk)
18:41
Buffer updates per-transaction rather than per-update. If lots of updates happen within a single transaction, there was a lot of wasted encode/decode overhead due to segment merges. This code buffers updates in memory and writes out larger level-0 segments. It only works when documents are presented in ascending order by docid. Comparing a test set running 100 documents per transaction, the total runtime is cut almost in half. (CVS 3751) (check-in: 0229cba696 user: shess tags: trunk)
18:19
Change the name of PAGER_SECTOR_SIZE to SQLITE_DEFAULT_SECTOR_SIZE. Make the new OS-layer interface routine for finding sector size optional. (CVS 3750) (check-in: 0fb9af1d6e user: drh tags: trunk)
17:57
Make sure the strftime() date conversions put in leading zeros correctly. Ticket #2276. (CVS 3749) (check-in: e853067ec4 user: drh tags: trunk)
17:28
Avoid calling OsDelete() on journal files when they are opened for temporary databases. Fix for #2255. (CVS 3748) (check-in: e746832f5f user: danielk1977 tags: trunk)
17:07
Add a couple of test cases to improve coverage testing. (CVS 3747) (check-in: 0b22ce3637 user: danielk1977 tags: trunk)
16:30
Don't call ctype functions on hi-bit chars. Some platforms raise assertions when this occurs, and it's almost certainly not the right thing to do in the first place. (CVS 3746) (check-in: f6c3abdc6c user: shess tags: trunk)
15:00
Assume the malloc-failed flag cannot already be set when calling sqlite3_errmsg(16)(). (CVS 3745) (check-in: 54fa22273d user: danielk1977 tags: trunk)
13:35
Fix a bug in XFER optimization introduced by check-in (3736). (CVS 3744) (check-in: 3714ac1732 user: drh tags: trunk)
12:24
Explicitly test some error cases that up until now have not been checked. (CVS 3743) (check-in: 0b7bd9c315 user: danielk1977 tags: trunk)
12:19
Explicitly test some error cases that up until now have not been checked. (CVS 3742) (check-in: f26b014109 user: danielk1977 tags: trunk)
05:51
Change BtreeMoveto so that it can be biased to the right or to the center. Use a right bias when appending and a center bias when searching. This gives about a 15% reduction in calls to sqlite3VdbeRecordCompare. (CVS 3741) (check-in: ad4a6b1a91 user: drh tags: trunk)
04:43
Bias the b-tree binary search toward the high end. The common case is to append data and this heuristic makes append run much faster because there are fewer comparisons. (CVS 3740) (check-in: a9877f616b user: drh tags: trunk)
02:26
Get LEMON working again when YYSTACKDEPTH is greater than zero. (CVS 3739) (check-in: e72c81dbb3 user: drh tags: trunk)
01:44
Lemon change: compile the resulting parser with -DYYSTACKDEPTH=0 or set the "%stack_size" parameter to 0 in the grammar and the parser stack will be dynamically allocated using realloc() and free(). The default behavior is to have a finite depth stack. (CVS 3738) (check-in: 06719b741a user: drh tags: trunk)
00:08
Patch so the the code compiles with -DSQLITE_OMIT_CHECK=1. (CVS 3737) (check-in: 72cea358da user: drh tags: trunk)
2007-03-28
18:04
Improvements to the XFER Optimization of the INSERT statement. (CVS 3736) (check-in: 53fff7d1f2 user: drh tags: trunk)
14:30
Correctly handle NULLs in IN operators. Ticket #2273. The changes in where.c and in the WhereLevel.aInLoop structure are not strictly necessary to fix this problem - they just make the code easier to read. Only the change in OP_Next/OP_Prev operator of vdbe.c is required. (CVS 3735) (check-in: 26348556d8 user: drh tags: trunk)
13:07
Update comments in sqlite3.h. No changes to code. (CVS 3734) (check-in: 1c2656fdf6 user: drh tags: trunk)
01:59
Fix an memory allocation error revealed by malloc3.test. (CVS 3733) (check-in: 0f7fdb022c user: drh tags: trunk)
2007-03-27
22:24
The SQLITE_ENABLE_LOAD_EXTENSION macro enables the load_extension() SQL function by default without having to invoke sqlite3_enable_load_extension() first. (CVS 3732) (check-in: 113aab2cdf user: drh tags: trunk)
21:47
Fix the prototype of the CodecAttach function in attach.c. (CVS 3731) (check-in: 902413e81b user: drh tags: trunk)
17:37
Remove a c++ comment in pager.c. (CVS 3730) (check-in: e4452e8aed user: danielk1977 tags: trunk)
16:19
Test handling of IO errors that occur in OsDelete() or OsTruncate() operations. Also use an anonymous file for temporary storage during a VACUUM. (CVS 3729) (check-in: b24a6e7b02 user: danielk1977 tags: trunk)
15:00
Updates to the VACUUM documentation. Ticket #2257. (CVS 3728) (check-in: c61c97c978 user: drh tags: trunk)
14:44
The -DSQLITE_OMIT_ATTACH=1 option now omits both the ATTACH and VACUUM commands. Ticket #2268. The regression test suite depends on both of these commands and will not run if compiled with this option. (CVS 3727) (check-in: cbebfb8960 user: drh tags: trunk)
14:05
Fix off-by-one errors in the header comments of btree.c. Ticket #2272. (CVS 3726) (check-in: a70ea7202d user: drh tags: trunk)
13:36
More strict aliasing fixes. The single source file library now runs successfully with -fstrict-alias. (CVS 3725) (check-in: c8a8a189a8 user: drh tags: trunk)
12:04
Get the -DSQLITE_OMIT_XFER_OPT option working. Run speed tests on a full regression. Add the script for generating sqlite3.c. (CVS 3724) (check-in: 1dd9d0775a user: drh tags: trunk)
12:04
Get the -DSQLITE_OMIT_XFER_OPT option working. Run speed tests on a full regression. Add the script for generating sqlite3.c. (CVS 3723) (check-in: 42c038518c user: drh tags: trunk)
2007-03-26
22:05
Modify sources to that they can be combined into a single sqlite3.c source file. Eliminate all type-pruned pointer warnings. (CVS 3722) (check-in: 0b832e218e user: drh tags: trunk)
16:30
Set the same random seed for the speed tests. (CVS 3721) (check-in: 8fe3170549 user: drh tags: trunk)
16:13
Run some malloc() tests with exclusive-access mode. (CVS 3720) (check-in: 9ebba46902 user: danielk1977 tags: trunk)
15:46
Discard the pager-cache when the page-size is changed. (CVS 3719) (check-in: e4209f7193 user: danielk1977 tags: trunk)
13:48
Avoid unnecessary calls to pager_unwritelock() when in exclusive-access mode. Add the speed2.test script to the test suite. (CVS 3718) (check-in: ab53f50863 user: drh tags: trunk)
12:26
Run some malloc() tests with exclusive-access mode. (CVS 3717) (check-in: 1274549037 user: danielk1977 tags: trunk)
10:27
Add some tests and fixes surrounding exclusive-access mode and the pager change-counter. (CVS 3716) (check-in: 72cb2e1a73 user: danielk1977 tags: trunk)
08:41
Add some documentation for pragma locking_mode. (CVS 3715) (check-in: 394b174e59 user: danielk1977 tags: trunk)
08:05
Some fixes and test cases for exclusive access mode. (CVS 3714) (check-in: 899e60707b user: danielk1977 tags: trunk)
2007-03-25
19:08
Add the sqlite3_prepare_v2 and sqlite3_prepare16_v2 APIs to the loadable extension interface. (CVS 3713) (check-in: f02ba56d5c user: drh tags: trunk)
2007-03-24
16:45
Changes for exclusive access mode. There are still some bugs. (CVS 3712) (check-in: b6c700370b user: danielk1977 tags: trunk)
2007-03-23
18:12
Discard the contents of the pager-cache only when the change-counter indicates that it is stale. (CVS 3711) (check-in: 07b56965f3 user: danielk1977 tags: trunk)
10:08
Add a comment to the OsSectorSize() function. (CVS 3710) (check-in: 0fd9983a98 user: danielk1977 tags: trunk)
2007-03-22
15:22
In os_unix.c, make a distinction between pread() and pread64(). Add a new compile-time macro USE_PREAD64 to select the latter. (CVS 3709) (check-in: 177cd92910 user: drh tags: trunk)
15:20
Call sqlite3_free() instead of free() to release a buffer allocated by sqlite3_vmprintf() in test_async.c (test suite bug only). (CVS 3708) (check-in: b078f09bff user: danielk1977 tags: trunk)
00:14
Refactor PLWriter to remove owned buffer. DLCollector (Document List Collector) now handles the case where PLWriter (Position List Writer) needed a local buffer. Change to using the associated DLWriter (Document List Writer) buffer, which reduces the number of memory copies needed in doclist processing, and brings PLWriter operation in line with DLWriter operation. (CVS 3707) (check-in: d04fa3a13a user: shess tags: trunk)
2007-03-20
23:52
Refactor PLWriter in preparation for buffered-document change. Currently, PLWriter (Position List Writer) creates a locally-owned DataBuffer to write into. This is necessary to support doclist collection during tokenization, where there is no obvious buffer to write output to, but is not necessary for the other users of PLWriter. This change adds a DLCollector (Doc List Collector) structure to handle the tokenization case.

Also fix a potential memory leak in writeZeroSegment(). In case of error from leafWriterStep(), the DataBuffer dl was being leaked. (CVS 3706) (check-in: 1b9918e207 user: shess tags: trunk)

2007-03-19
17:44
Modify the interface to the pager sub-system in preparation for performing IO in blocks based on sector-size, not database page-size. (CVS 3705) (check-in: 7dc7658887 user: danielk1977 tags: trunk)
15:04
Add some test cases simulating crashes with various storage medium sector sizes. (CVS 3704) (check-in: c3c5f658cf user: danielk1977 tags: trunk)
13:53
Fix some problems with test cases in shared_err.test. Also a real bug causing a segfault after an IO error in pager.c. (CVS 3703) (check-in: 9f62ef1ec3 user: danielk1977 tags: trunk)
11:54
Fix a comment in btree.c (CVS 3702) (check-in: 05700c11a9 user: drh tags: trunk)
11:25
Changes to support medium sector sizes larger than the database page size. (CVS 3701) (check-in: 3a3e8eb25d user: danielk1977 tags: trunk)
05:54
Add new OS file method to return the sector-size of the underlying storage: sqlite3OsSectorSize() (CVS 3700) (check-in: 5752d84d37 user: danielk1977 tags: trunk)
2007-03-17
18:22
Add documentation of the REPLACE, TRIM, LTRIM, and RTRIM functions. (CVS 3699) (check-in: d42c963620 user: drh tags: trunk)
17:52
Added TRIM, LTRIM, and RTRIM functions. (CVS 3698) (check-in: 6fe13eeade user: drh tags: trunk)
13:27
First cut at an implementation of the REPLACE() function. We might yet make this a compile-time option or move it into a separate source file. (CVS 3697) (check-in: c2fe746ea7 user: drh tags: trunk)
10:28
Add crash2.test, for robustness testing with variable disk block size. (CVS 3696) (check-in: b0f8203dbb user: danielk1977 tags: trunk)
10:26
Modifications to crash-test infrastructure. (CVS 3695) (check-in: c4be8d9949 user: danielk1977 tags: trunk)
07:22
Combine the two very similar definitions of (crashsql) in the test scripts. (CVS 3694) (check-in: eaf434d588 user: danielk1977 tags: trunk)
2007-03-16
18:30
Out-of-memory cleanup in tokenizers. Handle NULL return from malloc/calloc/realloc appropriately, and use sizeof(var) instead of sizeof(type) to make certain that we don't get a mismatch between them as the code rots. (CVS 3693) (check-in: fbc53da8c6 user: shess tags: trunk)
2007-03-15
15:35
Save an if(...) clause made redundant by (3691). (CVS 3692) (check-in: 8153edf8be user: danielk1977 tags: trunk)
15:33
Check for multiple calls to sqlite3FailedMalloc(). Ignore the second and subsequent calls. (CVS 3691) (check-in: 7180874592 user: danielk1977 tags: trunk)
12:51
Fix the pager so that it handles persistent I/O errors correctly. Update the testing infrastructure so that it tests for persistent I/O errors instead of just transient errors. (CVS 3690) (check-in: ea8507a796 user: drh tags: trunk)
12:17
Infrastructure to make simulated I/O errors persistent instead of transient. (CVS 3689) (check-in: 1a53f531ec user: drh tags: trunk)
12:05
Catch an IO error code that was being ignored in OP_RowData. (CVS 3688) (check-in: 760ebf8076 user: danielk1977 tags: trunk)
01:16
Enhanced temp-file security under unix. There are no known attacks against prior versions - this check-in is just an added precaution. (CVS 3687) (check-in: 5af61402f6 user: drh tags: trunk)
2007-03-14
15:37
Modify the behaviour of writable_schema to ignore schema parsing errors. (CVS 3686) (check-in: a8d6d935fb user: danielk1977 tags: trunk)
2007-03-13
16:33
Add hyperlink anchors to the lockingv3.html document. (CVS 3685) (check-in: 3e66ea6f61 user: drh tags: trunk)
16:32
Do not crash when a corrupt database contains two indices with the same name. (CVS 3684) (check-in: 48b2a40008 user: danielk1977 tags: trunk)
2007-03-12
23:48
Clarify the use of loop variables in a expr.c. (CVS 3683) (check-in: e20e76f6d8 user: drh tags: trunk)
2007-03-10
20:50
Fix another typo in copyright.html (CVS 3682) (check-in: 92f158643c user: drh tags: trunk)
20:47
Amplify and clarify reasons for wanting to get a license to use SQLite. (CVS 3681) (check-in: 05bae0204d user: drh tags: trunk)
18:30
Fix typos in the copyright.html webpage. Ticket #2267 (CVS 3680) (check-in: 74a4bfce46 user: drh tags: trunk)
13:47
Updates to the copyright.html page to address concerns some users have SQLite have about copyright issues. A links to the wikipedia article on public domain and a public domain icon. (CVS 3679) (check-in: 6ce39f3006 user: drh tags: trunk)
2007-03-09
14:43
Remove extra heading accidentally added to lang.tcl by (3677). (CVS 3678) (check-in: 570533c1ef user: danielk1977 tags: trunk)
14:40
Add a few "class" attributes to the html generated by lang.tcl to support conversion to pdf. (CVS 3677) (check-in: 485c52ddc0 user: danielk1977 tags: trunk)
2007-03-08
12:23
Change the documentation to be more specific about the restriction on the use of keywords. Ticket #2264. (CVS 3676) (check-in: d03d480544 user: drh tags: trunk)
2007-03-06
16:03
Catch an out-of-memory condition in vacuum code. (Bug in (3373)). (CVS 3675) (check-in: 302ec76857 user: danielk1977 tags: trunk)
15:53
Fixes to the overflow-chain optization of (3672). (CVS 3674) (check-in: d6986d1e7c user: drh tags: trunk)
13:46
Use heap instead of stack for large buffers in the pager. Fix for #2262. (CVS 3673) (check-in: dfe1dffa45 user: danielk1977 tags: trunk)
11:42
Do not read the last page of a overflow chain when deleting that chain. Just add the page to the freelist. This reduces I/O. (CVS 3672) (check-in: 6db945f7a7 user: drh tags: trunk)
2007-03-04
13:15
Changes to the btree and pager that reduce the amount of I/O when dealing with the freelist. (1) Avoid journaling pages of a table that is being deleted. (2) Do not read the original content of pages being pulled off of the freelist. (CVS 3671) (check-in: 2ba5be3119 user: drh tags: trunk)
2007-03-02
08:12
Handle the case where the estimated cost of a virtual table scan is larger than SQLITE_BIG_DBL. Ticket #2253. (CVS 3670) (check-in: 52885ed8b7 user: danielk1977 tags: trunk)
07:27
Disable the "SELECT max(rowid) ..." optimization for virtual tables. Ticket #2250. (CVS 3669) (check-in: ddb4d0af57 user: danielk1977 tags: trunk)
06:24
Minor fixes so that testfixture builds without IO tracing enabled. (CVS 3668) (check-in: 8d3829cdb3 user: danielk1977 tags: trunk)
2007-03-01
00:29
Additional I/O Tracing support. (CVS 3667) (check-in: ed915f579a user: drh tags: trunk)
2007-02-28
06:14
Work around incompatibilities in the windows printf() routine within the new I/O tracing logic. (CVS 3666) (check-in: ceb3a07f55 user: drh tags: trunk)
04:47
Add the undocumented and experimental I/O tracing interface. This interface is likely to change and may be completely abandoned in the near future. (CVS 3665) (check-in: 007ca28389 user: drh tags: trunk)
2007-02-27
02:01
Improvements to OS layer tracing on the unix backend. (CVS 3664) (check-in: 3ad96dbe09 user: drh tags: trunk)
2007-02-24
15:29
Add comments to sqlite3ExprCompare() to clarify its operation. Ticket #2216. (CVS 3663) (check-in: fba0a1e508 user: drh tags: trunk)
15:18
Additional test cases added. Improvements to the INSERT transfer optimization. (CVS 3662) (check-in: 2bf5475bde user: drh tags: trunk)
13:53
Additional tests and some improvements to the INSERT transfer optimization. More testing is needed. (CVS 3661) (check-in: 8309858143 user: drh tags: trunk)
13:23
Make sure the INSERT xfer optimization does not trigger if the CHECK constraints on the two tables are not identical. Ticket #2252. (CVS 3660) (check-in: 6fc1827523 user: drh tags: trunk)
11:52
Make sure that integer values are converted to real when pulled from a REAL table column by GROUP BY. Ticket #2251. Also make sure default values are correctly expanded. There may be other places in the code where this issue comes up - we need to look further. (CVS 3659) (check-in: e11bbf174c user: drh tags: trunk)
2007-02-23
23:13
Disable the OR optimization if it would conflict with column affinity coercions. Ticket #2249. Additional cleanup and testing of the OR optimization. (CVS 3658) (check-in: 908daaa9ab user: drh tags: trunk)
14:20
Clarifications to the datatype3.html document. (CVS 3657) (check-in: 4692a85edb user: drh tags: trunk)
03:00
Clarify the documentation on how comparisons occur in an IN operator. Fix the comparison operators when both sides of an IN operator are expressions (ticket #2248). Changes to main.mk for adding FTS2 into the standard build also got mixed in with this check-in by mistake. (CVS 3656) (check-in: da81725ca1 user: drh tags: trunk)
00:14
Fix typos in test naming (was using 'e' instead of 'f'). (CVS 3655) (check-in: 16cb00adeb user: shess tags: trunk)
2007-02-22
23:06
Make the depth of the pushdown automaton stack generated by lemon changable at compile-time using -DYYSTACKDEPTH=<number>. (CVS 3654) (check-in: d8845ac1fb user: drh tags: trunk)
2007-02-21
17:04
Modify the fix for #2244 to avoid using a vdbe label. (CVS 3653) (check-in: f7ce74b22a user: danielk1977 tags: trunk)
16:52
Fix for an UPDATE on a virtual table when the WHERE clause matches zero rows. Ticket #2244. (CVS 3652) (check-in: 43bf797842 user: danielk1977 tags: trunk)
16:44
Add comments to the top of keywordhash.h. (CVS 3651) (check-in: 0aa9ed5bbf user: drh tags: trunk)
2007-02-20
15:21
Enhance the documentation to clarify that SQLite is not reentrant through the authorization callback function. Ticket #2242. (CVS 3650) (check-in: b18a758a8f user: drh tags: trunk)
2007-02-17
14:59
merge the second portion of the cross-compile cleanup (CVS 3649) (check-in: 309f2de62f user: vapier tags: trunk)
14:46
regenerate (CVS 3648) (check-in: 20ac0f3640 user: vapier tags: trunk)
14:31
punt custom handling of cross-compile logic and move towards the standard autotool way of things (CVS 3647) (check-in: 9817b433da user: vapier tags: trunk)
14:28
make the readline checks more flexible and handle cross-compiling logic (CVS 3646) (check-in: 4626c84bae user: vapier tags: trunk)
2007-02-14
12:32
In the corrupt2.test script, change uses of (open ... a) to (open ... RDWR) to work around inconsistencies in behavior across various platforms. (CVS 3645) (check-in: 50e86b0368 user: drh tags: trunk)
09:19
Use OP_VColumn instead of OP_Column when querying virtual tables for values to save in aggregate context records. #2230. (CVS 3644) (check-in: cb78f7cb0f user: danielk1977 tags: trunk)
2007-02-13
15:01
Add a new algorithm for handling INSERT which reduces fragmentation on a VACUUM. Ticket #2075. More testing needed. (CVS 3643) (check-in: 9f56a878cb user: drh tags: trunk)
14:11
Changes to the script that generates download.html so that it recognizes FTS2 modules. (CVS 3642) (check-in: 06c22de254 user: drh tags: trunk)
13:04
Version 3.3.13 (CVS 3641) (check-in: 286c4eb30d user: drh tags: trunk)
12:49
Expand the cursor index in SrcList_item to 32-bits to accomodate really huge VDBE programs resulting from deeply nested triggers. This is an interim fix until we rework triggers to use subroutines. (CVS 3640) (check-in: 22769e2d37 user: drh tags: trunk)
02:12
Changed my mind. Convert "GUID" back to "UUID". (CVS 3639) (check-in: c258840515 user: drh tags: trunk)
02:07
Change "UUID" to "GUID" in the documentation. (CVS 3638) (check-in: dddd31f4e0 user: drh tags: trunk)
02:03
Changes in preparation for version 3.3.13. (CVS 3637) (check-in: 7799a0b63d user: drh tags: trunk)
01:41
Explanation of the "fragmentation" line is added to the help message at the end of the output of sqlite3_analyzer. (CVS 3636) (check-in: 31e5073c58 user: drh tags: trunk)
01:38
Additional fixes to the new fragmentation feature of sqlite3_analyzer. (CVS 3635) (check-in: 82aed271a4 user: drh tags: trunk)
2007-02-10
19:22
Changes to support fragmentation analysis in sqlite3_analyzer. (CVS 3634) (check-in: bd6bc3b8f0 user: drh tags: trunk)
2007-02-07
13:09
Explicit collations always override implicit collations. This is backwards compatible since SQLite has not previously supported explicit collations. Need to add tests of this new behavior. (CVS 3633) (check-in: 3638823a62 user: drh tags: trunk)
01:06
Change the coding of PRAGMA count_changes so that it uses memory cells of the VM rather than the stack, to avoid problems with leftovers on the stack interfering with other operations. Ticket #2217. (CVS 3632) (check-in: 2bd4b62a20 user: drh tags: trunk)
01:01
http://www.sqlite.org/cvstrac/tktview?tn=2219

When creating fts tables in an attached database, the backing tables are created in database 'main'. This change propagates the appropriate database name to the routines which build sql statements.

Note that I propagate the database name and table name separately. I briefly considered just making the table name be "db.table", but it didn't fit so well in the model used to store the table name and other information, and having the db name passed separately seemed a bit more transparent. (CVS 3631) (check-in: 283385d207 user: shess tags: trunk)

2007-02-06
23:41
Additional tests to give full coverage testing to ticket #2211. (CVS 3630) (check-in: ecb1f2fd7b user: drh tags: trunk)
13:26
When optimizing out an ORDER BY clause due to uniqueness constraints, make sure unused terms to the right in the ORDER BY clause to not reference other tables in a join. Ticket #2211. Additional test cases needed before closing this ticket. (CVS 3629) (check-in: 912faf18d8 user: drh tags: trunk)
11:11
Check the return value of lseek() in os_unix.c to make sure it really worked. (CVS 3628) (check-in: e4408dd1fd user: drh tags: trunk)
2007-02-05
14:21
Set the MEM_Term flag when an internal string has a nul-terminator appended to it. Fix for #2213. (CVS 3627) (check-in: fc969ad991 user: danielk1977 tags: trunk)
2007-02-02
12:44
Minor tweaks to collating sequences. We'll hold of making major changes until 3.4.0, since we'll likely end up with some minor technical imcompatibilities. (CVS 3626) (check-in: 9740aa95a3 user: drh tags: trunk)
12:33
Fix typos in the pragma documentation. Ticket #2210. (CVS 3625) (check-in: f0c66ad8e9 user: drh tags: trunk)
2007-02-01
23:02
First cut at adding the COLLATE operator. Regression tests pass (or at least the quick set does) and a few new tests have been added. But many more tests are needed. Rules for combining collations need to be worked out. (CVS 3624) (check-in: 85cca7cd25 user: drh tags: trunk)
01:53
Fix a bug in the copy method of the TCL interface. Ticket #2201. (CVS 3623) (check-in: 936263966e user: drh tags: trunk)
01:40
Allow up to 64 tables in a join (the number of bits in a long long int). The old limit was 32 tables. (CVS 3622) (check-in: 505dce8f4e user: drh tags: trunk)
2007-01-31
23:37
Fixed incorrect typecast for flock structure ptr in fcntl() call in sqlite3TestLockingStyle() Restored previous fullfsync behavior, try fsync() if fcntl(fd, F_FULLFSYNC, 0) returns an error. (CVS 3621) (check-in: f044c5f49f user: aswift tags: trunk)
2007-01-29
17:58
Replace the randomHex() function with separate functions randomBlob() and hex(). (CVS 3620) (check-in: f5ad74a9bc user: drh tags: trunk)
15:50
Add the randomhex() function as a built-in. (CVS 3619) (check-in: a6001589ab user: drh tags: trunk)
2007-01-28
21:42
Implement the platform specific part of the shared library interface on OS/2 (CVS 3618) (check-in: 027251a6fc user: pweilbacher tags: trunk)
21:12
Adapt returns of the os2Read() function to those of other platforms using checkin (3549) to prevent possible corruption (CVS 3617) (check-in: ba76107cd1 user: pweilbacher tags: trunk)
2007-01-27
14:30
Version 3.3.12 (CVS 3616) (check-in: fc66070393 user: drh tags: trunk)
14:26
Adjustments to the pragma test for OS-X. (CVS 3615) (check-in: 4d0d2063df user: drh tags: trunk)
14:11
More adjustments to the pragma test for windows. (CVS 3614) (check-in: 79a65436d1 user: drh tags: trunk)
14:04
Adjustment to tests for PRAGMA integrity_check so that they run under windows. (CVS 3613) (check-in: a79914ccbc user: drh tags: trunk)
13:38
Increment the version number in preparation for the 3.3.12 release. (CVS 3612) (check-in: 24e465af92 user: drh tags: trunk)
13:37
Fix a documentation comment in vdbe.c. Ticket #2188. (CVS 3611) (check-in: 3eec703beb user: drh tags: trunk)
02:38
Parser changes to allow parenthesized numerical arguments to pragmas, in support of the integrity_check enhancement of check-in (3609) and ticket #2176. (CVS 3610) (check-in: ab6322bf93 user: drh tags: trunk)
02:24
Limit the number of errors returned by PRAGMA integrity_check to 100 by default. Specify an alternative limit using an argument to the pragma. Ticket #2176. (CVS 3609) (check-in: d564a039f2 user: drh tags: trunk)
2007-01-26
21:08
Make sure the vdbeInt.h file is not #included multiple times. Ticket #2194. (CVS 3608) (check-in: 93edd3b056 user: drh tags: trunk)
19:31
Fix prototypes for the parser. Syntactic change only - no effect on object code. Ticket #2193. (CVS 3607) (check-in: 02990fabd1 user: drh tags: trunk)
19:23
Add code to select.c for printing the contents of parse-tree structures. The code is normally omitted. You must compile with -DSQLITE_TEST or -DSQLITE_DEBUG to enable it. (CVS 3606) (check-in: 1b26d68756 user: drh tags: trunk)
19:04
Fix a (harmless) assertion fault on nested views where the inner views are compound selects. Ticket #2192. (CVS 3605) (check-in: 942e7193bb user: drh tags: trunk)
13:08
Make sure the loadext.c module works even if all SQLITE_OMIT macros are defined. Tickets #2184 and #2069. (CVS 3604) (check-in: e1fae43c89 user: drh tags: trunk)
00:51
Work around issues with certain C++ compilers by adding a typedef to sqlite3.h. Ticket #2191. (CVS 3603) (check-in: 31e8cf7f30 user: drh tags: trunk)
2007-01-25
16:56
Fix an additional problem with the IS NULL optimization on LEFT JOINs. Ticket #2189. See also ticket #2177. (CVS 3602) (check-in: 358dd82d3a user: drh tags: trunk)
2007-01-24
03:46
Do not run the fts2i.test unless the FTS2 module is available. (CVS 3601) (check-in: 310f685851 user: drh tags: trunk)
03:43
Do not run test fts1i.test if FTS1 is not installed. (CVS 3600) (check-in: 810c0176f8 user: drh tags: trunk)
2007-01-22
13:07
Version 3.3.11 (CVS 3599) (check-in: 66cbbe0442 user: drh tags: trunk)
13:06
Prepare for the release of version 3.3.11 (CVS 3598) (check-in: daf2883024 user: drh tags: trunk)
13:02
Fix a pragma test so that it works in directories that have spaces in their names. (CVS 3597) (check-in: 071c957a5d user: drh tags: trunk)
2007-01-19
22:59
http://www.sqlite.org/cvstrac/tktview?tn=2166,35

Calling UPDATE against an fts table in a UTF-16 database inserts corrupted data into the database. The UTF-8 data is being inserted directly. This appears to happen because sqlite3_ value_text() destructively coerces a value to UTF-8, and it's never converted back when updating the table. This works around the problem by rearranging things so that the update happens before the coercion. (CVS 3596) (check-in: 4f2ab4b632 user: shess tags: trunk)

01:06
Make sure the IS NULL optimization introduced by check-in (3494) correctly handles a LEFT JOIN where the a term from the right table of the join uses an IS NULL constraint. Ticket #2177. This check-in also adds the new test cases that were suppose to have been added with (3494) but which were mistakenly omitted. (CVS 3595) (check-in: 335863e4d1 user: drh tags: trunk)
2007-01-16
18:19
Additional memory initialization in lemon - bug reported from wireshark. Ticket #2172. Note this problem only comes up with certain grammars, and does not impact SQLite. On the other hand, it might cause SQLite to run slower. So we might want to revisit this change at some point. (CVS 3594) (check-in: d537aa5ede user: drh tags: trunk)
03:09
Make sure the parser generated by lemon always calls destructors on unused symbols, even if there is no action following the rule. Ticket #2171. (CVS 3593) (check-in: 0c5c1b931d user: drh tags: trunk)
2007-01-12
23:43
Fix a bug in sqlite3_prepare_v2() introduced by checkin (3578) and reported on the mailing list. (CVS 3592) (check-in: 8724847036 user: drh tags: trunk)
23:09
Fix a bug in lemon. The code in which the error appears might well be unreachable. The changes does not effect the code that is generated for the SQLite parser. Ticket #2164. (CVS 3591) (check-in: f4ee5d83e1 user: drh tags: trunk)
2007-01-10
18:56
Make the AreFileApisANSI() call a macro with a value of 1 on wince. Ticket #2163. (CVS 3590) (check-in: a72c950cdb user: drh tags: trunk)
13:34
More homepage typo fixes. (CVS 3589) (check-in: 85b5d446b0 user: drh tags: trunk)
13:32
Fix a typo on the homepage. (CVS 3588) (check-in: a0b429914b user: drh tags: trunk)
12:58
Version 3.3.10 (CVS 3587) (check-in: 204a212a28 user: drh tags: trunk)
12:57
Corrections to the documentation on sqlite3_exec(). Ticket #2161. (CVS 3586) (check-in: afd33f62ec user: drh tags: trunk)
12:54
Corrections to the documentation for sqlite3_busy_handler(). Ticket #2160. (CVS 3585) (check-in: 9614c0f99f user: drh tags: trunk)
2007-01-09
23:13
Documentation updates prior to version 3.3.10. Among the changes is a fix for ticket #2148 (CVS 3584) (check-in: 686beffa69 user: drh tags: trunk)
17:18
Fix the windows OS layer so that it returns detailed IOERR error codes. (CVS 3583) (check-in: 4b36de46c4 user: drh tags: trunk)
15:32
Work around win2k problems so that single-character filenames can be used. Ticket #2151. (CVS 3582) (check-in: c4eb2100c3 user: drh tags: trunk)
15:06
Documentation and tests to show that the cause of a parsing error is available on sqlite3_errmsg after sqlite3_step return SQLITE_SCHEMA. (CVS 3581) (check-in: 31a661d424 user: drh tags: trunk)
15:02
Updates tests and documentation to justify the behavior observed in ticket #2158. No changes to code. (CVS 3580) (check-in: e1f7cf065d user: drh tags: trunk)
14:37
Do not use the symbol "interrupt" since that is a reserved word in OpenWatcom. Ticket #2159. (CVS 3579) (check-in: 9960ba5768 user: drh tags: trunk)
14:01
When an automatic re-prepare occurs, take care not to reset the internal schema symbol table. Ticket #2156. This change also includes some debugging enhancements. (CVS 3578) (check-in: 43fe7fc1c3 user: drh tags: trunk)
2007-01-08
22:40
Additional tests of sqlite3_prepare_v2. (CVS 3577) (check-in: b0650aa6cf user: drh tags: trunk)
21:07
Fix a critical bug in sqlite3_prepare_v2 that can lead to segfaults when the schema changes and the statement is recompiled automatically. Ticket #2154. (CVS 3576) (check-in: 3401388dba user: drh tags: trunk)
16:20
Fix a date round-off problem in strftime(). Ticket #2153. (CVS 3575) (Leaf check-in: 47fee16ba9 user: drh tags: version_2)
16:19
Fix another round-off problem in strftime(). Ticket #2153. (CVS 3574) (check-in: d49ddc5ff0 user: drh tags: trunk)
14:31
Updates to the sqlite3 command-line shell documentation. Ticket #2144. (CVS 3573) (check-in: 3a422bb9ee user: drh tags: trunk)
13:43
Fix a round-off error in the %W conversion of strftime(). Ticket #2150. (CVS 3572) (check-in: e6a18741a4 user: drh tags: version_2)
13:40
Add the $(BEXE) suffix to every mention of "lemon" in the Makefile.in, so that the build will work on OS/2. Ticket #2149. (CVS 3571) (check-in: f5989a0bd3 user: drh tags: trunk)
13:07
Fix a round-off error in the %W and %j conversions of the strftime() function. Ticket #2150. (CVS 3570) (check-in: 5206793780 user: drh tags: trunk)
2007-01-06
13:11
Another typo fixed in changes.html (CVS 3569) (check-in: 70033a0ea4 user: drh tags: trunk)
13:10
Fix the makefile to correctly install sqlite3ext.h. Ticket #2145 (CVS 3568) (check-in: be410fee68 user: drh tags: trunk)
13:05
Fix typo in changes.html. (CVS 3567) (check-in: cc1df49b7a user: drh tags: trunk)
2007-01-05
16:39
Clear a compiler warning when compiling with -DSQLITE_OMIT_VIRTUALTABLE. (CVS 3566) (check-in: 520f6583e3 user: drh tags: trunk)
14:41
Remove redundant variable. (CVS 3565) (check-in: 2a7f5aaf82 user: drh tags: trunk)
14:38
Suppress compiler warnings. Fix a bug in IO error detection on windows. (CVS 3564) (check-in: daed2bab00 user: drh tags: trunk)
02:00
In the btree.c, when releasing the page1 lock, first make sure the pager has not reset and released the lock already. This fixes a bug introduced by (3549). (CVS 3563) (check-in: 36a2db96ef user: drh tags: trunk)
01:58
Get threadtest2.c working again after being long neglected. (CVS 3562) (check-in: 06216d0d3b user: drh tags: trunk)
00:14
Fix a test case that changed due to (3560). Ticket #2143 (CVS 3561) (check-in: c28664d314 user: drh tags: trunk)
2007-01-04
22:13
Fix the user_version and schema_version pragmas so that they set a result column name. Ticket #2143. (CVS 3560) (check-in: f81c4227c2 user: drh tags: trunk)
22:13
Fix the trigger4 test so that it runs on windows. (CVS 3559) (check-in: 5e4e65ea15 user: drh tags: trunk)
18:01
Put a missing double-quote into the changes.html page. (CVS 3558) (check-in: 277f8faae4 user: drh tags: trunk)
17:01
Version 3.3.9 (CVS 3557) (check-in: 8bf19a6a41 user: drh tags: trunk)
16:37
Increase the version number to 3.3.9. Documentation changes prior to the release of version 3.3.9. (CVS 3556) (check-in: 7e2832978f user: drh tags: trunk)
16:37
Disable the alter2.test on utf16 since the results of that test only work for utf8. (CVS 3555) (check-in: 87f350f35b user: drh tags: trunk)
14:58
Fix a memory leak introduced by the latest changes to pager.c. (CVS 3554) (check-in: 8cad5d671b user: drh tags: trunk)
14:36
Reactivate disabled "alter2" tests. (CVS 3553) (check-in: 093467a099 user: drh tags: trunk)
01:20
Fix for ticket #2141. (CVS 3552) (check-in: 70f5f3b85f user: drh tags: trunk)
01:20
Add a comment to vdbe.c to explain the use of an uninitialized variable. (CVS 3551) (check-in: 1773eb7bad user: drh tags: trunk)
2007-01-03
23:37
Clean up memory leaks and uninitialized variables detected by valgrind. Identify all tests where we deliberately derefence freed memory by adding a "-misuse" tag. (CVS 3550) (check-in: 70a862702d user: drh tags: trunk)
23:36
Additional changes in the pager and os interface layers to fix problems that might be contributing to recently observed database corruption. (CVS 3549) (check-in: a593d5743e user: drh tags: trunk)
15:34
Make sure that the database size cache in the pager is invalidated whenever the database is unlocked. A stale value in the database size cache can result in database corruption on a heavily loaded system running autovacuum. (CVS 3548) (check-in: 6806b9ecb5 user: drh tags: trunk)
2007-01-02
18:41
Update the vtab_err test to check for -DSQLITE_MEMDEBUG=1 and skip the tests if missing. Pager is more careful to clear its file size cache. Remove an assert() in VDBE that might fail on a corrupt database file. (CVS 3547) (check-in: bf1afd016a user: drh tags: trunk)
2006-12-22
20:33
OS/2 change: add safeguard to be able to use SQLite loaded into high memory on OS/2 when compiled with GCC 3.3 or later. Currently, this is only used when building within the Mozilla source tree. (CVS 3546) (check-in: 720189b8fa user: pweilbacher tags: trunk)
2006-12-21
22:38
Disable extension loading by default. At some point we should change the configure script to detect the presence of dlopen() automatically and add the appropriate library to the link. But that requires a working version of autoconf, which I do not have. Ticket #2124. (CVS 3545) (check-in: 87a9ee077a user: drh tags: trunk)
03:20
More fixes to the microsoft code-page nightmare... (CVS 3544) (check-in: 0b47d88060 user: drh tags: trunk)
02:21
Use GetProcAddressA() on wince. Ticket #2123 (CVS 3543) (check-in: e3dddd1cef user: drh tags: trunk)
01:37
Reduce the number of utf8->unicode conversions required in wince. Ticket #2122 (CVS 3542) (check-in: 6d2ff0962d user: drh tags: trunk)
01:29
Move the shared-library loading routines into the OS portability layer, thus enabling the os_win.c code to handle the character encoding confusion of win95/nt/ce. Ticket #2023. (CVS 3541) (check-in: a1bcc6de57 user: drh tags: trunk)
00:46
Change a parameter type from "int" to "DWORD" in the windows interface. Ticket #2122. (CVS 3540) (check-in: cca1eb3dfa user: drh tags: trunk)
2006-12-20
14:53
The xFilter method is not optional. (CVS 3539) (check-in: 6fdbd3bc91 user: drh tags: trunk)
14:31
Initialize a variable to avoid compiler warnings and human confusion. Ticket #2117. (CVS 3538) (check-in: 951af8d5c5 user: drh tags: trunk)
03:37
Patch to get extension loading working on wince. Ticket #2023. (CVS 3537) (check-in: a81f3ddfd0 user: drh tags: trunk)
03:24
The query optimizer does a better job of optimizing out ORDER BY clauses that contain the rowid or which use indices that contain the rowid. Ticket #2116. (CVS 3536) (check-in: f245f5c2c2 user: drh tags: trunk)
02:15
Allow constraint names on DEFAULT values in a table definition. Ticket #2109. (CVS 3535) (check-in: 893d58c23d user: drh tags: trunk)
2006-12-19
18:57
Build without warnings and pass all tests with SQLITE_OMIT_LOAD_EXTENSION. Ticket #2113. (CVS 3534) (check-in: c3d118b408 user: drh tags: trunk)
18:47
Fix a typo in shell.c. Ticket #2111. (CVS 3533) (check-in: 6f8a56231c user: drh tags: trunk)
18:46
Use sqlite3_mprintf() instead of strdup() to reduce libc dependencies. Ticket #2114. (CVS 3532) (check-in: bf4a78cb31 user: drh tags: trunk)
2006-12-18
18:34
Speed improvement: do not journal or rollback pages that are pulled out of the freelist. (CVS 3531) (check-in: 4dffc4c3c9 user: drh tags: trunk)
14:12
Updates to the "Distinctive Features" document. (CVS 3530) (check-in: c734585e1a user: drh tags: trunk)
2006-12-16
16:25
Query optimizer enhancement: In "FROM a,b,c left join d" allow the C table to be reordered with A and B. This used to be the case but the capability was removed by (3203) and (3052) in response to ticket #1652. This change restores the capability. (CVS 3529) (check-in: 7393c81b8c user: drh tags: trunk)
2006-12-14
01:06
Fix a bug in lemon that leads to an assertion fault given an invalid grammar. The bug and this fix do not effect on SQLite. Ticket #2107. (CVS 3528) (check-in: f2ad230f6d user: drh tags: trunk)
2006-11-30
13:06
Change the table_info pragma so that it returns NULL for the default value if there is no default value. Ticket #2078. (CVS 3527) (check-in: 5f21c3a5f0 user: drh tags: trunk)
13:06
Improvements to the new performance tests. (CVS 3526) (check-in: 27f56c2051 user: drh tags: trunk)
13:05
Fix indentation typo in btree.c. (CVS 3525) (check-in: 5d61486f0f user: drh tags: trunk)
2006-11-29
23:41
Drop a couple variables which are no longer used anywhere. (CVS 3524) (check-in: 08c2cc0e07 user: shess tags: trunk)
21:03
Test that terms longer than interior nodes work correctly. A bug prior to fts2.c r1.10 meant that such large terms caused an eventual stack overflow. (CVS 3523) (check-in: 66581162da user: shess tags: trunk)
20:53
Added the speed1.test script (CVS 3522) (check-in: 30355dfbd9 user: drh tags: trunk)
05:17
http://www.sqlite.org/cvstrac/tktview?tn=2046

The virtual table interface allows for a cursor to field multiple xFilter() calls. For instance, if a join is done with a virtual table, there could be a call for each row which potentially matches. Unfortunately, fulltextFilter() assumes that it has a fresh cursor, and overwrites a prepared statement and a malloc'ed pointer, resulting in unfinalized statements and a memory leak.

This change hacks the code to manually clean up offending items in fulltextFilter(), emphasis on "hacks", since it's a fragile fix insofar as future additions to fulltext_cursor could continue to have the problem. (CVS 3521) (check-in: 18142fdb6d user: shess tags: trunk)

01:02
Delta-encode terms in interior nodes. While experiments have shown that this is of marginal utility when encoding terms resulting from regular English text, it turns out to be very useful when encoding inputs with very large terms. (CVS 3520) (check-in: c8151a998e user: shess tags: trunk)
2006-11-23
21:09
Improvements to the speed tests recently added to the test suite. (CVS 3519) (check-in: 272c1a6e61 user: drh tags: trunk)
11:59
Fix a typo in the OMIT_AUTORIZATION in expr.c. (CVS 3518) (check-in: 3dea7fbefd user: drh tags: trunk)
11:58
Make the pager sector size configurable at compile-time. (CVS 3517) (check-in: 6221cf4f52 user: drh tags: trunk)
09:39
Add performance tests to the test suite. (CVS 3516) (check-in: 270c745dff user: drh tags: trunk)
2006-11-20
16:21
Fix the ".dump" command in the shell. Ticket #2072. Also ticket #2065. (CVS 3515) (check-in: 9fdc249609 user: drh tags: trunk)
2006-11-18
20:20
Make sure VACUUM cleans up after itself. Ticket #2071. (CVS 3514) (check-in: 2fdc147d00 user: drh tags: trunk)
00:12
Store minimal terms in interior nodes. Whenever there's a break between leaf nodes, instead of storing the entire leftmost term of the rightmost child, store only that portion of the leftmost term necessary to distinguish it from the rightmost term of the leftmost child. (CVS 3513) (check-in: f6e0b080dc user: shess tags: trunk)
2006-11-17
21:12
Refactoring groundwork for coming work on interior nodes. Change LeafWriter to use empty data buffer (instead of empty term) to detect an empty block. Code to validate interior nodes. Moderate revisions to leaf-node and doclist validation. Recast leafWriterStep() in terms of LeafWriterStepMerge(). (CVS 3512) (check-in: f30771d5c7 user: shess tags: trunk)
2006-11-13
21:09
Delta-encode docids. This is good for around 22% reduction in index size with DL_POSITIONS. It improves performance about 5%-6%. (CVS 3511) (check-in: 9b6d413d75 user: shess tags: trunk)
21:00
Require a minimum fanout for interior nodes. This prevents cases where excessively large terms keep the tree from finding a single root. A downside is that this could result in large interior nodes in the presence of large terms, which may be prone to fragmentation, though if the nodes were smaller that would translate into more levels in the tree, which would also have that problem. (CVS 3510) (check-in: 64b7e34061 user: shess tags: trunk)
20:15
Allow backing tables to be missing on dropping fts table. Fixes http://www.sqlite.org/cvstrac/tktview?tn=1992,35 . (CVS 3509) (check-in: 9628a61a6f user: shess tags: trunk)
2006-11-11
01:31
The uninitialized file descriptor from the unixFile structure is passed to sqlite3DetectLockingStyle in allocateUnixFile rather than the file descriptor passed in. This was causing the locking detection on NFS file systems to behave somewhat randomly and the result was locks were not respected and data loss could occur. (CVS 3508) (check-in: b9dd16ef3d user: aswift tags: trunk)
2006-11-09
15:18
Update the documentation to talk about the new sqlite3_prepare_v2() API. (CVS 3507) (check-in: d9e14b6121 user: drh tags: trunk)
00:24
First cut at adding the sqlite3_prepare_v2() API. Test cases added, but more testing would be useful. Still need to update the documentation. (CVS 3506) (check-in: f1efae9224 user: drh tags: trunk)
2006-11-08
12:25
Make the .exit and .quit commands work again in the shell. Ticket #2056. (CVS 3505) (check-in: f39978ef13 user: drh tags: trunk)
2006-11-07
15:02
Fix a typo in os_win.c. Ticket #2055. (CVS 3504) (check-in: d309680ec7 user: drh tags: trunk)
2006-11-06
21:20
Use the difference between the SQLITE_IOERR_SHORT_READ and SQLITE_IOERR_READ returns from sqlite3OsRead() to make decisions about what to do with the error. (CVS 3503) (check-in: 6324ea811e user: drh tags: trunk)
15:10
Fix a bug in the optimizer that was causing it to miss an OR optimization opportunity. (CVS 3502) (check-in: 9bf153b54c user: drh tags: trunk)
2006-11-01
12:20
Modify Makefile.in to install sqlite3ext.h. (CVS 3501) (check-in: 35c8c47817 user: drh tags: trunk)
12:08
Remove dead code from btree.c. Ticket #2050. (CVS 3500) (check-in: dbd0125c62 user: drh tags: trunk)
2006-10-31
21:27
Change the default temp file prefix to be "sqlite" spelled backwards. Tickets #2049 et al. (CVS 3499) (check-in: a19ce5c1c4 user: drh tags: trunk)
21:16
Change the default prefix for temporary files so that it no longer contains the text "sqlite". In this way, perhaps we will not get so many false bug reports such as ticket #2049, #1989, and #1841. (CVS 3498) (check-in: 7ce48000bb user: drh tags: trunk)
18:13
Fix a pair of memory leaks. These were turned up by running valgrind memcheck with various 10k doc insert, update, delete, and query tests. (CVS 3497) (check-in: 3cd9b64b96 user: shess tags: trunk)
18:08
Make the command-line shell ".dump" command more resilient in the face of database corruption. (CVS 3496) (check-in: ebd44f0b5e user: drh tags: trunk)
2006-10-30
13:37
Changes to support non-ASCII characters in win95 filenames. Ticket #2047. (CVS 3495) (check-in: 9fa3ae584a user: drh tags: trunk)
2006-10-28
00:28
Enhance the optimizer so that IS NULL can use an available index. (CVS 3494) (check-in: 64762a9d58 user: drh tags: trunk)
2006-10-27
14:21
Fix the ".dump" command in the command-line shell so that it shows TRIGGERs and VIEWs. Ticket #2044. (CVS 3493) (check-in: 58171a41f7 user: drh tags: trunk)
14:06
Changes directed toward optimizing IS NULL terms in WHERE clauses. (CVS 3492) (check-in: 4d336e9ef5 user: drh tags: trunk)
2006-10-26
18:15
Bring CVS output into more commonly accepted practice. Tickets #2030, #1573. Add command-line options -bail and ".bail" commands. Default behavior is to continue after encountering an error. Ticket #2045. (CVS 3491) (check-in: 517712d6fb user: drh tags: trunk)
14:25
Command-line shell enhancements. Bail out when errors are seen in non-interactive mode. Override isatty() using -interactive or -batch command-line options. Report line number in error messages. Tickets #2009, #2045. (CVS 3490) (check-in: 3baa04cfb9 user: drh tags: trunk)
00:41
Empty queries should get no results. My recent change ( http://www.sqlite.org/cvstrac/chngview?cn=3486 ) broke test fts2a-5.3. This change should make the expected result more obvious. (CVS 3489) (check-in: cde383eb46 user: shess tags: trunk)
00:04
Make memset() uses less error-prone. http://www.sqlite.org/cvstrac/tktview?tn=2036,35 describes some cases where we were passing memset() a length which was the sizeof a pointer, rather than the structure pointed to. Instead, wrap this idiom up in CLEAR() and SCRAMBLE() macros. (CVS 3488) (check-in: 5878add083 user: shess tags: trunk)
2006-10-25
23:22
Remove unreferenced local variable. (CVS 3487) (check-in: 2d3b22197c user: shess tags: trunk)
21:00
Replace the DocList and DocListReader structures. The new structures distinguish reading from a static buffer from writing to a dynamic buffer. This allows n-way doclist merging, and in-place merging of segment leaf nodes, which together cut segment merge times in half. (CVS 3486) (check-in: af5bfb986e user: shess tags: trunk)
20:27
Test to force edge cases in query logic. Basically, exercise code to handle lack of hits correctly. (CVS 3485) (check-in: 2cb5903366 user: shess tags: trunk)
05:21
Don't store empty segments. When inserting empty strings, the code was writing out a segment made up of a single leaf node containing the \0 header. LeafReader assumed that leaf nodes always contained at least one term, so assertions would fail.

While it would be possible to support reading and merging empty segments, there's no reason to do so. While this change could have been done in writeZeroSegment(), I put it in leafWriterFlush() so that it would work right if segmentMerge() created an empty segment, which could happen with future changes to how deleted documents are handled. (CVS 3484) (check-in: fed79beec7 user: shess tags: trunk)

2006-10-24
11:26
Fix a bad variable reference. The reference is actually in unreachable code and is therefore harmless. The fix is to remove the code. (CVS 3483) (check-in: 46b91807f7 user: drh tags: version_2)
2006-10-19
23:36
dup fts1 tests and edit for fts2. fts1porter.test omitted because it depends on being able to poke through to %_term table. (CVS 3482) (check-in: 2806c34158 user: shess tags: trunk)
23:28
Add tests for delete and update in fts1. (CVS 3481) (check-in: b01c4371d8 user: shess tags: trunk)
20:27
fts2 support for testing. These are a prelude to adding some test scripts. (CVS 3480) (check-in: 004ad1943f user: shess tags: trunk)
01:58
When converting UTF8 or UTF16 strings, change overlong strings and other illegal codes to 0xFFFD. Ticket #2029. (CVS 3479) (check-in: 0c6736df9c user: drh tags: trunk)
2006-10-18
23:26
Fix a problems that arise if malloc() fails while compiling SELECT statements within a TRIGGER. (CVS 3478) (check-in: ee4894b499 user: drh tags: trunk)
2006-10-13
15:34
Make sure the names of all expressions in compound SELECT statements used as subqueries are correctly resolved. Ticket #2018. (CVS 3477) (check-in: b886eaa334 user: drh tags: trunk)
12:25
Avoid expanding %d contained in the action of a lemon parser rule. Ticket #1063. This is a fix for lemon only. It does not effect SQLite. (CVS 3476) (check-in: 81daedcf48 user: drh tags: trunk)
11:55
Removing debugging printf from the porter stemmer code. Ticket #2016. (CVS 3475) (check-in: 7a08c6272f user: drh tags: trunk)
2006-10-12
23:15
Convert fts2 to store data in a way which allows for much faster updates. Groups of documents form segments which are encoded in a btree layered over a table of blocks, with various tricks to make merges fast. This performs 20x-25x faster than fts1 when loading the Enron corpus, and is only slightly slower for queries. (CVS 3474) (check-in: 85272b2f53 user: shess tags: trunk)
2006-10-11
17:19
Bug fix: named local variable lockStyle as lockingStyle in SQLITE_ENABLE_LOCKING_STYLE block in allocateUnixFile (CVS 3473) (check-in: aa0b96c3df user: aswift tags: trunk)
2006-10-10
23:22
Fix leaky symbols. With this change, fts1 and fts2 can both be statically linked. (CVS 3472) (check-in: 5e8bbb85c1 user: shess tags: trunk)
17:37
Copy fts1/ to fts2/, changing reference from fts1 to fts2. For future reference, the source versions copied were:

README.txt r1.1 fts1.c r1.37 fts1.h r1.2 fts1_hash.c r1.1 fts1_hash.h r1.1 fts1_porter.c r1.1 fts1_tokenizer.h r1.4 fts1_tokenizer1.c r1.6 (CVS 3471) (check-in: d0d1e7cdcc user: shess tags: trunk)

13:07
VACUUM now uses a temporary file in the official TEMP folder instead of a file in the same directory as the original database. (CVS 3470) (check-in: b743429dd5 user: drh tags: trunk)
2006-10-09
00:38
Version 3.3.8 (CVS 3469) (check-in: 0658bb9e3f user: drh tags: trunk)
2006-10-08
18:56
Website changes for version 3.3.8. Remove a C++-ism from test8.c. (CVS 3468) (check-in: 465ce5b2fe user: drh tags: trunk)
2006-10-05
21:48
Fix incorrect doclist initialization in term_select_all(). docListRestrictColumn() generates a DL_POSITIONS doclist, which means that after the first doclist is processed, the second doclist is initialized as DL_POSITIONS, but with DL_POSITIONS_OFFSETS data. (Note that DL_DEFAULT is now DL_POSITIONS, which masks this bug.) (CVS 3467) (check-in: 144e3f11e2 user: shess tags: trunk)
11:43
Fix another UTF conversion problem on x64. Ticket #2008. (CVS 3466) (check-in: d16523e555 user: drh tags: trunk)
2006-10-04
17:35
The snippet generator adds ellipsis between text from different columns. (CVS 3465) (check-in: 6cf1fb9f80 user: drh tags: trunk)
15:23
Fix UTF conversions for -O2 on gcc 4.1.1. Ticket #2008. (CVS 3464) (check-in: 86a08bb7c5 user: drh tags: trunk)
11:55
Tests cases automatically remove many of their temporary files. (CVS 3463) (check-in: eef0ec0d7a user: drh tags: trunk)
2006-10-03
19:37
Make DL_POSITION the default mode in FTS1. Remove the need to compile with SQLITE_CORE when SQLITE_ENABLE_FTS1 is used. (CVS 3462) (check-in: df1a4b4834 user: drh tags: trunk)
19:12
Modify the makefile(s) to know about the FTS1 module - however FTS1 is turned off by default. Bump the version number to 3.3.8. (CVS 3461) (check-in: 288ff63783 user: drh tags: trunk)
19:05
Report the error SQLITE_CORRUPT instead of SQLITE_IOERR if unable to rollback a hot journal that was damaged (for example) by filesystem corruption following a power failure. (CVS 3460) (check-in: 70501e4ea5 user: drh tags: trunk)
17:40
Add the OS-X locking style patches to os_unix.c. Disabled by default. (CVS 3459) (check-in: f4103dea5e user: drh tags: trunk)
12:08
Fix sqlite3_analyzer so that it works when compiled against Tcl8.5. (CVS 3458) (check-in: e774adce8e user: drh tags: trunk)
12:04
Fix sqlite3_analyzer so that it works on databases containing virtual tables. (CVS 3457) (check-in: 47c8567fcb user: drh tags: trunk)
11:42
Add the option to omit offset information from posting lists in FTS1. (CVS 3456) (check-in: fdcea7b1ff user: drh tags: trunk)
2006-10-01
20:41
Another typo in the Porter stemmer check-in. (CVS 3455) (check-in: 6696bda11c user: drh tags: trunk)
18:59
Typo in previous check-in. (CVS 3454) (check-in: a7350bf86c user: drh tags: trunk)
18:58
Remove one non-working test case fromthe Porter stemmer tests and add an acknowledgement for the source of the test data (Martin Porter himself.) (CVS 3453) (check-in: 1a2df2a61b user: drh tags: trunk)
18:41
Add a Porter stemmer option to the FTS1 module. (CVS 3452) (check-in: 936b06aaa8 user: drh tags: trunk)
2006-09-29
14:01
Make sure memory does not leak when patching up column names so that they are unique in a join or view. Tickets #1952 and #2002. (CVS 3451) (check-in: fcde639119 user: drh tags: trunk)
2006-09-28
19:43
Fix a bug in the handling of the OR operator in FTS1. Test cases added to prevent a repeat. (CVS 3450) (check-in: 8cdf1d6ae0 user: drh tags: trunk)
18:58
More snippet generator improvements and test cases. (CVS 3449) (check-in: 0934d220b3 user: drh tags: trunk)
18:37
Bug fix in the FTS1 snippet generator. Improvements in the way the snippet generator handles whitespace. (CVS 3448) (check-in: d3f4ae8275 user: drh tags: trunk)
11:41
Avoid segfaults when inserted NULL values into FTS1. (CVS 3447) (check-in: 165645d301 user: drh tags: trunk)
2006-09-26
00:37
Fix to the previous check-in. (CVS 3446) (check-in: 944d5f8120 user: drh tags: trunk)
00:34
Performance improvement and bug fix in sqlite3WinDelete(). (CVS 3445) (check-in: 46ac1ac2d1 user: drh tags: trunk)
2006-09-25
18:05
CVS malfunctioned on the previous check-in. Make sure the revision to date.c was received. Ticket #1991. (CVS 3444) (check-in: 433dac1f29 user: drh tags: trunk)
18:03
Fix a roundoff error in the %f converter of strftime(). Ticket #1991. (CVS 3442) (check-in: 51b9c755ea user: drh tags: trunk)
18:01
Add a pragma for activating proprietary extensions. (CVS 3441) (check-in: c63d34ce0c user: drh tags: trunk)
18:01
Fix a round-off problem in the %f conversion of strftime(). Ticket #1991. (CVS 3443) (check-in: bf4608406a user: drh tags: trunk)
13:48
Bug fix in pragma table_info(). (CVS 3440) (check-in: c037403bae user: drh tags: trunk)
13:09
Remove legacy cruft from shell.c. (CVS 3439) (check-in: 815d8f84b3 user: drh tags: trunk)
2006-09-23
21:44
Fix a bug in the handling of I/O errors introduced by the addition of extended error codes in check-in (3422). (CVS 3438) (check-in: 20d7b29443 user: drh tags: trunk)
20:46
Fix documentation typo. Ticket #1986 (CVS 3437) (check-in: 58c32ce35a user: drh tags: trunk)
20:36
Be sure to ignore PRAGMA encoding pragmas if the encoding has already been set for a database. Ticket #1987. This patch also includes some cleanup of the schema parser and initialization logic. (CVS 3436) (check-in: dc797bf4fa user: drh tags: trunk)
2006-09-22
23:38
Fix a build problem around sqlite3_overload_function. Only affects so/dll builds. (CVS 3435) (check-in: 791d70936b user: shess tags: trunk)
00:06
Implemented UPDATE for full-text tables.

We handle an UPDATE to a row by performing an UPDATE on the content table and by building new position lists for each term which appears in either the old or new versions of the row. We write these position lists all at once; this is presumably more efficient than a delete followed by an insert (which would first write empty position lists, then new position lists). (CVS 3434) (check-in: 757fa22400 user: adamd tags: trunk)

2006-09-21
20:56
When gathering a doclist for querying, don't discard empty position lists until the end; this allows empty position lists to override non-empty lists encountered later in the gathering process. This fixes #1982, which was caused by the fact that for all-column queries we weren't discarding empty position lists at all. (CVS 3433) (check-in: 111ca61671 user: adamd tags: trunk)
11:02
Be more aggressive with the SQLITE_OMIT_VACUUM macro. Saves about 150 bytes of code space. (CVS 3432) (check-in: 7e618db457 user: drh tags: trunk)
02:03
Implementation of the snippet() function for FTS1. Includes a few simple test cases but more testing is needed. (CVS 3431) (check-in: c7ee60d009 user: drh tags: trunk)
2006-09-18
21:14
Fixed a build problem in sqlite3_extension_init(). (CVS 3430) (check-in: bb2e1871cb user: adamd tags: trunk)
20:24
Convert all names to lower case before sending them to the xFindFunction method of a virtual table. In FTS1, use strcmp instead of strcasecmp. Ticket #1981. (CVS 3429) (check-in: cd4e1de896 user: drh tags: trunk)
20:24
Convert all names to lower case before sending them to the xFindFunction method of a virtual table. In FTS1, use strcmp instead of strcasecmp. Ticket #1981. (CVS 3428) (check-in: efa8fb32a5 user: drh tags: trunk)
02:12
Modify FTS1 so that the "magic" column has the same name as the virtual table. Offsets are retrieved using a special "offsets" function whose first argument is the magic column. Snippets will ultimately be retrieved in the same way. (CVS 3427) (check-in: 5e35dc1ffa user: drh tags: trunk)
2006-09-16
21:45
Add the sqlite3_overload_function() API - part of the virtual table interface. (CVS 3426) (check-in: aa7728f9f5 user: drh tags: trunk)
2006-09-15
16:58
Add documentation for the sqlite3_extended_result_codes() API. (CVS 3425) (check-in: a6b3f6bed2 user: drh tags: trunk)
16:09
Fix an initialization problem in FTS1. Ticket #1977. (CVS 3424) (check-in: 5a18dd8849 user: drh tags: trunk)
12:29
Bug fix and better testing of the extended result codes. (CVS 3423) (check-in: 78ae74db1c user: drh tags: trunk)
07:28
Add support for extended result codes - additional result information carried in the higher bits of the integer return codes. This must be enabled using the sqlite3_extended_result_code() API. Only a few extra result codes are currently defined. (CVS 3422) (check-in: ba579ddc43 user: drh tags: trunk)
2006-09-14
21:08
New FTS1 test data based on enron emails. (CVS 3421) (check-in: 01651a32c6 user: drh tags: trunk)
18:25
Remove file containing real email addresses. Ticket #1978. (CVS 3420) (check-in: 373a575f74 user: drh tags: trunk)
16:57
Minor build fixes. (CVS 3419) (check-in: 3564b07c40 user: adamd tags: trunk)
13:47
Enhanced I/O error simulation. (CVS 3418) (check-in: 86931854fc user: drh tags: trunk)
01:17
The FTS1 tables have a new automatic column named "offset" that returns a string containing byte offset information for all matching terms. Also added a large test case based on SQLite mailing list entries. (CVS 3417) (check-in: f25cfa1aec user: drh tags: trunk)
2006-09-13
20:22
Modify the ".dump" command in the command-line shell so that it works with virtual tables. (CVS 3416) (check-in: afd40184b7 user: drh tags: trunk)
19:21
Remove unused malloc failure test. (Ticket #1976) Also include fixes for other problems discovered while investigating ticket #1976. (CVS 3415) (check-in: f4ab546b2e user: drh tags: trunk)
19:18
In FTS1: Retain the Query structure as part of the cursor. It will be used laster as part of snippet generation. (CVS 3414) (check-in: 607d928ce9 user: drh tags: trunk)
18:40
Earlier refactoring changed name in fts1.c but not fts1.h. (CVS 3413) (check-in: d4edb8035c user: shess tags: trunk)
17:17
Minor code cleanup in FTS1. (CVS 3412) (check-in: fca5928167 user: drh tags: trunk)
16:02
Implementation of "column:" modifiers in FTS1 queries. (CVS 3411) (check-in: 820634f71e user: drh tags: trunk)
15:20
Module spec parser enhancements for FTS1. Now able to cope with column names in the spec that are SQL keywords or have special characters, etc. Also added support for additional control lines. Column names can be followed by a type specifier (which is ignored.) (CVS 3410) (check-in: adb780e0dc user: drh tags: trunk)
12:36
Fix the FTS1 test cases and add new tests. Comments added to the FTS1 code. (CVS 3409) (check-in: 528036c828 user: drh tags: trunk)
02:18
Allow virtual tables to contain multiple full-text-indexed columns. Added a magic column "_all" which can be used for querying all columns in a table at once.

For now, each posting list stores position/offset information for multiple columns. We may implement separate posting lists for separate columns at some future point. (CVS 3408) (check-in: 366a70b086 user: adamd tags: trunk)

2006-09-12
23:36
Answer queries for a particular rowid in a full-text table by looking up that rowid directly rather than by performing a table scan. (CVS 3407) (check-in: 877d5558b1 user: adamd tags: trunk)
2006-09-11
23:45
Add support for IF EXISTS on CREATE/DROP TRIGGER/VIEW. Ticket #1899. (CVS 3406) (check-in: e4fe736cfb user: drh tags: trunk)
21:39
Re-use deleted rowids for new segments. This has a somewhat surprising impact on performance, I believe because it keeps the index smaller (by keeping rowids smaller), and also because it improves locality in the table (deleting a row means we've already touched the pages leading to that rowid). (CVS 3405) (check-in: 2f5f6290c9 user: shess tags: trunk)
11:13
Get VACUUM working with virtual tables. (CVS 3404) (check-in: d5ffef3870 user: drh tags: trunk)
00:34
Add a rudimentary tokenizer and parser to FTS1 for parsing the module arguments during initialization. Recognized arguments include a tokenizer selector and a list of virtual table columns. (CVS 3403) (check-in: 227dc3feb5 user: drh tags: trunk)
2006-09-10
17:31
Add pzErr parameters to the xConnect and xCreate methods of virtual tables in order to provide better error reporting. This is an interface change for virtual tables. Prior virtual table implementations will need to be modified and recompiled. (CVS 3402) (check-in: f44b8bae97 user: drh tags: trunk)
17:08
Add a new zErrMsg field to the sqlite3_vtab structure to support returning error messages from virtual table constructors. This change means that virtual table implementations compiled as loadable extensions for version 3.3.7 will need to be recompile for version 3.3.8 and will not be usable by both versions at one. The virtual table mechanism is still considered experimental so we feel justified in breaking backwards compatibility in this way. Additional interface changes might occurs in the future. (CVS 3401) (check-in: 36693a5cb7 user: drh tags: trunk)
03:34
Add some simple test cases for the OR and NOT logic of the fts1 module. Fix lots of bugs discovered while developing these test cases. (CVS 3400) (check-in: 70bcff024b user: drh tags: trunk)
2006-09-09
23:11
Add support for OR and NOT terms in fts1. (CVS 3399) (check-in: ae50265791 user: drh tags: trunk)
2006-09-08
17:00
Write doclists using a segmented technique to amortize costs better. New items for a term are merged with the term's segment 0 doclist, until that doclist exceeds CHUNK_MAX. Then the segments are merged in exponential fashion, so that segment 1 contains approximately 2*CHUNK_MAX data, segment 2 4*CHUNK_MAX, and so on. (CVS 3398) (check-in: b6b93a3325 user: shess tags: trunk)
12:49
Add HAVE_GMTIME_R and HAVE_LOCALTIME_R flags and use them if defined. Unable to modify the configure script to test for gmtime_r and localtime_r, however, because on my SuSE 10.2 system, autoconf generates a configure script that does not work. Bummer. Ticket #1906 (CVS 3397) (check-in: 862302eaae user: drh tags: trunk)
12:27
Bug fix in date/time computations. Ticket #1964. Some unrelated comment typos are also fixed and got accidently checked in at the same time. (CVS 3396) (check-in: c81eaa0dc9 user: drh tags: trunk)
11:56
Improvements to the documentation of the return codes for sqlite3_step(). Tickets #1633, #1366, #1178, #906, and probably others too. (CVS 3395) (check-in: 508248e783 user: drh tags: trunk)
2006-09-06
21:39
Include io.h on Windows to quell a build warning about access() having no prototype. (CVS 3394) (check-in: b3eb1732bd user: adamd tags: trunk)
2006-09-05
18:21
A minor change to fts1.c to fix broken build. (CVS 3393) (check-in: 55a03b9625 user: adamd tags: trunk)
2006-09-04
18:54
Fix a bug in the new misc6.test script. Fix error messages when not compiled with memory debugging enabled. Ticket #1957. (CVS 3392) (check-in: 9fb92024bf user: drh tags: trunk)
15:53
Make sure strings returned by sqlite3_value_text() and sqlite3_value_text16() are always '\000'-terminated. (CVS 3391) (check-in: 2c63588b45 user: drh tags: trunk)
2006-09-02
22:14
Fix bugs in test scripts so that fulltest will pass. (CVS 3390) (check-in: 367bd8376f user: drh tags: trunk)
22:14
Changes to the Makefile.in so that MinGW users can build a DLL. Ticket #1955. (CVS 3389) (check-in: 7279ddd084 user: drh tags: trunk)
20:58
Add a TRACE macro to the FTS1 module for troubleshooting. Turned off by default. (CVS 3388) (check-in: d4923e98c6 user: drh tags: trunk)
20:57
Do not call the xDisconnect method on a virtual table while xUpdate is pending. Instead, defer the xDisconnect until after xUpdate completes. (CVS 3387) (check-in: 61148f4c36 user: drh tags: trunk)
14:50
Test for busted TCL builds that do not support 64-bit integers and print a warning message to users that test failures may be a result of the bad TCL build and not some problem with SQLite. Ticket #1953. (CVS 3386) (check-in: ca864ee913 user: drh tags: trunk)
14:17
Convert static variables into constants in the FTS module. (CVS 3385) (check-in: 098cbafcd6 user: drh tags: trunk)
13:58
Automatically register the FTS module if it is compiled into the build. (CVS 3384) (check-in: 8a96bdb724 user: drh tags: trunk)
13:22
Construct the .def files before calling dllwrap to build the .dll files. Ticket #1951. (CVS 3383) (check-in: e6e49a3811 user: drh tags: trunk)
00:23
Miscellaneous restructuring and cleanup based on suggestions from shess. (CVS 3382) (check-in: e98b0cf292 user: adamd tags: trunk)
2006-09-01
17:06
Automatically compute the sqlite3.def and tclsqlite3.def files when building windows DLLs. This will (hopefully) keep the .def files in perfect synchronization with the DLLs. Ticket #1951. (CVS 3381) (check-in: 1f6d79266a user: drh tags: trunk)
15:49
Remove use of the "clock" command in the test suite so that the tests will run in Tcl8.5. Ticket #1445. (CVS 3380) (check-in: bedbac54db user: drh tags: trunk)
00:33
Make fts1.c not rely on nul-terminated strings. Mostly a matter of making sure we always pass around ptr/len, but there were a few places where we actually relied on nul-termination.

An earlier change had additionally changed appropriate sqlite3_bind_text() calls to sqlite3_bind_blob(). I've found that this changes what's actually stored in the database, so backed those changes out. Also (and this is weird), I found that I could no longer do straight-forward = queries against %_term.term at a command-line. (CVS 3379) (check-in: 5844db1aa9 user: shess tags: trunk)

00:05
Make tokenizer not rely on nul-terminated text. Instead of using strcspn() and a nul-terminated delimiter list, I just flagged delimiters in an array and wrote things inline. Submitting this for review separately because it's pretty standalone. (CVS 3378) (check-in: 2631ceaeef user: shess tags: trunk)
2006-08-31
15:07
Refactor the FTS1 module so that its name is "fts1" instead of "fulltext", so that all symbols with external linkage begin with "sqlite3Fts1", and so that all filenames begin with "fts1". (CVS 3377) (check-in: e1891f0dc5 user: drh tags: trunk)
2006-08-30
21:40
Just don't run tolower() on hi-bit characters. This shouldn't cause us to break any UTF-8 code points, unless they were already broken in the input. (CVS 3376) (check-in: 6c77c2d5e1 user: shess tags: trunk)
2006-08-29
18:46
Bug fix: Get INSERT INTO ... SELECT working when the target is a virtual table. (CVS 3375) (check-in: 7cdc41e748 user: drh tags: trunk)
18:46
Bug fix: Get INSERT INTO ... SELECT working when the target is a virtual table. (CVS 3374) (check-in: 7912485705 user: drh tags: trunk)
13:08
Document the fact that SQLite allows NULL values in PRIMARY KEY columns and the fact that we might design to change this in the future. Ticket #518. (CVS 3373) (check-in: b99d845ef4 user: drh tags: trunk)
12:04
Improved built-in help in the command-line shell. Enable the fulltext search extension in the TCL interface. (CVS 3372) (check-in: 9763b4bfd5 user: drh tags: trunk)
2006-08-28
23:46
Make static some symbols which shouldn't have been exported. (CVS 3371) (check-in: 58006e38af user: shess tags: trunk)
20:08
Make hi-bit characters delimiters. This is a stopgap until the tokenizer and fulltext.c recognize UTF-8 correctly. (CVS 3370) (check-in: ca850d3d80 user: shess tags: trunk)
2006-08-27
14:10
Add sqlite3_malloc and sqlite3_realloc to the sqlite3.def file. Ticket #1943. (CVS 3369) (check-in: 4a74838eac user: drh tags: trunk)
2006-08-25
23:42
Add support for INSERT INTO ... DEFAULT VALUES. Tickets #299, #1940. (CVS 3368) (check-in: bc84cb54b0 user: drh tags: trunk)
19:20
Fix gcc gripe about parens in a ||/&& in mergePosList(). Drop unused pBlob/nBlob in index_insert_term(). Fix NULL deref in an assertion in docListUpdate() delete case. Minor code tightening in docListUpdate(). (CVS 3367) (check-in: a6fcf9101a user: shess tags: trunk)
2006-08-24
15:18
Documentation updates for the new SQLITE_FUNCTION authorization. (CVS 3366) (check-in: e029637e54 user: drh tags: trunk)
14:59
Enhance the sqlite3_set_authorizer() callback so that it provides callbacks on each SQL function that is invoked. (CVS 3365) (check-in: 4547c81f7d user: drh tags: trunk)
02:42
Tcl interface does filename translation prior to calling sqlite3_open(). Ticket #1937. (CVS 3364) (check-in: 5696e0cb77 user: drh tags: trunk)
2006-08-23
23:58
A first implementation of a full-text search module for SQLite. (CVS 3363) (check-in: b0d8e0d314 user: adamd tags: trunk)
20:07
Add the new experimental sqlite3_auto_extension() API. (CVS 3362) (check-in: a85fc877eb user: drh tags: trunk)
2006-08-22
23:53
Add argc as a default global to match standard tcl environment. (CVS 3361) (check-in: 533154099c user: shess tags: trunk)
14:45
Add the ext/fts1 subdirectory for holding the first full-text search extension. (CVS 3360) (check-in: 7f152f9f3a user: drh tags: trunk)
2006-08-19
13:32
Fix bug in documentation. Ticket #1927. (CVS 3359) (check-in: 90296bc8fa user: drh tags: trunk)
11:34
Fix for the (unsupported) soundex algorithm so that it conforms to Knuth. Ticket #1925. Test cases added. (CVS 3358) (check-in: 7810d1abf6 user: drh tags: trunk)
11:15
Improved method for finding the home directory under windows. Ticket #1926. (CVS 3357) (check-in: 10907bb201 user: drh tags: trunk)
2006-08-16
22:58
Remove obsolete clause in the documentation. Ticket #1923. (CVS 3356) (check-in: d4f182e5aa user: drh tags: trunk)
16:42
Allows UPDATE, INSERT, and DELETEs to occur while a SELECT is pending on the same table. (CVS 3355) (check-in: 8c52d2ad46 user: drh tags: trunk)
2006-08-15
14:21
Tighten an assert (ticket #1920). Change to "sqlite3.h" from <sqlite3.h> on the sqlite3ext.h header (ticket #1916). Fix a bug in the test scripts. (CVS 3354) (check-in: 3ebedbb6f9 user: drh tags: trunk)
2006-08-14
14:23
Change the table_info pragma to show the text of the default value expression, not the result of evaluating the default value expression. Ticket #1919. (CVS 3353) (check-in: b4d53974c3 user: drh tags: trunk)
2006-08-13
21:49
Adjust the Makefile.in so that there are no test errors when using the configure script. Ticket #1918. (CVS 3352) (check-in: 6a25be921b user: drh tags: trunk)
19:04
Add vdbeaux.c to the list of files that must be compiled with -DSQLITE_TEST=1 in order to generate testfixture. Do not require sqlit3OsDelete() to succeed on a multi-database commit. (Ticket #1917) (CVS 3351) (check-in: dfc833ac79 user: drh tags: trunk)
18:43
Vtab2.test script works regardless of what TCL version is used. (CVS 3350) (check-in: 6df3f6761a user: drh tags: trunk)
18:39
Compile in test code whenever -DSQLITE_TEST=1 is present. Do not rely on -DSQLITE_DEBUG=1 because somebody might try to run the tests without it. (CVS 3349) (check-in: 867defe328 user: drh tags: trunk)
2006-08-12
14:42
Version 3.3.7 (CVS 3348) (check-in: 85434a4b96 user: drh tags: trunk)
14:38
Documentation changes prior to the release of 3.3.7. (CVS 3347) (check-in: c276cca2aa user: drh tags: trunk)
13:28
Fix a bug in out-of-memory processing introduced by check-in (3336). (CVS 3346) (check-in: 8d98a205cb user: drh tags: trunk)
12:33
Require whitespace or punctuation between a numeric literal and an identifier or keyword. Ticket #1912. (CVS 3345) (check-in: 0f667c4abd user: drh tags: trunk)
2006-08-11
19:08
Make sure sufficient memory is allocated to hold the collating sequence pointers for all columns of an ORDER BY clause even if the ORDER BY clause contains more columns than where originally in the table. Ticket #1911. (CVS 3344) (check-in: 924ea730f4 user: drh tags: trunk)
2006-08-08
15:42
Fix an reference to an undefined variable introduced by the previous checkin. (CVS 3343) (check-in: 73ff3452a0 user: drh tags: trunk)
13:51
Remove most static and global variables from a pure build. There are still a number of static and global variables used for testing. (CVS 3342) (check-in: 76e4d41877 user: drh tags: trunk)
2006-07-30
20:50
Reset the schema before checking for outstanding statements inside sqlite3_close() so that virtual tables will be disconnected. (CVS 3341) (check-in: af05c3ca06 user: drh tags: trunk)
2006-07-28
20:16
Report any error which occurs in closing the database at exit. Free a couple of strings which were leaking. (CVS 3340) (check-in: 47353f62ca user: adamd tags: trunk)
2006-07-26
16:22
Disallow writing to, creating or dropping virtual tables from within xSync() callbacks. (CVS 3339) (check-in: e705d23232 user: danielk1977 tags: trunk)
14:57
Fix an overzealous assert() in the UTF-16 to UTF-8 converter. (CVS 3338) (check-in: 096bd8212f user: drh tags: trunk)
14:49
Add a test case to trigger an assertion fault when running sqlite3_prepare16() with a predefined string size. (CVS 3337) (check-in: 93878e6ebf user: drh tags: trunk)
13:43
More work toward getting sqlite3_interrupt() to work from separate threads. Ticket #1897. (CVS 3336) (check-in: e431131d47 user: drh tags: trunk)
01:39
Initial attempt at making sqlite3_interrupt() work even when called from a separate thread. (CVS 3335) (check-in: 35fd67d7a0 user: drh tags: trunk)
2006-07-25
15:14
Allow database writes from within virtual table module xSync() callbacks. (CVS 3334) (check-in: d5a608d0a4 user: danielk1977 tags: trunk)
2006-07-17
00:19
Fix lemon so that it does not crash on a empty reduce action. Ticket #1892. (CVS 3333) (check-in: 4207ebc4e1 user: drh tags: trunk)
00:02
Add the "interrupt" method to the TCL interface. Ticket #1889. (CVS 3332) (check-in: b0d19e575b user: drh tags: trunk)
2006-07-12
00:18
Reset TCL results when onecolumn or eval methods have no reply. Ticket #1887. (CVS 3331) (check-in: 9c6090c609 user: drh tags: trunk)
2006-07-11
14:17
By default, new databases are now created in the legacy file format - the format that ignores DESC on indices. If you want descending indices, you must either recompile with -DSQLITE_DEFAULT_FILE_FORMAT=4 or issue "PRAGMA legacy_file_format=OFF" prior to creating the first table in the database. (CVS 3330) (check-in: 65b60f05ce user: drh tags: trunk)
13:15
Prevent memory leak and possible NULL pointer deference after malloc failure. Ticket #1886. (CVS 3329) (check-in: b1f326e695 user: drh tags: trunk)
12:40
Fix a NULL pointer deference following malloc failure. Bug discovered by klocwork. (CVS 3328) (check-in: eb91612f46 user: drh tags: trunk)
10:42
Fix a possible NULL-pointer deference following a malloc failure. Error discovered by Klocwork. (CVS 3327) (check-in: 368bcf2644 user: drh tags: trunk)
2006-07-10
21:15
Back out the changes of ticket #1687 since they broken the ActiveTcl build. (CVS 3326) (check-in: b10d4220dc user: drh tags: trunk)
2006-07-08
18:41
Better comment to describe the confusing operand reversal for infix functions. (CVS 3325) (check-in: 30dfb9bf21 user: drh tags: trunk)
18:35
For infix functions (LIKE, GLOB, REGEXP, and MATCH) treat the left operand as the first argument for the purposes of virtual table function overloading, even though the left operand is really the the second argument. (CVS 3324) (check-in: 6e98373ca1 user: drh tags: trunk)
18:09
Add tests and minor fixes to the xFindFunction method of virtual tables. (CVS 3323) (check-in: 3c4233e074 user: drh tags: trunk)
17:06
Allow virtual table implementations to overload function that use a column of the virtual table as their first argument. Untested. (CVS 3322) (check-in: 12cc7af4b6 user: drh tags: trunk)
2006-07-06
17:08
Make the sqlite3_enable_load_extension() interface accessible from the TCL bindings. (CVS 3321) (check-in: ce96b890bb user: drh tags: trunk)
10:59
Change sqlite3_busy_timeout so that it checks for an invalid database pointer. (CVS 3320) (check-in: 225a9597b2 user: drh tags: trunk)
2006-07-02
10:21
Fix spelling of Perl on the homepage. (CVS 3319) (check-in: 255c5a9946 user: drh tags: trunk)
2006-06-28
18:18
Changes to get tests to pass with OMIT_VIRTUALTABLE. Ticket #1877. (CVS 3318) (check-in: 60616496b7 user: drh tags: trunk)
2006-06-27
20:39
Better handling of NULL column names. (CVS 3317) (check-in: 9f13972b93 user: drh tags: trunk)
20:06
Move the sqlite3_sleep() and sqlite3_clear_bindings() interfaces into the main library and make this official. (CVS 3316) (check-in: eb3442c44e user: drh tags: trunk)
20:05
Off by 1 error in check-in (3314). Note that this change is a likely fix for ticket #1875. But I have not tested it for that purpose yet. (CVS 3315) (check-in: c7477459e9 user: drh tags: trunk)
18:55
Use the -k option to sort. This allows the build to run on newer unix systems, but will likely break the build on older ones. Please address your complaints to the posix committee members that thought this would be a good idea. (CVS 3314) (check-in: 5d7e6bbddb user: drh tags: trunk)
18:38
When compiling extensions in the load_extension tests, specify a path for finding include files. (CVS 3313) (check-in: aee4b66994 user: drh tags: trunk)
16:34
Prevent databases from being DETACHed while they are in use. Fix for #1873. (CVS 3312) (check-in: 70a48b250b user: danielk1977 tags: trunk)
15:16
The ability to load extensions is turned off by default. It must be enabled by calling sqlite3_enable_load_extension() before it will work. This prevents security problems in legacy applications. Ticket #1863. (CVS 3311) (check-in: 4692319ccf user: drh tags: trunk)
14:37
Changes to build successfully with -DSQLITE_OMIT_LOAD_EXTENSION=1 (CVS 3310) (check-in: 783369e870 user: drh tags: trunk)
13:20
Changes so that it will build with SQLITE_OMIT_VIRTUALTABLE=1. (CVS 3309) (check-in: 5612b28705 user: drh tags: trunk)
12:51
All tests pass even if compiled with -DSQLITE_DEFAULT_FILE_FORMAT=1. (CVS 3308) (check-in: 8a49311d2f user: drh tags: trunk)
12:25
Fix up the test tclvar virtual module. (CVS 3307) (check-in: a20bfa4631 user: danielk1977 tags: trunk)
12:24
Additional documentation on the 3.3.0 file format change added to formatchng.html. (CVS 3306) (check-in: 955551ca2e user: drh tags: trunk)
12:16
Fix bug in transfer of arguments from WHERE clause to virtual table xFilter() methods. (CVS 3305) (check-in: cf41f2a33f user: danielk1977 tags: trunk)
11:14
Move older news items to the oldnews.html page. (CVS 3304) (check-in: 80163ded7d user: drh tags: trunk)
07:34
In test code, always use sqlite3_free() instead of free() to free error messages returned by sqlite3_exec(). (CVS 3303) (check-in: 6521ee5f32 user: danielk1977 tags: trunk)
02:36
Make sure that MATCH terms that a virtual table says should be omitted really are omitted. (CVS 3302) (check-in: 3e1f5567df user: drh tags: trunk)
02:33
Cleanup and refactor parts of the optimizer. (CVS 3301) (check-in: 6609c25fbf user: drh tags: trunk)
01:54
Cache and reuse virtual table index information in the optimizer. Improved diagnostics for virtual table index selection. (CVS 3300) (check-in: 28413cf2b3 user: drh tags: trunk)
00:14
Export the sqlite3_bind_value API to loadable extensions. (CVS 3299) (check-in: 1ca385bb39 user: drh tags: trunk)
2006-06-26
21:35
Publish APIs sqlite3_malloc() and sqlite3_realloc() that use the OS-layer memory allocator. Convert sqlite3_free() and sqlite3_mprintf() to also use the OS-layer memory allocator. (CVS 3298) (check-in: 85a66a25e9 user: drh tags: trunk)
19:10
Remove the sqlite3_module.zName field which was used only for debugging. (CVS 3297) (check-in: 74a3961f39 user: drh tags: trunk)
12:50
Fix a file descriptor leak following malloc failure on DROP TABLE IF EXISTS. (CVS 3296) (check-in: 6a63f76c8d user: drh tags: trunk)
11:17
Fix trivial compiler warnings. (CVS 3295) (check-in: 3538beace8 user: danielk1977 tags: trunk)
10:37
Syntax documentation updates. (CVS 3294) (check-in: df601a7b37 user: drh tags: trunk)
2006-06-24
12:39
(OS/2) Armor OS/2 against accidental deletion of files, too (patch by Daniel Kruse, verified by me) (CVS 3293) (check-in: f357efb373 user: pweilbacher tags: trunk)
11:51
A few more test cases to improve coverage of virtual table module related code. (CVS 3292) (check-in: 255aa9121a user: danielk1977 tags: trunk)
09:34
Add tests to improve coverage of vtab.c. (CVS 3291) (check-in: 0c5f4ee39c user: danielk1977 tags: trunk)
08:51
Ensure whitespace specified as part of a virtual table constructor argument is correctly passed to the constructor function. (CVS 3290) (check-in: 4630e11d9a user: danielk1977 tags: trunk)
06:36
Clean up and clarify code in test8.c. (CVS 3289) (check-in: 4acf7594a6 user: danielk1977 tags: trunk)
2006-06-23
14:43
Modify the test cases in tkt1444.test that were failing. I am convinced that the test cases were incorrect. (CVS 3288) (check-in: 0534f6e15b user: danielk1977 tags: trunk)
14:32
Allow xDestroy methods to execute "DROP TABLE" statements. (CVS 3287) (check-in: a56bfa5604 user: danielk1977 tags: trunk)
11:34
Fix some memory leaks that occur when malloc() fails. (CVS 3286) (check-in: b56cc035f2 user: danielk1977 tags: trunk)
08:05
Add tests and fixes for handling malloc() failures related to the virtual table feature. (CVS 3285) (check-in: 5d1d907189 user: danielk1977 tags: trunk)
2006-06-22
09:53
Test the handling of errors in virtual table methods. (CVS 3284) (check-in: 51b729d9d9 user: danielk1977 tags: trunk)
2006-06-21
19:30
Make the last_insert_rowid method in the TCL interface work with 64-bit rowids. (CVS 3283) (check-in: d50c37975d user: drh tags: trunk)
16:02
Add the database name to the parameters passed to virtual table module xCreate and xConnect methods. (CVS 3282) (check-in: 2d2805785f user: danielk1977 tags: trunk)
13:21
Add the table name to the arguments passed to the virtual table methods xCreate/xConnect. (CVS 3281) (check-in: 7dc36d1c79 user: danielk1977 tags: trunk)
12:36
Add tests to make sure altering or adding an index to a virtual table is prohibited. (CVS 3280) (check-in: 6c3e8852ff user: danielk1977 tags: trunk)
07:34
Test cases for accessing virtual tables when the corresponding module is undefined. (CVS 3279) (check-in: bcef48c54d user: danielk1977 tags: trunk)
07:02
Fix a problem with virtual tables and joins. (CVS 3278) (check-in: 643e63e588 user: danielk1977 tags: trunk)
2006-06-20
13:07
Fix some problems with virtual tables and joins in where.c. (CVS 3277) (check-in: 3e19a7d8ea user: danielk1977 tags: trunk)
11:01
Modifications so that compilation and testing with the various OMIT macros defined works. (CVS 3276) (check-in: c6ea353bd9 user: danielk1977 tags: trunk)
00:22
Update the news column on the homepage. (CVS 3275) (check-in: 24a94bb075 user: drh tags: trunk)
2006-06-19
12:02
Avoid returning MISUSE when sqlite is called recursively by an xBestIndex callback. (CVS 3274) (check-in: 4339e1bf66 user: danielk1977 tags: trunk)
06:32
Add tests to ensure triggers cannot be created on virtual tables. (CVS 3273) (check-in: 9470e27962 user: danielk1977 tags: trunk)
05:33
Respect default collation sequences assigned to virtual table columns. (CVS 3272) (check-in: d9b205acac user: danielk1977 tags: trunk)
04:49
Fix memory leak in where.c. (CVS 3271) (check-in: 3d10e8f361 user: danielk1977 tags: trunk)
03:05
Add tests to ensure an INSERT/UPDATE/DELETE immediately after virtual table construction does not fail. (CVS 3270) (check-in: 144d0eb13a user: danielk1977 tags: trunk)
2006-06-17
14:12
Add the load_extension() SQL function. (CVS 3269) (check-in: e08e2ddafe user: drh tags: trunk)
13:21
The default entry point for loadable extensions is now always sqlite3_extension_init(). (CVS 3268) (check-in: 059b1f6140 user: drh tags: trunk)
11:30
Add newly created virtual tables to the current transaction. (CVS 3267) (check-in: ea7e4eca10 user: danielk1977 tags: trunk)
10:44
Clear a compiler warning by adding a prototype to sqliteInt.h. (CVS 3266) (check-in: ca541ef3c4 user: drh tags: trunk)
09:39
Add tests (and fixes) for the virtual table transaction interface. (CVS 3265) (check-in: 8a5b121f2f user: danielk1977 tags: trunk)
06:31
When updating a view, invoke the authorization callback for reading the view before setting the authorization-context to the view name. (CVS 3264) (check-in: 48d297c561 user: danielk1977 tags: trunk)
03:27
Fixes for UPDATE statements on virtual tables. (CVS 3263) (check-in: 81c5a5b48b user: danielk1977 tags: trunk)
2006-06-16
21:13
Rework the way UPDATE works for virtual tables. (CVS 3262) (check-in: 2119e7bf55 user: drh tags: trunk)
16:08
Add code to invoke the virtual table transaction interface. Untested at this point. (CVS 3261) (check-in: 6125140228 user: danielk1977 tags: trunk)
08:01
Add some tests (and fixes) for virtual tables and the authorization callback. Still more to come. (CVS 3260) (check-in: 9497c66e55 user: danielk1977 tags: trunk)
06:17
Arrange for sqlite3_last_insert_rowid() to work with virtual tables. (CVS 3259) (check-in: afa39a4632 user: danielk1977 tags: trunk)
2006-06-15
16:26
Fix type in test_schema.c. (CVS 3258) (check-in: d65d83d383 user: danielk1977 tags: trunk)
15:59
Add test_schema.c, containing a module for viewing the database schema via a virtual table. (CVS 3257) (check-in: de8d32ac71 user: danielk1977 tags: trunk)
15:38
Add column_value, declare_vtab and create_module to the function table used by dynamic extensions. (CVS 3256) (check-in: 25c4750878 user: danielk1977 tags: trunk)
14:31
Write database pages in sorted order to reduce file fragmentation. This is an experimental change. It is not clear if it will help any. It may well be removed in the future. (CVS 3255) (check-in: fe3e70a727 user: drh tags: trunk)
13:22
Asserts added that verify that the code works correctly that ticket #1849 claims is wrong. (CVS 3254) (check-in: d145dc1c4b user: drh tags: trunk)
10:41
Add tests (and modify test code) for writing to virtual tables. (CVS 3253) (check-in: 6380a9b118 user: danielk1977 tags: trunk)
07:29
Simple tests and fixes for writing to virtual tables. (CVS 3252) (check-in: 88fa510e4c user: danielk1977 tags: trunk)
04:28
Add void* argument to sqlite3_create_module to replace sqlite3_module.pAux. (CVS 3251) (check-in: 470a3a0b20 user: danielk1977 tags: trunk)
2006-06-14
23:43
Changes to test8.c to support UPDATE operations on xUpdate. (CVS 3250) (check-in: 9e96511f83 user: drh tags: trunk)
22:07
Bug fixes in the MATCH and ORDER BY processing of virtual tables. (CVS 3249) (check-in: c996185a9e user: drh tags: trunk)
19:00
Added code to INSERT, DELETE and UPDATE virtual tables. The new code is mostly untested. (CVS 3248) (check-in: 32c97b884b user: drh tags: trunk)
15:35
Better documentation on the limits of user-defined functions. And a marginally better error message when those limits are exceeded. Ticket #1847. (CVS 3247) (check-in: 0d369ff071 user: drh tags: trunk)
15:16
Add xUpdate method to the echo test module. Currently untested. (CVS 3246) (check-in: 676de55b28 user: danielk1977 tags: trunk)
15:14
Fix segfault introduced in (3243). (CVS 3245) (check-in: e5fff87d00 user: danielk1977 tags: trunk)
15:03
Fix a C++-ism in lempar.c. Ticket #1848. (CVS 3244) (check-in: a0a3b34db8 user: drh tags: trunk)
13:03
Add the opcode OP_VUpdate and replace the xInsert/xDelete members of sqlite3_module with xUpdate. (CVS 3243) (check-in: 15ba5cbf07 user: danielk1977 tags: trunk)
13:03
Add the opcode OP_VUpdate and replace the xInsert/xDelete members of sqlite3_module with xUpdate. (CVS 3242) (check-in: 418f3ca84a user: danielk1977 tags: trunk)
10:55
Add code to test8.c to check that the correct idxNum value is passed to the xFilter method. (CVS 3241) (check-in: 77bcaf99b3 user: danielk1977 tags: trunk)
10:47
Fix typo in test8.c. (CVS 3240) (check-in: 75be7d4988 user: danielk1977 tags: trunk)
10:38
Add some tests for sqlite3_load_extension(). (CVS 3239) (check-in: 402a77c43d user: danielk1977 tags: trunk)
08:48
Add tests for the new MATCH operator. (CVS 3238) (check-in: b4024c394d user: danielk1977 tags: trunk)
07:41
Add a test case for ORDER BY using the echo module. (CVS 3237) (check-in: f459f034f6 user: danielk1977 tags: trunk)
06:58
Change the pModule parameter of the xCreate and xConnect methods to a void*. (CVS 3236) (check-in: 3ffa51b50a user: danielk1977 tags: trunk)
06:31
Add tests for error conditions surrounding the creation/connection of virtual tables. (CVS 3235) (check-in: 5e592c422b user: danielk1977 tags: trunk)
2006-06-13
23:51
The echo module test is now running. Added the tclvar module test but have not yet done anything with it. (CVS 3234) (check-in: 29199eeea4 user: drh tags: trunk)
19:26
The (unsupported) soundex() function returns '?000' when given a NULL. Ticket #1845. (CVS 3233) (check-in: 9372481f23 user: drh tags: trunk)
17:39
The optimizer recognizes MATCH operators and allows virtual-tables to make use of them. (CVS 3232) (check-in: 136bed496b user: drh tags: trunk)
15:37
Add support for the MATCH operator. (CVS 3231) (check-in: 815b84d527 user: drh tags: trunk)
15:36
Get the code to compile with -DSQLITE_OMIT_VIRTUALTABLE=1 (CVS 3230) (check-in: ea4bc5a0be user: drh tags: trunk)
15:12
Improved comments and documentation of sqlite3_load_extension(). (CVS 3229) (check-in: 0bcec95963 user: drh tags: trunk)
15:00
Add the tentative sqlite3_allocate_queryplan() API. (CVS 3228) (check-in: 7a3e97f76b user: danielk1977 tags: trunk)
14:16
Add simple tests for the xFilter and xBestIndex methods. (CVS 3227) (check-in: 0f4657ea69 user: danielk1977 tags: trunk)
13:27
Lemon correctly recognizes an empty grammar and errors out. Fix for a bug reported on the sqlite-users mailing list. (CVS 3226) (check-in: 5539292268 user: drh tags: trunk)
11:27
Free error message string in the quick start example. (CVS 3225) (check-in: 1273261ba7 user: drh tags: trunk)
11:15
Minor changes to lempar.c to reduce warnings on some compilers. (CVS 3224) (check-in: dae71de10d user: drh tags: trunk)
10:24
Add implementations for opcodes required for linear scans of virtual tables. (CVS 3223) (check-in: 1f20e1832b user: danielk1977 tags: trunk)
04:11
Bugfixes: Fix a segfault introduced as part of the new vtab code, deallocate memory in the Destroy() method of the echo module. (CVS 3222) (check-in: 00f3c249bc user: danielk1977 tags: trunk)
04:11
Bugfixes: Fix a segfault introduced as part of the new vtab code, deallocate memory in the Destroy() method of the echo module. (CVS 3221) (check-in: f9ea970475 user: danielk1977 tags: trunk)
01:04
Progress toward getting the virtual-table code generator to work. (CVS 3220) (check-in: 3532f1340f user: drh tags: trunk)
2006-06-12
21:59
Added code to iterate through virtual tables. All regression tests pass but the new code is completely untested. (CVS 3219) (check-in: 0109654331 user: drh tags: trunk)
16:01
Add code to invoke the xDestroy method of a virtual table when it is dropped. (CVS 3218) (check-in: f0c7c8d12c user: danielk1977 tags: trunk)
12:57
Patches to get things working better for OS2. Ticket #1836. (CVS 3217) (check-in: 65c6e5e117 user: drh tags: trunk)
12:50
Fixes so that builds work with SQLITE_OMIT_VIRTUALTABLE=1. (CVS 3216) (check-in: 54b30fe1bd user: drh tags: trunk)
12:46
Get builds working again when extension loading is not enabled. Ticket #1839. (CVS 3215) (check-in: 89ead80129 user: drh tags: trunk)
12:08
Add a simple test case (and corresponding bugfix) for the virtual table xConnect and xDisconnect methods. (CVS 3214) (check-in: b63dbc7947 user: danielk1977 tags: trunk)
11:24
Add first cut of sqlite3_declare_vtab(). Not at all well tested yet. (CVS 3213) (check-in: bbeb93b5bb user: danielk1977 tags: trunk)
06:09
Incremental work on parsing/storing and invoking the xCreate callback for virtual tables. (CVS 3212) (check-in: 8ffbab79d5 user: danielk1977 tags: trunk)
2006-06-11
23:41
Progress toward CREATE VIRTUAL TABLE. Still not even close to working... (CVS 3211) (check-in: 898ec36b41 user: drh tags: trunk)
2006-06-10
13:29
Basic parsing of CREATE VIRTUAL TABLE statements. (CVS 3210) (check-in: 66370cb99b user: drh tags: trunk)
2006-06-08
16:10
In the shell, make sure the database is opened before trying to do an ".import". Bug reported on the mailing list. (CVS 3209) (check-in: 39e3427813 user: drh tags: trunk)
15:48
Unload shared libraries when a database connection closes. (CVS 3208) (check-in: 327e6909c9 user: drh tags: trunk)
15:28
New shell command ".load" and the sqlite3_load_extension() API allow new SQL functions and collating sequences to be loaded at run-time from a DLL or shared library. (CVS 3207) (check-in: 4ca932d3ae user: drh tags: trunk)
2006-06-06
13:34
Version 3.3.6 (CVS 3206) (check-in: c11cb07e4b user: drh tags: trunk)
12:38
Changes in preparation for version 3.3.6. (CVS 3205) (check-in: b2e11e0290 user: drh tags: trunk)
12:32
Command "sqlite3 -version" returns 0 instead of 1. Ticket #1771. (CVS 3204) (check-in: fd0fae4835 user: drh tags: trunk)
11:45
In joins of the form "A left B, C" make sure they are not transformed into "A left C, B". Ticket #1830. See also #1652. (CVS 3203) (check-in: 2baa983653 user: drh tags: trunk)
2006-06-04
23:31
Add comments to the changes of check-in (3200). (CVS 3202) (check-in: 697498d4e8 user: drh tags: trunk)
23:20
Fix a windows portability problem in trans.test. (CVS 3201) (check-in: f2538dfdb6 user: drh tags: trunk)
23:02
Changes to help SQLite cope with virus scanners and other programs that open journal files for reading and thus prevent SQLite from deleting them in order to commit a transaction. (CVS 3200) (check-in: f32dbe47ff user: drh tags: trunk)
2006-06-03
18:04
Remove unused variables from vdbe.c. (CVS 3199) (check-in: d54750aefb user: drh tags: trunk)
18:02
Added support for OS/2. Ticket #1817 (CVS 3198) (check-in: 373246c2d1 user: drh tags: trunk)
17:37
Do not record blank lines in the command-line editing history of the shell. (CVS 3197) (check-in: 0eabda82cd user: drh tags: trunk)
2006-06-02
12:40
The windows driver always allows other processes to write the database file even if it only has read permission on the file. This is an experimental checkin - we still have not determined that this change is safe. Ticket #1803. (CVS 3196) (check-in: 4bf03c3bbc user: drh tags: trunk)
2006-05-31
11:12
Fix typo in lang_analyze.html. (CVS 3195) (check-in: fba8ce8c38 user: drh tags: trunk)
2006-05-27
11:15
Clarify the operation of sqlite3_last_insert_rowid() in the documentation. (CVS 3194) (check-in: 9e0b83b81f user: drh tags: trunk)
2006-05-26
19:57
Allow SQL statements to be executed from within a progress callback. Be warned, however, that the progress callback might be called recursively in this case. It is up to the program to disable the progress callback to prevent recursive invocations. Ticket #1827. (CVS 3193) (check-in: ffc4730c05 user: drh tags: trunk)
2006-05-25
12:17
Syntax errors override errors from the code generator, not the other way around. (CVS 3192) (check-in: 5031ffc665 user: drh tags: trunk)
11:52
Handle NULL database names in ATTACH and DETACH as if they were empty strings. Ticket #1825. (CVS 3191) (check-in: 79a818bb05 user: drh tags: trunk)
2006-05-24
12:43
When opening a new connection on a shared cache, be careful not to overwrite the encoding flag on the shared cache. Ticket #1824. (CVS 3190) (check-in: c8e5ceedee user: drh tags: trunk)
2006-05-23
23:25
Additional tests for ticket #1821. (CVS 3189) (check-in: b93e3fb02a user: drh tags: trunk)
23:22
Fix type coercion rules for the IN operator. Ticket #1821. (CVS 3188) (check-in: 6e5a497621 user: drh tags: trunk)
2006-05-22
22:04
If an sqlite3_mprintf() call uses a disallowed internal-use-only conversion character, then abort the call with a -1 error code. Ticket #1818. (CVS 3187) (check-in: 9d7297b9ef user: drh tags: trunk)
2006-05-11
23:14
Adjust the default weights on indices so that an index that matches more terms of the where clause wins (by default) over one that matches fewer. Ticket #1808. (CVS 3186) (check-in: 249b579f83 user: drh tags: trunk)
13:33
Fix documentation typo: The name of the competing database engine is "Firebird", not "Firefox". (CVS 3185) (check-in: 8be6a39d71 user: drh tags: trunk)
13:26
Correctly handle multi-column indices where multiple columns are constrained by IN operators with subqueries on the right-hand side. Ticket #1807. (CVS 3184) (check-in: b16541ba5e user: drh tags: trunk)
13:25
Fix comments on the implementation of the SUM() function. (CVS 3183) (check-in: a8909f3e5f user: drh tags: trunk)
2006-05-10
14:39
Out-of-memory checks added to tclsqlite.c and shell.c. Tickets #1805 and #1806. (CVS 3182) (check-in: 364031d6e5 user: drh tags: trunk)
2006-05-08
15:14
Fix error processing in Lemon. SQLite does not use this feature of lemon so it is uneffected. (CVS 3181) (check-in: 864cac9603 user: drh tags: trunk)
2006-05-07
17:49
Automatically increase the size of the pager hash table as the number of in-memory pages increases. Tickets #1790 and #1799. (CVS 3180) (check-in: ef8e9886f4 user: drh tags: trunk)
2006-05-03
23:39
Fix a typo on a webpage. Ticket #1792. (CVS 3179) (check-in: 2702205277 user: drh tags: trunk)
23:34
Faster :memory: database COMMITs. Ticket #1790. (CVS 3178) (check-in: 8f820e4352 user: drh tags: trunk)
2006-04-26
17:39
Get LIMIT 0 working on subqueries. Ticket #1784. (CVS 3177) (check-in: 7f3ef7ddba user: drh tags: trunk)
2006-04-21
09:38
Additional information about index sorting in EXPLAIN QUERY PLAN. (CVS 3176) (check-in: 39dd969527 user: drh tags: trunk)
2006-04-19
01:24
Remove a superfluous call to access() in the unix driver. Error spotted by Coverity. (CVS 3175) (check-in: 4f195aa1eb user: drh tags: trunk)
2006-04-16
12:05
Allocate enough memory for the worst-case UTF-16 to UTF-8 conversion. Ticket #1773. (CVS 3174) (check-in: 2a0120c0f0 user: drh tags: trunk)
2006-04-11
14:16
Allow constant terms in the ORDER BY or GROUP BY clauses. Ticket #1768. (CVS 3173) (check-in: d83e0230c0 user: drh tags: trunk)
2006-04-10
13:37
Follow-up to check-in (3164). Make sure SQLITE_NOMEM is returned after a memory allocation failure. It is not sufficent to return an "out of memory" error message. The return code needs to be SQLITE_NOMEM. (CVS 3172) (check-in: 9d95750e85 user: drh tags: trunk)
2006-04-08
19:14
Variable declarations should come before code. Ticket #1763. (CVS 3171) (check-in: 9682f84401 user: drh tags: trunk)
2006-04-07
13:54
Reorder code so that it compiles with SQLITE_OMIT_MEMORYDB. Ticket #1754. (CVS 3170) (check-in: 1929e37d5e user: drh tags: trunk)
13:50
Return the correct declared column type, origin column name, origin database name, etc. from aggregate queries. Ticket #1726 and #1755. (CVS 3169) (check-in: e64809f0ae user: drh tags: trunk)
13:26
Avoid the use of atof(). Ticket #1756. (CVS 3168) (check-in: 76aef93c3e user: drh tags: trunk)
2006-04-05
13:16
Version 3.3.5 (CVS 3167) (check-in: a091a61d88 user: drh tags: trunk)
12:50
Fix typos in the previous check-in. (CVS 3166) (check-in: 119ec40228 user: drh tags: trunk)
12:15
Preparing for the release of version 3.3.5. (CVS 3165) (check-in: 159fb92bd5 user: drh tags: trunk)
11:57
Make sure SQLITE_NOMEM is reported out on a malloc failure in an ATTACH even if the malloc failure reports within a nested calls to sqlite3_prepare(). (CVS 3164) (check-in: 3538a4e30f user: drh tags: trunk)
01:08
Add documentation on new sqlite_authorizer callback types. Ticket #1744. (CVS 3163) (check-in: fdbff3f145 user: drh tags: trunk)
01:02
Documentation typos. Tickets #1749 and #1750. (CVS 3162) (check-in: 51b35ace20 user: drh tags: trunk)
2006-04-04
01:54
Changes to get SQLite running on machines that use the EBCDIC character set. (CVS 3161) (check-in: 4342b49971 user: drh tags: trunk)
2006-04-02
11:57
Do not strip windows DLLs because this prevents them from being relocatable. Ticket #1474. (CVS 3160) (check-in: 94054cd997 user: drh tags: trunk)
2006-04-01
14:38
Remove mention of the REVERSE collating sequence from the documentation. (CVS 3159) (check-in: bd6876a1a9 user: drh tags: trunk)
2006-03-29
00:24
Properly record the names of triggers even if the name is quoted. Ticket #1737. (CVS 3158) (check-in: 4ba280ddd6 user: drh tags: trunk)
2006-03-28
23:57
Compile-time option to use only 32-bit integers. (CVS 3157) (check-in: aedadfc3e4 user: drh tags: trunk)
23:55
Join optimizer enhancements. (CVS 3156) (check-in: 0039888f91 user: drh tags: trunk)
00:24
Extra asserts to prove that certain reported errors in btree.c are not really errors. (CVS 3155) (check-in: c64542d0e8 user: drh tags: trunk)
2006-03-26
20:49
Work around a bug in GCC 4.0.2. (CVS 3154) (check-in: fe0920c792 user: drh tags: trunk)
01:21
SQLite now always chooses the column names for compound selects using the left-most select. This makes SQLite work like other SQL database, but it also is a change from historical behavior and may break some scripts. Ticket #1721. (CVS 3153) (check-in: 80cda9f7ce user: drh tags: trunk)
2006-03-25
15:52
Add code to report an error on a recursive trigger, but leave it commented out - turning it on will likely break a lot of code. (CVS 3152) (check-in: c83ec81d53 user: drh tags: trunk)
14:03
Add a note to the API documentation emphasizing that the filename argument to sqlite3_open() must be UTF-8. Tickets #1713, #1533. (CVS 3151) (check-in: b0111f43e4 user: drh tags: trunk)
2006-03-24
03:36
Make sure the rootpage values in the symbol table are correctly updated when dropping tables and indices in autocommit mode. Ticket #1728. (CVS 3150) (check-in: 1c582dd113 user: drh tags: trunk)
2006-03-23
23:33
Improvements to comments in build.c. (CVS 3149) (check-in: 986208a364 user: drh tags: trunk)
23:29
Get autovacuum and in-memory databases working together. Ticket #1727. (CVS 3148) (check-in: 21446df642 user: drh tags: trunk)
22:42
Use the pread()/pwrite() interface on Posix if compiled with -DUSE_PREAD=1. Note that on Linux this is slower and does not work for large files. (CVS 3147) (check-in: 5a24f61981 user: drh tags: trunk)
14:03
Improvements to comments. No changes to code. (CVS 3146) (check-in: 01e164da67 user: drh tags: trunk)
2006-03-22
22:10
Get the build to run with -DSQLITE_OMIT_SHARED_CACHE. (CVS 3145) (check-in: 15e3b183bc user: drh tags: trunk)
2006-03-19
13:00
Increase test coverage to above 98%. (CVS 3144) (check-in: 8ae6ccc715 user: drh tags: trunk)
2006-03-17
13:56
Miscellaneous code cleanup. (CVS 3143) (check-in: 8f60139f68 user: drh tags: trunk)
00:26
Code and comment cleanup for the sorting optimization of the previous check-in. (CVS 3142) (check-in: f3fbe72733 user: drh tags: trunk)
00:04
Much faster sorting when there are a large number of columns in the result set. (CVS 3141) (check-in: 6b3717aeb4 user: drh tags: trunk)
2006-03-16
16:19
Fix some compiler warnings. (CVS 3140) (check-in: 6c5175bc0f user: drh tags: trunk)
14:05
Make provisions in the code to support Provisions to support caching of serialized statements in the SSE extension. (CVS 3139) (check-in: 5048fae042 user: drh tags: trunk)
2006-03-15
22:44
Performance improvement in sqlite3VdbeAddOp(). (CVS 3138) (check-in: 6bcbe8fcad user: drh tags: trunk)
16:26
Fix CHECK constraints to use alternative conflict resolution. Ticket #1717. (CVS 3137) (check-in: c0d20fa97f user: drh tags: trunk)
2006-03-14
13:10
Set and clear the full_column_name flag using direct invocation rather than the execsql tcl command so that the select1 test works with the serialized statement extension. (CVS 3136) (check-in: 4d70013a6a user: drh tags: trunk)
12:59
Move the PENDING_PAGE to a very large value if disk I/O is omitted. (CVS 3135) (check-in: f07181739f user: drh tags: trunk)
11:08
Make sure sqlite3FindCollSeq() returns NULL after a malloc() failure. (CVS 3134) (check-in: 0e05355f3c user: drh tags: trunk)
2006-03-13
15:06
Get parserless builds working again. (CVS 3133) (check-in: 5ddc09a5e4 user: drh tags: trunk)
14:31
Fix documentation to show the correct return type from sqlite3_db_handle(). Ticket #1716. (CVS 3132) (check-in: f4fb047d0a user: drh tags: trunk)
14:28
Changes to get the Serialized Statement Extension working again. (CVS 3131) (check-in: 255fdbe6fa user: drh tags: trunk)
12:54
Additional changes due to Coverity scans. (CVS 3130) (check-in: a69f697d50 user: drh tags: trunk)
2006-03-11
12:04
Add an assert() to demonstrate that Klockworks is wrong about an aleged bug. (CVS 3129) (check-in: 0910022be3 user: drh tags: trunk)
2006-03-09
17:28
Correct names returned from a query against a view. Ticket #1709, #1688, #1711. (CVS 3128) (check-in: 36830fafa4 user: drh tags: trunk)
2006-03-06
23:30
Remove all reference to EXTERN from tclsqlite.c. Ticket #1687. (CVS 3127) (check-in: b4d3e0d528 user: drh tags: trunk)
20:55
Code changes resulting from Coverity analysis. http://scan.coverity.com/ Found 1 potential segfault in sqlite3_mprintf(). Also 2 failures to fclose() following a malloc() failure. And lots of cases where unnecessary conditionals could be removed from the code. (CVS 3126) (check-in: e510e6dd9d user: drh tags: trunk)
18:23
Pager performance enhancements. (CVS 3125) (check-in: 9c26570743 user: drh tags: trunk)
2006-03-03
21:39
Fix typo in documentation. Ticket #1578. (CVS 3124) (check-in: cb2e009f17 user: drh tags: trunk)
21:38
EXPLAIN sets the length of its text return values correctly. Ticket #1583. (CVS 3123) (check-in: 34b560e811 user: drh tags: trunk)
21:20
The table_info pragma shows column affinity as "" if there is no column affinity. Ticket #1570. (CVS 3122) (check-in: 5cae8d63d9 user: drh tags: trunk)
20:54
Make sure the default busy handler uses usleep() when available. Ticket #1684. (CVS 3121) (check-in: 43e5462608 user: drh tags: trunk)
20:37
The --enable-debug option on configure enables verbose explain and vdbe_trace. Ticket #1680. (CVS 3120) (check-in: ee2f706800 user: drh tags: trunk)
20:32
Fix tclsqlite.c to better support Mingw. Ticket #1687. (CVS 3119) (check-in: da0e843c05 user: drh tags: trunk)
19:12
Ignore leading spaces on text to numeric conversions. Ticket #1662. Fixes to test cases broken by the recent changes to round(). (CVS 3118) (check-in: cdca3383c5 user: drh tags: trunk)
2006-03-02
04:44
Allow WHERE clause terms on the left table of a LEFT OUTER JOIN to contain aggregate subqueries. Ticket #1697. (CVS 3117) (check-in: a286e54e26 user: drh tags: trunk)
03:02
Change the ROUND() function to return a REAL value instead of TEXT. Ticket #1699. (CVS 3116) (check-in: 9dbadfb211 user: drh tags: trunk)
2006-02-27
23:44
Reduce the size of a memory allocation in the windows driver to the minimum needed. Ticket #1690. (CVS 3115) (check-in: 1fe9ca078b user: drh tags: trunk)
23:19
Add a test to make sure parser stack overflow is detected and reported. (CVS 3114) (check-in: 201ab3b523 user: drh tags: trunk)
22:22
The parser now permits very large triggers - triggers with 10000 or more statements. (CVS 3113) (check-in: b4fa96d0e9 user: drh tags: trunk)
21:58
Detect stack overflow in the parser and report an error. (CVS 3112) (check-in: bd2c38f467 user: drh tags: trunk)
2006-02-24
03:09
Additional compiler warnings suppressed. (CVS 3111) (check-in: a359b1817e user: drh tags: trunk)
02:53
Remove unused parameters on internal APIs. Suppress warnings from CodeWarrior. (CVS 3110) (check-in: 4b22e4b847 user: drh tags: trunk)
2006-02-23
21:51
Make sure the random() function always returns a value that can be passed to abs(). (CVS 3109) (check-in: 5d2e7ea019 user: drh tags: trunk)
21:43
Detect integer overflow in the abs() function. The random() function now provides 64 bits of randomness instead of just 32. Fix bugs in testing logic of test4.c. (CVS 3108) (check-in: 942c509595 user: drh tags: trunk)
2006-02-22
03:08
New compile-time option SQLITE_SECURE_DELETE takes care to overwrite deleted data with zeros. (CVS 3107) (check-in: 614fac9068 user: drh tags: trunk)
2006-02-18
16:36
Always generate code, even if it is a no-op, for CREATE and DROP statements that use the IF EXISTS or IF NOT EXISTS clause. (CVS 3106) (check-in: f8173e6aea user: drh tags: trunk)
2006-02-17
15:01
Fix bug preventing compliation without MEMDEBUG when ENABLE_MEMORY_MANAGE is defined. (CVS 3105) (check-in: 76912b33b1 user: danielk1977 tags: trunk)
12:25
Ensure temp db is open before executing a pragma like "temp.cachesize = xxx". Fix for #1682. (CVS 3104) (check-in: 1e4644b236 user: danielk1977 tags: trunk)
2006-02-16
18:16
Or the SQLITE_UTF16_ALIGNED with the encoding field in sqlite3_create_collation and UTF16 strings will always be aligned on an even byte boundary when passed into the comparison function. (CVS 3103) (check-in: 7a1701e8c5 user: drh tags: trunk)
00:32
Fix more typos in the file format document. (CVS 3102) (check-in: d7495be806 user: drh tags: trunk)
00:31
Fix a typo in the file format document. (CVS 3101) (check-in: fac0d202e1 user: drh tags: trunk)
2006-02-15
21:19
Get the build working again. Fix for check-in (3093) (CVS 3100) (check-in: 4e6b74b290 user: drh tags: trunk)
17:30
Mention the NOT unary operator in the documentation. (CVS 3099) (check-in: 3eca2d9868 user: drh tags: trunk)
02:00
Update the configure script to use AC_HELP_STRING. (CVS 3098) (check-in: 92be79debf user: drh tags: trunk)
2006-02-14
14:46
test_async.c: Writer-thread should not relinquish mutex when writing a file for which only one file handle is open (fixes bug introduced in (3093)). (CVS 3097) (check-in: f0c45b7eab user: danielk1977 tags: trunk)
14:02
Account for a malloc failure in the asynchronous writer thread in test_async.c (CVS 3096) (check-in: 2f2a8a69cb user: danielk1977 tags: trunk)
13:48
Fix bug in test_async.c version of OsFileSize(). (CVS 3095) (check-in: 239e53b4f2 user: danielk1977 tags: trunk)
13:25
Add simple io error tests for test_async.c. (CVS 3094) (check-in: 528dfb7180 user: danielk1977 tags: trunk)
10:48
Changes so that test_async.c works with memory management turned on. (CVS 3093) (check-in: f4150c29df user: danielk1977 tags: trunk)
2006-02-13
18:42
Disable the /./ and /../ collapser logic in sqlite3OsFullPathname under Unix. (CVS 3092) (check-in: 111a426b3e user: drh tags: trunk)
18:35
Fix a bug in the handling of sqlite3OsTruncate by the test_async.c demo. Added trans.test to the suite of tests for asychronous I/O. (CVS 3091) (check-in: 5b16c43542 user: drh tags: trunk)
17:03
Add in-process file locking to test_async.c. The unix implementation of sqlite3OsFullPathname() now attempts to remove /./ and /../ elements from the path. (CVS 3090) (check-in: 42379c6230 user: drh tags: trunk)
15:29
Fix a deadlock problem on the sqlite3async_wait test interface. Improvements to tracing in test_async.c. (CVS 3089) (check-in: 58c6d50138 user: drh tags: trunk)
14:49
Improvements to the TRACE macro in test_async.c. (CVS 3088) (check-in: 4c6dfec54f user: drh tags: trunk)
13:50
I/O errors shut down all processing on the same file in test_async.c. (CVS 3087) (check-in: 4366e71217 user: drh tags: trunk)
13:30
Fix overlapping read logic in the test_async.c demonstration. (CVS 3086) (check-in: ad25127b06 user: drh tags: trunk)
13:23
Fix a memory leak in test_async.c. (CVS 3085) (check-in: 904ffa4dfb user: drh tags: trunk)
2006-02-11
17:34
I give up. SUM() now throws an error on integer overflow. Those of us who think this is goofy can use TOTAL() instead. Tickets #1664, #1669, #1670, #1674. (CVS 3084) (check-in: 1c3e6002cd user: drh tags: trunk)
02:12
Version 3.3.4 (CVS 3083) (check-in: 033aaab67f user: drh tags: trunk)
02:03
Fix typo in os_unix.c. (CVS 3082) (check-in: c0e987bcfa user: drh tags: trunk)
01:56
Prepare for the release of 3.3.4. (CVS 3081) (check-in: 951f3322c0 user: drh tags: trunk)
01:25
Add support and documentation for the fullfsync pragma. Also include some other unrelated documentation updates. (CVS 3080) (check-in: f2069d0bf3 user: drh tags: trunk)
2006-02-10
18:08
Make sure pointers are always aligned to 8-bytes when creating internal Index structures. (CVS 3079) (check-in: d20a33ac2a user: drh tags: trunk)
14:02
Clean up pointer misuse in vdbe.c. (CVS 3078) (check-in: 9e82b92749 user: drh tags: trunk)
13:33
Minor test file modifications for builds compiled with OMIT options. (CVS 3077) (check-in: c468aa349d user: danielk1977 tags: trunk)
13:14
Add documentation for new APIs. (CVS 3076) (check-in: 84c2a5c4d7 user: danielk1977 tags: trunk)
13:11
More comments on the unix locking code. Ticket #1672. (CVS 3075) (check-in: 4b6f568884 user: drh tags: trunk)
12:48
Add trivial tests to increase coverage of sqlite3_table_column_metadata(). (CVS 3074) (check-in: 424ce5ecd0 user: danielk1977 tags: trunk)
08:24
Work around the case where the pending-byte page is also a a pointer-map page. Ticket #1667. (CVS 3073) (check-in: 5ea87fbbe0 user: danielk1977 tags: trunk)
07:07
Fix the origin APIs so that they correctly handle views and subqueries that cannot be flattened. (CVS 3072) (check-in: 5e8611e13d user: danielk1977 tags: trunk)
04:33
Fix deadlock problem in the unix mutex. Ticket #1672. (CVS 3071) (check-in: a6c30be214 user: drh tags: trunk)
03:06
Add a symbol P3_TRANSIENT to pass to VdbeSetColName() to make it copy the string parameter up to the first 0 byte. (CVS 3070) (check-in: 6ebb8f9bb2 user: danielk1977 tags: trunk)
02:27
Add the column_origin_name() etc. APIs. (CVS 3069) (check-in: 82f502cdc1 user: danielk1977 tags: trunk)
2006-02-09
23:05
Ignore errors when when calling fsync() on a directory. Ticket #1657. (CVS 3068) (check-in: d54d3b82c4 user: drh tags: trunk)
22:24
Allow '@' to introduce host parameter names for compatibility with MS SQL Server. Ticket #1671. (CVS 3067) (check-in: 0738ef818d user: drh tags: trunk)
22:13
SUM never gives an error. An integer result is returned for exact results and a floating point result is returned for approximate results. Tickets #1664, #1669, and #1670. (CVS 3066) (check-in: 9e04f8fdf1 user: drh tags: trunk)
18:35
Deprecate the sqlite3_aggregate_count() API. Make sure all aggregate counters are 64 bits. Remove unused StdDev structure from func.c. Ticket #1669. (CVS 3065) (check-in: 44bd7ba432 user: drh tags: trunk)
17:47
Integer overflow in SUM causes an exception. Ticket #1669. (CVS 3064) (check-in: c72b946198 user: drh tags: trunk)
16:52
Back out check-in (3058) - it breaks too much application code. (CVS 3063) (check-in: 731f1e3245 user: drh tags: trunk)
13:43
Add the sqlite3_table_column_meta() API. (CVS 3062) (check-in: 1ac72f68c0 user: danielk1977 tags: trunk)
13:38
Avoid overflowing the 48-bit mantissa of a floating point number when summing large integers in the SUM() function. Ticket #1664. (CVS 3061) (check-in: a9169e879d user: drh tags: trunk)
02:56
Correctly handle COLLATE clauses in tables being modified by an ALTER TABLE ADD COLUMN command. Ticket #1665. (CVS 3060) (check-in: baef2f66be user: drh tags: trunk)
02:41
Use 64-bit integers in sqlite3_analyzer. Ticket #1666. (CVS 3059) (check-in: 8b3068aca7 user: drh tags: trunk)
2006-02-06
21:34
Add "autoinc" and "collseq" columns to the table_info() pragma. (CVS 3058) (check-in: 7940a590ab user: drh tags: trunk)
21:22
Keep correct track of the amount of outstanding memory even when the system memory allocator returns a different number of bytes than requested. Ticket #1660. (CVS 3057) (check-in: 6f5eb74fd9 user: drh tags: trunk)
13:59
Update the per-thread bytes allocated counter with the number of bytes actually allocated, not the number requested. Ticket #1660. (CVS 3056) (check-in: 3f0a0ff197 user: danielk1977 tags: trunk)
2006-02-05
18:55
Detect circularly defined views and issue an error message. Ticket #1658. (CVS 3055) (check-in: f5341529d0 user: drh tags: trunk)
2006-02-01
14:39
Typecast to silence (incorrect) compiler warning. (CVS 3054) (check-in: 3a04fc45cc user: drh tags: trunk)
13:50
Always register BINARY collating sequences for UTF-16BE and UTF-16LE both. Formerly we were only registering the native byte order by default. Ticket #1654. Note: There may still be problems with collating sequence synthesis. (CVS 3053) (check-in: 3861377bd9 user: drh tags: trunk)
02:45
In joins of the form: "A, B left C" make sure that the reordering optimization does not put table A after table C. Ticket #1652. (CVS 3052) (check-in: 248b9be93d user: drh tags: trunk)
01:55
Added support for the -enable-thread-override-lock option on the configure script. (CVS 3051) (check-in: 82f558bd11 user: drh tags: trunk)
2006-01-31
23:03
Add the SQLITE_THREADS_OVERRIDE_LOCKS compile-time option that disables the run-time test to see if threads can override each others locks on unix. (CVS 3050) (check-in: e83a19e8cb user: drh tags: trunk)
20:49
Patches to support linux on embedded platforms. (CVS 3049) (check-in: a088eb6d6e user: drh tags: trunk)
19:31
Fix some pointless warnings from overly-pedantic compilers. (CVS 3048) (check-in: b922c8e45f user: drh tags: trunk)
19:07
3rd parameter to sqlite3_prepare() should be -1 if the string length is unknown. Passing in zero causes a zero-length SQL statement to be prepared, which is a no-op. Ticket #1651. This bug introduced by the fix for ticket #1650. (CVS 3047) (check-in: 1e68ac590d user: drh tags: trunk)
16:21
Version 3.3.3 (CVS 3046) (check-in: 10a3f56546 user: drh tags: trunk)
16:20
Put in the correct release date for version 3.3.3. (CVS 3045) (check-in: 1133a84039 user: drh tags: trunk)
15:19
Fix an problem in the test scripts that was show false failures under windows. (CVS 3044) (check-in: 0cf4e3c6e7 user: drh tags: trunk)
14:28
Authorization callback on the ALTER TABLE ADD COLUMN command. Ticket #1479. (CVS 3043) (check-in: 461f586973 user: drh tags: trunk)
2006-01-30
23:04
Remove support for the non-standard ON CONFLICT clause on CREATE INDEX. Ticket #1486. The ON CONFLICT clause has never worked on CREATE INDEX so removing it should not break anything. (CVS 3042) (check-in: 669bcf5ab6 user: drh tags: trunk)
22:48
Memory DB works with autovacuum. (CVS 3041) (check-in: 34dff874a2 user: drh tags: trunk)
22:35
Make sure the 3rd parameter to sqlite3_prepare() is honored. Ticket #1650. (CVS 3040) (check-in: 9d53cc880f user: drh tags: trunk)
22:12
Clarify that the nBytes parameter to sqlite3_prepare is always the number of bytes and never the number of characters. Ticket #1646. (CVS 3039) (check-in: 8efc8c5710 user: drh tags: trunk)
16:20
Documentation updates in preparation for the release of 3.3.3 stable. (CVS 3038) (check-in: 6537b5713a user: drh tags: trunk)
15:41
Add a couple of extra test cases for #1644. (CVS 3037) (check-in: e10d229ff2 user: danielk1977 tags: trunk)
15:34
Expire all prepared statements whenever there is a change to the schema of the TEMP database. Ticket #1644. (CVS 3036) (check-in: 4cd4efaf5e user: drh tags: trunk)
14:36
Fix bug with CHECK constraints contain an IN operator. Ticket #1645. (CVS 3035) (check-in: 944df310ce user: drh tags: trunk)
2006-01-27
06:32
Fix a couple of (harmless) intel compiler warnings. (CVS 3034) (check-in: 2e23231f0c user: danielk1977 tags: trunk)
2006-01-26
14:29
Enhanced comments on the opcode.h building script. (CVS 3033) (check-in: 7ccebf68eb user: drh tags: trunk)
13:25
Fix an error in the collation sequence examples in datatype3.html. Ticket #1641. (CVS 3032) (check-in: 1658ea53c9 user: danielk1977 tags: trunk)
13:11
Add omittest.tcl script to automate testing compile-time OMIT symbols. (CVS 3031) (check-in: 540d28a7d3 user: danielk1977 tags: trunk)
10:35
Handle a malloc() failure in resizeOpArray(). (CVS 3030) (check-in: 5cecb4527b user: danielk1977 tags: trunk)
2006-01-25
22:50
Minor comment changes and code optimizations. (CVS 3029) (check-in: 9e55dcd1a5 user: drh tags: trunk)
15:55
Rename files using for testing only so that their name begins with "test". (CVS 3028) (check-in: e4e6a205e4 user: drh tags: trunk)
2006-01-24
16:37
Handle errors in saving cursor positions during a rollback by aborting all active statements. (CVS 3027) (check-in: 5df9f022bf user: danielk1977 tags: trunk)
14:21
Save the position of any open cursors before a rollback. (CVS 3026) (check-in: 32d45bcf74 user: danielk1977 tags: trunk)
13:09
Return code was being dropped because of overridden variable in OP_IsUnique. Fix this and the test logic problem that hid it. (CVS 3025) (check-in: c30705a00d user: danielk1977 tags: trunk)
12:09
Rename some variables to avoid hiding others. Also add "static" to two function signatures that were missing it. (CVS 3024) (check-in: d86f18a427 user: danielk1977 tags: trunk)
11:30
Coverage improvements for main.c. (CVS 3023) (check-in: 50964ef9b0 user: danielk1977 tags: trunk)
10:58
General test coverage improvements. (CVS 3022) (check-in: 153940af5a user: danielk1977 tags: trunk)
02:19
Sqlite3_analyzer reports an error if it runs into trouble. (CVS 3021) (check-in: 388b926228 user: drh tags: trunk)
02:00
Update the publish scripts to correctly build the TCL DLL for windows. (CVS 3020) (check-in: 5254874a96 user: drh tags: trunk)
00:40
Version 3.3.2 (beta) (CVS 3019) (check-in: 1fdde6c506 user: drh tags: trunk)
00:15
More test script changes to get it to run without -DSQLITE_MEMDEBUG. (CVS 3018) (check-in: 0ede5e496b user: drh tags: trunk)
2006-01-23
23:53
Change the release date for version 3.3.2 to January 24. (CVS 3017) (check-in: 7a2617f6a5 user: drh tags: trunk)
23:49
Disable shared-cache OOM tests if not compiled with -DSQLITE_MEMDEBUG. (CVS 3016) (check-in: 2d896667e4 user: drh tags: trunk)
22:15
Bug fix in the WinCE bindings. (CVS 3015) (check-in: c57922838a user: drh tags: trunk)
21:44
More progress toward getting SQLITE_OMIT_FLOATING_POINT to pass tests. Ticket #1621. (CVS 3014) (check-in: b52674e564 user: drh tags: trunk)
21:38
Fix the shared pager tests so that they work under windows. (CVS 3013) (check-in: 4a1a9f3e9d user: drh tags: trunk)
21:37
Progress toward getting SQLITE_OMIT_FLOATING_POINT to pass all tests. Ticket #1621 (CVS 3012) (check-in: c4c90965c9 user: drh tags: trunk)
18:42
Bug fix in cases where a compound select has an ORDER BY clause with multiple terms. (CVS 3011) (check-in: 4f56949bd6 user: drh tags: trunk)
18:14
Add documentation on the IF NOT EXISTS clause to CREATE statements. Ticket #1608. (CVS 3010) (check-in: d4e4ba132a user: drh tags: trunk)
18:06
Makefile changes so that builds work on Solaris. Ticket #1604. (CVS 3009) (check-in: 7addf70445 user: drh tags: trunk)
17:43
Bug fix in the ROWID generation logic of the VDBE. I think this is a benign bug - it never causes a real fault. But I am not certain. (CVS 3008) (check-in: dfe2823868 user: drh tags: trunk)
16:25
Get I/O error tests working on windows. (CVS 3007) (check-in: 2ef8b85db7 user: drh tags: trunk)
16:24
Fix uninitialized variable in os_unix.c. (CVS 3006) (check-in: 892e644d20 user: drh tags: trunk)
16:21
Add "#ifndef NDEBUG" around sqlite3pager_iswriteable() (only used in assert() expressions). Also set the internal page number of a page to zero if it fails to initialise. (CVS 3005) (check-in: 77969c671c user: danielk1977 tags: trunk)
15:59
Changes to the enc2.test script so that it will run on windows. (CVS 3004) (check-in: 4c1818eceb user: drh tags: trunk)
15:54
Cut over the patches to support WinCE. Ticket #1600. (CVS 3003) (check-in: 436287c2bf user: drh tags: trunk)
15:39
Fix a bug in pager.c that was overwriting freed memory. Comment changes in util.c. (CVS 3002) (check-in: 8c7e18c3f2 user: drh tags: trunk)
15:25
Further coverage improvements for pager.c and another IO error bug fix. (CVS 3001) (check-in: a9ec5ee472 user: danielk1977 tags: trunk)
14:05
Fix os_common.h so that the code builds without -DSQLITE_MEMDEBUG. (CVS 3000) (check-in: 06d6540026 user: drh tags: trunk)
13:47
Do not automatically rollback at the btree or pager level if a commit fails. (CVS 2999) (check-in: 0f6329ef1f user: danielk1977 tags: trunk)
13:28
Fix to sqlite3AllocMalloc() when it is a no-op macro. (CVS 2998) (check-in: 8caa9f95b8 user: drh tags: trunk)
13:22
Do not name variables "operator" because some compilers do not realize that "operator" is not a reserved word in ANSI-C. Ticket #1625. (CVS 2997) (check-in: 1f42a338e2 user: drh tags: trunk)
13:14
Work around buggy malloc() implementations that cause problems on malloc(0). Ticket #1572. (CVS 2996) (check-in: ada5490f12 user: drh tags: trunk)
13:09
Improve coverage of pager.c and fix an IO error handling bug found in the process. (CVS 2995) (check-in: 6ec8e6b785 user: danielk1977 tags: trunk)
13:00
Fix additional compiler warnings. Tickets #1615, #1616, #1627 (CVS 2994) (check-in: 6385628edd user: drh tags: trunk)
07:52
Fixes for OMIT_UTF16 and OMIT_COMPOUND (CVS 2993) (check-in: f58bbdc0ac user: danielk1977 tags: trunk)
05:50
Improve coverage of expr.c and btree.c slightly. (CVS 2992) (check-in: cc2e8e87cf user: danielk1977 tags: trunk)
00:04
Remove vestiges of the older TSD code for handling OOM exceptions. Prepare for the release of 3.3.2. (CVS 2991) (check-in: a65e85f0e0 user: drh tags: trunk)
2006-01-22
21:52
Performance optimization in btree.c. (CVS 2990) (check-in: 3e1e6affe2 user: drh tags: trunk)
00:42
Code size reductions in select.c. (CVS 2989) (check-in: 3c2eee5e1f user: drh tags: trunk)
00:14
Tests for the subquery flattening fix of check-in (2987). (CVS 2988) (check-in: 72a067f0df user: drh tags: trunk)
2006-01-21
22:19
Do not flatten subqueries in a join where the subquery includes a LIMIT. Ticket #1634. This is just an initial fix. Many test cases need to be added prior to closing the ticket. (CVS 2987) (check-in: af18c0f431 user: drh tags: trunk)
19:57
Fix a bug in os.h. How did this slip by before now? (CVS 2986) (check-in: 29725de474 user: drh tags: trunk)
12:08
Fix more problems with malloc() and IO failures. (CVS 2985) (check-in: 29281dea81 user: danielk1977 tags: trunk)
2006-01-20
18:10
More compiler warnings fixed - or in some cases comments are added to explain that the compiler is wrong. (CVS 2984) (check-in: 507653a98c user: drh tags: trunk)
17:56
Fix some compiler warnings. (CVS 2983) (check-in: b7bdac0afd user: drh tags: trunk)
16:32
Fix another couple of IO or malloc() failure problems in a shared-cache context. (CVS 2982) (check-in: 7e34163a65 user: danielk1977 tags: trunk)
15:45
Fix and test the processing of sqlite3_result_error() withing aggregate functions. Allow errors to come from the step function (a new capability). Ticket #1632. (CVS 2981) (check-in: fd4a6bb1ac user: drh tags: trunk)
10:55
Handle some of the IO error conditions that may occur in a shared-cache context. (CVS 2980) (check-in: 97491d4eb5 user: danielk1977 tags: trunk)
2006-01-19
17:42
Make sure sqlite3_thread_cleanup() does not try to allocate memory. (CVS 2979) (check-in: 0208e4221a user: drh tags: trunk)
11:28
Fix the #ifdef around sqlite3OutstandingMallocs() in test1.c. (CVS 2978) (check-in: 218c6184c8 user: drh tags: trunk)
08:43
Account for read-uncommitted cursors in sqlite3BtreeClearTable(). (CVS 2977) (check-in: 9507983268 user: danielk1977 tags: trunk)
07:18
Fix a bug with internally saving cursors open on index tables. Also increase coverage of util.c and btree.c. (CVS 2976) (check-in: a628d84d31 user: danielk1977 tags: trunk)
2006-01-18
18:33
Omit thread2.test if memory-management is enabled at compile time. (CVS 2975) (check-in: df91f685ca user: danielk1977 tags: trunk)
18:22
Include the ThreadData structure in internal malloc() testing. Also fixes for revealed bugs. (CVS 2974) (check-in: c7b9d50d0a user: danielk1977 tags: trunk)
17:25
Modify the sqlite3OsInMutex os-layer interface to take a single parameter to distinguish between mutexes held by the current thread and mutexes held by any thread. Part of the fix for ticket #1630. (CVS 2973) (check-in: e1ad9df1cf user: drh tags: trunk)
16:51
Use a global variable protected by a mutex instead of thread-specific-data to record malloc() failures. (CVS 2972) (check-in: ac090f2ab3 user: danielk1977 tags: trunk)
15:39
Fix compilation error when neither MEMDEBUG or ENABLE_MEMORY_MANAGEMENT is enabled. (CVS 2971) (check-in: 4de5c52920 user: danielk1977 tags: trunk)
15:25
Change sqlite3MallocClearFailed() calls to sqlite3ApiExit(), a better API. (CVS 2970) (check-in: e0b022e5b2 user: danielk1977 tags: trunk)
14:20
Recursive mutexes in os_win.c. (CVS 2969) (check-in: dd3e07cae4 user: drh tags: trunk)
14:06
Convert the unix driver to use a recusive mutex. Similar changes to the windows driver are pending. (CVS 2968) (check-in: 8830bbbac8 user: drh tags: trunk)
05:51
Handle malloc() failures that occur in open16() and errmsg16(). (CVS 2967) (check-in: 86eab9e53d user: danielk1977 tags: trunk)
04:26
Handle malloc() failures that occur inside create_collation() calls. (CVS 2966) (check-in: 95c5903f36 user: danielk1977 tags: trunk)
2006-01-17
16:10
Arrange for ThreadData to be automatically deallocated even if SQLITE_MEMDEBUG is defined. Fix for #1623. (CVS 2965) (check-in: 9e2e40845d user: danielk1977 tags: trunk)
15:36
Fix compilation errors when building SQLITE_DEBUG defined but without SQLITE_MEMDEBUG. (CVS 2964) (check-in: 62dd242778 user: danielk1977 tags: trunk)
13:21
Various fixes that allow the malloc() failure tests to pass again. (CVS 2963) (check-in: 0505405fb9 user: danielk1977 tags: trunk)
09:35
Test suite fixes for builds that define OMIT symbols. (CVS 2962) (check-in: 3a54a33dcb user: danielk1977 tags: trunk)
2006-01-16
16:24
Test file fixes for libaries compiled with various SQLITE_OMIT_ macros. (CVS 2961) (check-in: c058f483a5 user: danielk1977 tags: trunk)
15:32
Fix problems compiling with memory-management enabled. Ticket #1619. (CVS 2960) (check-in: 36b0325965 user: danielk1977 tags: trunk)
15:14
Fix some of the issues raised in #1615. (CVS 2959) (check-in: 0d5d83bcbd user: danielk1977 tags: trunk)
14:29
Correctly handle malloc() failure in GenericMalloc() and GenericRealloc(). Fix for #1617. (CVS 2958) (check-in: 9dfc4a880b user: danielk1977 tags: trunk)
12:46
Run the tests in shared.test a second time using an autovacuum database. (CVS 2957) (check-in: 9927522923 user: danielk1977 tags: trunk)
11:29
Clarify error handling in pager code. No functional changes. (CVS 2956) (check-in: 7b48836214 user: danielk1977 tags: trunk)
02:39
Version 3.3.1 (alpha) (CVS 2953) (check-in: bd7c569993 user: drh tags: trunk)
02:37
Fix the script that cross-compiles the windows DLL so that it works correctly with the latest interface. Ticket #1614. Do not strip the windows DLL. Ticket #1474. (CVS 2954) (check-in: 6591d365d4 user: drh tags: trunk)
00:05
Version 3.3.1 (withdrawn - see ticket #1614) (CVS 2955) (check-in: ed0f1d9086 user: drh tags: trunk)
2006-01-15
20:28
Code size reductions in the pager. (CVS 2952) (check-in: c7da3aa9bd user: drh tags: trunk)
18:29
Prepare for the 3.3.1 alpha release. (CVS 2951) (check-in: 3e32bcf0b8 user: drh tags: trunk)
17:27
Clean up comments in os_unix.c. (CVS 2950) (check-in: 2170e803ad user: drh tags: trunk)
14:11
Correctly set the length of the string in bytes when transforming an OP_String8 to OP_String in a utf-16 vdbe program. (CVS 2949) (check-in: 69f996e0fa user: danielk1977 tags: trunk)
13:13
Fix a buffer-overrun that could occur after a malloc() failure. (CVS 2948) (check-in: 662522218f user: danielk1977 tags: trunk)
11:39
Rollback any open write-transaction when a shared-cache connection is closed. (CVS 2947) (check-in: 1944d92b53 user: danielk1977 tags: trunk)
02:43
Closing a file from the wrong thread is harmless on most systems. (See ticket #1611) But on systems like RedHat9 with broken fcntl() locks, it leaks file descriptors. That is better than the alternative of prematurely breaking locks and causing database corruption. Nevertheless, it would be good if we could figure out a way to report errors when closing a file from the wrong thread. (CVS 2946) (check-in: ad8f12cad1 user: drh tags: trunk)
02:30
Add tests and fix bugs in the new cross-thread lock resolution code. When an unlock fails, do not leak file descriptors (ticket #1611). But we really ought to report SQLITE_MISUSE or some other error instead of just returning SQLITE_OK. (CVS 2945) (check-in: f68e05cb2b user: drh tags: trunk)
00:13
Documentation updates. Fix to date.c. But most importantly: database connections are now allowed to change threads as long as they are not holding a lock. (CVS 2944) (check-in: 03c422ecb5 user: drh tags: trunk)
2006-01-14
08:02
Fixes for OMIT_SUBQUERY builds: Disable where clause OR->IN optimization. Include EXISTS keyword (for new CREATE TABLE syntax). Test file fixes. (CVS 2943) (check-in: 8e79a0c24a user: danielk1977 tags: trunk)
2006-01-13
18:06
Account for multi-byte characters in ALTER TABLE code. Fix for #1609. (CVS 2942) (check-in: d634f8b28a user: danielk1977 tags: trunk)
17:12
Tweaks to make OP_Column run a fraction faster. (CVS 2941) (check-in: 2d74cc22de user: danielk1977 tags: trunk)
15:58
Avoid parsing an entire record header when it is not required. (CVS 2940) (check-in: 0de729d914 user: danielk1977 tags: trunk)
13:55
Make sure the authenticator does not try to authenticate columns in subqueries. Ticket #1607. (CVS 2939) (check-in: 55b7dfaf4d user: drh tags: trunk)
13:01
Fix a vdbe stack overflow problem that could occur with a correlated sub-query. (CVS 2938) (check-in: caa7da807d user: danielk1977 tags: trunk)
11:22
Remove a few duplicate variable initializations in sqlite3BtreeCursor(). (CVS 2937) (check-in: 5e46ec01ff user: danielk1977 tags: trunk)
06:33
Minor modification to restoreOrClearCursorPosition() to improve efficiency. Do not allocate the extra 8-bytes if memory-management is not enabled. (CVS 2936) (check-in: dd70595542 user: danielk1977 tags: trunk)
04:31
Additional speed enhancements in btree.c. (CVS 2935) (check-in: 48b550ce2e user: drh tags: trunk)
02:35
Small performance improvement on sqlite3BtreeMoveto. (CVS 2934) (check-in: c780152f3c user: drh tags: trunk)
01:48
Add a high-speed version of sqlite3GetVarint32 to vdbe.c for a 3% performance gain. (CVS 2933) (check-in: a64e8251a6 user: drh tags: trunk)
01:25
Add tests to make sure "PRAGMA table_info" works using sqlite3_prepare16. Ticket #1606. (CVS 2932) (check-in: ace8ba8177 user: drh tags: trunk)
01:17
Terminate the va_start in the getDigits function of date.c. (CVS 2931) (check-in: 94eac140f2 user: drh tags: trunk)
2006-01-12
22:17
Add support for the TOTAL() aggregate function - works like SUM() except that it returns 0 instead of NULL when presented with an empty list. (CVS 2930) (check-in: a7f528ff34 user: drh tags: trunk)
20:28
Performance boost in sqlite3VdbeRecordCompare. (CVS 2929) (check-in: 14c423075b user: drh tags: trunk)
19:42
Automatically cast BLOBs to strings prior to handing them over to functions like LIKE that want strings. Ticket #1605. (CVS 2928) (check-in: 730ddb0b74 user: drh tags: trunk)
17:20
Cache the encoding value inside VdbeExec. (CVS 2927) (check-in: 6d2a816ede user: drh tags: trunk)
15:01
Additional performance improvements in sqlite3BtreeMoveto. (CVS 2926) (check-in: 52b3be96b6 user: drh tags: trunk)
14:30
BtreeMoveto optimization goes about 1.5% faster. (CVS 2925) (check-in: 4e4a650484 user: drh tags: trunk)
12:43
About a 2.5% speed improvement by reducing the number of sqlite3ThreadData calls in the parser. (CVS 2924) (check-in: 0caa199477 user: drh tags: trunk)
02:50
Mark the end of the return codes in the sqlite3.h.in template file. (CVS 2923) (check-in: 19b848d99f user: drh tags: trunk)
01:56
Add the legacy_file_format pragma. (CVS 2922) (check-in: b2dbd1a5b7 user: drh tags: trunk)
01:25
Improve performance by about 10% by avoiding excess calls to get the thread-specific data. (CVS 2921) (check-in: a8c74febec user: drh tags: trunk)
2006-01-11
23:40
Testing of the automatic TSD deallocation logic. The sqlite3_thread_cleanup() API is documented. This should close ticket #1601. (CVS 2920) (check-in: fb518b0ce4 user: drh tags: trunk)
21:41
Automatically deallocate thread-specific data when it is no longer being used. Ticket #1601. Also implemented the suggestion of ticket #1603. Memory management is now off by default at compile-time. The sqlite3_enable_memory_management() API has been removed. (CVS 2919) (check-in: 5d9c6aa964 user: drh tags: trunk)
16:10
Ensure the database attached as part of VACUUM can be detached successfully after a malloc() failure. (CVS 2918) (check-in: 8c26893c65 user: danielk1977 tags: trunk)
14:09
Fix bugs caused by assuming that shared-schemas are initialized. (CVS 2917) (check-in: 3970eb875d user: danielk1977 tags: trunk)
05:49
Fix typo noted by #1599. (CVS 2916) (check-in: 1b368c7c5c user: danielk1977 tags: trunk)
01:28
Version 3.3.0 (alpha) (CVS 2915) (check-in: 59a7a56c1b user: drh tags: trunk)
01:28
Add new APIs to the sqlite3.def file. (CVS 2914) (check-in: 9258931a80 user: drh tags: trunk)
01:08
Prepare for the release of version 3.3.0. (CVS 2913) (check-in: 302993ae16 user: drh tags: trunk)
2006-01-10
23:00
Fix a typo in the FAQ. (CVS 2912) (check-in: 5be03a361d user: drh tags: trunk)
20:36
Fix bug in the server1 test script. (CVS 2911) (check-in: 25db22b671 user: drh tags: trunk)
20:32
Combine multiple small calls to sqlite3OsWrite into one larger call. (CVS 2910) (check-in: e6e6750c24 user: drh tags: trunk)
20:01
Improved comments on the server and asynchronous I/O demo programs. (CVS 2909) (check-in: c0f47ccbc9 user: drh tags: trunk)
19:45
More pedantic changes to comments in VDBE. No changes to code. Ticket #1596. (CVS 2908) (check-in: 1cf6855430 user: drh tags: trunk)
18:44
Fix opcode name in comments. No changes to code. (CVS 2907) (check-in: 511ac9db12 user: drh tags: trunk)
18:27
Initialize variables in malloc3.test (was causing error in all.test). (CVS 2906) (check-in: 16a8172a61 user: danielk1977 tags: trunk)
18:08
Typos in new documentation. (CVS 2905) (check-in: b5bedb2a9f user: danielk1977 tags: trunk)
17:58
Store collation sequence names instead of pointers in sharable schema data structures. (CVS 2904) (check-in: 0f0213be4d user: danielk1977 tags: trunk)
15:18
Updates to the C-API documentation. Change the parameter type of sqlite3_soft_heap_limit to integer. (CVS 2903) (check-in: bdd35e9fbb user: drh tags: trunk)
13:58
Move the implementation of sqlite3_enable_shared_cache from btree.c to main.c. (CVS 2902) (check-in: 4f2ec95283 user: drh tags: trunk)
12:31
Fix a problem with shared-schemas and temp triggers. (CVS 2901) (check-in: 9c18a1ce1e user: danielk1977 tags: trunk)
07:14
If compiled with memory-debugging, write garbage to memory when it is freed. Fix for #1594. (CVS 2900) (check-in: bd02a6faef user: danielk1977 tags: trunk)
02:30
Enable shared cache on the server demonstration. (CVS 2899) (check-in: 8719f880a3 user: drh tags: trunk)
2006-01-09
23:50
Add the first simple tests of server mode. Get the Makefile generated from the configure script working again. (CVS 2898) (check-in: 66f84068f3 user: drh tags: trunk)
23:40
Added database server example code (untested). Fixed serveral bugs including the autovacuum compile problem described by ticket #1593. (CVS 2897) (check-in: ec332d8822 user: drh tags: trunk)
17:29
Reinstate the asynchronous I/O demonstration code and tests with minor changes. (CVS 2896) (check-in: eeebc640aa user: drh tags: trunk)
16:12
Fix some errors to do with attached databases and text encodings in shared-cache mode. (CVS 2895) (check-in: 3e75d3d5ef user: danielk1977 tags: trunk)
09:59
Add a runtime interface to enable memory-management features. (CVS 2894) (check-in: 44f8e3139a user: danielk1977 tags: trunk)
06:29
Rename DbSchema to "Schema" and SqliteTsd to "ThreadData". (CVS 2893) (check-in: 82b81f69c7 user: danielk1977 tags: trunk)
05:36
Minor changes so that OMIT_SHARED_CACHE works. (CVS 2892) (check-in: cc963f8cfc user: danielk1977 tags: trunk)
00:18
Fix timezone parsing in the date/time functions. Ticket #1587. (CVS 2891) (check-in: 94c87b7016 user: drh tags: trunk)
00:09
Remove benign reference to an uninitialized variable. Ticket #1590. (CVS 2890) (check-in: 32998fe8ed user: drh tags: trunk)
2006-01-08
18:10
Get LIMIT and OFFSET working again for negative limits and offsets. Ticket #1586. (CVS 2889) (check-in: b2ac0be07e user: drh tags: trunk)
05:26
Remove some cruft from the VDBE. Bring comments up to date. (CVS 2888) (check-in: 41aef6496a user: drh tags: trunk)
05:02
Reduce memory requirements for ORDER BY combined with LIMIT. Ticket #1586. (CVS 2887) (check-in: 55e703ecac user: drh tags: trunk)
2006-01-07
18:48
Invalidate all VDBE cursor row caches in between calls to sqlite3_step() since the emphemeral content that those caches point to might change if the statement is READ UNCOMMITTED. (CVS 2886) (check-in: 0ae461313c user: drh tags: trunk)
18:14
Continued progress toward a working wince backend. (CVS 2885) (check-in: 15fda14ee0 user: drh tags: trunk)
18:10
Make sure there is no ephemeral data on the stack before returning from an sqlite3_step() call. Otherwise, if the statement is in READ UNCOMMITTED mode then the data might be deleted or changed out from under us. (CVS 2884) (check-in: 19f71a6d19 user: drh tags: trunk)
16:06
Enable redefinable I/O if the SQLITE_ENABLE_REDEF_IO macro exists. (CVS 2883) (check-in: e170e15766 user: drh tags: trunk)
14:02
Fix some memory leaks caused by obscure syntax errors in SQL. (CVS 2882) (check-in: 6593199a4d user: danielk1977 tags: trunk)
13:21
In shared-cache mode, lock all required tables before beginning to execute the body of the statement program. (CVS 2881) (check-in: 23b587b05b user: danielk1977 tags: trunk)
04:06
Drop the mutex if the TSD key allocation fails. Ticket #1585. (CVS 2880) (check-in: 77ac231c0e user: drh tags: trunk)
2006-01-06
22:11
Fix bugs in test scripts that came of of sse testing. (CVS 2879) (check-in: 22bf1a2ffa user: drh tags: trunk)
21:52
Changes so that SQLITE_OMIT_PARSER and SQLITE_OMIT_DISKIO work. (CVS 2878) (check-in: 9d71b7deaf user: drh tags: trunk)
21:09
Additional changes for wince. (CVS 2877) (check-in: b10343d916 user: drh tags: trunk)
20:40
More changes to support wince. (CVS 2876) (check-in: f3cbd995c8 user: drh tags: trunk)
20:22
Additional efforts to get it to build on WinCE. (CVS 2875) (check-in: b45c076f0d user: drh tags: trunk)
16:17
A first attempt at adding native support for WinCE. (CVS 2874) (check-in: 4344056787 user: drh tags: trunk)
15:03
Fix a crash caused by adding a trigger to a shared-schema and then deleting it using a different connection. (CVS 2873) (check-in: 19f93e135f user: danielk1977 tags: trunk)
14:46
Fix an alignment problem in the sqlite3OsRandomSeed(). Ticket #1584. (CVS 2872) (check-in: 373b56f004 user: drh tags: trunk)
14:41
Remove vestigial file: crashtest1.c (CVS 2871) (check-in: 6676c7031d user: drh tags: trunk)
14:32
Change the OS interface layer to use traditional direct function call implementations instead of the more complicated virtual function table. Omit the asynchronous I/O demo. (CVS 2870) (check-in: 2529c2e11f user: drh tags: trunk)
13:00
Add some simple tests and fixes for shared-schema locking. (CVS 2869) (check-in: d054bed15a user: danielk1977 tags: trunk)
12:03
Back out the addition of the new header file - bad idea. (CVS 2868) (check-in: 0c4c45c36f user: drh tags: trunk)
06:33
Fix a bug that was emptying shared-schema tables during an ATTACH. (CVS 2867) (check-in: 752a275487 user: danielk1977 tags: trunk)
03:29
Enable async testing. Modify the OS layer interface. Add the sqlite3_aux.h include file. Add tests for boolean value representation in file format 4. (CVS 2866) (check-in: b8332aa8b8 user: drh tags: trunk)
01:42
Formatting changes in btree.c. (CVS 2865) (check-in: f1922da2d2 user: drh tags: trunk)
00:36
Windows implementation of the thread-specific data interface. (CVS 2864) (check-in: 3aa8befedf user: drh tags: trunk)
2006-01-05
23:42
Disable the update hook for the truncation optimization used by DELETE. (CVS 2863) (check-in: 448b3b9ded user: drh tags: trunk)
15:50
Move TCL interface for sqlite3_release_memory() and sqlite3_soft_heap_limit() out of tclsqlite.c and into test1.c. Update the TCL interface documention to describe the "exists" method. (CVS 2862) (check-in: 98194a45cc user: drh tags: trunk)
14:22
Fix for ticket #1582 (Double delete of invalid LIMIT clause Expr* applied to a UNION ALL query). (CVS 2861) (check-in: 5dec3a392b user: danielk1977 tags: trunk)
13:48
Disable automatic invocation of sqlite3_release_memory() when a malloc() fails in those cases where the global mutex is held. (CVS 2860) (check-in: 6fdbb8b771 user: danielk1977 tags: trunk)
11:34
Add the shared schema/pager modifications. Very few tests so far. (CVS 2859) (check-in: deeda0dc06 user: danielk1977 tags: trunk)
2006-01-04
21:40
Bug fix in the IF NOT EXISTS logic. (CVS 2858) (check-in: cb9095ac52 user: drh tags: trunk)
18:13
Bug fix in the new "exists" method of the TCL interface. (CVS 2857) (check-in: d0e3d46609 user: drh tags: trunk)
15:58
Update document for CREATE INDEX IF NOT EXISTS and DROP INDEX IF EXISTS (CVS 2856) (check-in: 963ba8b8f3 user: drh tags: trunk)
15:54
Add support for CREATE INDEX IF NOT EXISTS and DROP INDEX IF EXISTS. (CVS 2855) (check-in: 551cdd6c30 user: drh tags: trunk)
2006-01-03
15:16
Always case 0 to (char*) on varargs functions. Otherwise there are problems on 64-bit machines. (CVS 2854) (check-in: 837dc77ff9 user: drh tags: trunk)
13:39
Add test files for the asynchronous IO concept. (CVS 2853) (check-in: 7c3492c840 user: danielk1977 tags: trunk)
00:33
The sqlite TCL command no longer returns the hex address of the sqlite3* structure. Instead there is a new command in testfixture to find that information. (CVS 2852) (check-in: 70b228575e user: drh tags: trunk)
2006-01-02
20:00
Add the xInMutex method to the os-layer switch for testing whether or not mutexes are used correctly. (CVS 2851) (check-in: a582b15959 user: drh tags: trunk)
18:24
Additional tests for descending indices. Comment changes. (CVS 2850) (check-in: 2622c5242b user: drh tags: trunk)
2005-12-30
16:31
Repair typo in previous commit. (CVS 2849) (check-in: a4aa0911bc user: danielk1977 tags: trunk)
16:28
Add part of the btree layer of the shared-cache feature. (CVS 2848) (check-in: 2afcad9901 user: danielk1977 tags: trunk)
2005-12-29
23:33
Add support for CREATE TABLE IF NOT EXISTS. (CVS 2847) (check-in: 0bd9e35fd2 user: drh tags: trunk)
23:04
Bug fix in codec processing. (CVS 2846) (check-in: a88580bce0 user: drh tags: trunk)
19:23
Add serial-types 8 and 9 for integer constants of 0 and 1 that use zero bytes of storage. Make the default file format 4. Add the SQLITE_DEFAULT_FILE_FORMAT compile-time option to lower the default file format number so that newly created databases can be read and written by older versions of SQLite. (CVS 2845) (check-in: ae301db8a6 user: drh tags: trunk)
12:53
Fix for ticket #1575. (CVS 2844) (check-in: 1586921b54 user: drh tags: trunk)
01:11
Add support for DROP TABLE IF EXISTS. (CVS 2843) (check-in: a4c547de83 user: drh tags: trunk)
2005-12-22
13:47
Make genericAllocationSize work on NULL pointers. (CVS 2842) (check-in: 326fc9cc11 user: drh tags: trunk)
2005-12-21
18:36
Bug fixes and additional testing of descending indices. (CVS 2841) (check-in: 5638a11ed5 user: drh tags: trunk)
14:43
Basic functionality for descending indices is in place. Lots more testing needed. (CVS 2840) (check-in: 7064433e5b user: drh tags: trunk)
03:16
Progress toward decending indices. (CVS 2839) (check-in: 112a34b8dc user: drh tags: trunk)
2005-12-20
14:38
Include sqlite3_release_memory() code when SQLITE_MEMDEBUG is not defined. (CVS 2838) (check-in: 77a37ceca7 user: danielk1977 tags: trunk)
09:19
Add simple tests and fixes for sqlite3_soft_heap_limit() (CVS 2837) (check-in: c2c5285442 user: danielk1977 tags: trunk)
2005-12-19
17:56
Version 2.8.17 (CVS 2836) (check-in: 50d7e50a96 user: drh tags: version_2)
17:53
Website changes in preparation for the release of 2.8.17. (CVS 2834) (check-in: a927696ba3 user: drh tags: trunk)
17:38
Bump the version number of the 2.8 branch to 2.8.17. (CVS 2833) (check-in: 94dfb4bd5d user: drh tags: version_2)
17:37
Backport the fix for ticket #1567 to version 2.8. (CVS 2832) (check-in: 3f5f358f82 user: drh tags: version_2)
17:27
Version 3.2.8 (CVS 2835) (Leaf check-in: e61382aed4 user: drh tags: branch_3_2)
17:26
Website changes for the release of 3.2.8. (CVS 2831) (check-in: 2f7ec117de user: drh tags: trunk)
16:34
Bump the version number on the 3.2 branch to 3.2.8. (CVS 2830) (check-in: d8e74af5b0 user: drh tags: branch_3_2)
16:29
Backport the fix for ticket #1567 into the 3.2 branch. (CVS 2829) (check-in: 3339774228 user: drh tags: branch_3_2)
16:15
Tentative fix for ticket #1567: disable the sqlite3pager_dont_write() optimization when a statement transaction is active. We continue to look for a better fix. (CVS 2827) (check-in: e6106cc133 user: drh tags: trunk)
14:18
Add some very simple test cases (and resulting bug fixes) for release_memory(). (CVS 2826) (check-in: 154282fca5 user: danielk1977 tags: trunk)
2005-12-18
08:51
Add the (untested) sqlite3_release_memory() function. (CVS 2825) (check-in: 345addaa03 user: danielk1977 tags: trunk)
2005-12-16
15:24
Verify that the rollback-hook is invoked correctly when a malloc() failure occurs. (CVS 2824) (check-in: 83c8ae5bee user: danielk1977 tags: trunk)
06:54
Add the sqlite3_rollback_hook() API. Still requires further testing. (CVS 2823) (check-in: 3baa3ff324 user: danielk1977 tags: trunk)
01:06
Initial infrastructure for recognizing DESC indices and being able to read and write older databases that specify DESC indices but do not really use them. Nothing is close to working yet. (CVS 2822) (check-in: cd110aa225 user: drh tags: trunk)
2005-12-15
22:34
Fix the utf8 to utf16 conversion routine for short strings. Bug introduced by check-in (2817). (CVS 2821) (check-in: 4fba2db38e user: drh tags: trunk)
15:22
Add the sqlite3_update_hook() API. (CVS 2820) (check-in: 3622901881 user: danielk1977 tags: trunk)
10:50
Move malloc(), free(), realloc() and allocationSize() into the Os vtbl. (CVS 2819) (check-in: 81a41f6637 user: danielk1977 tags: trunk)
10:11
Add the sqlite3_os_routine_set()/get() functions. (CVS 2818) (check-in: c1ed79f594 user: danielk1977 tags: trunk)
03:04
Fix memory allocation problems on the utf-16 versions of collating function control routines. (CVS 2817) (check-in: ad292e2733 user: drh tags: trunk)
2005-12-14
22:51
Avoid using the transient value in the UTF-16 collation needed callback. (CVS 2816) (check-in: ab6241af29 user: drh tags: trunk)
20:11
Properly zero-terminate UTF-16 collation names on an sqlite3_collation_needed16 callback. (CVS 2815) (check-in: 71a49d05bf user: drh tags: trunk)
2005-12-12
06:53
Fix minor malloc() related problems and add sqlite3_soft_heap_limit() stubs. (CVS 2814) (check-in: 1637f37960 user: danielk1977 tags: trunk)
2005-12-10
21:19
Add the "exists" method to the TCL interface. (CVS 2813) (check-in: 8a355d7aad user: drh tags: trunk)
2005-12-09
20:54
New bind tests (check-ins (2797) and (2798)) only work right on a UTF8 database. So make sure they are only run when the database is UTF8. (CVS 2812) (check-in: 3980379069 user: drh tags: trunk)
20:21
More annoying and pointless signedness warnings fixed. (CVS 2811) (check-in: 590578bef8 user: drh tags: trunk)
20:02
Clean up annoying (and pointless) compiler warnings about differing signedness. (CVS 2810) (check-in: 83a5915155 user: drh tags: trunk)
14:39
Define the sqliteMalloc() macro differently to avoid a compiler warning. (CVS 2809) (check-in: 3d177bde71 user: danielk1977 tags: trunk)
14:25
Many small changes to ensure memory is not leaked after malloc() fails. (CVS 2808) (check-in: 601c335463 user: danielk1977 tags: trunk)
02:35
Add more stress testing to autovacuum in an (unsuccessful) attempt to reproduce a reported problem. Even though these tests did not uncover anything amiss, extra tests never hurt... (CVS 2807) (check-in: d8a8933ff3 user: drh tags: trunk)
2005-12-08
18:12
Provide a pragma to set the codec key. (CVS 2806) (check-in: a7c9e8989c user: drh tags: trunk)
2005-12-07
06:27
Add some tests for malloc() failure within the column_name() and column_decl() APIs. (CVS 2805) (check-in: 78f10ca0a6 user: danielk1977 tags: trunk)
2005-12-06
17:48
Allow VACUUM to detach the auxillary database after malloc() fails. (CVS 2804) (check-in: 6824a78bc7 user: danielk1977 tags: trunk)
17:19
Modify ATTACH and DETACH to execute at runtime instead of compile time. (CVS 2803) (check-in: 5e04ec694a user: danielk1977 tags: trunk)
13:19
Report errors out of sqlite3_open16(). (CVS 2802) (check-in: f5b58163d4 user: drh tags: trunk)
12:57
Add test file for new malloc() failure handling. (CVS 2801) (check-in: 0b82f9623c user: danielk1977 tags: trunk)
12:52
Some elements of the new malloc() failure handling. Not all cases work properly yet. Also, library is not threadsafe if malloc() fails right now. (CVS 2800) (check-in: e1606658f1 user: danielk1977 tags: trunk)
2005-12-05
22:22
Update mailing list hyperlink on the support page. (CVS 2799) (check-in: 41a7aeeeb4 user: drh tags: trunk)
13:20
Make sure sqlite3_result_text can handle text strings with embedded '\000' characters. (CVS 2798) (check-in: 9d6057cd14 user: drh tags: trunk)
2005-12-02
02:44
Add a test to verify that binding text with embedded '\000' works. Also comment changes in os.h. (CVS 2797) (check-in: 31251a9098 user: drh tags: trunk)
01:57
Documentation updates. (CVS 2796) (check-in: 2ffb90c39d user: drh tags: trunk)
2005-11-30
03:20
Restructure the OS interface yet again. This time make the OsFile object a virtual base class which is subclassed for unix, windows, and the crash test simulator. Add the new file "os.c" for common os layer code. Move all OS-specific routines into the sqlite3Os structure. (CVS 2795) (check-in: bd8740d1ae user: drh tags: trunk)
2005-11-29
19:56
The crash test works now, at least on unix. Untested on windows. But it never worked on windows before so if it still does not there is no big loss. I am still troubled by the current design of the OS overloading mechanism. Expect to see more changes. (CVS 2794) (check-in: fa1d7ecfcc user: drh tags: trunk)
19:50
Make the build work on windows again. Ticket #1544. (CVS 2793) (check-in: 59bdca2552 user: drh tags: trunk)
18:37
The crash tests now compile, at least. But they get wrong results. The problem is fundamental and suggests I need to completely rethink how the new OS backend should work. (CVS 2792) (check-in: 966bc68e1b user: drh tags: trunk)
03:13
Make the OsFile structure opaque with its internal structure known only to the appropriate os_*.c implementation. Omit the os_unix.h and os_win.h include files. The crash tests are broken by this patch. (CVS 2791) (check-in: 058f317538 user: drh tags: trunk)
2005-11-28
12:36
Replace a call to sprintf() with sqlite3MPrintf() since on some embedded platforms, sprintf() is busted. Need to go through and do similar replacements elsewhere in the code. (CVS 2790) (check-in: 1b4f2d89bb user: drh tags: trunk)
2005-11-26
14:24
Disable the OR-clause optimization if it does not result in an index being used that would not have been used otherwise. In other words, do not convert OR clauses into an IN statement if it does not help the optimizer. (CVS 2789) (check-in: 7e7cfce0f8 user: drh tags: trunk)
14:08
Make sure left joins still work even when the OR clause optimization fires. Ticket #1537. (CVS 2788) (check-in: cbbeb9de00 user: drh tags: trunk)
03:51
Remove some vestiges of the old OS_TEST driver. (CVS 2787) (check-in: 008f676f20 user: drh tags: trunk)
03:43
Add an OS method for making copies of file descriptors. This fixes the crash tests. (CVS 2786) (check-in: 57a674fc71 user: drh tags: trunk)
00:25
Modify the OS layer so that I/O routines are called through a virtual function table. The os_test.c module has been replaced by test6.c. The crash tests are busted now and need to be fixed. (CVS 2785) (check-in: 1f69aec285 user: drh tags: trunk)
2005-11-25
10:55
Ensure a low system limit on the number of open files does not cause manydb.test to fail. (CVS 2784) (check-in: dba2cc0d0e user: danielk1977 tags: trunk)
10:38
Add the compilation option SQLITE_DISABLE_DIRSYNC (CVS 2783) (check-in: f9f5ecbb79 user: danielk1977 tags: trunk)
10:38
Add the compilation option SQLITE_DISABLE_DIRSYNC (CVS 2782) (check-in: f1298bb103 user: danielk1977 tags: trunk)
09:01
If SQLITE_DISABLE_LFS is defined, omit the bigfile tests. (CVS 2781) (check-in: f882a516da user: danielk1977 tags: trunk)
08:47
Check the return code of full_fsync() when used to sync a directory fd. (CVS 2780) (check-in: 84aae3b0ae user: danielk1977 tags: trunk)
02:43
Preserve 64-bit last insert rowids across triggers. (CVS 2779) (check-in: 4dd7cfaa58 user: drh tags: trunk)
2005-11-24
23:14
The --enable-cross-thread-connect configuration option or the -DSQLITE_ALLOW_XTHREAD_CONNECT compile-time option permits database connections to be moved across threads. This will cause latch-ups and failures on some linux systems such as RedHat-9. Do not use these options if you want a portable build. (CVS 2778) (check-in: 84aa4d5800 user: drh tags: trunk)
22:33
Make sure sqliteInt.h is included before any system includes. This is required for QNX. Ticket #1478. (CVS 2777) (check-in: ab76453553 user: drh tags: trunk)
22:22
Reduce the number of distinct token symbols in the parser so that the parser can store tokens in a single byte and thus be smaller in size. (CVS 2776) (check-in: 2dfc986391 user: drh tags: trunk)
14:34
Comment changes. No changes to code. (CVS 2775) (check-in: 786e23b295 user: drh tags: trunk)
14:24
Fix a comment in btree.c. No code changes. (CVS 2774) (check-in: 0d8bd133a7 user: drh tags: trunk)
13:15
Fix incorrect type conversions when copying from a table into itself. Ticket #1536. (CVS 2773) (check-in: a2e55a3828 user: drh tags: trunk)
2005-11-21
12:48
Less verbose output when EXPLAIN QUERY PLAN identifies use of the primary key. (CVS 2772) (check-in: 5045f09933 user: drh tags: trunk)
12:46
The EXPLAIN QUERY PLAN now identifies when tables use the integer primary key. (CVS 2771) (check-in: 80721e2c90 user: drh tags: trunk)
2005-11-16
13:47
Fix a problem with the sorting of literals in a compound query. Ticket #1501. (CVS 2770) (check-in: b3882b434a user: drh tags: trunk)
12:53
Do not allow aggregate functions in a WHERE clause. Ticket #1514. (CVS 2769) (check-in: bb866ed880 user: drh tags: trunk)
04:34
Avoid unnecessary strlen() calls in the OP_String opcode. (CVS 2768) (check-in: 2e195e96bc user: drh tags: trunk)
2005-11-15
02:14
Fix a bug in UTF-16 handling introduced by the previous check-in. (CVS 2767) (check-in: 25fa16a2e1 user: drh tags: trunk)
2005-11-14
22:29
Create separate affinities for INTEGER and REAL. (CVS 2766) (check-in: ce06c123d0 user: drh tags: trunk)
11:51
Fix documentation typo. (CVS 2765) (check-in: c9b413ea22 user: drh tags: trunk)
2005-11-06
04:06
About 0.5KiB of additional compression in the parser tables. (CVS 2764) (check-in: f39974ebd8 user: drh tags: trunk)
2005-11-05
15:11
Work around a bug in MSVC++. Ticket #1513. (CVS 2763) (check-in: 6331860e77 user: drh tags: trunk)
15:07
Remove a C++-ism that slipped into the code during the recent CHECK enhancements. Ticket #1513. (CVS 2762) (check-in: e66289b52f user: drh tags: trunk)
15:04
Improved table compression in lemon reduces the overall library size by about 1.5KiB. (CVS 2761) (check-in: 86ac114769 user: drh tags: trunk)
2005-11-04
22:03
VACUUM works even on an empty database. Ticket #1512. (CVS 2760) (check-in: 1b6bf4188e user: drh tags: trunk)
2005-11-03
14:29
sqlite3_column_int() and similar routines return 0 or 0.0 on an out-of-memory condition, not some mysterious error code. (CVS 2759) (check-in: 7780f5e9d5 user: drh tags: trunk)
12:33
Prohibit parameters in CHECK constraint expressions. (CVS 2758) (check-in: bb94ef64b2 user: drh tags: trunk)
02:15
Add the ignore_check_constraints pragma. VACUUM works even on a database that contains table entries that violate check constraints. (CVS 2757) (check-in: be83bfee02 user: drh tags: trunk)
02:03
Disallow subqueries in CHECK constraints. (CVS 2756) (check-in: db27afc4cd user: drh tags: trunk)
01:22
CHECK constraints that evaluate to NULL pass. (CVS 2755) (check-in: 55b314a22c user: drh tags: trunk)
00:41
First cut at supporting CHECK constraints. Everything appears to work, but much more testing is needed as well as documentation. (CVS 2754) (check-in: 2313d912ba user: drh tags: trunk)
2005-11-01
15:48
Omit the SQLITE_AFF_INTEGER type affinity. All numeric values are now of type real, though an integer representation is still sometimes used internally for efficiency. (CVS 2753) (check-in: e0d6f61c7d user: drh tags: trunk)
2005-10-29
15:48
Fix the shift operators so that they work with 64-bit quantities. (CVS 2752) (check-in: 0d3357b5f6 user: drh tags: trunk)
2005-10-23
11:29
Report an error if the input SQL contains an unterminated string. Ticket #1497. (CVS 2751) (check-in: c9c476dd83 user: drh tags: trunk)
2005-10-20
07:28
Changes to prevent various compiler warnings. (CVS 2750) (check-in: e261b8b09a user: drh tags: trunk)
2005-10-13
02:09
Attempt to fix the SQLite core so that no floating point operations are used anywhere if SQLITE_OMIT_FLOATING_POINT is defined at compile-time. This is useful to people who use SQLite on embedded processors that lack floating point support. (CVS 2749) (check-in: a0bdb58468 user: drh tags: trunk)
2005-10-10
00:05
Make the default TEMP_STORE=1 (TEMP tables stored on disk) in the configure script. (CVS 2748) (check-in: 9753af5349 user: drh tags: trunk)
2005-10-06
16:53
More efficient handling of the LIMIT clause. Scalar subqueries and EXISTS on compound SELECT statements now working properly. Ticket #1473. (CVS 2747) (check-in: edca8913ca user: drh tags: trunk)
13:59
Check-in (2744) as incomplete and broke pragma integrity_check. This completes the change and fixes the problem. (CVS 2746) (check-in: 4862eaafd8 user: drh tags: trunk)
2005-10-05
22:31
Make the SQLite logo on the website a hyperlink to the home page. Ticket #1471. (CVS 2745) (check-in: 9709f0f6bc user: drh tags: trunk)
11:41
Make sure pragma integrity_check does not report "ok" after first finding a bunch of errors. (CVS 2744) (check-in: efec04dedf user: drh tags: trunk)
11:35
Fix an assert or memory leak that occurs when trying to EXPLAIN a statement other than a SELECT that outputs results. Examples of such statements include PRAGMA integrity_check or INSERT/DELETE/UPDATE with PRAGMA count_changes=ON. (CVS 2743) (check-in: 533a85eee2 user: drh tags: trunk)
10:40
Changes to support TEA on cygwin. (CVS 2742) (check-in: e80fecc986 user: drh tags: trunk)
10:29
Another attempt to get fdatasync to be ignored on non-conforming posix systems. Now a system has to opt-in for fdatasync instead of opt-out. Ticket #1467. (CVS 2741) (check-in: 115340d4e8 user: drh tags: trunk)
02:13
Add the SQLITE_OMIT_GET_TABLE compile-time flag. (CVS 2740) (check-in: 6d4bc8f83b user: drh tags: trunk)
2005-10-04
18:38
Automatically check for the fdatasync() function and replace it with fsync() if not found. (CVS 2739) (check-in: 385a08afef user: drh tags: trunk)
2005-10-03
15:11
The hash tables deallocate when empty in order to avoid nuisanse complaints from valgrind. Added tests to verify no hash table memory leaks in os_unix.c. (CVS 2738) (check-in: 080eadca58 user: drh tags: trunk)
2005-09-25
01:13
Make sure the default storage for virtual tables is the disk not memory while running conflict.test. Ticket #1453. (CVS 2737) (check-in: 6d780ca6cf user: drh tags: trunk)
2005-09-24
15:25
Version 3.2.7 (CVS 2736) (check-in: bd141a7c12 user: drh tags: trunk)
15:10
Perparations for version 3.2.7. (CVS 2735) (check-in: 70937d5cfa user: drh tags: trunk)
11:01
Add the SQLite console source code in the contrib section of the source tree. (CVS 2734) (check-in: 079c6348f9 user: drh tags: trunk)
2005-09-23
21:11
Fix an uninitialized structure member that was causing a malfunction when you used deeply nested and very complex views. Ticket #1449. (CVS 2733) (check-in: 352cc9f53b user: drh tags: trunk)
2005-09-22
15:45
Optionally call fdatasync() instead of fsync() only if _POSIX_SYNCHRONIZED_IO is positive, which should only be the case on operating systems that actually support fdatasync(). (CVS 2732) (check-in: a9b341dccf user: drh tags: trunk)
2005-09-20
18:13
Add VM code comments on the group-by processing. Extra group-by test case. (CVS 2731) (check-in: 655e75ac7d user: drh tags: trunk)
17:42
Code cleanup and simplification. Three new Mem opcodes added. The sqlite3VdbeJumpHere function added. (CVS 2730) (check-in: 2471957fee user: drh tags: trunk)
13:55
Cleanup the implementation and the documentation of the new 0x200 P1 flag on the VDBE comparison operands. (CVS 2729) (check-in: f22d0f64a0 user: drh tags: trunk)
13:12
NULLs compare equal to each other when computing GROUP BY categories. (CVS 2728) (check-in: d9b0c97053 user: drh tags: trunk)
08:47
Update comments in where.c. No code changes. (CVS 2727) (check-in: bb84d27eda user: drh tags: trunk)
01:36
Documentation updates. (CVS 2726) (check-in: 6ec8883c36 user: drh tags: trunk)
2005-09-19
21:05
ON-clause terms in a LEFT JOIN that restrict only the left table, should not really restrict the left table but instead rows that fail to meet the condition to be joined with NULL rows from the right table. (CVS 2725) (check-in: ea10f9785e user: drh tags: trunk)
19:05
Set the default maximum page size to 32768, not 8192. (CVS 2724) (check-in: b32e9ec248 user: drh tags: trunk)
17:35
Do not optimize views with an ORDER BY clause if they are used in a UNION ALL that also has an ORDER BY clause. Ticket #1444. (CVS 2723) (check-in: 6cc57fcf15 user: drh tags: trunk)
15:37
Fix uninitialized value on a UNION ALL select with an ORDER BY clause. (CVS 2722) (check-in: 92126a2161 user: drh tags: trunk)
13:15
The sqlite3_query_plan debugging variable now only appears with SQLITE_TEST=1. (CVS 2721) (check-in: 41e226d2ff user: drh tags: trunk)
12:53
Work around limitations of MSVC++ 6. Tickets #1429, #1437, and #1440. (CVS 2720) (check-in: b2d1803c25 user: drh tags: trunk)
12:37
Change some debugging #defines in order to get SSE working again after recent upgrades. (CVS 2719) (check-in: 86eb7d8363 user: drh tags: trunk)
2005-09-17
19:28
Download page reports sizes in MiB and KiB instead of just bytes. (CVS 2718) (check-in: e985f02d20 user: drh tags: trunk)
19:14
Update to the download page on the website. (CVS 2717) (check-in: 91bc0d0032 user: drh tags: trunk)
18:49
Version 3.2.6 (CVS 2716) (check-in: 1cdfe66714 user: drh tags: trunk)
18:34
The sqlite3ReallocOrFree routine should set its pointer to NULL when it fails. (CVS 2715) (check-in: 0e85af44fa user: drh tags: trunk)
18:02
Fix up the busy test so that it can be run multiple times in a row without giving false errors on 2nd and subsequent runs. (CVS 2714) (check-in: 7a7ba73fb5 user: drh tags: trunk)
17:58
Fix a memory leak that occurs after malloc fails. (CVS 2713) (check-in: 85b931bf72 user: drh tags: trunk)
17:05
Fix the crash.test script to accomodate recent changes. (CVS 2712) (check-in: d594608ff3 user: drh tags: trunk)
16:48
Fix a bug in the lock2 test script introduced by check-in (2709) (CVS 2711) (check-in: c3bf17436b user: drh tags: trunk)
16:36
Fix a problem with the lock_status pragma and the UTF-16 encoding. (CVS 2710) (check-in: 1a737b457c user: drh tags: trunk)
15:20
Changes to make corruption errors easier to track down. (CVS 2709) (check-in: c07330000b user: drh tags: trunk)
15:17
Update the webpage description of 3.2.6 changes to talk about ticket #1432. (CVS 2708) (check-in: 0e23c28b25 user: drh tags: trunk)
13:29
Bug fix in the ORDER BY optimizer. Ticket #1435. (CVS 2707) (check-in: 553b7ba8f8 user: drh tags: trunk)
13:07
Make sure dependencies on the right-hand side of IN operators are checked correctly. Ticket #1433. (CVS 2706) (check-in: 21740794ab user: drh tags: trunk)
02:34
Updates to the FAQ. (CVS 2705) (check-in: 0eaf430d95 user: drh tags: trunk)
2005-09-16
17:16
Do not journal the locking page which doing an autovacuum. Similar to the problem of #1432 except that this one occurs on autovacuum instead of vacuum. An assert() has been added to catch any future incidents of this type. (CVS 2704) (check-in: 5b6dc12b7d user: drh tags: trunk)
11:32
Do not journal the file locking page when doing a database copy as part of a VACUUM. Ticket #1432. (CVS 2703) (check-in: 248f77972b user: drh tags: trunk)
10:18
Prevent the sqlite3_pagecount() function from ever returning the pending-byte page. (CVS 2702) (check-in: 35a8893537 user: danielk1977 tags: trunk)
10:13
Move the definition of sqlite3_pending_byte from test2.c to os_common.h. (CVS 2701) (check-in: bedf702f53 user: danielk1977 tags: trunk)
09:52
Fix an auto-vacuum problem with the PENDING_BYTE page. Also link the Tcl variable sqlite_pending_byte to the internal pending-byte location when in test mode. (CVS 2700) (check-in: 9115e0621d user: danielk1977 tags: trunk)
02:55
Documentation changes in preparation for the release of 3.2.6. (CVS 2698) (check-in: 243f455c7c user: drh tags: trunk)
02:48
Undo check-in (2694). (CVS 2697) (check-in: 6017b19625 user: drh tags: trunk)
02:38
Fix a whole host of newly discovered memory leaks the occur after a failure of realloc(). (CVS 2696) (check-in: 4686d64975 user: drh tags: trunk)
00:27
Fix a memory leak: a failure to deallocate the P3 parameter on a call to sqlite3VdbeChangeP3. (CVS 2695) (check-in: 714254cbc1 user: drh tags: trunk)
2005-09-15
21:24
The table_info pragma now gives the order of columns in the primary key. (CVS 2694) (check-in: 9b60f48de7 user: drh tags: trunk)
2005-09-13
16:12
Correct the sense of a test for SQLITE_DEBUG on the resent NDEBUG change. Ticket #1425 (CVS 2693) (check-in: 81fdffdff6 user: drh tags: trunk)
07:00
Updates to the documentation on the TCL bindings. (CVS 2692) (check-in: 94aa2d3245 user: drh tags: trunk)
00:02
Fix a comment typo in the previous check-in. (CVS 2691) (check-in: 49c952807d user: drh tags: trunk)
00:00
Automatically set the NDEBUG preprocessor macro unless SQLITE_DEBUG is set. In this way, assert() statements become opt-in rather than opt-out. (CVS 2690) (check-in: 2ec2bd8574 user: drh tags: trunk)
2005-09-12
23:03
Bug fix in the new COUNT(DISTINCT) logic. Ticket #1420. (CVS 2689) (check-in: 37116550d3 user: drh tags: trunk)
2005-09-11
11:56
COUNT(DISTINCT x) is now fully functional, though it could benefit from additional testing. (CVS 2688) (check-in: 2f397bd814 user: drh tags: trunk)
02:03
The ".dump" command from the shell correctly saves the state of the sqlite_sequence and sqlite_stat1 tables, if they exist. Ticket #1419. (CVS 2687) (check-in: 3f191cf497 user: drh tags: trunk)
2005-09-10
22:40
The shell does not output the sqlite_stat1 table on .dump or .schema. The ANALYZE command now gathers statistics on tables that have only a single index because this sometimes helps when reordering tables in a join. (CVS 2686) (check-in: 26565b8931 user: drh tags: trunk)
16:46
Add the experimental EXPLAIN QUERY PLAN diagnostic capability. (CVS 2685) (check-in: 986efb7b12 user: drh tags: trunk)
15:35
Avoid a memory leak and/or assertion failure when parsing a table declaration that contains a duplicate column name. Ticket #1418. (CVS 2684) (check-in: f43427742b user: drh tags: trunk)
15:28
Use of the CROSS keyword in a join prevents table reordering. Ticket #1414. (CVS 2683) (check-in: 415b8b2462 user: drh tags: trunk)
2005-09-09
10:46
Enhanced disk-full tests. (CVS 2682) (check-in: 0288fa5d25 user: drh tags: trunk)
10:17
Detect errors returned by SetFilePointer on windows. (CVS 2681) (check-in: bc8c33f94c user: drh tags: trunk)
01:33
Infrastructure for the DISTINCT keyword in aggregate functions. But it does not work yet. If you try to use it you get an error message. (CVS 2680) (check-in: 4d62e36fe3 user: drh tags: trunk)
01:32
Defend against disk I/O errors that happen during an sqlite3OsSeek(). (CVS 2679) (check-in: 461e3a0a27 user: drh tags: trunk)
2005-09-08
20:37
SUM returns NULL when it has no inputs. Ticket #1413. (CVS 2678) (check-in: 6281859425 user: drh tags: trunk)
19:45
A SUM() of all NULLs returns NULL. A SUM() of nothing return 0. A SUM() of a mixture of NULLs and numbers returns the sum of the numbers. Ticket #1413. (CVS 2677) (check-in: 2e6230edfd user: drh tags: trunk)
19:01
Remove a C++ism that snuck in on one of the reason changes. (CVS 2676) (check-in: 48f6a331ef user: drh tags: trunk)
14:17
Remove a few unused variables detected by Borland C. Ticket #1412. (CVS 2675) (check-in: cdfe372a95 user: drh tags: trunk)
12:57
Aggregates with GROUP BY can sometimes return no result rows. (CVS 2674) (check-in: 0c3e368d47 user: drh tags: trunk)
12:38
While doing a transaction comment, use fdatasync() instead of fsync() in cases there the file size is unchanged. (CVS 2673) (check-in: 3c555a8749 user: drh tags: trunk)
12:37
Fix another test to account for SUM() returning integer rather than float. (CVS 2672) (check-in: bc723235e6 user: drh tags: trunk)
11:04
Fix typos in documentation. Ticket #1239. (CVS 2671) (check-in: 73fbb8d968 user: drh tags: trunk)
10:58
Fix a comment in sqlite.h. Ticket #1321. (CVS 2670) (check-in: ed4e9e751b user: drh tags: trunk)
10:37
The SUM() aggregate function returns an integer result if all inputs are integers. Any single non-integer input causes the result to be a floating point value. (CVS 2669) (check-in: 21adf4bd99 user: drh tags: trunk)
02:00
Changes to comments only in sqliteInt.h. No changes to code. (CVS 2668) (check-in: cc2a61650e user: drh tags: trunk)
01:58
Optimizations and refinements. Improvements to test coverage. (CVS 2667) (check-in: 7283f7c29d user: drh tags: trunk)
00:13
All regression tests now pass. But I am sure there must still be problems. New tests need to be added. (CVS 2666) (check-in: bcc7d722ce user: drh tags: trunk)
2005-09-07
23:05
More bug fixes. All of the "quick" tests pass. The full test suite still shows problems. (CVS 2665) (check-in: a1b6d910cd user: drh tags: trunk)
22:48
More bug fixes. But there are still tests that fail. (CVS 2664) (check-in: 7e85a162d0 user: drh tags: trunk)
22:09
Bug fixes in aggregate processing. Fewer tests fail. (CVS 2663) (check-in: c3ac58592f user: drh tags: trunk)
21:22
Rewrite the aggregate handling logic so that it runs in O(1) space. This is the first cut at the code. Many regression tests fail. (CVS 2662) (check-in: 17039ec3ff user: drh tags: trunk)
2005-09-06
21:40
Changes to reduce the amount of stack space required. (CVS 2661) (check-in: b86bd70f30 user: drh tags: trunk)
20:36
Cleanup the processing of MEM_Agg elements. (CVS 2660) (check-in: 7ecf3654aa user: drh tags: trunk)
10:26
Fix ANALYZE so that it works even if the empty_result_callbacks pragma is enabled. Ticket #1409. (CVS 2659) (check-in: bfdaef1224 user: drh tags: trunk)
2005-09-05
20:35
Make due with "sub()" instead of "gsub()" in awk scripts so that builds will work on Solaris which will runs an archiac version of AWK. (CVS 2658) (check-in: 449a789599 user: drh tags: trunk)
20:06
Fix bugs introduced by checkin (2656) and do some modest code enhancements. (CVS 2657) (check-in: 7b56763a8b user: drh tags: trunk)
19:08
Use the unicode API to win32 where available. Tickets #1407, #1396, #1331, #1243, #1206 (CVS 2656) (check-in: 3ec58c673a user: drh tags: trunk)
2005-09-01
17:47
Fix over-aggressive optimization of ORDER BY as reported on the mailing list. (CVS 2655) (check-in: efbb4bc83c user: drh tags: trunk)
12:16
All regression tests now pass with the new bounded-memory sort code. There is still lots of opportunity for optimization, however. (CVS 2654) (check-in: 81259a01f1 user: drh tags: trunk)
03:07
Sorting is now done using a sorting index rather than loading the entire result set into memory and doing a merge sort. The old merge sort technique was a carry-over from SQLite version 1. The new method uses a bounded amount of memory and scales to much larger result sets. There are still errors: some 39 regression tests fail. (CVS 2653) (check-in: 09db0a2424 user: drh tags: trunk)
2005-08-31
18:20
{quote: KeyInfo} generation moved to a common subroutine. (CVS 2652) (check-in: a25801df06 user: drh tags: trunk)
13:48
Updates to the query optimizer overview document. (CVS 2651) (check-in: b1dceef050 user: drh tags: trunk)
13:13
Explicit typecasts to silence nuisance compiler warnings. Ticket #1398. (CVS 2650) (check-in: 90712ea727 user: drh tags: trunk)
03:13
Refinements to the optimizer overview and integration into the website. (CVS 2649) (check-in: ccd12e9e79 user: drh tags: trunk)
02:46
Update the FAQ to include an entry about binary versus decimal numbers. (CVS 2648) (check-in: 0bbe73fccf user: drh tags: trunk)
01:49
Adding the first cut of the optimizer overview document. (CVS 2647) (check-in: 4c8d0a4c26 user: drh tags: trunk)
2005-08-30
22:44
Adjust the makefile for new optimizer documentation. (CVS 2646) (check-in: 14668c85b8 user: drh tags: trunk)
22:44
Initial work on documentation describing the optimizer. (CVS 2645) (check-in: 5cebd7ba3c user: drh tags: trunk)
20:12
The CSV output mode does not sign-extend bytes where the high-order bit is set. Ticket #1397. (CVS 2644) (check-in: 528df777e5 user: drh tags: trunk)
19:30
Fix printf.c so that it handles 10.0 correctly. (CVS 2643) (check-in: 0f7a53f78d user: drh tags: trunk)
00:54
Minor code enhancements. (CVS 2642) (check-in: 4ab994a87e user: drh tags: trunk)
00:10
Update the home page to brag about 150KiB code footprint when optional features are omitted. (CVS 2641) (check-in: 0e1ac1284c user: drh tags: trunk)
2005-08-29
23:06
Make the shell aware of SQLITE_OMIT_MEMORYDB. Ticket #1395. (CVS 2640) (check-in: 71a71cef5b user: drh tags: trunk)
23:00
Increase resolution of time-of-day on unix. Add an experimental sqlite3_profile() API. (CVS 2639) (check-in: ed2ca0873f user: drh tags: trunk)
16:40
Initialize a local variable to avoid a nuisance compiler warning. Ticket #1394. (CVS 2638) (check-in: 9b914901a1 user: drh tags: trunk)
2005-08-28
17:00
The LIKE optimization does the right thing when collating sequences are present. LIKE expressions where the left-hand side has COLLATE NOCASE are optimized in the default case. (CVS 2637) (check-in: ef84ff795c user: drh tags: trunk)
01:38
Improvements to the formatting and layout of the code in the previous checkin. (CVS 2636) (check-in: 73b430de0c user: drh tags: trunk)
01:34
Add an assert to verify that floating point values and integers use the same byte order. Add a comment to the SELECT code generator. (CVS 2635) (check-in: 07b4892149 user: drh tags: trunk)
2005-08-27
17:23
Version 3.2.5 (CVS 2634) (check-in: b2415a749c user: drh tags: trunk)
17:22
Change the wording of the news line for release 3.2.5. (CVS 2633) (check-in: 70db46d3ef user: drh tags: trunk)
17:19
Get the date right. Today is the 27th, not the 25th or the 28th. (CVS 2632) (check-in: 905b9d6c5e user: drh tags: trunk)
17:06
Increase the version number and update web pages for the next release. (CVS 2631) (check-in: e6039e909a user: drh tags: trunk)
16:36
Disable synchronous writes to the master journal when PRAGMA synchronous=OFF for all database files. Ticket #1375. (CVS 2630) (check-in: 644b96aa23 user: drh tags: trunk)
13:16
Fix comment in vdbeapi.c. Remove unused structure definition from func.c. (CVS 2629) (check-in: 51a381345d user: drh tags: trunk)
13:11
Remove the words "statically linked" from the description of the shell on the download page. Ticket #1391. (CVS 2628) (check-in: ecb9604457 user: drh tags: trunk)
09:07
Remove GNUmake extensions from the makefile. Ticket #1390. (CVS 2627) (check-in: d0691fed43 user: drh tags: trunk)
01:51
Do not change fields of stale sqlite3 handles. Ticket #1384. (CVS 2626) (check-in: 7e05b7ca0c user: drh tags: trunk)
01:50
Widen the opcode column of explain output in the shell. (CVS 2625) (check-in: dd3b00aa0b user: drh tags: trunk)
2005-08-25
12:45
When the left-hand side of an IN operator is constant and the right-hand side is a SELECT, recognize that the IN operator is not constant. Ticket #1380. (CVS 2624) (check-in: fc9e04609b user: drh tags: trunk)
2005-08-24
18:04
Fix the --enable-threadsafe option to the configure script. Ticket #1378. (CVS 2623) (check-in: 76ec0b3d3a user: drh tags: trunk)
17:07
Additional defense against the rowid-fifo overflow problem. (CVS 2622) (check-in: 881dcf5fb1 user: drh tags: trunk)
16:54
Remove a stray C++ style comment causing problems for some compilers. (CVS 2621) (check-in: aa7dd3f2c7 user: drh tags: trunk)
16:13
Fix a bug in DELETE that might cause a segfault when deleting more than 40940 rows of data all at once. (CVS 2620) (check-in: 7c599bae33 user: drh tags: trunk)
11:14
Version 3.2.4 (CVS 2619) (check-in: 8cef2c1ae7 user: drh tags: trunk)
11:07
Increase the version number and update the change log prior to release. (CVS 2618) (check-in: 139a28d231 user: drh tags: trunk)
03:52
After calling realloc() on an array to resize it, be sure not to use pointers into the old array. Ticket #1376. (CVS 2617) (check-in: 9f9a257123 user: drh tags: trunk)
2005-08-23
11:31
Allow floating point literals to being or end with a decimal point. Ticket #1371. (CVS 2616) (check-in: a715e70012 user: drh tags: trunk)
11:17
Handle empty blob constants correctly. Ticket #1373. (CVS 2615) (check-in: 5cada745ac user: drh tags: trunk)
11:03
Fix another documentation typo. (CVS 2614) (check-in: 55f4b14e19 user: drh tags: trunk)
11:00
Fix typos in syntax documentation. Ticket #1374 and a report on the mailing list. (CVS 2613) (check-in: 990d1f3a5b user: drh tags: trunk)
2005-08-22
02:10
Update the download page of the website to handle TEA builds and starkits. (CVS 2612) (check-in: 1fab599b6f user: drh tags: trunk)
2005-08-21
21:45
Clean up possible locking problem in multithreaded applications that take a malloc failure. (CVS 2611) (check-in: 545e702a23 user: drh tags: trunk)
18:54
Version 3.2.3 (CVS 2610) (check-in: f620319b44 user: drh tags: trunk)
18:40
Increase the version number and adjust documentation prior to the next release. (CVS 2609) (check-in: b15ed7db4d user: drh tags: trunk)
18:21
Disable malloc tests when not compiled with SQLITE_DEBUG. (CVS 2608) (check-in: f372682fa3 user: drh tags: trunk)
17:48
Do not create an error message if there is no error. (CVS 2607) (check-in: 3aa47c5587 user: drh tags: trunk)
16:54
Do not overwrite small files (less than 1024 bytes) that are not databases. Ticket #1370. (CVS 2606) (check-in: 7f4302686e user: drh tags: trunk)
2005-08-20
13:47
More test coverage improvements. (CVS 2605) (check-in: e559e810a5 user: drh tags: trunk)
03:03
Increased test coverage. Some malloc tests now fail though this is believed to be an instrumentation problem not a real error. (CVS 2604) (check-in: f786f37a5e user: drh tags: trunk)
2005-08-19
19:14
Increase test coverage of alter.c to 100%. Fix bugs found in the process. (CVS 2603) (check-in: b550d04d43 user: drh tags: trunk)
03:03
Additional tests for better coverage. (CVS 2602) (check-in: 4281a838f2 user: drh tags: trunk)
02:26
Increased test coverage on trigger.c and printf.c. (CVS 2601) (check-in: 842a80bd8f user: drh tags: trunk)
01:07
More test coverage enhancements. (CVS 2600) (check-in: 0b6cd5acc0 user: drh tags: trunk)
00:14
Bring testing coverage of the analyze.c file up to 100%. Bugs found and fixed in the process. (CVS 2599) (check-in: 2fe0ac4fa4 user: drh tags: trunk)
2005-08-18
18:15
Comment fixes. No changes to the underlying code. (CVS 2598) (check-in: b865e243ee user: drh tags: trunk)
2005-08-16
14:44
Fix typo in documentation. (CVS 2597) (check-in: 32efcd2461 user: drh tags: trunk)
11:11
Null-terminate the strings array passed to Tcl_GetIndexFromObj. Bug reported on the mailing list. (CVS 2596) (check-in: 3a7918a66b user: drh tags: trunk)
2005-08-14
20:47
General code cleanup resulting in smaller footprint. (CVS 2595) (check-in: 98338abf9e user: drh tags: trunk)
17:53
Split the sqlite3_complete() API out into a separate source file so that in static links where it is not used it will not take up space in the resulting binary. (CVS 2594) (check-in: 62b87751de user: drh tags: trunk)
01:34
Declare local-use functions as static. Ticket #1363. (CVS 2593) (check-in: 94efd79088 user: drh tags: trunk)
01:20
The case_sensitive_like pragma added. Test cases added for the LIKE optimization. (CVS 2592) (check-in: 72ee21c05e user: drh tags: trunk)
2005-08-13
18:15
Provide grave accent quoting of identifiers for MySQL compatibility. Ticket #1337. (CVS 2591) (check-in: 6b7a4e9752 user: drh tags: trunk)
17:17
Give the same access permissions to journal files as is given to databases. (CVS 2590) (check-in: 7961ec0ccb user: drh tags: trunk)
16:13
Disable an overzealous optimization the omitted sorting on a join if the first table gave a unique result. The sort can only be omitted if all tables in the join are unique. Ticket #1358. (CVS 2589) (check-in: 4f07661279 user: drh tags: trunk)
13:40
Fix a comment in printf. (CVS 2588) (check-in: 1054685f15 user: drh tags: trunk)
13:39
Additional cleanup and optimization of the printf function. (CVS 2587) (check-in: 240bb04900 user: drh tags: trunk)
12:59
Add the "!" flag to the "%g" mprintf conversion parameter to force a decimal point. This prevents floating point values from appearing as integers. Use this flag when converting floating point to text. Ticket #1362. (CVS 2586) (check-in: 4b98dace6b user: drh tags: trunk)
03:07
Make the round() function work correctly on numbers with very large exponents. Ticket #1340. (CVS 2585) (check-in: 4f47c3c884 user: drh tags: trunk)
00:56
Fix a memory leak that occurs when a CREATE TABLE that contains a DEFAULT VALUE fails due to a name conflict. Tickets #1356 and #1357. (CVS 2584) (check-in: 25cfe9390d user: drh tags: trunk)
2005-08-12
23:20
3rd argument to sqlite3Error() should always be a format string, never user-supplied error message text. Ticket #1354. (CVS 2583) (check-in: d6146a542a user: drh tags: trunk)
22:58
Improved error message when a #NNN parameter appears on user input. Additional coverage testing. (CVS 2582) (check-in: 3c00f5982a user: drh tags: trunk)
22:56
Optimize LIKE and GLOB operators in the WHERE clause. Code passes all regression tests but still needs additional tests. (CVS 2581) (check-in: 3edbe8d621 user: drh tags: trunk)
2005-08-11
02:10
Improve the error message associated with SQLITE_FULL. Ticket #1353. Also remove error messages for obsolete error codes SQLITE_INTERNAL, SQLITE_NOTFOUND, and SQLITE_TOOBIG. (CVS 2580) (check-in: fa7403c7d9 user: drh tags: trunk)
01:25
Add 2005 open source award badge and news announcement. (CVS 2579) (check-in: 8e007f8c06 user: drh tags: trunk)
2005-08-05
18:50
Make sure the .import command strips newlines off the end of the last field in each line imported. Ticket #1348 (CVS 2578) (check-in: 73fafd2148 user: drh tags: trunk)
2005-08-02
21:42
Comment out the use of memory high-water marks when not compiling with SQLITE_MEMDEBUG. (CVS 2577) (check-in: fb7a258fd3 user: drh tags: trunk)
17:48
Minor refactoring of the new optimizer code. (CVS 2576) (check-in: 868322f7b7 user: drh tags: trunk)
17:38
Update the documentation for the new transaction method on the TCL interface. (CVS 2575) (check-in: 3dc823a0ac user: drh tags: trunk)
17:15
Tests and bug fixes on the new transaction method in the TCL interface. (CVS 2574) (check-in: 68dd0ed5e3 user: drh tags: trunk)
17:13
Fix a bug in the btree balancer. ticket #1346. (CVS 2573) (check-in: 3af69a4928 user: drh tags: trunk)
12:21
Add the "transaction" coommand to the TCL interface. Untested. (CVS 2572) (check-in: a5ce6c58c3 user: drh tags: trunk)
2005-07-29
19:43
Fix problems caused by over-agressive optimization of ORDER BY in joins. Lots more testing needed. (CVS 2571) (check-in: 1a4e526d46 user: drh tags: trunk)
15:36
Fix authentication so that it works with AS aliases. Ticket #1338. (CVS 2570) (check-in: cc7ae73ed0 user: drh tags: trunk)
15:10
Optimizer now converts OR-connected WHERE-clause terms into an IN operator so that they can be used with indices. There are known problems with the ORDER BY optimization in this and in several prior check-ins. This check-in is not recommended for production use. (CVS 2569) (check-in: d23c8bf81e user: drh tags: trunk)
2005-07-28
23:12
The BETWEEN operator in a WHERE clause is now able to use indices. (CVS 2568) (check-in: cdf8c9584b user: drh tags: trunk)
20:51
Test cases and tuning of the new optimizer code. (CVS 2567) (check-in: 4b02703dec user: drh tags: trunk)
16:51
The new optimizer now passes all regression tests. (CVS 2566) (check-in: a212128433 user: drh tags: trunk)
2005-07-27
20:41
More work on the new optimizer. Fewer tests fail now. (CVS 2565) (check-in: ee3a08e353 user: drh tags: trunk)
2005-07-23
22:59
A new optimizer that breaks a lot of tests. But none of them critically, I think. Nevertheless, there is a lot of work ahead to stabilize the code. (CVS 2564) (check-in: 86ce56ccea user: drh tags: trunk)
14:52
Store the total number of rows as part of the ANALYZE statistics. (CVS 2563) (check-in: 868279c78e user: drh tags: trunk)
03:18
The results of ANALYZE are now loaded into internal data structures where they can be used. But they are not actually used yet. (CVS 2562) (check-in: 1996bacfb9 user: drh tags: trunk)
02:17
Full-coverage testing and documentation for the ANALYZE command. The results of analysis are still not loaded or used, however. (CVS 2561) (check-in: bd7583a5d6 user: drh tags: trunk)
00:41
First code for the ANALYZE command. Mostly untested. The analysis is not loaded into the symbol tables and is not used by the optimizer. (CVS 2560) (check-in: a4886b114d user: drh tags: trunk)
2005-07-22
23:56
Clarify the meaning of the TEMP keyword on CREATE TABLE. (CVS 2559) (check-in: 1a573619f5 user: drh tags: trunk)
22:53
Correct the documentation to show that sqlite3_column_text() returns a NULL pointer (not an empty string) when the column value is NULL. The same goes for sqlite3_column_blob(). Ticket #1334. (CVS 2558) (check-in: fd1e013a14 user: drh tags: trunk)
00:31
Begin adding code to support multiple IN constraints on the same index. (CVS 2557) (check-in: 103f8ccb90 user: drh tags: trunk)
2005-07-21
18:23
Split the OP_Integer opcode into OP_Integer and OP_Int64. This allows comments to be added to OP_Integer. Cleanup in the optimizer. Allow terms of the FROM clause to be reordered automatically. (CVS 2556) (check-in: e2f822ac82 user: drh tags: trunk)
03:48
Add comments to test cases. Improvements to the query plan test variable. (CVS 2555) (check-in: ef3a157f46 user: drh tags: trunk)
03:15
In where.c, split out the code that selects an index into a separate subroutine. (CVS 2554) (check-in: c30cbba9ea user: drh tags: trunk)
2005-07-20
14:31
Extra memory usage instrumentation added. (CVS 2553) (check-in: ac669f56c0 user: drh tags: trunk)
2005-07-19
22:22
More refactoring in where.c. (CVS 2552) (check-in: a35bd50af8 user: drh tags: trunk)
17:38
Refactoring of the query optimizer in advance of adding better optimization. (CVS 2551) (check-in: 57c6bd3760 user: drh tags: trunk)
2005-07-16
13:33
Allow an unlimited number of terms in the WHERE clause. The old limit was 100. (CVS 2550) (check-in: ca69f36832 user: drh tags: trunk)
2005-07-15
23:24
Fix bugs in the new query plan instrumention logic. (CVS 2549) (check-in: 578490c913 user: drh tags: trunk)
13:05
Add test instrumentation that will be needed during the development of forthcoming optimizer enhancements. (CVS 2548) (check-in: dfd5fd77b0 user: drh tags: trunk)
2005-07-09
23:11
Add remark in the changelog that mentions 64-bit alignment fixes in 3.2.2. (CVS 2547) (check-in: ead583cfad user: drh tags: trunk)
02:39
Fix a comment error. No changes to code. Ticket #1320. (CVS 2546) (check-in: e050af70ad user: drh tags: trunk)
02:38
Use the internal sqlite3_snprintf function instead of sprintf to avoid cross-platform incompatibilities. Ticket #1316. (CVS 2545) (check-in: 431999da7b user: drh tags: trunk)
02:23
Patch to Makefile.in so that it works with OS X. Ticket #1292. (CVS 2544) (check-in: 0dfabca641 user: drh tags: trunk)
02:16
Make sure there is only one busy counter. Ticket #1315. (CVS 2543) (check-in: af2a0ba4a3 user: drh tags: trunk)
2005-07-08
18:25
Allow the IN operator to take a list of arbitrary expressions on its right-hand side. The expressions no longer need to be constant. The current implementation seems to work but needs more testing and optimization. (CVS 2542) (check-in: ba56478dd8 user: drh tags: trunk)
17:13
Change the name of the OpenTemp opcode to OpenVirtual which is more descriptive of what it does. (CVS 2541) (check-in: 3bb9ce5f20 user: drh tags: trunk)
14:14
Add the EP_OptOnly flag on expressions for WHERE clause terms that are added by the optimizer but should not be coded. (CVS 2540) (check-in: f4a66ed04d user: drh tags: trunk)
13:53
Add the SQLITE_CASE_SENSITIVE_LIKE compile-time option. (CVS 2539) (check-in: b72bff81f9 user: drh tags: trunk)
13:08
Replace OP_List with OP_Fifo. This is the first step toward allowing recursive delete triggers and later foreign keys with cascading deletes. (CVS 2538) (check-in: 94c120bb78 user: drh tags: trunk)
12:13
Add infrastructure for the ANALYZE command. Does not yet actually do anything. (CVS 2537) (check-in: 05b6ac9a76 user: drh tags: trunk)
2005-07-06
13:51
Fix a quoting problem in the configure script. (CVS 2536) (check-in: b34647a2eb user: drh tags: trunk)
2005-07-01
11:38
Fix typos in comments. No changes to code. (CVS 2535) (check-in: d3b03495a4 user: drh tags: trunk)
2005-06-30
17:04
Allow the DEFAULT value of a column to be obtained by calling a function that has constant arguments, such as julianday('now'). (CVS 2534) (check-in: d273766ef2 user: drh tags: trunk)
2005-06-29
17:24
Check for zero-byte allocations in sqlite3MallocRaw. (CVS 2533) (check-in: 78cb8a9a17 user: drh tags: trunk)
15:33
Make sqlite3Malloc always return NULL when the number of bytes to allocate is 0. (CVS 2532) (check-in: 657d74ebc1 user: drh tags: trunk)
2005-06-26
20:00
Update SQL syntax documentation to describe the new CAST expressions. (CVS 2531) (check-in: d5392866bf user: drh tags: trunk)
17:55
Tcl interface uses Tcl_Objs to implement user-defined functions, thus allowing BLOB values to be transferred correctly. Ticket #1304. (CVS 2530) (check-in: 514aaab3f9 user: drh tags: trunk)
2005-06-25
19:42
Documentation fixes. Ticket #1306. (CVS 2529) (check-in: 3dcdb7942e user: drh tags: trunk)
19:31
The TCL interface binds variables as BLOB only if they have a bytearray representation but no text representation. Ticket #1287. (CVS 2528) (check-in: 8c99dca60a user: drh tags: trunk)
18:42
Remove the blob(), text() and numeric() functions added in (2524) and replace them with the standard CAST operator. Ticket #1287. (CVS 2527) (check-in: 17631785f9 user: drh tags: trunk)
2005-06-24
03:53
NULL values in a row of a unique index cause the row to be distinct. Ticket #1301. More testing and optimization needs to be done on this before closing the ticket. (CVS 2526) (check-in: 06a71b162b user: drh tags: trunk)
2005-06-23
03:15
Make sure the String8 opcode always has a non-null P3 argument in the foreign_key_list pragma. Ticket #1297. (CVS 2525) (check-in: bcf62dc7a1 user: drh tags: trunk)
2005-06-22
10:53
Add built-in functions numeric(), text(), and blob() that coerce types. Ticket #1287. (CVS 2524) (check-in: affb0fa2e8 user: drh tags: trunk)
08:48
Allow parameters to be introduced by characters ':', '$' and '#'. This is an experimental change. (CVS 2523) (check-in: f3427a139c user: drh tags: trunk)
02:36
Fix a bug in an assert found while investigating ticket #1287 but otherwise unrelated to that problem. (CVS 2522) (check-in: 60f752ed18 user: drh tags: trunk)
2005-06-16
19:48
Change the documentation to explain that a database handle can only be used in the same thread in which it was created. Ticket #1272. (CVS 2521) (check-in: 59c95731f7 user: drh tags: trunk)
18:47
Fix the THREADSAFE macro in Makefile.in. We really need to rework the whole autoconf build system.... (CVS 2520) (check-in: 98a4de76e0 user: drh tags: trunk)
16:51
Change to Makefile.in to fix a problem with the Borland linker. Ticket #1291. (CVS 2519) (check-in: bc25397735 user: drh tags: trunk)
2005-06-15
18:07
Fix to the "make doc" makefile target. Ticket #1289. (CVS 2518) (check-in: 4713b1e104 user: drh tags: trunk)
17:47
Changes to the unix OS layer aimed at finding and fixing tickets #1272 and #1285. (CVS 2517) (check-in: 006dda3119 user: drh tags: trunk)
2005-06-14
17:47
Fix an NDEBUG versus SQLITE_DEBUG confusion issue. (CVS 2516) (check-in: 833c016023 user: drh tags: trunk)
16:04
Provide the SQLITE_FILE_HEADER command-line option for changing the text that appears at the beginning of databases. (CVS 2515) (check-in: 3d7ee5b92d user: drh tags: trunk)
02:24
Fix a bug in the default busy handler for systems that lack usleep(). Ticket #1284. (CVS 2514) (check-in: a42cb81d11 user: drh tags: trunk)
02:12
Do not record existance the sqlite_sequence table until it is actually created. Ticket #1283. (CVS 2513) (check-in: 95256d953c user: drh tags: trunk)
2005-06-13
00:48
Fix documentation typo. Ticket #1282. (CVS 2512) (check-in: ce6b62fa46 user: drh tags: trunk)
2005-06-12
23:17
Version 3.2.2 (CVS 2511) (check-in: 0e190e9d91 user: drh tags: trunk)
23:16
Update the EXPORT definitions list to include the latest additions to the API. (CVS 2510) (check-in: 44e54b132e user: drh tags: trunk)
22:23
Updates in preparation for the release of version 3.2.2. (CVS 2509) (check-in: e9602c4a9d user: drh tags: trunk)
22:12
Fix documentation typos. (CVS 2508) (check-in: 41049062cd user: drh tags: trunk)
22:01
Documentation updates (ticket #1279). Add the sqlite3_db_handle API. (ticket #1275). (CVS 2507) (check-in: 21d44fa5e7 user: drh tags: trunk)
21:35
Update older opcode names to be more meaningful in light of the latest code design. (CVS 2506) (check-in: 36f2da1f8d user: drh tags: trunk)
12:01
Elminiate a VM opcode that was no longer needed. (CVS 2505) (check-in: 97b348a5ad user: drh tags: trunk)
2005-06-07
22:22
Changes to support linking without a parser and without a disk I/O interface. (CVS 2504) (check-in: 62a7353d4a user: drh tags: trunk)
20:07
In the documentation, amplify the fact that encodings cannot be changed on a database that already exists. Ticket #1277. (CVS 2503) (check-in: 4704f3a19a user: drh tags: trunk)
09:21
Remove SSE vacuum hook. (CVS 2502) (check-in: 59960a5915 user: danielk1977 tags: trunk)
07:58
Add "#ifndef OMIT_DISKIO" condition around sqlite3_opentemp_count variable in test interface code. (CVS 2501) (check-in: f2ce662e81 user: danielk1977 tags: trunk)
02:12
Add tests to make sure statement journals are only opened when necessary. (CVS 2500) (check-in: 914d6e6549 user: drh tags: trunk)
01:43
Do not open a statement journal unless absolutely necessary. (CVS 2499) (check-in: 989573a53b user: drh tags: trunk)
2005-06-06
21:19
Reference count Table structures so that they are not deallocated too soon. Ticket #1210. (CVS 2498) (check-in: e73d25c741 user: drh tags: trunk)
17:54
Return SQLITE_MISUSE when passing a NULL pointer into sqlite3_bind routines. Ticket #1219. (CVS 2497) (check-in: 12c32f139b user: drh tags: trunk)
17:27
Any non-zero value is considered TRUE in a WHERE clause. Ticket #1211. (CVS 2496) (check-in: 0f7af62379 user: drh tags: trunk)
17:11
Avoid ambiguous column name errors when the column name is in the USING clause of a join. Ticket #743. (CVS 2495) (check-in: 6a51bdeeff user: drh tags: trunk)
16:59
Naming the join columns in the result set of a natural join does not result in an "ambiguous column name" error. Ticket #1217. (CVS 2494) (check-in: 265fb6079c user: drh tags: trunk)
16:34
Honor the full_column_names pragma on * results. Ticket #1263. (CVS 2493) (check-in: 0d57f851ae user: drh tags: trunk)
15:32
Do not allow parameters in VIEW definitions. Ticket #1270. (CVS 2492) (check-in: 0d46289f02 user: drh tags: trunk)
15:07
Handle failures of getcwd() without segfaulting. Ticket #1274. (CVS 2491) (check-in: c1bd0a150c user: drh tags: version_2)
15:06
Handle failures of getcwd() without segfaulting. Ticket #1274. (CVS 2490) (check-in: c1691004d6 user: drh tags: trunk)
14:45
Fix a bug in the malloc2 tests introduced by checkin (2473). (CVS 2489) (check-in: fafaa18eea user: drh tags: trunk)
2005-05-29
14:23
Omit a couple of test cases if the library is compiled without subqueries. (CVS 2488) (check-in: 6bc3729783 user: danielk1977 tags: trunk)
2005-05-27
09:41
Minor changes to help build and test SSE. (CVS 2487) (check-in: 3ac4a212bd user: danielk1977 tags: trunk)
2005-05-26
16:23
Add an experimental sqlite3_get_autocommit() API used to test whether or not changes are committed automatically. (CVS 2486) (check-in: 4a7f127585 user: drh tags: trunk)
15:20
Add a -cleanup option to Tcl test proc do_ioerr_test. (CVS 2485) (check-in: b0a898c05a user: danielk1977 tags: trunk)
14:41
If SSE is enabled, set the P1 field of OP_AggInit instructions to the number of arguments that will be passed to the aggregate function. (CVS 2484) (check-in: 7f67b9f0f3 user: danielk1977 tags: trunk)
12:37
Fix minor problems with the SSE hooks. (CVS 2483) (check-in: 3516ca29da user: danielk1977 tags: trunk)
2005-05-25
10:45
Rearrange code so that SSE can invoke the collation factory. (CVS 2482) (check-in: ea061d2ed3 user: danielk1977 tags: trunk)
04:11
Split main.c into two files to make building without the parser easier. (CVS 2481) (check-in: d50915fafb user: danielk1977 tags: trunk)
2005-05-24
20:19
Remove the config.h file from the build. Ticket #1224. (CVS 2480) (check-in: 3e64f1ab41 user: drh tags: trunk)
12:01
Move a few things around to make building without the parser easier. (CVS 2479) (check-in: 5fadb464eb user: danielk1977 tags: trunk)
2005-05-23
17:26
The REGEXP operator is recognized. It tries to invoke a function named regexp() which does not exist in the native build. But users who want to can add an appropriate regexp() function using sqlite3_create_function(). (CVS 2478) (check-in: 42a626ace1 user: drh tags: trunk)
15:06
Make sure that the use of a double-quoted string literal does not trick the optimizer into using a correlated subquery when a static subquery would suffice. (CVS 2477) (check-in: ef4059e3af user: drh tags: trunk)
13:00
Retain the error string if an error is generated by SSE during a VACUUM. (CVS 2476) (check-in: f7b76d02e0 user: danielk1977 tags: trunk)
04:51
Add pFetch variable (used by SSE) to sqlite3 structure. (CVS 2475) (check-in: 2a8ac86967 user: danielk1977 tags: trunk)
2005-05-22
20:30
The cache_size pragma should not reset the synchronous pragma. Ticket #1260. (CVS 2474) (check-in: 2db2b32f26 user: drh tags: trunk)
20:12
Never user a pointer to standard library routines malloc() and free(). This rule is to work around limitations of MSVC and the _fastcall calling convention. Ticket #1256. (CVS 2473) (check-in: a39c446726 user: drh tags: trunk)
19:21
Fix a memory leak. Ticket #1259. (CVS 2472) (check-in: 254ac2213e user: drh tags: trunk)
10:44
Add hook to register SSE user-functions. (CVS 2471) (check-in: 20bd303e8c user: danielk1977 tags: trunk)
06:49
Allow schema objects beginning with sqlite_ to be created if the SQLITE_WriteSchema flag is set. (CVS 2470) (check-in: afc8ce42b6 user: danielk1977 tags: trunk)
2005-05-21
18:32
Speed improvements as described by tickets #1257 and #1258. These changes help some but are nowhere near the 23% claimed in the tickets. (CVS 2469) (check-in: 3fa177c54a user: drh tags: trunk)
02:48
More structure rearrangements for additional size reductions. Ticket #1253. (CVS 2468) (check-in: 6b6e525b29 user: drh tags: trunk)
2005-05-20
20:11
Reorder structure fields to reduce code footprint. Ticket #1253. Need to do more of this. (CVS 2467) (check-in: 27025613bc user: drh tags: trunk)
20:01
Do not allow the pagesize of :memory: databases to be changed. Silently ignore PRAGMA page_size=N requests for :memory: databases. Ticket #1144 and #1252. (CVS 2466) (check-in: f29a1d8826 user: drh tags: trunk)
19:36
Comment changes in vdbeapi.c (CVS 2465) (check-in: ab7805fb2f user: drh tags: trunk)
09:40
Fix memory leaks in Tcl user function interface. (CVS 2464) (check-in: f5d9a8061a user: danielk1977 tags: trunk)
2005-05-19
08:43
Always use a more specific type (P3_FUNCDEF) instead of P3_POINTER as the P3 type of a vdbe instruction. (CVS 2463) (check-in: 79a41674be user: danielk1977 tags: trunk)
01:26
Fix an array index that is out of bounds. Ticket #1251. (CVS 2462) (check-in: bcf87e4d16 user: drh tags: trunk)
2005-05-17
11:25
Provide a compile-time parameter to set the default file creation permissions under Unix. Ticket #1247. (CVS 2461) (check-in: bfa55bec32 user: drh tags: trunk)
2005-05-16
22:37
Fix an uninitialized variable. Ticket #1244. (CVS 2460) (check-in: 582cb77d72 user: drh tags: trunk)
02:13
Modify documentation to explain default value of "pragma synchronous". No code changes. (CVS 2459) (check-in: 453014421e user: danielk1977 tags: trunk)
2005-05-11
14:28
Change to the lemon parser suggested by Geert Janssen. Appears to have no impact on SQLite. (CVS 2458) (check-in: 6fda60083f user: drh tags: trunk)
2005-05-10
16:11
Fix a typo in the CREATE TABLE documentation. (CVS 2457) (check-in: 748771a8ad user: drh tags: trunk)
2005-05-06
22:05
Timing fix in the default busy handler. (CVS 2456) (check-in: 76090ed84c user: drh tags: trunk)
2005-05-05
18:14
Patch to fix an alignment problem on sparc. Ticket #1234. (CVS 2455) (check-in: 240cce10d4 user: drh tags: trunk)
11:04
Fix a datatype in trigger6.test that changed due to the previous check-in. (CVS 2454) (check-in: c2af7d2c94 user: drh tags: trunk)
10:30
In the TCL interface, user-defined functions preserve the datatype returned by the Tcl procedure. (CVS 2453) (check-in: 99dcba1fb1 user: drh tags: trunk)
2005-05-03
12:30
Make sure all data structures have 8-byte alignment - necessary for the sparc architecture and helpful on other 64-bit platforms. Ticket #1232. Also update some comments in build.c. (CVS 2452) (check-in: d9418851ce user: drh tags: trunk)
2005-05-01
22:52
Remove the psAligned value from the BTree structure - the pageSize is now always aligned to an 8-byte boundary. Add comments on a confusing bit of code. Ticket #1231. (CVS 2451) (check-in: 535523e1be user: drh tags: trunk)
2005-04-29
02:10
Prevent a segfault described by ticket #1229. (CVS 2450) (check-in: 0667eae9a9 user: drh tags: trunk)
2005-04-28
19:03
Add hooks for the SSE extension. (CVS 2449) (check-in: 90f4cf2ad5 user: drh tags: trunk)
17:18
Enhancements to allow for extensions. (CVS 2448) (check-in: 6863703abc user: drh tags: trunk)
12:06
Fix an array index bug in the default busy callback handler. Ticket #1198. (CVS 2447) (check-in: 3cc14b7606 user: drh tags: trunk)
2005-04-22
02:38
Remove some vestigal code. Add the experimental sqlite3_transfer_bindings() API. (CVS 2446) (check-in: 88b39436f0 user: drh tags: trunk)
2005-04-15
12:04
Correctly store large integers. Ticket #1212. (CVS 2445) (check-in: 00e20690bb user: drh tags: trunk)
2005-04-08
19:48
Added tests to exercise delete, insert, and update triggers on views (tkt #1169) (CVS 2444) (check-in: 6cd19ddcba user: kwel tags: trunk)
16:08
Fixed stack growth in update trigger on views (tkt #1169) (CVS 2443) (check-in: 99fcd5561b user: kwel tags: trunk)
16:07
Fixed stack growth in delete trigger on views (tkt #1169) (CVS 2442) (check-in: 1a757ba132 user: kwel tags: trunk)
2005-04-03
23:54
Apply Tcl 'nullvalue' patch from Stefan Finzel. (CVS 2441) (check-in: 9906ae37b9 user: danielk1977 tags: trunk)
2005-04-01
16:29
Documentation updates. (CVS 2440) (check-in: 7e6f688d46 user: drh tags: trunk)
10:47
Make the ORDER BY clause return equal elements in the same order they were seen (a stable sort). It was returning them in exactly the reverse order. (CVS 2439) (check-in: e8391491a6 user: drh tags: trunk)
2005-03-31
22:26
Add a "const" declaration to a constant. Fix a typo in a comment. (CVS 2438) (check-in: 67aaa26906 user: drh tags: trunk)
21:02
Update comments and documentation to give the true maximum page size as 32K, not 64K as was previously (and erroneously) reported. Ticket #1194. (CVS 2437) (check-in: 58dd436b65 user: drh tags: trunk)
18:40
Make sure integer primary keys larger than 2^31 are handled properly. Ticket #1188. (CVS 2436) (check-in: 1d04c2ab29 user: drh tags: trunk)
18:26
Fix a memory leak in the TCL bindings. (CVS 2435) (check-in: c31ea6332f user: drh tags: trunk)
2005-03-29
23:34
Fix a problem with threads and the global database list in main.c. (CVS 2434) (check-in: 4aa05d2251 user: danielk1977 tags: trunk)
13:37
Version 3.2.1 (CVS 2433) (check-in: 844f01af72 user: drh tags: trunk)
13:19
Change the date of the 3.2.1 release. (CVS 2432) (check-in: afa42e2fa4 user: drh tags: trunk)
13:18
Fix minor display bugs in sqlite3_analyzer. (CVS 2431) (check-in: d89aaba5b0 user: drh tags: trunk)
13:17
Fix a C++-ism in the code. (CVS 2430) (check-in: 312587acf9 user: drh tags: trunk)
13:07
Change 'stack' to the more descriptive 'no-push' in vdbe.c. (CVS 2429) (check-in: 7e54d3c728 user: danielk1977 tags: trunk)
08:26
Reduce the space allocated for the runtime virtual machine stack. (CVS 2428) (check-in: 7d6818da33 user: danielk1977 tags: trunk)
03:10
Add the SQLITE_OMIT_TEMPDB compile time macro. (CVS 2427) (check-in: c41d55443c user: danielk1977 tags: trunk)
02:54
Fix segfault due to exception handler being run with uninitialised variable. (CVS 2426) (check-in: 78df3d0404 user: danielk1977 tags: trunk)
2005-03-28
18:04
Fix another memory leak in the pager. (CVS 2425) (check-in: 4ca11ca015 user: drh tags: trunk)
16:56
Increment version number and update documentation in preparation for version 3.2.1. (CVS 2424) (check-in: b0409b9310 user: drh tags: trunk)
16:50
Changes to alter3.test to allow it to work with a codec. (CVS 2423) (check-in: 9e856bab2b user: drh tags: trunk)
08:44
Modifications to reduce memory consumption. (CVS 2422) (check-in: 0fd5ce4eef user: danielk1977 tags: trunk)
03:39
Fix some memory leaks that occur after a malloc failure. (CVS 2421) (check-in: bcb5d72ef1 user: drh tags: trunk)
00:07
Use SQL function substr() correctly from ALTER TABLE code. Ticket #1182. (CVS 2420) (check-in: ccb9f4022b user: danielk1977 tags: trunk)
2005-03-27
01:56
Correctly allocate new columns array in ALTER TABLE .. ADD COLUMN. Ticket #1183. (CVS 2419) (check-in: 3c86e63389 user: danielk1977 tags: trunk)
2005-03-23
01:48
Fix a typo in vdbeInt.h. This was potentially a serious mistake, but we got lucky and it is benign. (CVS 2418) (check-in: f0d64dc8aa user: drh tags: trunk)
01:05
Fix typo in the formatchng.html document. (CVS 2417) (check-in: 35ace66f3e user: drh tags: trunk)
2005-03-21
19:51
Version 3.2.0 (CVS 2415) (check-in: debf40e8ff user: drh tags: trunk)
19:48
Documentation changes prior to the release of version 3.2.0. (CVS 2416) (check-in: cc5a2c8e5d user: drh tags: trunk)
04:04
Add function to recover from a malloc() failure. (CVS 2414) (check-in: 1f9d10d796 user: danielk1977 tags: trunk)
03:53
Assorted fixes to the handling of various malloc() failures. (CVS 2413) (check-in: e7844a01c2 user: danielk1977 tags: trunk)
01:31
Update docs to say that the default_synchronous pragma has been removed. Ticket #1049. (CVS 2412) (check-in: 21012bba17 user: drh tags: trunk)
01:24
fix typo in CREATE VIEW documentation. Ticket #1135. (CVS 2411) (check-in: 38897a509a user: drh tags: trunk)
01:20
Fix an infinite loop in the code generator for INSERT. Ticket #1140. (CVS 2410) (check-in: 876d09d914 user: drh tags: trunk)
00:47
README file updated to suggest running "make install". Ticket #1168. (CVS 2409) (check-in: b48784cf65 user: drh tags: trunk)
00:43
Allow the character "T" between date and time in ISO-8601 date/time formats. Ticket #1170. (CVS 2408) (check-in: 2bf88daa57 user: drh tags: trunk)
00:36
Improved support for cygwin. Ticket #1165. (CVS 2407) (check-in: fcb5cee440 user: drh tags: trunk)
00:28
Fix a formatting error in the syntax documentation. Ticket #1145. (CVS 2406) (check-in: 59892be6a4 user: drh tags: trunk)
2005-03-20
23:18
Fix for ticket #1167 (CVS 2405) (check-in: d9aa0aa9ae user: drh tags: trunk)
22:54
Do not attempt to read the journal file on windows because manditory locking on windows will not allow it. Ticket #1166. (CVS 2404) (check-in: 1865e0d81c user: drh tags: trunk)
22:47
More changes for ticket #1171 after additional analysis. (CVS 2403) (check-in: 0471d6b86f user: drh tags: trunk)
19:10
Tentative fix for ticket #1171. More research and testing needed. (CVS 2402) (check-in: f0a39cee78 user: drh tags: trunk)
2005-03-19
15:10
More documentation updates. (CVS 2401) (check-in: f065b6102d user: drh tags: trunk)
14:45
Preparations for the release of version 3.2.0. (CVS 2400) (check-in: 90a00e9066 user: drh tags: trunk)
03:41
Fix typos in documentation. (CVS 2399) (check-in: aee888ca58 user: drh tags: trunk)
01:41
Updates to comments and documentation. No changes to code. (CVS 2398) (check-in: e53c77268c user: drh tags: trunk)
2005-03-18
14:03
Remove unused code from util.c. Enhance the trace output in os_unix.c. (CVS 2397) (check-in: f2f31919fd user: drh tags: trunk)
2005-03-17
12:33
Fixed a typo in alter3.test. (CVS 2396) (check-in: 698be25d3e user: drh tags: trunk)
07:00
Don't run the tests in alter3.test if SQLITE_OMIT_ALTERTABLE is defined. (CVS 2395) (check-in: 800fb3bf06 user: danielk1977 tags: trunk)
05:06
Update to keyword list for ALTER TABLE ... ADD COLUMN command. (CVS 2394) (check-in: 173e26961f user: danielk1977 tags: trunk)
05:03
Add the ALTER TABLE ... ADD COLUMN command. (CVS 2393) (check-in: 94185dd4f7 user: danielk1977 tags: trunk)
04:01
Version 3.1.6 (CVS 2392) (check-in: 6a3f4e4be6 user: drh tags: trunk)
03:52
Strengthen an assert() in vdbe.c. (CVS 2391) (check-in: 3f45cf3516 user: drh tags: trunk)
03:33
Preparing for the release of 3.1.6. (CVS 2390) (check-in: 45cbf27e80 user: drh tags: trunk)
03:15
Fix a bug in the calculation of the table record header size. Ticket #1163. (CVS 2389) (check-in: bf82a04ff7 user: drh tags: trunk)
2005-03-16
12:15
Fix some memory leaks that can occur if a memory allocation fails. (CVS 2388) (check-in: 9a358fc33d user: danielk1977 tags: trunk)
2005-03-15
17:09
When creating a new database, delete any preexisting journal that might be left over from a prior database with the same name. Ticket #1152. (CVS 2387) (check-in: 856e2ec968 user: drh tags: trunk)
02:04
Allow the database name in a DETACH statement to be quoted. Ticket #1151. (CVS 2386) (check-in: 24e8877352 user: drh tags: trunk)
2005-03-14
02:01
Be more aggressive about using the busy handler. Ticket #1159. (CVS 2385) (check-in: 644c6398e5 user: drh tags: trunk)
2005-03-12
18:03
Fix typo in documentation. (CVS 2384) (check-in: 78012246fc user: drh tags: trunk)
15:55
Documentation updates. Added the "distinctive features" page. (CVS 2383) (check-in: 33a0191638 user: drh tags: trunk)
2005-03-11
18:06
Version 3.1.5 (CVS 2382) (check-in: b1792ae516 user: drh tags: trunk)
18:06
Disable GNU readline in the build of the command-line shell for linux since some systems (ex: SuSE) do not support it. (CVS 2381) (check-in: baddb06450 user: drh tags: trunk)
17:55
Updates to the homepage prior to 3.1.5. (CVS 2380) (check-in: c78611f620 user: drh tags: trunk)
17:52
Fix bugs discovered in 3.1.4. F_FULLFSYNC not F_FULLSYNC. And a bug in "make doc". Also typos in the documentation. (CVS 2379) (check-in: 3c57a4571f user: drh tags: trunk)
04:53
Version 3.1.4 (CVS 2378) (check-in: 3d070a9b4d user: drh tags: trunk)
04:41
Fixes so that the FULLSYNC changes will build on windows. They do not have any effect, but neither do they cause errors. (CVS 2377) (check-in: ace3e30de1 user: drh tags: trunk)
04:40
Increase the version number to 3.1.4. (CVS 2376) (check-in: e438b65cf9 user: drh tags: trunk)
04:39
Documentation updates for version 3.1.4. (CVS 2375) (check-in: a7261f1590 user: drh tags: trunk)
2005-03-10
17:06
Another case of returning SQLITE_CORRUPT when a corrupt database file is detected. (CVS 2374) (check-in: 8710192797 user: drh tags: trunk)
14:32
Fix a problem with crashtest caused by the F_FULLSYNC change. (CVS 2373) (check-in: f11c6e7452 user: drh tags: trunk)
14:11
Disable F_FULLSYNC if the sychronous pragma is not set to FULL. (CVS 2372) (check-in: 58b8733b96 user: drh tags: trunk)
12:58
Disable the use of ./crashtest in builds that include a codec. (CVS 2371) (check-in: 7e4af62238 user: drh tags: trunk)
12:52
Disable the alter2 tests if there is a codec compiled into the library. (CVS 2370) (check-in: 06a48da67b user: drh tags: trunk)
12:35
Fix a #ifdef in util.c. (CVS 2369) (check-in: f426c625c4 user: drh tags: trunk)
2005-03-09
13:09
Fix a file corruption bug in CREATE INDEX in auto-vacuum databases. (CVS 2368) (check-in: 64c4c717d3 user: danielk1977 tags: trunk)
12:26
Support for a future ALTER TABLE command to add columns with default values. (CVS 2367) (check-in: 9d5abc1ddf user: danielk1977 tags: trunk)
2005-03-02
05:18
Print an error message and quit if the regression tests are run as root. Ticket #1153. (CVS 2366) (check-in: 9b96078763 user: drh tags: trunk)
05:18
Fix the header comment on experimental.c. (CVS 2365) (check-in: 0c4d2b11c9 user: drh tags: trunk)
2005-02-28
01:52
Version 3.1.3.1 (not an official release) (CVS 2364) (check-in: 957333a7b2 user: drh tags: trunk)
01:42
Bump the version number to 3.1.3.1. (CVS 2363) (check-in: 1ca8bbf749 user: drh tags: trunk)
2005-02-26
18:10
Add the SQLITE_OMIT_FLAG_PRAGMAS compile-time option. (CVS 2362) (check-in: c167e90542 user: drh tags: trunk)
17:31
Fix an assertion fault that can occur while autovacuuming a corrupt database file. Add the SQLITE_OMIT_COMPLETE compile-time parameter. (CVS 2361) (check-in: bb0e7e3857 user: drh tags: trunk)
2005-02-24
04:51
Revised man page from Bill Bumgarner. (CVS 2360) (check-in: 5c99bea5a4 user: drh tags: trunk)
2005-02-23
12:35
Remove strcasecmp from shell.c. Tickets #1108, #1122. (CVS 2359) (check-in: 4ae1a9fc2c user: drh tags: trunk)
00:26
The script that cross-compiles the windows DLLs now exports the symbols Tclsqlite_Init and Sqlite_Init used to initialize the TCL extension. Ticket #1137. (CVS 2358) (check-in: f187047774 user: drh tags: trunk)
2005-02-22
09:47
Fix bug reported on the mailing list for WHERE clauses like (rowid<'2'). (CVS 2357) (check-in: b323f0f283 user: danielk1977 tags: trunk)
2005-02-20
02:25
Version 3.1.3 (CVS 2356) (check-in: 36dbf5e929 user: drh tags: trunk)
2005-02-19
13:46
Prepare for the release of 3.1.3. (CVS 2355) (check-in: 5b66631fd4 user: drh tags: trunk)
13:05
Rework parts of the pragma documentation. Ticket #1081. (CVS 2354) (check-in: 25141d9e21 user: drh tags: trunk)
12:44
Add documentation on the EXISTS expression. Ticket #1082. (CVS 2353) (check-in: 76cacb4a39 user: drh tags: trunk)
12:32
Remove duplicate word from documentation. Ticket #1103. (CVS 2352) (check-in: c1fc0a8aa9 user: drh tags: trunk)
08:18
Support for a future file format that includes 'short' records. (CVS 2351) (check-in: 173aeb256e user: danielk1977 tags: trunk)
2005-02-18
01:15
Fix typos in documentation for pragma short_column_names. Ticket #1130. (CVS 2350) (check-in: fac56fa1e0 user: danielk1977 tags: trunk)
2005-02-17
00:03
Compile-time option to limit the size of AUTOINCREMENT rowids to 32-bits. (CVS 2349) (check-in: c5366deaf5 user: drh tags: trunk)
2005-02-16
23:43
Clarify that columns are indexed from 0 when using sqlite3_column_XXX() APIs. No code changes. (CVS 2348) (check-in: d5eb25d8d0 user: danielk1977 tags: trunk)
03:53
The ".dump" method in the shell for version 2 should not sort tables by name because this can put views out of dependency order. Ticket #1124. (CVS 2347) (check-in: b82c06fdd1 user: drh tags: version_2)
03:45
Change to configure.ac contributed by a reader. (CVS 2346) (check-in: 0cd3bf02d2 user: drh tags: trunk)
03:35
Patch the command-line error message printing for lemon. Ticket #1120. (CVS 2345) (check-in: 97c7aaf187 user: drh tags: trunk)
03:27
Get vacuum working on database that used to have autoincrement tables but where all such tables have been dropped. Ticket #1121. (CVS 2344) (check-in: 8f7c639da0 user: drh tags: trunk)
2005-02-15
21:36
Move the special built-in SQL functions used by ALTER TABLE out of func.c and into alter.c. (CVS 2343) (check-in: dbd11a0c58 user: drh tags: trunk)
20:47
Split the logic for the ALTER TABLE command off into a separate source code file. (CVS 2342) (check-in: 90d6573c26 user: drh tags: trunk)
16:23
Btree checks the autovacuum flag after locking the database file. (CVS 2341) (check-in: 6610188f09 user: drh tags: trunk)
16:15
Append the version number to the directory name in source code tarballs. Tickets #793, #855, and #1055. (CVS 2340) (check-in: 138577d0a5 user: drh tags: trunk)
16:04
Update the publish.sh script so that it grabs the correct source tree. (CVS 2339) (check-in: 74684507a0 user: drh tags: version_2)
13:38
Fix a hyperlink bug on the homepage. (CVS 2338) (check-in: 9fd9d9fbee user: drh tags: trunk)
13:08
Version 3.1.2 (CVS 2337) (check-in: e9012d917a user: drh tags: trunk)
13:07
Version 2.8.16 (CVS 2336) (check-in: 2efbbba55a user: drh tags: version_2)
13:07
Updates to the script that generates the download page for the website. (CVS 2335) (check-in: 363590d37f user: drh tags: trunk)
12:56
Update the change log. (CVS 2334) (check-in: 94c3f20e8c user: drh tags: trunk)
12:51
Update the homepage prior to releases 2.8.16 and 3.1.2. (CVS 2333) (check-in: 603bbe47dd user: drh tags: trunk)
03:38
Ensure a database file is not truncated without an exclusive lock. Fix for ticket #1114. (CVS 2332) (check-in: dcbc983355 user: danielk1977 tags: trunk)
02:54
Check that read-only pages are not being modified (disabled by default). (CVS 2331) (check-in: 8514a4feb2 user: danielk1977 tags: trunk)
2005-02-14
20:48
Make sure that when a CREATE INDEX fails, it does not leave a residue behind that can corrupt the database. Ticket #1115. (CVS 2330) (check-in: cbed92f397 user: drh tags: trunk)
06:38
Tighten up the CREATE INDEX syntax accepted by the parser. (CVS 2329) (check-in: 41d2214b83 user: danielk1977 tags: trunk)
05:47
Modifications to the publish.sh script prior to 2.8.16. (CVS 2328) (check-in: affde44317 user: drh tags: version_2)
00:25
Cleanup the vacuum bug fixes in version 2.8. (CVS 2327) (check-in: 5658da7e5a user: drh tags: version_2)
00:21
Fix the vacuum bug in version 2.8. Also prepare for release 2.8.16. (CVS 2326) (check-in: 0eaebad5a0 user: drh tags: version_2)
2005-02-13
23:34
Update the version number in preparation for the release of 3.1.2. (CVS 2325) (check-in: f3c51de759 user: drh tags: trunk)
2005-02-12
08:59
Fix a problem with sub-queries and the flattening optimization. Also handle an extra case of database corruption. (CVS 2324) (check-in: f7858d8830 user: danielk1977 tags: trunk)
00:19
Fix a problem with VACUUM that can lead to database corruption. (CVS 2323) (check-in: 63894baf1b user: drh tags: trunk)
2005-02-09
07:05
Return SQLITE_BUSY if the database is locked reading the schema within sqlite_prepare(). Ticket #1106. (CVS 2322) (check-in: c33c02d606 user: danielk1977 tags: trunk)
03:20
Add experimental collation_list pragma. (CVS 2321) (check-in: f73a8aa34a user: danielk1977 tags: trunk)
01:40
Document SQLITE_DEFAULT_CACHE_SIZE and SQLITE_DEFAULT_TEMP_CACHE_SIZE macros. (CVS 2320) (check-in: ddcea6f889 user: danielk1977 tags: trunk)
2005-02-08
08:42
Fix a buggy interaction between "INSERT ... SELECT" processing and optimization (2170). (CVS 2319) (check-in: c54ad21236 user: danielk1977 tags: trunk)
07:50
Fix for correlated subqueries where the parent is an aggregate. Ticket #1105. (CVS 2318) (check-in: f0d3ca10c5 user: danielk1977 tags: trunk)
2005-02-06
02:45
Add the (highly experimental) omit_readlock pragma that disables the use of readlocks on read-only databases that are connected using ATTACH. (CVS 2317) (check-in: 2155448d21 user: drh tags: trunk)
2005-02-05
12:48
Allow expressions (including variables) in LIMIT and OFFSET clauses. Ticket #1096. (CVS 2316) (check-in: 515e5033a5 user: danielk1977 tags: trunk)
07:33
Add a numeric version number. Ticket #1097. (CVS 2315) (check-in: a9c33a804d user: danielk1977 tags: trunk)
06:49
Detect database corruption in rootpage flags (see also (2313)). (CVS 2314) (check-in: 6d91a1e91b user: danielk1977 tags: trunk)
2005-02-04
21:13
Detect and report a subtle case of database file corruption. (CVS 2313) (check-in: 9fc0a5cbf8 user: drh tags: trunk)
04:07
Remove code for SQL cursors. (CVS 2312) (check-in: 2eb9087055 user: danielk1977 tags: trunk)
2005-02-03
01:08
Get AUTOINCREMENT and VACUUM working together. Ticket #1095. (CVS 2311) (check-in: 332a531d06 user: drh tags: trunk)
00:42
Fix the ".dump" command in the shell so that it works with AUTOVACUUM. This is related to ticket #1095. (CVS 2310) (check-in: 76c4a96c5a user: drh tags: trunk)
00:29
Make sure the rc variable in OsWrite of os_win.c is always initialized. Also assert that the amt parameter is always greater than zero. Ticket #1094. (CVS 2309) (check-in: 4b399ae779 user: drh tags: trunk)
2005-02-02
01:13
Fix a comment in sqlite3.h. No code changes. Ticket #1093. (CVS 2308) (check-in: d1ea2fb70b user: danielk1977 tags: trunk)
01:10
Handle "rowid<=X ORDER BY rowid DESC" where X is an integer. Fix for ticket #1092. (CVS 2307) (check-in: 506088796c user: danielk1977 tags: trunk)
2005-02-01
17:05
Version 3.1.1 (beta) (CVS 2306) (check-in: 2e1c71c468 user: drh tags: trunk)
15:57
Increment the version number to 3.1.1beta. (CVS 2305) (check-in: 076f9868a4 user: drh tags: trunk)
10:36
Space analyzer: Format integer results as integers. Also fix the calculation of average-fanout. (CVS 2304) (check-in: 52e473b946 user: danielk1977 tags: trunk)
10:35
Have debugging code handle sqliteMalloc(n) where n<0 in the same way as production. (CVS 2303) (check-in: ab85e1d012 user: danielk1977 tags: trunk)
04:09
More performance tweaking in the parser. (CVS 2302) (check-in: a3d12726bb user: drh tags: trunk)
03:46
Fix an error introduced with (2299). (CVS 2301) (check-in: 22041d5f26 user: danielk1977 tags: trunk)
03:20
Lemon optimization: When doing a shift following a reduce that pops one or more elements off the stack, no need to check for stack overflow. (CVS 2300) (check-in: adcd9a3fa2 user: drh tags: trunk)
03:09
Avoid allocating a vdbe in sqlite3FinishCoding() if one has not been allocated already. (CVS 2299) (check-in: eaf1866e4d user: danielk1977 tags: trunk)
02:13
Change to sqlite3AffinityType() to remove hex constants. (CVS 2298) (check-in: d8b4b0ef13 user: danielk1977 tags: trunk)
01:40
Tweaks to the keyword hash generator. Tried to make it a little faster. If nothing else, the keyword hash table is now a little smaller. (CVS 2297) (check-in: 4eca6c05ab user: drh tags: trunk)
01:21
Replace sqlite3AffinityType() with a slightly faster version. (CVS 2296) (check-in: abe9f5e81f user: danielk1977 tags: trunk)
2005-01-31
23:45
Performance tweaks for sqlite3AffinityType. (CVS 2295) (check-in: 32b926154a user: drh tags: trunk)
12:56
Move sqlite3HashNoCase to hash.c. (CVS 2294) (check-in: 5c10ccd8e9 user: danielk1977 tags: trunk)
12:42
Assorted minor changes to speed up loading the database schema. (CVS 2293) (check-in: dfbd684a91 user: danielk1977 tags: trunk)
2005-01-30
22:10
User-contributed chagnes to tclinstaller so that it supports DESTDIR. (CVS 2292) (check-in: ab8dbcf563 user: drh tags: trunk)
11:11
Respect collation sequences in views. Ticket #1088. (CVS 2291) (check-in: 9843c0dd79 user: danielk1977 tags: trunk)
09:17
Have the optimization introduced in (2170) deal with OP_NullRow as well as OP_Column and OP_Recno. Fix for #1086. (CVS 2290) (check-in: 356d31e03f user: danielk1977 tags: trunk)
2005-01-29
09:14
Update to test files to support builds with OMIT macros defined. (CVS 2289) (check-in: 808e16a7dd user: danielk1977 tags: trunk)
09:00
Fix a test bug causing a segfault in bind.test. (CVS 2288) (check-in: a8b921d45e user: danielk1977 tags: trunk)
08:36
Update ioerr.test to be more deterministic. (CVS 2287) (check-in: d0b16bae65 user: danielk1977 tags: trunk)
08:32
Modify sub-query handling. Tickets #1083 and #1084. (CVS 2286) (check-in: b1b50f3158 user: danielk1977 tags: trunk)
01:54
Modification to schema.test so that it works with SQLITE_OMIT_TRIGGER and SQLITE_OMIT_UTF16 defined. (CVS 2285) (check-in: 95ecb2745f user: danielk1977 tags: trunk)
2005-01-28
01:29
Make sure the #include of "sqliteInt.h" always comes first in C source files. (CVS 2284) (check-in: 522c094f79 user: drh tags: trunk)
2005-01-27
00:33
Fix a warning introduced by (2280). (CVS 2283) (check-in: dc1b8106c4 user: danielk1977 tags: trunk)
00:33
More changes to improve propagation of SQLITE_CORRUPT errors. (CVS 2282) (check-in: e4b5c16858 user: drh tags: trunk)
00:30
Test that it is ok to execute ALTER TABLE immediately after opening a database connection. (CVS 2281) (check-in: 1d5ebb1146 user: danielk1977 tags: trunk)
00:22
Have REINDEX handle missing collation sequences correctly. (CVS 2280) (check-in: 1c1904f443 user: danielk1977 tags: trunk)
2005-01-26
21:55
Propagate detected database corruption up through the call stack. (CVS 2279) (check-in: 2c54aba5ba user: drh tags: trunk)
17:47
An optimization to sqlite3VdbeSerialType(). (CVS 2278) (check-in: db36773830 user: drh tags: trunk)
10:39
Add an entry to faq.tcl regarding SQLITE_SCHEMA errors. (CVS 2277) (check-in: 12defe8cd6 user: danielk1977 tags: trunk)
03:58
Allow GROUP BY on non-aggregate queries. Ticket #1064 (CVS 2276) (check-in: 0642d3e3d6 user: danielk1977 tags: trunk)
2005-01-25
04:27
Prevent collation sequences and user functions from being deleted or changed while SQL statements are executing. (CVS 2275) (check-in: cabab62bc1 user: danielk1977 tags: trunk)
2005-01-24
23:27
Clarify documentation of DEFAULT CURRENT_TIME etc. (version 3.1.0 and greater only). (CVS 2274) (check-in: 557eb2ec9d user: danielk1977 tags: trunk)
13:03
More test cases to do with invalidating precompiled statements. (CVS 2273) (check-in: b243681a0e user: danielk1977 tags: trunk)
12:46
Use the cache with loading a large table in select2-2.0. (CVS 2272) (check-in: bd65b1805c user: drh tags: trunk)
10:25
Modifications and bugfixes so that the test suite passes with the TCL statement cache turned on. (CVS 2271) (check-in: d5233e0747 user: danielk1977 tags: trunk)
01:38
Flush the TCL statement cache before each lock_status pragma. (CVS 2270) (check-in: 8beae3ff8c user: drh tags: trunk)
00:28
Change the TCL interface so that it can cache VMs and reuse them without recompiling. But for now leave the cache turned off by default. (CVS 2269) (check-in: 8db6bfef52 user: drh tags: trunk)
2005-01-23
23:43
Modification to shell.c to avoid a compiler warning on some compilers. (CVS 2268) (check-in: 0778383b6f user: danielk1977 tags: trunk)
22:41
Minor changes to avoid warnings on some compilers. (CVS 2267) (check-in: 4daf1d1f9d user: danielk1977 tags: trunk)
19:04
Fix a bug in change counting that comes up when sqlite3_finalize() is called right after sqlite3_reset(). (CVS 2266) (check-in: 1a64295e05 user: drh tags: trunk)
13:14
ATTACH and DETACH cause prepared statements to expire. sqlite3_finalize() can now be called right after sqlite3_reset(). (CVS 2265) (check-in: 6c631b86e5 user: drh tags: trunk)
2005-01-22
03:39
Test script changes: Bug fix and cleanup on ioerr tests. Also, don't use TCL "file copy" command on windows. (CVS 2264) (check-in: 764b55adb5 user: danielk1977 tags: trunk)
03:03
Add the experimental sqlite3_expired() API. (CVS 2263) (check-in: df648d50c0 user: drh tags: trunk)
2005-01-21
21:31
Add <stddef.h> to sqliteInt.h. (CVS 2262) (check-in: fede252d19 user: drh tags: trunk)
21:22
More documentation changes. Allow SQLITE_DEFAULT_CACHE_SIZE to set the default cache size for the pager at compile-time. (CVS 2261) (check-in: 2ddb674875 user: drh tags: trunk)
18:28
Version 3.1.0 (alpha) (CVS 2260) (check-in: 45094abe38 user: drh tags: trunk)
18:19
Documentation updates prior to 3.1.0. (CVS 2259) (check-in: fc4f1f13d0 user: drh tags: trunk)
17:53
Initialize the random number generator from /dev/urandom, if available. (CVS 2258) (check-in: aab8e7f8d8 user: drh tags: trunk)
17:07
Change to mkopcodeh.awk to accomodate windows systems. (CVS 2257) (check-in: 39786aa894 user: drh tags: trunk)
17:03
Update change log for version 3.1.0. (CVS 2256) (check-in: 4d9b858746 user: drh tags: trunk)
15:52
Final preparations for the 3.1.0 alpha release. (CVS 2255) (check-in: 17122c7e8e user: drh tags: trunk)
11:55
Improve test coverage for minimum feature builds. (CVS 2254) (check-in: 9c4d0e13e8 user: danielk1977 tags: trunk)
08:13
Exclude a few more lines of code using OMIT macros. (CVS 2253) (check-in: c6fc49e610 user: danielk1977 tags: trunk)
04:25
Modify test scripts to work when SQLITE_OMIT_SUBQUERY (but no other OMIT macros) is defined. (CVS 2252) (check-in: d4e19efcef user: danielk1977 tags: trunk)
03:12
Modify test scripts to work when SQLITE_OMIT_SUBQUERY (along with other OMIT macros) is defined. (CVS 2251) (check-in: bb0254ab14 user: danielk1977 tags: trunk)
02:34
Add a new test file for subqueries. (CVS 2250) (check-in: de8ee3a29e user: drh tags: trunk)
00:44
Change the implementation of ALTER TABLE so that it does not use the IN() operattor. (CVS 2249) (check-in: 06887afb32 user: danielk1977 tags: trunk)
00:22
Fix a segfault that occurs on a corrupt database. (CVS 2248) (check-in: d1166472fd user: drh tags: trunk)
2005-01-20
23:23
Fix comment typo in mkopcodec.awk. (CVS 2247) (check-in: 6177148260 user: drh tags: trunk)
22:48
Bug fixes and enhancements entered while on jury recess. (CVS 2246) (check-in: 38401dfbd5 user: drh tags: trunk)
13:36
Added the SQLITE_OMIT_SUBQUERY compile-time option and the EXISTS operator. Regression tests are currently failing with an assertion fault. (CVS 2245) (check-in: d30fdf0f2c user: drh tags: trunk)
13:03
Remove a few more lines of code when SQLITE_OMIT_** macros are defined. (CVS 2244) (check-in: 417bbba93a user: danielk1977 tags: trunk)
11:32
Extend the influence of a couple of SQLITE_OMIT_** macros a little bit. (CVS 2243) (check-in: 5b1a9bf6aa user: danielk1977 tags: trunk)
05:24
Changes so that crash.test works when SQLITE_OMIT_PAGER_PRAGMAS is defined. (CVS 2242) (check-in: f0add0a60e user: danielk1977 tags: trunk)
02:17
Fix some test scripts so that they work with a minimal build configuration. (CVS 2241) (check-in: d267fb3ca3 user: danielk1977 tags: trunk)
02:14
Turn SQLITE_OMIT_CURSOR on by default. (CVS 2240) (check-in: 2d3ab1ab5a user: drh tags: trunk)
01:51
Expression generator bug fix. (CVS 2239) (check-in: 39cf97a902 user: drh tags: trunk)
01:17
Minor fix for sqlite3_clear_bindings(). (CVS 2238) (check-in: ff5b338cfb user: danielk1977 tags: trunk)
01:14
Add the experimental sqlite3_sleep() and sqlite3_clear_bindings() APIs. (CVS 2237) (check-in: 9480209e86 user: danielk1977 tags: trunk)
2005-01-19
23:24
Continued refactoring of the name resolution logic and query optimizer. (CVS 2236) (check-in: d8b2a7e091 user: drh tags: trunk)
03:52
Another fix along the same lines as (2234) (CVS 2235) (check-in: 27cf83224c user: danielk1977 tags: trunk)
03:47
A few test cases were failing on windows due to mandatory locking. Omit them on that platform. (CVS 2234) (check-in: 441316f1af user: danielk1977 tags: trunk)
2005-01-18
17:40
Make sure USING and NATURAL work on joins even if the columns are renamed using an AS phrase. Ticket #523. (CVS 2233) (check-in: c06add57bf user: drh tags: trunk)
17:20
CREATE TABLE ... AS ... uses short names for columns. Ticket #1036. (CVS 2232) (check-in: b1d4c42d2b user: drh tags: trunk)
16:02
Column names coming back from a SELECT are now just the name of the source column without the "table." prefix. In other words, "PRAGMA short_column_names=ON" is now the default. This makes the names of columns behave more like other SQL engines. The old behavior can be restored by setting "PRAGMA short_column_names=OFF". (CVS 2231) (check-in: 9295050af1 user: drh tags: trunk)
14:45
Continue refactoring name resolution. Fix for ticket #1047. (CVS 2230) (check-in: 88d4834fec user: drh tags: trunk)
04:00
Refinements to the name resolution logic. Change the name of the keywordhash.c file to keywordhash.h. (CVS 2229) (check-in: 0142ae6f00 user: drh tags: trunk)
2005-01-17
22:08
Infrastructure changes to handle name resolution differently. This is needed to fix various long-standing problems with column names in joins. It will also make the implementation of correlated subqueries easier. (CVS 2228) (check-in: 4a7534396a user: drh tags: trunk)
08:57
Fix a bug reported on the mailing list concerning a conflict between "INSERT INTO ... SELECT" statements and the "SELECT max(x) FROM tbl" optimization. (CVS 2227) (check-in: 5a9da62ae3 user: danielk1977 tags: trunk)
07:53
Fix some memory leak problems with corrupt.test and auto-vacuum databases. (CVS 2226) (check-in: 6244252915 user: danielk1977 tags: trunk)
03:42
Add incomplete, preliminary drafts of new documentation. (CVS 2225) (check-in: a01159e8cb user: drh tags: trunk)
03:40
Fix a memory leak that occurs as a result of an IO error. (CVS 2224) (check-in: 1edfdcbf14 user: danielk1977 tags: trunk)
02:12
Change some assert()s that could fail if the database is corrupt to return SQLITE_CORRUPT instead. (CVS 2223) (check-in: 2d58c0afa7 user: danielk1977 tags: trunk)
01:33
Have sqlite3pager_get() return SQLITE_CORRUPT for a page number greater than 2^31. (CVS 2222) (check-in: feb49d10e8 user: danielk1977 tags: trunk)
2005-01-16
23:21
Turn on quick-balance by default. (CVS 2221) (check-in: d0356dee55 user: drh tags: trunk)
20:47
Drop support for MAC OS9. SQLite 3 has never worked for that OS because the developers do not have access to a machine running it and nobody from the community has stepped forward to provide a port. By moving the os_mac.c file into the attic, we make the lack of support official. (CVS 2220) (check-in: de9ad673d0 user: drh tags: trunk)
11:07
Changes to make sure tests work when SQLITE_DEFAULT_AUTOVACUUM is defined. (CVS 2219) (check-in: 6237c294d1 user: danielk1977 tags: trunk)
09:06
Fixes so that compiling and testing works when SQLITE_OMIT_AUTOVACUUM is defined. (CVS 2218) (check-in: fe548561a0 user: danielk1977 tags: trunk)
08:00
Move duplicate code to update pointer-map wrt overflow pages into a function. (CVS 2217) (check-in: a5c2121410 user: danielk1977 tags: trunk)
2005-01-15
12:45
Enhance the performance of auto-vacuum databases by reducing the number of pointer-map entries written during tree balancing. Also fix bugs in balance_quick(). (CVS 2216) (check-in: 0ae29538cc user: danielk1977 tags: trunk)
01:52
Test coverage improvements. (CVS 2215) (check-in: 92f9d2b2f4 user: drh tags: trunk)
00:40
Improved test coverage for update.c. (CVS 2214) (check-in: 3ef95d5fe9 user: drh tags: trunk)
00:36
Improved coverage for insert.c. (CVS 2213) (check-in: 997d8afff9 user: drh tags: trunk)
2005-01-14
22:55
Add comments to the new balance_quick() routine. (CVS 2212) (check-in: 183c42eac8 user: drh tags: trunk)
13:50
Experimental patch to balance() (use -DSQLITE_BALANCE_QUICK). (CVS 2211) (check-in: c550d80c25 user: danielk1977 tags: trunk)
01:22
Improved test coverage on insert.c. (CVS 2210) (check-in: c772f75166 user: drh tags: trunk)
2005-01-13
23:54
Need SQLITE_MEMDEBUG instead of SQLITE_DEBUG in tclsqlite.c. (CVS 2209) (check-in: 6e905270a9 user: drh tags: trunk)
23:54
Fix a bug in lemon that does not effect SQLite. Ticket #1068. (CVS 2208) (check-in: 7113b5ed8d user: drh tags: trunk)
13:35
Tidy up malloc.test a bit. (CVS 2207) (check-in: 94cf91cc5d user: danielk1977 tags: trunk)
11:10
Fix typo in shell .help. Ticket #1071. (CVS 2206) (check-in: 2c7a1a1698 user: danielk1977 tags: trunk)
11:07
Test cases to improve coverage of pager.c. (CVS 2205) (check-in: 0428a14801 user: danielk1977 tags: trunk)
02:14
Fixes to 'configure' build system. Also extra coverage for main.c. (CVS 2204) (check-in: 8378455f32 user: danielk1977 tags: trunk)
2005-01-12
13:04
Fix a test bug introduce with the previous commit. (CVS 2203) (check-in: 1c19e8bdca user: danielk1977 tags: trunk)
12:44
Tests to improve coverage of main.c. (CVS 2202) (check-in: 4e28c82ada user: danielk1977 tags: trunk)
09:10
Tests to improve coverage of vdbeaux.c. (CVS 2201) (check-in: 2b3e21ce2e user: danielk1977 tags: trunk)
07:15
Tests to improve coverage of vdbemem.c. (CVS 2200) (check-in: 319bb4a906 user: danielk1977 tags: trunk)
00:08
Fix a bug in tclsqlite.c. (CVS 2199) (check-in: 50f1e22965 user: drh tags: trunk)
2005-01-11
18:13
Fix for ticket #1062: Correctly handle redundant terms in a WHERE clause. (CVS 2198) (check-in: 1bee1bb91d user: drh tags: trunk)
17:59
Allow '$' in the middle of identifiers. Ticket #1066. This is an experimental change. It might be backed out at a later date. (CVS 2197) (check-in: 00a352ea79 user: drh tags: trunk)
17:46
Test coverage improvements on tokenize.c. (CVS 2196) (check-in: 5767850cca user: drh tags: trunk)
16:54
Improved test coverage for vdbeaux.c. (CVS 2195) (check-in: 3f46cd7767 user: drh tags: trunk)
15:28
Improved test coverage for util.c. (CVS 2194) (check-in: ad451a2ddc user: drh tags: trunk)
13:02
Test cases to improve coverage of vdbe.c. (CVS 2193) (check-in: a6b4572207 user: danielk1977 tags: trunk)
11:08
Remove a C++ style comment that went in with the previous commit. (CVS 2192) (check-in: ce8e4e885a user: danielk1977 tags: trunk)
10:25
Test cases to improve coverage of btree.c (and minor bugfixes). (CVS 2191) (check-in: a37e0108de user: danielk1977 tags: trunk)
10:25
Test cases to improve coverage of btree.c (and minor bugfixes). (CVS 2190) (check-in: 8ced491588 user: danielk1977 tags: trunk)
2005-01-10
12:59
Extra test cases to improve coverage of btree.c (CVS 2189) (check-in: a461988661 user: danielk1977 tags: trunk)
06:39
Update some documentation for version 3.1. (CVS 2188) (check-in: 5b7a5a4d69 user: danielk1977 tags: trunk)
02:48
Fix an assertion failure due to interaction between the count_changes pragma and triggers. (CVS 2187) (check-in: 6c7bec1b3a user: danielk1977 tags: trunk)
2005-01-08
18:42
Tcl interface does as sqlite3 or as sqlite. A compile-time option allows duel linking. Also fix a bug in the pragma change from earlier today. (CVS 2186) (check-in: ad10953799 user: drh tags: trunk)
15:44
Fixes to the temp_store_directory pragma. (CVS 2185) (check-in: 0a90eaf398 user: drh tags: trunk)
15:43
Fix a comment. (CVS 2184) (check-in: 26fbac8f03 user: drh tags: trunk)
12:42
Fix a problem with auto-vacuum databases and the VACUUM command. Also add "pages read" and "pages written" statistics to the pager layer. (CVS 2183) (check-in: fb3bf68d0e user: danielk1977 tags: trunk)
02:35
Minor test script changes to allow all.test to run when SQLITE_DEFAULT_AUTOVACUUM=1 is defined. (CVS 2182) (check-in: 5023b1dba2 user: danielk1977 tags: trunk)
2005-01-07
10:42
Reset the temp_store_directory each iteration of tests in all.test. (CVS 2181) (check-in: 7373a5d4cf user: danielk1977 tags: trunk)
08:56
Fix a read of invalid memory that could occur in btree.c. (CVS 2180) (check-in: 929745c183 user: danielk1977 tags: trunk)
01:56
Remove incorrect assert() and add extra option to account for non-standard 'sort' program in some linux versions. (CVS 2179) (check-in: bf14387697 user: danielk1977 tags: trunk)
2005-01-03
21:28
add --enable-debug to configure options, controls -DNDEBUG flag (CVS 2178) (check-in: 9d674d1dc0 user: tpoindex tags: trunk)
18:13
add comment that table is accessed by primary key (CVS 2177) (check-in: 707690c5f2 user: tpoindex tags: trunk)
02:26
Allow GROUP BY on aggregate queries only. Ticket #1039. (CVS 2176) (check-in: 8ef2c644eb user: drh tags: trunk)
01:33
Fix typos in comments in test code. (Oops. This check-in also picked up some unrelated changes to documentation.) (CVS 2175) (check-in: 586acc85b1 user: drh tags: trunk)
01:28
Fix a typo in a comment. No code changes. Ticket #1052. (CVS 2174) (check-in: 9fb1402f08 user: drh tags: trunk)
01:27
Fix comment typos. no code changes. (CVS 2173) (check-in: 4165217e51 user: drh tags: trunk)
2004-12-25
01:03
Fix ticket #1046 by removing code and simplifying the query optimizer. Remarkably, this simplification also makes the optimizer do a better job. Ticket #1051 was fixed as a side-effect. (CVS 2172) (check-in: 5fd1f47118 user: drh tags: trunk)
2004-12-20
19:01
Add PRAGMA 'temp_store_directory'. Added os_*.c function sqlite3OsIsDirWritable(), split pragma.c changeTempStorage() function into invalidateTempStorage(). (CVS 2171) (check-in: 772e22cbd6 user: tpoindex tags: trunk)
2004-12-19
00:11
The optimizer now uses only the index and ignores the table if it can get away with doing so, thus saving a single BTree search per row of result. This could potentially double the speed of certain queries. The code passes all regression tests but new tests to exercise the new functionality are yet to be added. (CVS 2170) (check-in: e5aa489453 user: drh tags: trunk)
2004-12-18
18:40
Improvements to the query optimizer. This is a work in progress. (CVS 2169) (check-in: 9b86993ff7 user: drh tags: trunk)
2004-12-17
20:48
Fix a C++-ism in the previous change to tclsqlite.c. (CVS 2168) (check-in: b49b8fdd11 user: drh tags: trunk)
15:41
Add 'copy' method for tcl interface. Behaves similar to shell .import or COPY statment in 2.x. (CVS 2167) (check-in: a9311d9df0 user: tpoindex tags: trunk)
2004-12-16
21:09
Make sure LIMITs are handled correctly on UNION operators. Ticket #1035. (CVS 2166) (check-in: ece0085f86 user: drh tags: trunk)
2004-12-14
03:34
Minor code and comment cleanup. (CVS 2165) (check-in: d012628a78 user: drh tags: trunk)
2004-12-10
18:00
Factor the test for zName==NULL out of the loop. Ticket #1032. (CVS 2164) (check-in: 7f38f67c7b user: drh tags: trunk)
17:17
Fix a problem with the automatic generation of the opcode name table. (CVS 2163) (check-in: 9eefabc92d user: drh tags: trunk)
03:08
Back out the USE_TCL_STUBS changes because it breaks the build. I think the strategy needs to be to abandon libtool and use tcl.m4 to figure out how to build our own shared libraries. Ticket #1034. (CVS 2162) (check-in: 7f4679b92e user: drh tags: trunk)
02:20
Improvements to the --help option to configure. Ticket #1033. (CVS 2161) (check-in: 3032cc2b88 user: drh tags: trunk)
02:08
Add a -DUSE_TCL_STUBS to the standard Makefile. This might help with ticket #1034. Or maybe not. (CVS 2160) (check-in: 4c30c373ef user: drh tags: trunk)
2004-12-09
18:29
Enhance sqlite3_bind_parameter_index so that is does not segfault if you call it incorrectly by passing NULL in place of the parameter name. Ticket #1032. (CVS 2159) (check-in: bf81aabff1 user: drh tags: trunk)
2004-12-07
15:41
Only evaluate expressions once for UPDATE and INSERT statements that have BEFORE triggers. Fix for ticket #980. (CVS 2158) (check-in: 4852186aca user: drh tags: trunk)
14:06
Simplify the trigger logic for DELETE, INSERT, and UPDATE. (CVS 2157) (check-in: 8e164ab277 user: drh tags: trunk)
12:29
Remove the unused sqlite3_context.isStep element. (CVS 2156) (check-in: 7b20f2b71f user: drh tags: trunk)
02:14
Updates to API documentation and comments in sqlite3.h. (CVS 2155) (check-in: 46584348f3 user: drh tags: trunk)
2004-12-02
20:17
Get the build of sqlite3_analyzer working with Makefile.in. (CVS 2154) (check-in: f7415a0d64 user: drh tags: trunk)
2004-11-27
15:52
Disable the cursors. "make install" now builds and installs a TCL package for SQLite if TCL is installed on the system. (CVS 2153) (check-in: d75014c299 user: drh tags: trunk)
2004-11-25
13:50
The configure script now automatically detects tclConfig.sh and builds the Tcl extension only if tclConfig.sh is present. The Tcl extension can be disabled using --disable-tcl. (CVS 2152) (check-in: 12424bef77 user: drh tags: trunk)
2004-11-24
01:16
Fix a memory leak in pager.c. (CVS 2151) (check-in: 0ad4ed87ce user: drh tags: trunk)
2004-11-23
22:16
fulltest runs now, but still finds a memory leak. (CVS 2150) (check-in: 5944d51e6c user: drh tags: trunk)
16:31
Fix a memory leak in ALTER TABLE. (CVS 2149) (check-in: ba71716ce2 user: danielk1977 tags: trunk)
15:41
Add authorization callbacks for REINDEX. (CVS 2148) (check-in: 9f0d744ee4 user: danielk1977 tags: trunk)
12:24
Include the 'FOR' keyword in builds that include cursors but not triggers. (CVS 2147) (check-in: 3053d82d71 user: danielk1977 tags: trunk)
11:16
Make the test suite pass when SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS is defined. (CVS 2146) (check-in: ff20c623c6 user: danielk1977 tags: trunk)
10:52
Ensure the test suite runs with SQLITE_OMIT_PAGER_PRAGMAS defined. (CVS 2145) (check-in: 2d1f0b923d user: danielk1977 tags: trunk)
10:13
Have tests pass when SQLITE_OMIT_SCHEMA_PRAGMAS is defined. (CVS 2144) (check-in: 6ccb589bd9 user: danielk1977 tags: trunk)
09:06
Fix a bug involving balance_shallow() and the sqlite_master table. (CVS 2143) (check-in: 557be3ff5b user: danielk1977 tags: trunk)
01:47
More work on the implementation of cursors, but they are still not functioning. (CVS 2142) (check-in: 8b61d1ae1c user: drh tags: trunk)
2004-11-22
19:12
Add initial infrastructure for cursors. In where.c, optimize out clauses of the form "ORDER BY rowid" if a table scan is being performed. Do a reverse table scan if "ORDER BY rowid DESC" is present. (CVS 2141) (check-in: fc8c1393c8 user: drh tags: trunk)
19:07
Fix a long-standing bug in btree.c in the sqlite3BtreePrevious() routine. The problem has gone unnoticed before now because it only occurs when you use the OP_Prev opcode on a B+Tree. (CVS 2140) (check-in: 3d2536c479 user: drh tags: trunk)
15:05
Fix a couple of extra test-suite problems with SQLITE_OMIT_VIEW. (CVS 2139) (check-in: 894c142d11 user: danielk1977 tags: trunk)
13:35
Ensure tests pass when SQLITE_OMIT_COMPOUND_SELECT is defined. (CVS 2138) (check-in: 007be591b7 user: danielk1977 tags: trunk)
11:51
Ensure tests pass when SQLITE_OMIT_TRIGGER is defined. (CVS 2137) (check-in: 53894988ac user: danielk1977 tags: trunk)
10:20
Fix a test-suite error made in check-in (2132) (CVS 2136) (check-in: 48c7eb7fb9 user: danielk1977 tags: trunk)
10:02
Back out changes allowing writes to tables that have open cursors. (CVS 2135) (check-in: ec6b48f4b2 user: danielk1977 tags: trunk)
10:02
Back out changes allowing writes to tables that have open cursors. (CVS 2134) (check-in: af635cab8a user: danielk1977 tags: trunk)
10:02
Back out changes allowing writes to tables that have open cursors. (CVS 2133) (check-in: 91acd87e52 user: danielk1977 tags: trunk)
08:43
Modify test suite to work when SQLITE_OMIT_VIEW is defined. (CVS 2132) (check-in: 711e8d7695 user: danielk1977 tags: trunk)
05:26
Have tests pass when SQLITE_OMIT_MEMORYDB is defined. (CVS 2131) (check-in: 9df837c039 user: danielk1977 tags: trunk)
03:34
Fix auth.test to work when SQLITE_OMIT_ALTERTABLE is defined. (CVS 2130) (check-in: 27a8379b54 user: danielk1977 tags: trunk)
2004-11-21
01:02
AUTOINCREMENT documentation added. Improvements to lang.html. (CVS 2129) (check-in: ac72a1d551 user: drh tags: trunk)
2004-11-20
21:02
Fix to the documentation on sqlite3_create_function. Ticket #899. (CVS 2128) (check-in: 4ab1d012f0 user: drh tags: trunk)
20:44
Avoid excess heap usage when copying expressions. Ticket #979. (CVS 2127) (check-in: d10560c752 user: drh tags: trunk)
20:42
Avoid excess heap usage when copying expressions. Ticket #979. (CVS 2126) (check-in: 0f444c032d user: drh tags: version_2)
20:31
Correct use of usableSize versus pageSize in btree.c. Ticket #1010. (CVS 2125) (check-in: 5a4013ec9c user: drh tags: trunk)
20:18
Better error message on an SQLITE_RANGE error. Ticket #991. (CVS 2124) (check-in: accd432e4d user: drh tags: trunk)
19:55
Rename source file sqlite.1 as sqlite3.1. Ticket #995. (CVS 2123) (check-in: 297559c6d1 user: drh tags: trunk)
19:18
Omit the maximum loop count on the random name chooser in the VACUUM command. Add a comment to explain why this is safe and does not result in an infinite loop. Ticket #1009. (CVS 2122) (check-in: 1241086f23 user: drh tags: trunk)
19:18
Rig the sqliteMalloc() routine so that we can make it fail multiple times in a row. Modify the malloc.test procedure to make malloc fail in this way and verify that the failures are still handled correctly. (CVS 2121) (check-in: 519bc9d997 user: drh tags: trunk)
19:01
Preserve the default_temp_store pragma across VACUUM in version 2.8. (Version 3.0 already does this.) Ticket #1008. (CVS 2120) (check-in: 7fa623f24a user: drh tags: version_2)
18:13
Fix segfaults that might occur after a malloc failure. (CVS 2119) (check-in: 368774487e user: drh tags: trunk)
08:17
Documentation for REINDEX and ALTER TABLE commands. (CVS 2118) (check-in: aceaa5f6e9 user: danielk1977 tags: trunk)
06:05
Add a documentation page for compilation options. Still some work to go. (CVS 2117) (check-in: 5efa2d2a60 user: danielk1977 tags: trunk)
2004-11-19
11:59
Split up the lang.html page into a seperate page for each command. (CVS 2116) (check-in: ea315668e5 user: danielk1977 tags: trunk)
08:41
Ensure ALTER TABLE respects the system table convention - "sqlite_*". (CVS 2115) (check-in: f635b6aae6 user: danielk1977 tags: trunk)
08:02
Update the sqlite_sequence table when a table is renamed with ALTER_TABLE. (CVS 2114) (check-in: 6e97186880 user: danielk1977 tags: trunk)
07:07
When dropping a table, update the sqlite_sequence table first, as auto-vacuum mode may need to move sqlite_sequence when the btree table is dropped. (CVS 2113) (check-in: 0514107bff user: danielk1977 tags: trunk)
05:14
Fix bugs in ALTER TABLE related to (a) whitespace in table defn, (b) temp triggers. (CVS 2112) (check-in: 1fd8e835a3 user: danielk1977 tags: trunk)
2004-11-18
15:44
Handle triggers correctly in ALTER TABLE. (CVS 2111) (check-in: c61b7de107 user: danielk1977 tags: trunk)
13:49
Speed improvement on the LIKE command. (CVS 2110) (check-in: 85d56beb74 user: drh tags: trunk)
02:10
Fix an obsolete comment that resulted in incorrect documentation. Ticket #1003. (CVS 2109) (check-in: c93a9e18d2 user: drh tags: trunk)
02:04
Clarify the documentation of the sqlite3_create_function API. Ticket #1004. (CVS 2108) (check-in: ae45ad863b user: drh tags: trunk)
2004-11-17
16:41
Add the ESCAPE clause to the LIKE operator. Not fully tested yet. (CVS 2107) (check-in: 49268c2b7a user: danielk1977 tags: trunk)
10:22
Extra tests and resulting bugfixes for btree cursors. (CVS 2106) (check-in: e1530854c9 user: danielk1977 tags: trunk)
2004-11-16
23:21
Clarify the LIMIT clause in the documentation. Ticket #1002. (CVS 2105) (check-in: e05f52d907 user: drh tags: trunk)
15:50
Perform deletes in a single pass. (CVS 2104) (check-in: a2e1c35b32 user: danielk1977 tags: trunk)
04:57
Allow btree cursors to persist through BtreeDelete() calls. (CVS 2103) (check-in: 6ad5fc8e1a user: danielk1977 tags: trunk)
2004-11-15
23:42
Fix a typo in the header comment to the MakeRecord opcode so that the documentation generator will actually see the opcode description. Ticket #1001. (CVS 2102) (check-in: 33c9b647aa user: drh tags: trunk)
01:40
Add test cases for escape characters in the GLOB operator. (CVS 2101) (check-in: bb2d9ff881 user: drh tags: trunk)
2004-11-14
21:56
The SQLITE_OMIT_UTF16 macro now removes lots of code and all tests still pass. (CVS 2100) (check-in: 98c7a55478 user: drh tags: trunk)
04:04
Changes toward reducing code size when SQLITE_OMIT_UTF16 is enabled. (CVS 2099) (check-in: 59a0a8b7ce user: drh tags: trunk)
2004-11-13
15:59
More compile-time options for removing components. (CVS 2098) (check-in: dcbc0c22cf user: drh tags: trunk)
13:19
Code toward having btree cursors persist when their table is written too. Doesn't work properly yet. (CVS 2097) (check-in: 5eaa18d43f user: danielk1977 tags: trunk)
03:59
Fix the keyword generator so that it works with SQLITE_OMIT_ALTERTABLE. (CVS 2096) (check-in: 60ace9985d user: drh tags: trunk)
03:48
Autoincrement is now working and has regression tests. (CVS 2095) (check-in: 10c712a219 user: drh tags: trunk)
2004-11-12
16:12
Change pragmas schema_cookie and user_cookie to schema_version and user_version. (CVS 2094) (check-in: 5e05831844 user: danielk1977 tags: trunk)
15:53
Add authorization callbacks to ALTER TABLE. (CVS 2093) (check-in: c4115aa3a1 user: danielk1977 tags: trunk)
13:42
Add the "ALTER TABLE xxx RENAME TO yyy" command. (CVS 2092) (check-in: a1b2cc63e6 user: danielk1977 tags: trunk)
03:56
Autoincrement code installed. Simple smoke-testing only. No regression tests developed yet. (CVS 2091) (check-in: 8fde833c81 user: drh tags: trunk)
2004-11-11
19:32
Website updates. (CVS 2090) (check-in: 60fb0cef09 user: drh tags: trunk)
05:10
Add the schema_cookie and user_cookie pragmas. (CVS 2089) (check-in: d28d1d68e5 user: danielk1977 tags: trunk)
01:50
Add documentation for DEFAULT CURRENT_TIME & co. (CVS 2088) (check-in: c85f13f8f2 user: danielk1977 tags: trunk)
2004-11-10
15:27
Ensure the test suite can run with either SQLITE_OMIT_AUTOVACUUM or SQLITE_DEFAULT_AUTOVACUUM=1 defined. (CVS 2087) (check-in: 0747b55882 user: danielk1977 tags: trunk)
12:34
Fix expr.test so that it works when the date-time functions are compiled out of the library. (CVS 2086) (check-in: 540ce7de1b user: danielk1977 tags: trunk)
11:55
Ensure tables cannot be created/dropped when btree cursors are open. (CVS 2085) (check-in: 8e5c2e5df8 user: danielk1977 tags: trunk)
05:48
Add user documentation for the "pragma auto_vacuum" command. (CVS 2084) (check-in: fe200eaf37 user: danielk1977 tags: trunk)
2004-11-09
16:13
Have "DEFAULT CURRENT_TIME" & co. work even if SQLITE_OMIT_DATETIME_FUNCS is defined. (CVS 2083) (check-in: f81b9c1c02 user: danielk1977 tags: trunk)
12:44
Port the "DEFAULT CURRENT_TIME" etc. functionality from an earlier fork of sqlite. (CVS 2082) (check-in: 0d27c8ff48 user: danielk1977 tags: trunk)
07:42
Refactor the space-analysis script for readability. (CVS 2081) (check-in: 63f2ee22e2 user: danielk1977 tags: trunk)
2004-11-08
16:15
Update the space-analyzer tool to support auto-vacuum databases. (CVS 2080) (check-in: 1cb8086612 user: danielk1977 tags: trunk)
12:32
A few more auto-vacuum tests. (CVS 2079) (check-in: 9d4a60bbd6 user: danielk1977 tags: trunk)
09:51
Check in the file autovacuum_crash.test that should be part of the previous check-in. (CVS 2078) (check-in: 9d7cd1f732 user: danielk1977 tags: trunk)
09:26
Test auto-vacuum mode for crash-proofness. Also fix a bug related to the same. (CVS 2077) (check-in: 839ad771a6 user: danielk1977 tags: trunk)
07:13
Auto-vacuum: Account for the page reserved for windows locking (PENDING_BYTE). (CVS 2076) (check-in: d633569869 user: danielk1977 tags: trunk)
2004-11-07
13:01
Reindex tests added and bugs fixed. (CVS 2075) (check-in: ad433ec2b6 user: drh tags: trunk)
2004-11-06
12:26
Auto-vacuum: Ensure pages to be removed by database truncation are in the journal file. Also fix an sqlite3pager_movepage() bug. (CVS 2074) (check-in: 081676e491 user: danielk1977 tags: trunk)
00:02
Compile and pass the quick regression tests with autovacuum disabled. (CVS 2073) (check-in: 89b9026a53 user: drh tags: trunk)
2004-11-05
23:46
First cut at a REINDEX command. Basic testing only. No documentation. (CVS 2072) (check-in: 11dba47e61 user: drh tags: trunk)
22:18
Use sqlite3NestedParse to implement DROP INDEX. (CVS 2071) (check-in: 0f81aa5b05 user: drh tags: trunk)
20:58
Use sqlite3NestedParse to implement CREATE INDEX. (CVS 2070) (check-in: 47d8ebdaad user: drh tags: trunk)
17:17
Create table now works with sqlite3NestedParse. This changed uncovered a latent bug in xprintf which is also fixed. (CVS 2069) (check-in: b0506bdd70 user: drh tags: trunk)
16:37
Do not truncate a database file until after fsync() has been called on the journal. (CVS 2068) (check-in: cfee7f4a00 user: danielk1977 tags: trunk)
15:45
Make auto-vacuum a run-time option (default determined by SQLITE_DEFAULT_AUTOVACUUM macro). (CVS 2067) (check-in: b9d5f007fc user: danielk1977 tags: trunk)
12:58
Auto-vacuum bug: Don't set meta(3) to a pointer-map page number when deleting a table. (CVS 2066) (check-in: 44a015b3a3 user: danielk1977 tags: trunk)
12:27
Fix allocation of tables in an auto-vacuum database when the required root-page is on the free-list. (CVS 2065) (check-in: 4e2433378e user: danielk1977 tags: trunk)
09:19
Don't code an OP_Statement within sqlite3NestedParse(). Also a correction to the UPDATE statement used within destroyRootPage(). (CVS 2064) (check-in: fdcc31f0c6 user: danielk1977 tags: trunk)
06:02
When using sqlite3NestedParse() to modify the sqlite_master table, do not code OP_Callback. (CVS 2063) (check-in: 296a298c48 user: danielk1977 tags: trunk)
05:23
Another bug fix from two check-ins ago. (CVS 2062) (check-in: c46eef2f6d user: drh tags: trunk)
05:20
Fix a bug in the previous check-in. (CVS 2061) (check-in: 9d259d48de user: drh tags: trunk)
05:10
More use of sqlite3NestedParse. This version of the code does not work. (CVS 2060) (check-in: ac2d5a605c user: drh tags: trunk)
03:56
Begin using sqlite3NestedParse() to generate sections of code. (CVS 2059) (check-in: 2d302931a6 user: drh tags: trunk)
01:45
Fix bug introduced with (2057). (CVS 2058) (check-in: aed2e623ec user: danielk1977 tags: trunk)
01:24
Pop the value pushed by OP_Destroy if SQLITE_OMIT_AUTOVACUUM is defined. (CVS 2057) (check-in: b0c103340a user: danielk1977 tags: trunk)
00:43
Incremental check-in of changes that will ultimately lead to a working autoincrement. (CVS 2056) (check-in: 10c3d88305 user: drh tags: trunk)
2004-11-04
14:47
All tests pass when SQLITE_OMIT_INTEGRITY_CHECK is defined. (CVS 2055) (check-in: 158a2d16a8 user: drh tags: trunk)
14:30
Support root-page allocation/deallocation in auto-vacuum databases. Still a few problems. (CVS 2054) (check-in: 1da361fae8 user: danielk1977 tags: trunk)
04:42
All tests pass even if OMIT_TRIGGER is defined. (CVS 2053) (check-in: c33b3a6137 user: drh tags: trunk)
04:34
Fix a #ifdef in util.c. Ticket #984. (CVS 2052) (check-in: da045bd183 user: drh tags: trunk)
02:57
Add support for table allocation (not deallocation) in auto-vacuum databases. (CVS 2051) (check-in: 571de52376 user: danielk1977 tags: trunk)
2004-11-03
16:27
Update tests to work even if some features of the library are disabled. (CVS 2050) (check-in: b11fc9b3f3 user: drh tags: trunk)
13:59
More work on optionally removing unused features at compile-time. (CVS 2049) (check-in: a82980fd70 user: drh tags: trunk)
11:37
Auto-vacuum bug: Deallocate pointer-map pages when shrinking a database file. (CVS 2048) (check-in: bec6a65aca user: danielk1977 tags: trunk)
09:30
Comment the autovacuum.test script. No code or test-case changes. (CVS 2047) (check-in: 2eacd38620 user: danielk1977 tags: trunk)
08:44
Auto-vacuum bug: Correctly manipulate page cache hash-table entries in sqlite3pager_movepage(). (CVS 2046) (check-in: 719c1b7967 user: danielk1977 tags: trunk)
03:59
The makefile now runs mkkeywordhash.c. Keywords that are unused are omitted from the keyword hash table. (CVS 2045) (check-in: 007aec1133 user: drh tags: trunk)
03:52
Auto-vacuum bugfix: Do not attempt to move a pointer-map page during auto-vacuum. (CVS 2044) (check-in: bd50fbb5fe user: danielk1977 tags: trunk)
03:01
Fix an auto-vacuum bug that occurs when a btree cell is promoted to the parent page during a delete. (CVS 2043) (check-in: b7d953e119 user: danielk1977 tags: trunk)
2004-11-02
18:30
Disable trigger tests that use ATTACH in version 2.8 when there is a codec enabled. (CVS 2042) (check-in: f77f7753aa user: drh tags: version_2)
18:15
Fix a problem in the pragma.test script. (CVS 2041) (check-in: a2c9c45c80 user: drh tags: trunk)
18:05
Get btree.c to compile with -DNDEBUG=1. (CVS 2040) (check-in: 8378c144c1 user: drh tags: trunk)
14:40
Fix an auto-vacuum bug for btree entries that span more than one overflow page. (CVS 2039) (check-in: 40249ed19c user: danielk1977 tags: trunk)
14:24
Require that the page size be a power of 2. (CVS 2038) (check-in: c33b34dbe9 user: drh tags: trunk)
12:56
Code to auto-vacuum the database if all root pages happen to be in the right place. Not active by default and largely untested. (CVS 2037) (check-in: d12481f09c user: danielk1977 tags: trunk)
2004-11-01
16:03
Updates to the support.html page. (CVS 2036) (check-in: 5515accee3 user: drh tags: trunk)
2004-10-31
16:25
Add code to create/update the btree 'pointer-map' for auto-vacuum mode. (CVS 2035) (check-in: bebd967f36 user: danielk1977 tags: trunk)
02:22
Insert #ifdefs that can optionally remove features at compiletime resulting in a database engine with a smaller footprint. (CVS 2034) (check-in: be661acfa8 user: drh tags: trunk)
2004-10-30
20:23
Begin adding the ability to remove unused features at compile-time and still have all the tests pass. (CVS 2033) (check-in: 2aa506ccb0 user: drh tags: trunk)
2004-10-26
16:34
Move affinity.html into the attic. (CVS 2032) (check-in: 87a3c668f0 user: drh tags: trunk)
16:33
Mark the affinity.html file as obsolete. (CVS 2031) (check-in: 09de96b6b2 user: drh tags: trunk)
00:08
Fix a bug in the ".databases" command of the command-line shell. Ticket #973 (CVS 2030) (check-in: 507d8e6f5c user: drh tags: trunk)
2004-10-25
20:33
Minor optimizations in the pragma module. (CVS 2029) (check-in: 63efd50a16 user: drh tags: trunk)
2004-10-23
05:10
Tighter encoding of the keyword hash table in the tokenizer. (CVS 2028) (check-in: 7b9886f8d4 user: drh tags: trunk)
2004-10-22
20:29
Add the experimental and scary pragma "writable_schema". (CVS 2027) (check-in: 39f7870a54 user: drh tags: trunk)
16:22
Fix alignment problems in btree and pager and allow page sizes that are not a multiple of 8. (CVS 2026) (check-in: 0539c2d2b8 user: drh tags: trunk)
2004-10-19
16:40
Reinsert code deleted by (1998) that we thought was unused but was in fact needed. Fix for ticket #966. (CVS 2025) (check-in: 370ca53950 user: drh tags: trunk)
01:31
Fix a typo in the quickstart document. (CVS 2024) (check-in: 55b03c560d user: drh tags: trunk)
2004-10-18
21:34
Fix typos in the names of some regression tests. Ticket #962. (CVS 2023) (check-in: 77542beb31 user: drh tags: trunk)
2004-10-12
02:38
Fix typo on homepage. Ticket #956. (CVS 2022) (check-in: 552ec6770a user: drh tags: trunk)
00:56
Version 3.0.8 (CVS 2021) (check-in: 7dd66d7653 user: drh tags: trunk)
00:50
Updates to the README file (CVS 2020) (check-in: d3d0d7a8bb user: drh tags: trunk)
2004-10-11
22:26
Increment the version number. Prepare for release of version 3.0.8. (CVS 2019) (check-in: ff04d7d48b user: drh tags: trunk)
21:49
Fix typo on the homepage. (CVS 2018) (check-in: 7f190f85e2 user: drh tags: trunk)
21:48
Fix typo in the lockingv3.html page on the website. (CVS 2017) (check-in: a31b647727 user: drh tags: trunk)
2004-10-10
19:11
The mkopcodeh.awk script removes \r for use with msys. Ticket #954. (CVS 2016) (check-in: c4fb44fd5f user: drh tags: trunk)
18:00
Documentation updates (CVS 2015) (check-in: a4546c09d7 user: drh tags: trunk)
17:24
Typos and spelling errors in documention. (CVS 2014) (check-in: 16e2ace2db user: drh tags: trunk)
2004-10-09
15:54
New links on the common header page of the website. (CVS 2013) (check-in: 6d6246f150 user: drh tags: trunk)
2004-10-07
22:22
Sort the output of glob in test script attach2.test. Ticket #948. (CVS 2012) (check-in: 3d04eef9b7 user: drh tags: trunk)
19:03
Optimizations to the tokenizer. (CVS 2011) (check-in: e5540ce047 user: drh tags: trunk)
03:06
Additional parser optimizations. (CVS 2010) (check-in: 618dee121e user: drh tags: trunk)
00:32
In the command-line shell in CSV move, put strings in C-style double-quotes. Ticket #911. (CVS 2009) (check-in: 1376a0bb8d user: drh tags: trunk)
2004-10-06
15:52
Fix naming conflict between sqlite.h and sqlite3.h. Ticket #946. (CVS 2008) (check-in: e750ae5ab8 user: drh tags: version_2)
15:52
Fix naming conflict between sqlite.h and sqlite3.h. Ticket #946. (CVS 2007) (check-in: 3037041263 user: drh tags: trunk)
15:41
Convert many constants to have type "const". (CVS 2006) (check-in: d790c84c5a user: drh tags: trunk)
15:03
Move some work out of the makefiles and into awk scripts in separate files. Ticket #940. (CVS 2005) (check-in: 4d0f29d54c user: drh tags: trunk)
14:39
Size optimization in the parser. (CVS 2004) (check-in: 8e2ae24498 user: drh tags: trunk)
14:39
Fix the ".import" command of the command-line shell so that it ignores \n and \r at the end of a line. Ticket #939. (CVS 2003) (check-in: dcbf4817a7 user: drh tags: trunk)
2004-10-05
17:37
Rearrange memory allocation in sqlite3VdbeMakeReady to try to work around some byte-alignment problems on Sparc. (CVS 2002) (check-in: f623d6e74f user: drh tags: trunk)
15:42
Use the database name supplied to table_info() and related pragmas. (CVS 2001) (check-in: 0415af3257 user: drh tags: trunk)
02:41
Add support for DEFERRED, IMMEDIATE, and EXCLUSIVE transactions. (CVS 2000) (check-in: 81ff8107ad user: drh tags: trunk)
2004-10-04
13:38
More changes to take advantage of the TK_ and OP_ alignments to avoid unnecessary translations. (CVS 1999) (check-in: e8e972ba65 user: drh tags: trunk)
13:19
Save about 800 bytes of code space by aligning TK_ and OP_ constants so that we do not have to translate between them. (CVS 1998) (check-in: 4c817e3f29 user: drh tags: trunk)
2004-10-02
20:38
Fixes to the OsUnlock() interface. Correctly leave a SHARED lock behind when requested. Honor the error code that OsUnlock() returns. Ticket #913 and #938. (CVS 1997) (check-in: c4697503d0 user: drh tags: trunk)
2004-10-01
18:21
make diskfull test work on Windows; see check-in (1994) (CVS 1996) (check-in: 4493e28780 user: dougcurrie tags: trunk)
15:11
Fix for ticket #905. (CVS 1995) (check-in: bf90799d88 user: drh tags: version_2)
14:38
Additional code to test the SQLITE_FULL return when the disk is full. (CVS 1994) (check-in: 44e56f0bba user: drh tags: trunk)
03:02
Fully release exclusive locks in the Unlock primitive of Unix. Ticket #913. (CVS 1993) (check-in: 11a37a74b1 user: drh tags: trunk)
02:00
Use type i64 instead of off_t for file offsets since off_t is giving portability problems. Ticket #924. (CVS 1992) (check-in: 8972c004dc user: drh tags: trunk)
2004-09-30
14:24
Strict prototype on sqlite3_libversion(). Ticket #936 (CVS 1991) (check-in: 1d3c6f7351 user: drh tags: trunk)
14:22
Correctly parser column typenames that contain more than one identifier. Ticket #934. (CVS 1990) (check-in: 85ad18712d user: drh tags: trunk)
13:43
Allow functions to be created when there are outstanding VMs. (Ticket #926) Fix problems with sqlite3_errcode(). Add tests for sqlite3_errcode(). (CVS 1989) (check-in: d0f1dc5898 user: drh tags: trunk)
2004-09-27
13:19
Comment changes in btree.c. No changes to code. (CVS 1988) (check-in: b15abf984f user: drh tags: trunk)
12:20
Bug fix in btree.c in cases where usableSize!=pageSize. Ticket #925. (CVS 1987) (check-in: cb3e12372d user: drh tags: trunk)
2004-09-25
15:29
Remove unused CLUSTER keyword from the parser. (CVS 1986) (check-in: 54ee1664aa user: drh tags: trunk)
15:25
Optimizations in the tokenizer. (CVS 1985) (check-in: 26898c57cb user: drh tags: trunk)
14:39
Code cleanup: get rid of the sqlite3SetNString utility function. (CVS 1984) (check-in: 9ef4c24a9a user: drh tags: trunk)
13:12
Code simplifications and size reductions. (CVS 1983) (check-in: cb631a135d user: drh tags: trunk)
2004-09-24
23:59
Size optimizations in vdbeapi.c. (CVS 1982) (check-in: b2f3d4bb8e user: drh tags: trunk)
23:20
Save a few bytes in utf.c. (CVS 1981) (check-in: 8154d545e8 user: drh tags: trunk)
22:32
Optimizations to vdbeaux.c and printf.c (CVS 1980) (check-in: eabc77c99b user: drh tags: trunk)
19:39
Improvements to the debugging code. (CVS 1979) (check-in: bdc3bb070f user: drh tags: trunk)
12:50
Fix typo in ".help" output from the shell. Ticket #914. (CVS 1978) (check-in: 1ee3a787ad user: drh tags: trunk)
12:48
Avoid a segfault in sqlite3_bind_parameter_index when there are unnamed parameters. Ticket #918. (CVS 1977) (check-in: 49f25ddf83 user: drh tags: trunk)
12:24
Simplification of the trigger code. (CVS 1976) (check-in: 9fa904d94e user: drh tags: trunk)
12:24
Fix for tickets #912 and #922. Problem introduced by check-in (1973). (CVS 1975) (check-in: 9001e2220d user: drh tags: trunk)
2004-09-20
14:57
Pthread is now conditionally included in makefile, see ticket #910 (CVS 1974) (check-in: a35e522769 user: dougcurrie tags: trunk)
2004-09-19
02:15
Add comments to unused P3 fields of selected instructions when NDEBUG is not defined. This makes VDBE program dumps more readable during debugging. (CVS 1973) (check-in: 4871c77f8f user: drh tags: trunk)
00:50
Merge the ListPush and ListPop VDBE opcodes into ContextPush and ContextPop. (CVS 1972) (check-in: eb9b501ad8 user: drh tags: trunk)
2004-09-18
18:51
Fix typo on homepage. (CVS 1971) (check-in: 5d3b3a96bc user: drh tags: trunk)
18:45
Version 3.0.7 (CVS 1970) (check-in: d82ded9543 user: drh tags: trunk)
18:00
Up the version number and prepare documentation files for the 3.0.7 release. (CVS 1969) (check-in: 63e4ed3cc6 user: drh tags: trunk)
2004-09-17
21:35
Always include -lpthread on link lines even if it is not needed. (CVS 1968) (check-in: 46a96890f7 user: drh tags: trunk)
21:07
Make use of $(libdir) in the Makefile.in. Ticket #904. (CVS 1967) (check-in: 10b5e51733 user: drh tags: trunk)
20:47
Create directories using "mkdir -p". Ticket #903. (CVS 1966) (check-in: 02de1cf95e user: drh tags: trunk)
20:46
Close stray statements prior to finishing trace.test, to avoid a file descriptor leak. (CVS 1965) (check-in: 8bb0221da8 user: drh tags: trunk)
20:25
The page_size pragma preserves the reserved area at the end of each page. (CVS 1964) (check-in: c34f3209e5 user: drh tags: trunk)
20:02
Get VACUUM working on databases that have reserved bytes at the end of each page. (CVS 1963) (check-in: 90bb3af6cd user: drh tags: trunk)
19:39
Fix a bug in the test3.c module that was causing failures in btree5.test. (CVS 1962) (check-in: cd200cf833 user: drh tags: trunk)
17:23
The INSERT code generator does a better job of detecting if the table being written into is used in the SELECT on the right-hand side. ticket #901. (CVS 1961) (check-in: 709bb22d6d user: drh tags: trunk)
2004-09-15
13:38
The callback on sqlite3_trace() is invoked the first time sqlite3_step() is called after sqlite3_prepare() or sqlite3_reset(). Ticket #900. (CVS 1960) (check-in: 0cc2f40e6a user: drh tags: trunk)
2004-09-13
13:46
Remove the encode/decode from the version 3.0 source tree. (CVS 1959) (check-in: c1f1320be5 user: drh tags: trunk)
13:16
The TCL interface responds correctly to "break", "continue", and "return" inside of the script of an eval statement. (CVS 1958) (check-in: dd62224ae8 user: drh tags: trunk)
13:13
Fix an uninitialized variable bug in nullif(). Ticket #898. (CVS 1957) (check-in: ee335b501c user: drh tags: trunk)
2004-09-10
00:14
In lemon, allows open() using the "b" option to avoid \r problems on windows. Ticket #897. (CVS 1956) (check-in: b5b2e3db09 user: drh tags: trunk)
2004-09-09
14:01
Fix lemon so that inserted code always ends in a newline. Ticket #895. (CVS 1955) (check-in: 13fba17e3f user: drh tags: trunk)
13:55
Fix a segfault in the authorizer when it is given a SELECT statement with no FROM clause. Ticket #896. (CVS 1954) (check-in: 97d63b9290 user: drh tags: trunk)
13:54
Fix a segfault in the authorizer when it is given a SELECT statement with no FROM clause. Ticket #896. (CVS 1953) (check-in: 205d85d77e user: drh tags: version_2)
00:35
Trying to get some tests in printf.test to pass on 64-bit systems. (CVS 1952) (check-in: b12fc46dcd user: drh tags: trunk)
2004-09-08
21:12
Update the makefile so that util.c gets the -DSQLITE_DEBUG=1 flag when building the test fixture. (CVS 1951) (check-in: 8d0c9a8d94 user: drh tags: trunk)
20:13
More changes directed at getting things to work on 64-bit platforms. (CVS 1950) (check-in: 5a3f823c14 user: drh tags: trunk)
20:13
More changes directed at getting things to work on 64-bit platforms. (CVS 1949) (check-in: 39755d2166 user: drh tags: trunk)
15:09
Always cast 0 to (char*)0 when it is an argument in a varargs function. (CVS 1948) (check-in: a1f532520c user: drh tags: trunk)
13:07
Add new APIs to sqlite3.def: sqlite3_bind_parameter_name and sqlite3_bind_parameter_index. (CVS 1947) (check-in: ff256fb528 user: drh tags: trunk)
13:06
Documentation updates. (CVS 1946) (check-in: 799f5383c0 user: drh tags: trunk)
2004-09-07
16:19
Wildcards with the same name map into the same variable number. New api sqlite3_bind_parameter_index() added to map wildcard names into wildcard index numbers. Support for "?nnn" wildcards. (CVS 1945) (check-in: 435b3f301f user: drh tags: trunk)
13:20
Fix the onecolumn method in the TCL interface so that it works the same as the eval method in all ways except for returning just the first value in the result set. (CVS 1944) (check-in: f323e4f86a user: drh tags: trunk)
11:28
Lemon escapes backslashes in filenames in #line directives it generates. Ticket #892. (CVS 1943) (check-in: d53047cbbc user: drh tags: trunk)
2004-09-06
17:34
Fix more name collisions. Allow sqlite.h and sqlite3.h to both be included in the same C/C++ source file. (CVS 1942) (check-in: 23e5bed1c5 user: drh tags: trunk)
17:24
Fix a naming conflict between sqlite versions 2 and 3. An open sqlite3 connection now *must* be called "sqlite3". You cannot call it "sqlite". This might break existing code. (CVS 1941) (check-in: 3ddf5a9d1c user: drh tags: trunk)
2004-09-05
23:23
Comment changes and minor code cleanup. (CVS 1940) (check-in: dfa9ea89c4 user: drh tags: trunk)
00:33
Make VACUUM work when the page size is different than the default 1024. Ticket #890. (CVS 1939) (check-in: fa82becae7 user: drh tags: trunk)
2004-09-03
23:32
Fix a comment. (CVS 1938) (check-in: af44ddeea1 user: drh tags: trunk)
18:38
Modify btree.c so that is allocates big data structures using malloc() instead of allocating from the stack. Stack allocations cause problems for embedded systems and pthreads implementations that only allocate a limited amount of stack space. (CVS 1937) (check-in: 4595292f93 user: drh tags: trunk)
00:27
More tests of sqlite3_step() and SQLITE_BUSY added. (CVS 1936) (check-in: 9e6645dd78 user: drh tags: trunk)
2004-09-02
16:53
Fix a typo in the "News" on the homepage. (CVS 1935) (check-in: 45d7158878 user: drh tags: trunk)
16:45
Version 3.0.6 (beta) (CVS 1934) (check-in: c190b95c30 user: drh tags: trunk)
16:36
Update version number and documentation for version 3.0.6. (CVS 1933) (check-in: 67370926e3 user: drh tags: trunk)
15:53
Address some minor 32/64 bit issues. (CVS 1932) (check-in: 6c9be972c1 user: drh tags: trunk)
15:49
Fix a bug in the pagesize test script. (CVS 1931) (check-in: 1cf05bc607 user: drh tags: trunk)
15:27
Fix VACUUM so that it works on files whose name contains '. Ticket #873 (CVS 1930) (check-in: 8dd938e480 user: drh tags: trunk)
15:14
Fix a problem with EXPLAIN on pragmas that return single integer values. Ticket #886 (CVS 1929) (check-in: 8ce3d730b0 user: drh tags: trunk)
14:57
Transactions commit on the last sqlite3_step(), not on sqlite3_finalize(). This allows the sqlite3_step() to return SQLITE_BUSY if the commit is blocked by a lock. Ticket #885. (CVS 1928) (check-in: d1b2915655 user: drh tags: trunk)
2004-09-01
16:12
Work around a bug in the Borland C++ compiler. Ticket #881. (CVS 1927) (check-in: 18af6ba580 user: drh tags: trunk)
03:06
Optimizations on the SELECT code generator. (CVS 1926) (check-in: 9c411c3c8d user: drh tags: trunk)
2004-08-31
23:41
Changes to support compiling under windows. (CVS 1925) (check-in: 68a712f372 user: drh tags: trunk)
13:45
Simplifications and optimizations. Also: disable the corrupt.test for now. (CVS 1924) (check-in: 8fd65e7048 user: drh tags: trunk)
00:52
Combine the implementation of LIKE and GLOB into a single parameterized function. (CVS 1923) (check-in: 0a47c8f86d user: drh tags: trunk)
2004-08-30
16:52
Better detection and handling of corrupt database files. (CVS 1922) (check-in: 8f5b199e84 user: drh tags: trunk)
14:58
Documentation updates (CVS 1921) (check-in: 9322c439c5 user: drh tags: trunk)
14:22
Remove the \001 character that lemon inserts automatically in its output file. The need for this character has expired and it creates confusion for users. Ticket #877 (CVS 1920) (check-in: acfc59186a user: drh tags: trunk)
01:54
Modify the sqlite shell program so that the ".dump" command does not give up if it encounters an SQLITE_CORRUPT error. It tries to keep going in order to extract as much information as it can from the corrupt database. (CVS 1919) (check-in: d3f3acb77f user: drh tags: trunk)
2004-08-29
23:42
Change the name of the global variable to sqlite3_temp_directory to avoid a naming conflict with version 2.8. (CVS 1918) (check-in: 431f7436a6 user: drh tags: trunk)
20:08
Fix a bug in the NOCASE collating function. (CVS 1917) (check-in: 32c2974af6 user: drh tags: trunk)
18:14
Version 3.0.5 (beta) (CVS 1916) (check-in: f3fe8c9fa6 user: drh tags: trunk)
18:14
Adjustments to the download.html page generator script. (CVS 1915) (check-in: a6dc133139 user: drh tags: trunk)
17:52
Increase the version number and update the change log in preparation for the release of version 3.0.5. (CVS 1914) (check-in: 69922aabb5 user: drh tags: trunk)
17:30
Back out an optimization that was causing problems in UTF-16 databases. (CVS 1913) (check-in: 988cb064ab user: drh tags: trunk)
16:25
Corrections to transient table handling in compound select statments. Tickets #826 and #875. (CVS 1912) (check-in: 9cc765be46 user: drh tags: trunk)
01:31
Progress toward fixing iproblems with compound selects. (CVS 1911) (check-in: 307478593d user: drh tags: trunk)
2004-08-28
18:21
Add prototype in sqlite3.h for the sqlite3_libversion() function. (CVS 1910) (check-in: d50c47b499 user: drh tags: trunk)
18:17
Memory handling fixes and optimizations in the VDBE. Ticket #862. (CVS 1909) (check-in: 5f8d246852 user: drh tags: trunk)
16:19
Add the sqlite3_libversion() API (ticket #834). Fix the build scripts to correctly build the shared libraries with version 8.4 of Tcl. (CVS 1908) (check-in: 6db26a19ea user: drh tags: trunk)
14:53
Correct handling of quoted names in CREATE INDEX. Ticket #869. (CVS 1907) (check-in: b01d566580 user: drh tags: version_2)
14:49
Add new defenses against misuse of the C API. Ticket #870. (CVS 1906) (check-in: 6ef1f662d7 user: drh tags: trunk)
01:12
Add sqlite_temp_directory to the windows driver. (CVS 1905) (check-in: f5b0e5b0b2 user: drh tags: trunk)
2004-08-26
01:12
Update the TCL binding documentation to describe the newly added ability to specify TCL variable names in the body of an SQL statement. (CVS 1904) (check-in: b3b9e58103 user: drh tags: trunk)
00:56
Protect Tcl_Obj pointers from change using Tcl_IncrRefCount() while executing SQL statements in the TCL bindings. (CVS 1903) (check-in: 6199f2f243 user: drh tags: trunk)
2004-08-25
04:07
Host parameter names conform to SQL-2003. (CVS 1902) (check-in: fd584d1ccf user: drh tags: trunk)
2004-08-24
15:23
Fix a bug in the parsing of wildcards that begin with '$'. (CVS 1901) (check-in: 054dd8901d user: drh tags: trunk)
2004-08-21
19:20
Fix a pager bug that might have made multi-database commits non-atomic if a power failure occurred at just the wrong moment. (CVS 1900) (check-in: b6eb4bf8c7 user: drh tags: trunk)
17:54
Optimizations to the code generator. (CVS 1899) (check-in: bd6649c5aa user: drh tags: trunk)
2004-08-20
18:34
Tcl interface transfers values directly between SQLite and Tcl_Objs, without at translation to strings. (CVS 1898) (check-in: e97c331362 user: drh tags: trunk)
16:02
Add support for named wildcards in SQL statements. (CVS 1897) (check-in: d3be0b7c5a user: drh tags: trunk)
14:08
Optimizations in the hash table module. (CVS 1896) (check-in: d5b0269e0d user: drh tags: trunk)
2004-08-19
15:12
Enhance lemon so that a @X instead of just X in the code expands to the major token value rather than the minor token value. Use this to make the parser a few hundred bytes smaller. (CVS 1895) (check-in: 28215096e0 user: drh tags: trunk)
13:29
Add the SQLITE_BUSY_RESERVED_LOCK compile-time option. (CVS 1894) (check-in: 25fe7a42ec user: drh tags: trunk)
2004-08-18
19:09
Make sure the database file is correctly truncated after a ROLLBACK that occurs after a statement abort. (CVS 1893) (check-in: 6afe467d14 user: drh tags: trunk)
16:05
Better debug logging of the pager. (CVS 1892) (check-in: 1cc0323f25 user: drh tags: trunk)
15:58
Be more agressive about not creating or opening the TEMP database if there are no TEMP tables. (CVS 1891) (check-in: 6b2b6b2dbd user: drh tags: trunk)
02:10
Avoid creating a TEMP database unless it is absolutely necessary. (CVS 1890) (check-in: 5914a11caa user: drh tags: trunk)
2004-08-17
10:42
Fix a typo in a comment. (CVS 1889) (check-in: 9af1d4d145 user: drh tags: trunk)
2004-08-14
19:20
If meta(3)>0 then make the database readonly for now. This allows the current database to interact with future releases that might include autovacuum. (CVS 1888) (check-in: 7619bf4771 user: drh tags: trunk)
18:34
Fix a bug that was preventing "PRAGMA temp_store=MEMORY" from working. (CVS 1887) (check-in: bb55894521 user: drh tags: trunk)
18:18
The command-line shell should avoid writing changes into string constants. (CVS 1886) (check-in: 6b8178de99 user: drh tags: trunk)
17:10
Add the ability to specify a alternative temporary file directory using the "sqlite_temp_directory" global variable. (CVS 1885) (check-in: fce56ba6a3 user: drh tags: trunk)
2004-08-09
00:26
Version 3.0.4 (beta) (CVS 1884) (check-in: 98edbdd517 user: drh tags: trunk)
00:04
Prepare for the release of version 3.0.4. (CVS 1883) (check-in: 72fb719bdd user: drh tags: trunk)
2004-08-08
23:39
Fix problems in the handling of malloc failures. (CVS 1882) (check-in: 81d91d14cf user: drh tags: trunk)
20:22
Make sure the argument to ctype.h macros is always an unsigned character. Ticket #839. (CVS 1881) (check-in: b065973898 user: drh tags: trunk)
19:43
Attempting to open a locked table for writing should fail immediately. Ticket #842. (CVS 1880) (check-in: fc879a9b1d user: drh tags: trunk)
2004-08-07
23:54
Do not invoke the busy callback when trying to promote a lock from SHARED to RESERVED. This avoids a deadlock. (CVS 1879) (check-in: d33771a303 user: drh tags: trunk)
2004-08-06
17:00
Fix a bug in the logic that converts numbers into strings inside the VM. Ticket #844 (CVS 1878) (check-in: 863540be24 user: drh tags: trunk)
2004-08-04
15:16
In the command-line shell: importments to the "help" message and better error checking in the new .import command. (CVS 1877) (check-in: ed489f776a user: drh tags: trunk)
14:44
Separate P4 timing asm code out of the SQLITE_DEBUG macro so that SQLITE_DEBUG can be used on non-x86 machines and with compilers other than GCC. Ticket #838. (CVS 1876) (check-in: add266ccc3 user: drh tags: trunk)
14:29
Separate the ifdefs for INTPTR_TYPE and UINTPTR_TYPE in sqliteInt.h. (CVS 1875) (check-in: 4e7953c13f user: drh tags: trunk)
2004-08-01
03:52
Fix a memory leak when the auxiliary data of a database structure is used. (CVS 1874) (check-in: 7ecff04a61 user: drh tags: trunk)
00:10
Add the ".import" command to the command-line shell. (CVS 1873) (check-in: b56afe640f user: drh tags: trunk)
2004-07-27
13:38
Additional test case to cover ticket #831. (CVS 1872) (check-in: a62129af99 user: drh tags: trunk)
2004-07-26
23:32
Honor the ORDER BY clause in a subquery that is the right-hand side of an IN operator. Ticket #827. (CVS 1871) (check-in: 76fe68cff6 user: drh tags: trunk)
23:07
Get VACUUM working with UNIQUE indices. Ticket #829. (CVS 1870) (check-in: 88a19a4386 user: drh tags: trunk)
15:31
add sqlite3_get_auxdata sqlite3_set_auxdata C API exports (CVS 1869) (check-in: 15bfb2d153 user: dougcurrie tags: trunk)
12:24
Fix problems for 64-bit machines and when SQLITE_OMIT_AUTHORIZATION is defined. (CVS 1868) (check-in: e3cad1ab62 user: drh tags: trunk)
00:31
Various size optimizations. (CVS 1867) (check-in: 1186e3ce0b user: drh tags: trunk)
2004-07-24
17:38
Prepared statements now work with CREATE and DROP. All tests pass. No memory leaks. (CVS 1866) (check-in: ebdb661e0e user: drh tags: trunk)
14:35
Fix more problems with deferred execution of CREATE. Still need to do DROP. There is now a memory leak. (CVS 1865) (check-in: 6db3f122aa user: drh tags: trunk)
03:30
Progress towards getting prepared statements and CREATE and DROP to play nicely together. Work is incomplete. Some tests are known to fail. (CVS 1864) (check-in: 49b9914924 user: drh tags: trunk)
2004-07-23
01:10
More fixes to the publish.sh script. (CVS 1863) (check-in: 022e3f56ac user: drh tags: version_2)
00:01
First cut at a analysis tool for version 3.0 databases. (CVS 1862) (check-in: 7c7f698b2e user: drh tags: trunk)
2004-07-22
19:06
Home page updates. (CVS 1861) (check-in: 15774aab7d user: drh tags: trunk)
18:54
Version 3.0.3 (CVS 1860) (check-in: 068b15ae2a user: drh tags: trunk)
18:53
Version 2.8.15 (CVS 1859) (check-in: 102ab94167 user: drh tags: version_2)
18:53
Updates to the publish.sh script and the download.html webpage. (CVS 1858) (check-in: 23c2ec4591 user: drh tags: trunk)
18:44
Fixes to the publish.sh file for version 3.0. (CVS 1857) (check-in: cc82288b9f user: drh tags: trunk)
18:08
Fix the publish.sh script so that it builds and packages windows DLLs correctly. (CVS 1856) (check-in: 81aa41e7d4 user: drh tags: version_2)
17:10
Another attempt at fixing the memory allocation problem in sqliteExprListDup(). (CVS 1855) (check-in: 49c2ad8a75 user: drh tags: version_2)
16:32
Bug fix in allocation of expression lists after a malloc() failure. (CVS 1854) (check-in: 09494cab4f user: drh tags: version_2)
16:12
Update changes log for 2.8.15. Add new architecture images. (CVS 1853) (check-in: 8dd9b4de27 user: drh tags: trunk)
16:08
file join4_28.test was initially added on branch version_2. (CVS 1852) (check-in: dc3caba7f0 user: drh tags: trunk)
16:08
Add join tests to the 2.8 branch. (CVS 1850) (check-in: e5546f49c7 user: drh tags: version_2)
16:08
file join3_28.test was initially added on branch version_2. (CVS 1851) (check-in: ee5c2cff81 user: drh tags: trunk)
15:53
Update the version number for release 2.8.15. (CVS 1849) (check-in: 9b3c3ca4af user: drh tags: version_2)
15:47
Update VERSION and changes.html in preparation for the next release. (CVS 1848) (check-in: 428f80239e user: drh tags: trunk)
15:45
Change sqlite* to sqlite3* in the API reference for version 3.0. Ticket #818. (CVS 1847) (check-in: 7c96daddb6 user: drh tags: trunk)
15:02
Fix bugs associated with the codec. (CVS 1846) (check-in: b0a3becd82 user: drh tags: trunk)
02:40
Changes in support of using a codec. (CVS 1845) (check-in: 58505bf9be user: drh tags: trunk)
02:40
Changes in support of using a codec. (CVS 1844) (check-in: b77bec3574 user: drh tags: trunk)
01:19
Initial implementation of variable page sizes and the temp_store pragma. (CVS 1843) (check-in: 4cf6e9db75 user: drh tags: trunk)
2004-07-21
15:21
Updates comments in sqlite.h.in that describe the destructor parameter to sqlite3_bind_.... (CVS 1842) (check-in: 166eb60614 user: drh tags: trunk)
14:54
Update the TCL API documentation. (CVS 1841) (check-in: df306ad9ee user: drh tags: trunk)
14:07
Updates to the C-language API documents for version 3.0. (CVS 1840) (check-in: 814c58d470 user: drh tags: trunk)
02:53
Minor coding enhancements. (CVS 1839) (check-in: 65c3af74c1 user: drh tags: trunk)
2004-07-20
18:23
Simplify the where.c logic by flipping expression over so that the controlling variable is always on the left. (CVS 1838) (check-in: ec8bfa3891 user: drh tags: trunk)
14:06
Lemon collapses common destructors and reduce actions into a single case. (CVS 1837) (check-in: 3c5aa850ee user: drh tags: trunk)
12:45
Add the '%ifdef' capability to lemon. Other minor changes. (CVS 1836) (check-in: 522ff721cc user: drh tags: trunk)
02:05
Fix an obscure memory leak in the expression list allocator. (CVS 1835) (check-in: 5c77b332bd user: drh tags: version_2)
01:45
Handle quotes on table names in TABLE.* terms in SELECT. Ticket #680. (CVS 1834) (check-in: 9937ffb08e user: drh tags: version_2)
01:45
Handle quotes on the table name in TABLE.* terms in SELECT statements. Ticket #680. (CVS 1833) (check-in: 826b6797a9 user: drh tags: trunk)
01:14
Report an error when attempting to open a directory as a database. Ticket #687. (CVS 1832) (check-in: 4d77037be3 user: drh tags: trunk)
00:52
Add test for creating indices with quoted names. Ticket #695. (CVS 1831) (check-in: 7e72c5b7b5 user: drh tags: trunk)
00:50
Fix the handling of indices with quoted names. Ticket #695. (CVS 1830) (check-in: 467309975f user: drh tags: version_2)
00:40
Comment out all of date/time functions with SQLITE_OMIT_DATETIME_FUNCS. Ticket #784. (CVS 1829) (check-in: 28c01d2ac7 user: drh tags: version_2)
00:39
Comment out all of date/time functions with SQLITE_OMIT_DATETIME_FUNCS. Ticket #784. (CVS 1828) (check-in: 4e2ad572ea user: drh tags: trunk)
00:20
Correct handling of views on tables with quoted column names. Ticket #756. (CVS 1827) (check-in: ef0d5ebe96 user: drh tags: version_2)
00:20
Correct handling of views on tables with quoted column names. Ticket #756. (CVS 1826) (check-in: 8ac5a8ad5e user: drh tags: trunk)
2004-07-19
23:38
Refinements to the LIMIT patch (1823) for ticket #749. (CVS 1825) (check-in: 9d4f43f030 user: drh tags: trunk)
23:33
Limit occurs after DISTINCT. Ticket #749. (CVS 1824) (check-in: db5ae13db3 user: drh tags: version_2)
23:16
LIMIT occurs after DISTINCT. Ticket #749. (CVS 1823) (check-in: e6bc8aa808 user: drh tags: trunk)
22:28
more uses of sqlite3.pc (CVS 1822) (check-in: a0f107ca66 user: dougcurrie tags: trunk)
22:08
The OsFile under Unix records a pointer back to the pager. This is intended to be used for an externalized locking patch. (CVS 1821) (check-in: 511ee63924 user: drh tags: trunk)
19:30
Fix for ticket #813. (CVS 1820) (check-in: 0cc612f8aa user: drh tags: version_2)
19:28
Remove debugging code that was accidently left in join4.test. (CVS 1819) (check-in: e36e59f02e user: drh tags: trunk)
19:14
Fix for ticket #813. (CVS 1818) (check-in: 88e4bfa154 user: drh tags: trunk)
17:25
Store schema cookies on the TEMP database. Ticket #807. (CVS 1817) (check-in: c6c13dc460 user: drh tags: trunk)
04:25
use -lsqlite3 in .pc file (CVS 1816) (check-in: b36e6e4907 user: dougcurrie tags: trunk)
03:25
Use 'sqlite3.pc' instead of 'sqlite.pc' (CVS 1815) (check-in: 991b6108e7 user: dougcurrie tags: trunk)
03:23
Use 'sqlite3.pc' instead of 'sqlite.pc' (CVS 1814) (check-in: 7525a1a910 user: dougcurrie tags: trunk)
02:24
Correctly handle joins of move than 32 tables. Ticket #806. (CVS 1813) (check-in: 5ba0acd6c7 user: drh tags: version_2)
02:12
Correctly handle joins of more than 32 tables. Ticket #806. (CVS 1812) (check-in: 8806440970 user: drh tags: trunk)
00:56
A failed ATTACH leaves the database in a consistent state. Ticket #811. (CVS 1811) (check-in: c22f9feb1b user: drh tags: trunk)
00:39
When comparing two expressions do not apply affinity to either operand. Ticket #805. (CVS 1810) (check-in: 88a4e400f9 user: drh tags: trunk)
2004-07-18
23:47
Unsuccessful attempt to reproduce ticket #807. (CVS 1809) (check-in: d7e9772c74 user: drh tags: trunk)
23:06
Use only unsigned characters for upper() and lower(). Ticket #708. (CVS 1808) (check-in: 2464f79e5d user: drh tags: trunk)
23:03
Use only unsigned characters in upper() and lower(). Ticket #708. (CVS 1807) (check-in: f9b2aa8f8a user: drh tags: version_2)
22:25
The %W date specifier in strftime should be measured from the first Monday of the year. Ticket #758. (CVS 1806) (check-in: 135e5447f6 user: drh tags: version_2)
22:22
The %W date specifier in strftime should be measured from the first Monday of the year. Ticket #758. (CVS 1805) (check-in: 50b016b004 user: drh tags: trunk)
21:33
An improved fix for the min() problem of ticket #800. (CVS 1804) (check-in: b6e8b7a13c user: drh tags: trunk)
21:14
Min() and max() ignore NULL values. Ticket #800. (CVS 1803) (check-in: 223521c04e user: drh tags: version_2)
20:52
min() ignores NULL values. Ticket #800. (CVS 1802) (check-in: 166234a2b6 user: drh tags: trunk)
2004-07-17
21:59
Fix for ticket #812 in the 2.8 branch. (CVS 1801) (check-in: ea364dffc7 user: drh tags: version_2)
21:56
mprintf() correctly handles "%s","". Fix for ticket #812. (CVS 1800) (check-in: 4f56db1149 user: drh tags: trunk)
21:44
Use the F_FULLFSYNC fctrl if it is available. Record the name of files that are opened in the OsFile structure. (CVS 1799) (check-in: 1d30d0dd46 user: drh tags: trunk)
2004-07-15
20:08
Added tests for sqlite3_changes after a DELETE. (CVS 1798) (check-in: c01f13267f user: drh tags: trunk)
14:15
Implement the experimental sqlite3_bind_parameter_count() API in support of DBD::SQLite. Also fix the sqlite3.def export list. (CVS 1797) (check-in: c44943e6fe user: drh tags: trunk)
13:37
Make SrcList.nSrc a signed quantity to avoid problems in AIX. (CVS 1796) (check-in: f2bb83cfd7 user: drh tags: trunk)
13:37
Make SrcList.nSrc a signed quantity to avoid problems on AIX. (CVS 1795) (check-in: 41526d098d user: drh tags: version_2)
13:23
Fix the return type on sqliteStrICmp when the input strings are not equal. Ticket #804. (CVS 1794) (check-in: 660b89a0fc user: drh tags: trunk)
13:08
Correct return type on sqliteStrICmp() when argument strings differ. Ticket #804. (CVS 1793) (check-in: 296528b281 user: drh tags: version_2)
2004-07-01
11:25
Bug fixes in the windows build process within the publish.sh script (CVS 1792) (check-in: cda795a1d5 user: drh tags: trunk)
2004-06-30
23:59
Version 3.0.2 (Beta) (CVS 1791) (check-in: 26a559b658 user: drh tags: trunk)
23:17
Add -DNDEBUG to the default makefile. (CVS 1790) (check-in: f5ab04dae8 user: drh tags: trunk)
23:04
Omit the "LL" literal qualifier as it causes problems for some compilers. (CVS 1789) (check-in: 2010ed8040 user: drh tags: trunk)
22:54
Add a Credits section to the version3.html document. (CVS 1788) (check-in: 750ec96172 user: drh tags: trunk)
22:43
Do not use "new" as a variable name - some compilers think it is a keyword. (CVS 1787) (check-in: 8a6e4ea79e user: drh tags: trunk)
22:35
Up the version number to 3.0.2 and make changes to the website in preparation for the first beta release. (CVS 1786) (check-in: 0b73b7a074 user: drh tags: trunk)
14:29
Specify ASCII versions of Win32 API functions. (CVS 1785) (check-in: 48b31540db user: drh tags: trunk)
13:28
Fix a typo in capi3.tcl. (CVS 1784) (check-in: 982389b25d user: danielk1977 tags: trunk)
12:49
Have the debug version of sqliteRealloc() return partially uninitialised memory in the same way as the non-debug version can. (CVS 1783) (check-in: e78b0ff30f user: danielk1977 tags: trunk)
12:42
Fix a memory allocation problem in os_test.c (CVS 1782) (check-in: ed511c2ea9 user: danielk1977 tags: trunk)
11:54
Coverage improvements for malloc and vdbemem.c (CVS 1781) (check-in: a98dd004c4 user: danielk1977 tags: trunk)
11:41
Add the crashtest target to Makefile.in. Add LL suffix to long long constants in the vdbe. Comment changes to vdbeaux.c. (CVS 1780) (check-in: 4255300195 user: drh tags: trunk)
11:28
Skip bigfile.test on Mac OS X. Darwin does not handle large sparse files efficiently and so this test takes a really long time. (CVS 1779) (check-in: a3c38a6d28 user: drh tags: trunk)
11:14
When a statement causes a ROLLBACK due to an ON CONFLICT clause, other active VMs abort. (CVS 1778) (check-in: 0fedf74e30 user: drh tags: trunk)
10:54
Make sure vacuum.test closes all files. (CVS 1777) (check-in: 4077f9a30b user: danielk1977 tags: trunk)
09:49
Coverage tests for vacuum.c (CVS 1776) (check-in: 152e9940b9 user: danielk1977 tags: trunk)
08:20
Fixes for compiler warnings. Also more coverage. (CVS 1775) (check-in: fa19c77bf0 user: danielk1977 tags: trunk)
06:30
Add some tests for overlapping SELECT, COMMIT and ROLLBACK commands. (CVS 1774) (check-in: d256c14943 user: danielk1977 tags: trunk)
04:02
Improve test coverage of util.c (CVS 1773) (check-in: 68ac322137 user: drh tags: trunk)
03:08
Improved test coverage of func.c and hash.c. (CVS 1772) (check-in: 0c999f2813 user: drh tags: trunk)
02:43
Allow strings that look like integers to be inserted into IPK columns in a UTF-16 database. (CVS 1771) (check-in: e5e3976403 user: danielk1977 tags: trunk)
02:35
Minor fixes for UTF-16 databases. (CVS 1770) (check-in: 6c5c11e07e user: danielk1977 tags: trunk)
02:29
Some extra tests for the OP_MustBeInt opcode. (CVS 1769) (check-in: b9d5858ca1 user: drh tags: trunk)
01:07
Remove some pointless asserts from btree.c. (CVS 1768) (check-in: 73eec67505 user: drh tags: trunk)
2004-06-29
23:52
Run tests in UTF-16 mode. (CVS 1767) (check-in: 822bee3a4e user: danielk1977 tags: trunk)
14:03
Fix capi3.test so that it works with production (as well as debugging ) builds. (CVS 1766) (check-in: 9cf371d85d user: danielk1977 tags: trunk)
13:54
Fix TRACE7 in os_common.h. (CVS 1765) (check-in: 76e0b74961 user: drh tags: trunk)
13:41
Ensure the tcl interface returns an error when sqlite3_create_function() fails. (CVS 1764) (check-in: 357a82cd22 user: danielk1977 tags: trunk)
13:18
Test cases intended to improve coverage of main.c. (CVS 1763) (check-in: 15a084e9ea user: danielk1977 tags: trunk)
13:04
Improved test coverage of table.c and printf.c. (CVS 1762) (check-in: ba87834d86 user: drh tags: trunk)
12:39
Improved test coverage of tclsqlite.c (CVS 1761) (check-in: 008e57dcd5 user: drh tags: trunk)
11:26
Add testing for sqlite3_trace() and fix a bug. (CVS 1760) (check-in: 7a15391079 user: drh tags: trunk)
11:08
Comment out unused routine in os_unix.c. (CVS 1759) (check-in: 20db8124ac user: drh tags: trunk)
10:53
Do not set new error messages after a malloc failure. (CVS 1758) (check-in: f46251ee0a user: drh tags: trunk)
08:59
Fix error reporting path for errors that occur while reading the database schema. (CVS 1757) (check-in: 157db33e09 user: danielk1977 tags: trunk)
07:45
Bug-fixes to get the two threadtest C programs working again. (CVS 1756) (check-in: ffd3312b66 user: danielk1977 tags: trunk)
03:29
Try to get threads working again on Linux. (CVS 1755) (check-in: a8417cb83e user: drh tags: trunk)
2004-06-28
13:09
More coverage testing. (CVS 1754) (check-in: 3329210410 user: danielk1977 tags: trunk)
11:52
Get all tests working under win2k. (CVS 1753) (check-in: 168112c8b7 user: drh tags: trunk)
08:25
Add a simple test case for inter-process locking. (CVS 1752) (check-in: b0fcc99d22 user: danielk1977 tags: trunk)
04:52
Fix some problems with multi-file transaction rollback. (CVS 1751) (check-in: 06e8e30b24 user: danielk1977 tags: trunk)
01:16
A few more warning fixes. (CVS 1750) (check-in: 81e4994045 user: danielk1977 tags: trunk)
01:11
Fix a bunch of harmless warnings. (CVS 1749) (check-in: fae7c6e004 user: danielk1977 tags: trunk)
00:17
Fix a seg-fault caused by a malloc() failure. (CVS 1748) (check-in: e28d42cb5e user: danielk1977 tags: trunk)
2004-06-27
23:50
Fix unitialised variable in sqlite3VdbeFinalize(). (CVS 1747) (check-in: 9501587944 user: danielk1977 tags: trunk)
21:31
Remove unused routines from vdbeaux.c. Improve test coverage. (CVS 1746) (check-in: 792b3c75e7 user: drh tags: trunk)
01:56
Fix a bug in the handling of Mems inside of vdbe.c. (CVS 1745) (check-in: ad65c6e24e user: drh tags: trunk)
2004-06-26
19:35
Coverage testing of pragma.c. (CVS 1744) (check-in: 0f9c0f0aa9 user: drh tags: trunk)
14:46
Fold in a 64-bit change that came from the PHP people. (CVS 1743) (check-in: b69b4fe8ad user: drh tags: trunk)
14:40
Fold in changes submitted by the PHP developers. (CVS 1742) (check-in: a4a2570822 user: drh tags: version_2)
13:51
Fix a problem where a file was not being closed after a malloc() failure. (CVS 1741) (check-in: 3c8512bc54 user: danielk1977 tags: trunk)
12:40
Add news about the break-in to the homepage. (CVS 1740) (check-in: 5cda1cda63 user: drh tags: trunk)
10:02
Fix error message returned when a database cannot be opened. (CVS 1739) (check-in: 440bfd2ac5 user: danielk1977 tags: trunk)
09:50
Minor fixes related to the tests in misuse.test (CVS 1738) (check-in: 0af3ff3942 user: danielk1977 tags: trunk)
08:38
Remove the 'nMaster' argument from various pager and btree functions. (CVS 1737) (check-in: 4e20720984 user: danielk1977 tags: trunk)
06:37
Remove default_synchronous and temp_store pragmas. Allow the safety-level and cache-size to be set for attached databases. (CVS 1736) (check-in: 76da457b8f user: danielk1977 tags: trunk)
06:37
Remove default_synchronous and temp_store pragmas. Allow the safety-level and cache-size to be set for attached databases. (CVS 1735) (check-in: 212de3ce66 user: danielk1977 tags: trunk)
01:48
Fix a bug in the new full-sync journal format. (CVS 1733) (check-in: 02bd3acd7e user: danielk1977 tags: trunk)
2004-06-25
12:08
Fix CVS merge problem. (CVS 1693) (check-in: dfab1e9ac0 user: danielk1977 tags: trunk)
11:11
Add a checksum to the master journal name stored at the end of a journal file. (CVS 1692) (check-in: 4905e74925 user: danielk1977 tags: trunk)
10:26
Remove crash.test from memleak.test. (CVS 1691) (check-in: 2a9cea61f9 user: danielk1977 tags: trunk)
10:25
Remove duplicate sqlite3_changes() declaration. Ticket #779. (CVS 1690) (check-in: 0322c83776 user: danielk1977 tags: trunk)
08:32
A few more comment changes. No code alterations. (CVS 1689) (check-in: b68b4a4262 user: danielk1977 tags: trunk)
07:21
Add a comment on the implementation of sqlite3OsLock(). No code changes. (CVS 1688) (check-in: 084f3fffbd user: danielk1977 tags: trunk)
06:23
Activate test cases for new journal format. (CVS 1687) (check-in: 197d00d6a6 user: danielk1977 tags: trunk)
02:38
Modifications to the journal format to make it more robust. (CVS 1686) (check-in: 504246a18d user: danielk1977 tags: trunk)
01:10
Fix signed integer problems in vxprintf. Ticket #778. Also remove some dead code from util.c. (CVS 1685) (check-in: 200cd3baf6 user: drh tags: trunk)
2004-06-24
15:09
add all sqlite3_ functions in capi reference to dll exports (CVS 1684) (check-in: b6ca51e47a user: dougcurrie tags: trunk)
14:43
add sqlite3_exec to dll exports (CVS 1683) (check-in: 6c6a84b564 user: dougcurrie tags: trunk)
14:17
make doc directory earlier in build; see (1667) (CVS 1682) (check-in: 68c90d16b4 user: dougcurrie tags: trunk)
01:30
Minor fix for 'make doc'. (CVS 1681) (check-in: 31fe5cbd87 user: danielk1977 tags: trunk)
00:20
Apply (1679) to version 3. Ticket #777. (CVS 1680) (check-in: 0a26b91580 user: danielk1977 tags: trunk)
2004-06-23
21:16
The MIN() aggregate function returns NULL if any element in the result was NULL. This makes MIN() consistent with ORDER BY which sorts NULL first. Ticket #777. (CVS 1679) (check-in: 78ced6e309 user: drh tags: version_2)
13:46
Improve test coverage of utf.c. (CVS 1678) (check-in: 53c553c760 user: danielk1977 tags: trunk)
12:35
Fix a bug in the previous checkin. (CVS 1677) (check-in: f31c84a64f user: danielk1977 tags: trunk)
12:15
Add some tests for user functions that prefer various text encodings. (CVS 1676) (check-in: db6bab5748 user: danielk1977 tags: trunk)
10:43
Test cases to verify recovery after a crash. (CVS 1675) (check-in: 41868d79ac user: danielk1977 tags: trunk)
01:05
Handle corrupt journal file headers correctly. (CVS 1674) (check-in: 46107da7ed user: danielk1977 tags: trunk)
00:23
Add a comment to the output buffer allocation in sqlite3VdbeMemTranslate() (CVS 1673) (check-in: e2f7f18298 user: danielk1977 tags: trunk)
2004-06-22
22:54
Fix another uninitialized Mem.xDel problem. (CVS 1672) (check-in: cb4e242e83 user: drh tags: trunk)
22:04
Be careful to initialize the Mem.xDel field to zero for static Mems. (CVS 1671) (check-in: e17ea666b1 user: drh tags: trunk)
17:59
Make sure the result of a user-defined function uses the text encoding of the database. (CVS 1670) (check-in: d333ac8002 user: drh tags: trunk)
14:59
Version 3.0.1 ALPHA (CVS 1669) (check-in: ac6683e380 user: drh tags: trunk)
14:57
Fix typos in web documentation. Tickets #770 and #771. (CVS 1668) (check-in: 04673066ff user: drh tags: trunk)
14:52
The download.tcl script used to generate download.html must run out of the doc subdirectory of the build. (CVS 1667) (check-in: 80c7b13ff3 user: drh tags: trunk)
14:47
Update the changes.html webpage for version 3.0.1. (CVS 1666) (check-in: d5d28e9822 user: drh tags: trunk)
14:41
Rename sqlite.dll to sqlite3.dll. (CVS 1665) (check-in: a82cb4d30a user: drh tags: trunk)
14:41
Prepare for another ALPHA release. Version number 3.0.1. (CVS 1664) (check-in: 6dd7b02537 user: drh tags: trunk)
14:40
Do not apply unary '-' to an unsigned "sizeof" result. (CVS 1663) (check-in: 129c5d5e3a user: drh tags: trunk)
13:23
Fix error introduced during merge of main.mk. (CVS 1662) (check-in: eef6da38d5 user: danielk1977 tags: trunk)
13:22
Fix some segfaults that could have occurred after a malloc() failure. (CVS 1661) (check-in: 80151e7281 user: drh tags: trunk)
13:12
Add crash.test script. (CVS 1660) (check-in: 64a6d80517 user: danielk1977 tags: trunk)
12:46
Add comments to test1.c. (CVS 1659) (check-in: be6bd6c99d user: drh tags: trunk)
12:30
Add os_tst.c to the TESTSRC macro in main.mk. (CVS 1658) (check-in: d0def160e5 user: drh tags: trunk)
12:18
Improve the os_test.c module. (CVS 1657) (check-in: ecdb93d3c9 user: danielk1977 tags: trunk)
12:13
Patch around compilers that do not support "long long int". (CVS 1656) (check-in: d98b1502e2 user: drh tags: trunk)
11:29
Add os_test.c. Not activated yet. (CVS 1655) (check-in: d16b863849 user: danielk1977 tags: trunk)
2004-06-21
21:49
configure fixes for cygwin (line endings in configure.ac) ticket #772 (CVS 1654) (check-in: 819a5973d1 user: dougcurrie tags: trunk)
21:44
configure fixes for cygwin (line endings in configure.ac) (CVS 1653) (check-in: eec48814f4 user: dougcurrie tags: trunk)
18:57
configure and makefile updates for v3-alpha compiler macros (CVS 1652) (check-in: 99f38932d6 user: dougcurrie tags: trunk)
18:14
Fix an uninitialized variable. The variable was harmless, but pedantic error checking in MSVC raised an exception on it. (CVS 1651) (check-in: afc398c2ca user: drh tags: trunk)
11:30
Remove unused OP_UtfXX opcodes. (CVS 1650) (check-in: 84d6354fce user: danielk1977 tags: trunk)
10:45
Avoid opening a temp table for aggregate queries with no GROUP BY clause. (CVS 1649) (check-in: 4d02df6349 user: danielk1977 tags: trunk)
09:06
Add the OP_Concat8 opcode, similar in concept to OP_String8. (CVS 1648) (check-in: bbd3e93348 user: danielk1977 tags: trunk)
08:18
Ensure sqlite3ErrorMsg() is used to report errors during compilation, sqlite3Error() during execution. Also remove unused param from sqlite3VdbeReset() and Finalize(). (CVS 1647) (check-in: 7a33daef5b user: danielk1977 tags: trunk)
07:36
Update sqlite3_column_decltype() to return NULL as the declartion type for an expression that is not a column reference. (CVS 1646) (check-in: ee9dffd986 user: danielk1977 tags: trunk)
06:50
Update sqlite3_changes() to match the documentation and add sqlite3_total_changes(). (CVS 1645) (check-in: ae2f4a0943 user: danielk1977 tags: trunk)
2004-06-20
03:06
fix fulltest error by restoring unset (CVS 1644) (check-in: d2ccac9d01 user: dougcurrie tags: trunk)
2004-06-19
17:33
Make sure VdbeFunc entries are initialized before trying to destroy them. Also, unrelated comment changes in build.c. (CVS 1643) (check-in: fc3b3a8fe8 user: drh tags: trunk)
16:06
Omit the DB_Locked and DB_Cookie flags. Other minor cleanup. (CVS 1642) (check-in: 01f74b420c user: drh tags: trunk)
15:40
Clear up another zero-length array. This seems to fix the segfault in func-13.4 too. (CVS 1641) (check-in: 70680a34b4 user: drh tags: trunk)
15:22
Fix problems with the WatCom C compiler: Arrays must contain at least one element. sqlite3FreeX declared properly. Don't allow run-time expression (the SQLITE_UTF16NATIVE macro) in an array initializer. (CVS 1640) (check-in: fbfc3c95a8 user: drh tags: trunk)
14:49
Omit the sqlite3VdbeCode() routine. Use sqlite3NameFromToken() more to reduce the amount of code. (CVS 1639) (check-in: 99d0436e0e user: drh tags: trunk)
11:57
file spaceanal.tcl was initially added on branch version_2. (CVS 1638) (check-in: 936e60d7b1 user: drh tags: trunk)
11:57
Add the source code to the sqlite_analyzer utility. (CVS 1637) (check-in: 06bf4c7e41 user: drh tags: version_2)
11:57
Fix a compiler warning in os.c. (CVS 1636) (check-in: 28b737b5a0 user: drh tags: version_2)
11:39
Create sqlite3.def and move sqlite.def into the attic. (CVS 1635) (check-in: a5c98a272e user: drh tags: trunk)
09:35
Remove the unused 'next_cookie' mechanism. (CVS 1634) (check-in: c94a9759ca user: danielk1977 tags: trunk)
09:08
Make sure ATTACH and DETACH fail if a transaction is active. (CVS 1633) (check-in: c49d8bdc3e user: danielk1977 tags: trunk)
08:18
Remove the iCollate argument from sqlite3_create_function() (CVS 1632) (check-in: 728d57ff55 user: danielk1977 tags: trunk)
04:23
Backport of (1628) to version 2. (CVS 1631) (check-in: cce250eaee user: danielk1977 tags: version_2)
03:33
Update sqlite3_close() API to match documentation. (CVS 1630) (check-in: 61819740fe user: danielk1977 tags: trunk)
03:26
Update sqlite.def for version 3.0. (CVS 1629) (check-in: 327780ade9 user: drh tags: trunk)
02:22
Fix for #764. When reloading the schema, load the temp schema last. (CVS 1628) (check-in: 1f43219a74 user: danielk1977 tags: trunk)
02:19
fix dependencies for testfixture in Makefile.in (CVS 1627) (check-in: 26676538ee user: dougcurrie tags: trunk)
00:16
Change the name of the TCL command from "sqlite" to "sqlite3" so that both SQLite version 2 and SQLite version 3 can be used by Tcl at the same time. (CVS 1626) (check-in: d705d051be user: drh tags: trunk)
2004-06-18
23:21
MinGW/MSYS build fixes; ticket #765 (CVS 1625) (check-in: 5f383c1ee1 user: dougcurrie tags: trunk)
23:20
MinGW/MSYS build fixes; ticket #765 (CVS 1624) (check-in: 3c6b9b41a6 user: dougcurrie tags: trunk)
23:19
MinGW/MSYS build fixes; ticket #765 (CVS 1623) (check-in: 7121cee78c user: dougcurrie tags: trunk)
17:45
Fix declaration problem in the previous check-in. (CVS 1622) (check-in: f312057da4 user: drh tags: trunk)
17:10
Changes to allow libsqlite3.a and libsqlite.a to be both linked into the same program at the same time. (CVS 1621) (check-in: 2590fffcaa user: drh tags: trunk)
15:13
Fix typos in documentation. Fix publish.sh so that it correctly builds the ZIP archive of preprocesses source code. (CVS 1620) (check-in: fee0c5e308 user: drh tags: trunk)
12:29
Version 3.0.0 (ALPHA) (CVS 1619) (check-in: 8b409aaae4 user: drh tags: trunk)
11:34
Fix typos in capi3.tcl (CVS 1618) (check-in: 9e0e530f10 user: danielk1977 tags: trunk)
11:29
Update the Makefile.in, version number, change log, etc for the 3.0.0 release. (CVS 1617) (check-in: 917391e05e user: drh tags: trunk)
11:25
Fix typos and minor errors in lang.tcl. (CVS 1616) (check-in: 61db159c7d user: danielk1977 tags: trunk)
06:02
Fix a couple of gcc warnings. (CVS 1615) (check-in: 960f55f3ec user: danielk1977 tags: trunk)
04:24
Optimisation for unicode encoding conversion routines. (CVS 1614) (check-in: 39a415eaa6 user: danielk1977 tags: trunk)
2004-06-17
19:04
Documentation updates in preparation for the release of version 3.0.0. (CVS 1613) (check-in: 9fb29f7331 user: drh tags: trunk)
07:53
Remove redundant opcodes OP_MakeKey and OP_MakeIdxKey. (CVS 1612) (check-in: a71a9ff114 user: danielk1977 tags: trunk)
06:13
Handle conflicting ON CONFLICT clauses in table definitions. (CVS 1611) (check-in: 12e77e759e user: danielk1977 tags: trunk)
05:36
Use the faster LIKE function from sqlite v2. Add special user functions to test builds to test the auxdata APIs. (CVS 1610) (check-in: b9493c5fac user: danielk1977 tags: trunk)
00:01
Remove the second definition of SQLITE_N_BTREE_META from test3.c. (CVS 1609) (check-in: b1e66ae464 user: danielk1977 tags: trunk)
2004-06-16
12:02
Trivial modifications to prevent compiler warnings. (CVS 1608) (check-in: b3d5ad6f78 user: danielk1977 tags: trunk)
12:02
Trivial modifications to prevent compiler warnings. (CVS 1607) (check-in: 7974c9a6f5 user: danielk1977 tags: trunk)
12:00
Trivial modifications to prevent compiler warnings. (CVS 1606) (check-in: 6001c5e1ce user: danielk1977 tags: trunk)
10:39
Fix handling of a failed malloc() in various places (CVS 1605) (check-in: b739ef2a1b user: danielk1977 tags: trunk)
10:39
Fix handling of a failed malloc() in various places (CVS 1604) (check-in: 7d8edce4c1 user: danielk1977 tags: trunk)
07:45
Fix two more memory leaks. (CVS 1603) (check-in: 98b48704a1 user: danielk1977 tags: trunk)
03:02
Documentation updates and changes the publish.sh script. (CVS 1602) (check-in: e9a77f8972 user: drh tags: trunk)
01:21
Update the publish.sh script so that it no longer generates documentation pages (that is handled by the version 3.0.0 publish.sh). Also insert version numbers in the filenames of all build products. (CVS 1601) (check-in: f2b8d35825 user: drh tags: version_2)
2004-06-15
16:51
Assorted memory leak fixes. (CVS 1600) (check-in: 07b90f3690 user: danielk1977 tags: trunk)
13:36
Memory leak fixes for tests in file select1.test. (CVS 1599) (check-in: 59db58ebd3 user: danielk1977 tags: trunk)
11:40
Minor bugfixes and test case adjustments for version 2 test cases to work with version 3. (CVS 1598) (check-in: e21a181376 user: danielk1977 tags: trunk)
02:44
(1) Vdbe makes a copy of column types. (2) Don't invalidate other cursors when a statement or transaction is rolled back. (3) Update capi2.test for the new API. (CVS 1597) (check-in: 4f5e253082 user: danielk1977 tags: trunk)
02:13
Update comments in btree.c. No changes to code. (CVS 1596) (check-in: 1c6a070635 user: drh tags: trunk)
01:40
Do not use the page containing locks for anything to avoid problems with the manditory file locking on windows. (CVS 1595) (check-in: 5a81420277 user: drh tags: trunk)
00:29
Add the sqlite3OsFileModTime() interface. But it is still unused. The change counter in page 1 is always incremented. (CVS 1594) (check-in: 186c6f93e1 user: drh tags: trunk)
2004-06-14
23:46
Update some old tests to use the new API. (CVS 1593) (check-in: af6edd2c0a user: danielk1977 tags: trunk)
13:14
Schema modifications are committed internally when a statement transaction is committed. (CVS 1592) (check-in: 4cfc5a36e9 user: danielk1977 tags: trunk)
11:58
Do not authenticate statements when reading the schema. Backport of bug fix in (1588) to version 2. (CVS 1591) (check-in: 24adf9ed59 user: drh tags: version_2)
11:54
Fix a bug in the auth.test script. (CVS 1590) (check-in: 1fa97dd81d user: danielk1977 tags: trunk)
11:43
Have the TCL 'errorcode' interface call sqlite3_errcode(). (CVS 1589) (check-in: f4b4df6514 user: danielk1977 tags: trunk)
11:35
Don't invoke authorisation callback during database initialisation. (CVS 1588) (check-in: 293fbf0aa5 user: danielk1977 tags: trunk)
09:41
Bugfix for previous checkin. (CVS 1587) (check-in: 2737505f28 user: danielk1977 tags: trunk)
09:35
Ensure master journal file is deleted when a transaction is committed. (CVS 1586) (check-in: cb3cbe00be user: danielk1977 tags: trunk)
08:26
Check the value of the schema cookie before reading the sqlite_master table. (CVS 1585) (check-in: 80c299f883 user: danielk1977 tags: trunk)
06:13
Change tests in pager.test to account for the extra cache hit in the code that updates file change counter. (CVS 1584) (check-in: 76ac9a787b user: danielk1977 tags: trunk)
06:03
Ensure the master journal directory is synced. Also, change the master journal format to store journal file names. (CVS 1583) (check-in: 73cd0aabb2 user: danielk1977 tags: trunk)
05:10
Update the file change counter just before each transaction is committed. (CVS 1582) (check-in: 4649abcbfd user: danielk1977 tags: trunk)
2004-06-13
23:07
os_win.c is now working with the new locking protocol. (CVS 1581) (check-in: 77c5eaa10a user: drh tags: trunk)
00:54
More speed improvements. (CVS 1580) (check-in: c5ebc1c05e user: drh tags: trunk)
2004-06-12
20:42
The VDBE aggregate functions use an in-memory btree instead of a disk-based btree for improved performance. (CVS 1579) (check-in: 8029f1e465 user: drh tags: trunk)
20:12
Speed up in the handling of VDBE cursors. (CVS 1578) (check-in: e42316f570 user: drh tags: trunk)
18:12
Improve the speed of OP_Column through better caching. (CVS 1577) (check-in: f687977a28 user: drh tags: trunk)
14:11
Fix typo in the locking document. (CVS 1576) (check-in: 99a7bd83ac user: drh tags: trunk)
09:25
(1) Modifications to the user-function interface and (2) Internal changes to automatically created indices. (CVS 1575) (check-in: 5903f53828 user: danielk1977 tags: trunk)
02:17
Bug fix in the unix locking code. (CVS 1574) (check-in: dcad244f58 user: drh tags: trunk)
01:43
Change prototype for busy callbacks to "int xBusy(void *, int);" (CVS 1573) (check-in: 4f1cfca5ca user: danielk1977 tags: trunk)
00:42
Use the SQLITE_UTF* symbols instead of the old internal TEXT_Utf* symbols. (CVS 1572) (check-in: 9b84f2f488 user: danielk1977 tags: trunk)
2004-06-11
22:04
Fix typos in the new locking document. (CVS 1571) (check-in: 022075517c user: drh tags: trunk)
17:48
Documentation of the new pager locking mechanism. (CVS 1570) (check-in: 13cf1ba825 user: drh tags: trunk)
13:19
Have the vdbe aggregator use a btree table instead of a hash table. (CVS 1569) (check-in: 8d56118f64 user: danielk1977 tags: trunk)
10:51
Fix various collation sequence issues. (CVS 1568) (check-in: 66835ee670 user: danielk1977 tags: trunk)
2004-06-10
23:35
Comment changes in pager.c. (CVS 1567) (check-in: 0e420f72cd user: drh tags: trunk)
22:51
Add new contributed logo TIFF. (CVS 1566) (check-in: 86744c9aca user: drh tags: trunk)
14:01
Correctly handle the situation where a collation sequence is available, but not in the preferred encoding. (CVS 1565) (check-in: 49ab4794e1 user: danielk1977 tags: trunk)
10:51
Add the sqlite3_collation_needed() API and fix some error handling cases involving unknown collation sequences. (CVS 1564) (check-in: 67500546ea user: danielk1977 tags: trunk)
10:51
Add the sqlite3_collation_needed() API and fix some error handling cases involving unknown collation sequences. (CVS 1563) (check-in: 518d82d3b1 user: danielk1977 tags: trunk)
10:50
Add the sqlite3_collation_needed() API and fix some error handling cases involving unknown collation sequences. (CVS 1562) (check-in: edf069b9f4 user: danielk1977 tags: trunk)
05:59
Misc fixes for test cases failing due to the new locking model. (CVS 1561) (check-in: 71e98d0d08 user: danielk1977 tags: trunk)
04:32
When in PAGER_RESERVED state, don't write to the main file when rolling back a statement transaction. (CVS 1560) (check-in: adb2bd6143 user: danielk1977 tags: trunk)
02:16
Change the collation sequence interface to allow collation sequences that use UTF-16 in non-native byte order to be registered. (CVS 1559) (check-in: b8aaa3a29e user: danielk1977 tags: trunk)
01:30
Add the vdbe_listing and sql_trace pragmas used for debugging. (CVS 1558) (check-in: 28c3cc0880 user: drh tags: trunk)
01:08
Tests in lock.test no conform to the new locking scheme. (CVS 1557) (check-in: a60afd04c5 user: drh tags: trunk)
00:51
Fix a buffer overrun in the atomic multifile commit logic of the pager. (CVS 1556) (check-in: 3b78ffe0b5 user: drh tags: trunk)
00:29
Check for schema updates if the parser fails to find a table. More locking test updates. (CVS 1555) (check-in: a22283512a user: drh tags: trunk)
2004-06-09
23:20
Version 2.8.14 (CVS 1554) (check-in: 7d3937743f user: drh tags: version_2)
23:15
Website changes for version 2.8.14. (CVS 1553) (check-in: 73afa14a04 user: drh tags: trunk)
22:49
Update the version number to 2.8.14. For whatever reason, the version at the tip of the 2.8 branch fixes ticket #757. (CVS 1552) (check-in: 7538d2e529 user: drh tags: version_2)
21:01
If a commit fails due to lock contention right after the COMMIT command, take the database back out of autocommit mode. Do not rollback. This gives the user the chance to try the COMMIT again. (CVS 1551) (check-in: 39b4ba95c4 user: drh tags: trunk)
20:03
Turn on the atomic multifile commit logic. It does not work right yet, but it has at least stopped failing asserts. (CVS 1550) (check-in: 3674b25edc user: drh tags: trunk)
19:03
Remove legacy journal formats. (CVS 1549) (check-in: a12bef4a08 user: drh tags: trunk)
17:37
Fixes to the file locking. 109 tests are now failing. (CVS 1548) (check-in: dc0763455b user: drh tags: trunk)
14:17
Add the "lock_status" pragma - only available when SQLITE_DEBUG is defined. Used for testing only. (CVS 1547) (check-in: 0ecbba78fc user: drh tags: trunk)
14:01
Change the MEMORY_DEBUG macro to SQLITE_DEBUG. (CVS 1546) (check-in: 428b685b71 user: drh tags: trunk)
12:30
Fix error reporting when trying to attach a database with a foriegn text encoding. (CVS 1545) (check-in: beab038c71 user: danielk1977 tags: trunk)
09:55
Some progress on user-defined collation sequences. (CVS 1544) (check-in: c634e71f19 user: danielk1977 tags: trunk)
00:48
Start all transactions and verify all schema cookies near the beginning of of each vdbe program. (CVS 1543) (check-in: 1086196460 user: drh tags: trunk)
2004-06-08
00:47
Do not require a RESERVED lock when transitioning from SHARED to EXCLUSIVE. (CVS 1542) (check-in: 4dfdea7373 user: drh tags: trunk)
00:39
Enhance the built-in function quote() to support blob values. (CVS 1541) (check-in: 97aa54bb70 user: danielk1977 tags: trunk)
00:02
Remove the third argument from the sqlite3_open() API. (CVS 1540) (check-in: 62e31f396c user: danielk1977 tags: trunk)
2004-06-07
16:27
More work on windows locking. Fix some problems with unix locking. There is still an assertion failure on windows locking in attach2.test. (CVS 1539) (check-in: 0c2d169cf3 user: drh tags: trunk)
10:00
Tables created with the CREATE TABLE <tbl> AS SELECT ... syntax now inherit column declaration types from the SELECT statement. (CVS 1538) (check-in: 31c1668dbc user: danielk1977 tags: trunk)
07:52
Add pragma to set/get text encoding. Also fix an obscure problem where a temp trigger could be accidently dropped. (CVS 1537) (check-in: 983221b038 user: danielk1977 tags: trunk)
01:52
Progress towards getting locking to work on windows. (CVS 1536) (check-in: 4f7c0961ad user: drh tags: trunk)
2004-06-06
12:41
Performance improvements for LIKE. It is still too slow though. (CVS 1535) (check-in: 30b81507fc user: danielk1977 tags: trunk)
09:44
Enhance user function API to support association of meta-data with constant arguments and the specification of text encoding preference. The LIKE operator takes advantage of both. (CVS 1534) (check-in: 92337d8f79 user: danielk1977 tags: trunk)
00:42
Added sqlite3OsLock for win32. Assertion fault in attach.test. (CVS 1533) (check-in: 9e6cd9ec75 user: drh tags: trunk)
2004-06-05
10:22
Add the sqlite3_set_auxdata() and sqlite3_get_auxdata() APIs. (CVS 1532) (check-in: c2899b4373 user: danielk1977 tags: trunk)
08:04
Ensure blob values survive the ".dump" command of the shell. (CVS 1531) (check-in: e82eb722b0 user: danielk1977 tags: trunk)
00:01
Critical bugs fixed in btree.c. Incompatible file format change. Unrelated comment fix in select.c (CVS 1530) (check-in: cb1ffabf86 user: drh tags: trunk)
2004-06-04
19:07
Calling sqlite_interrupt() while VACUUM is running should not cause an error. (CVS 1529) (check-in: 1cf94a7c41 user: drh tags: version_2)
10:38
Defer the exclusive db lock until the pager cache is flushed to disk. 41 tests now fail. (CVS 1528) (check-in: d2f69e5ef2 user: danielk1977 tags: trunk)
06:22
Move the 'busy-callback' logic to the pager layer. (CVS 1527) (check-in: ff70b6d2b6 user: danielk1977 tags: trunk)
2004-06-03
16:08
Untested updates to support atomic multi-file transactions (CVS 1526) (check-in: d57e5252c8 user: danielk1977 tags: trunk)
2004-06-02
06:30
Fix a segfault in sqlite3OsLock() (CVS 1525) (check-in: 51348b82c4 user: danielk1977 tags: trunk)
01:22
Work toward combining the OP_MakeKey, OP_MakeIdxKey, and OP_MakeRecord opcodes into one. The work is incomplete. (CVS 1524) (check-in: 165d69a04c user: drh tags: trunk)
00:41
Remove the sqlite3_libencoding() api and the ISO8859 encoding option. (CVS 1523) (check-in: b53640ed22 user: drh tags: trunk)
00:29
Fix a bug with UTF-16 byte-order-marks on big-endian hosts. (CVS 1522) (check-in: c17b864103 user: danielk1977 tags: trunk)
00:08
Fix another website typo. (CVS 1521) (check-in: 24e2bbd0f2 user: drh tags: trunk)
2004-06-01
14:09
Unix version of sqlite3OsLock(). (CVS 1520) (check-in: 023d1760c1 user: danielk1977 tags: trunk)
12:59
Fix typo on homepage (CVS 1519) (check-in: a84ece2500 user: drh tags: trunk)
10:01
Fix typos in version 3 documents. (CVS 1518) (check-in: 915cba5712 user: drh tags: trunk)
01:45
Makefile changes for building windows DLLs. (CVS 1517) (check-in: 11c5d6ab39 user: drh tags: trunk)
01:22
Add the capi3ref.html page to the website. (CVS 1516) (check-in: 89f54f1ffd user: drh tags: trunk)
00:03
Remove the sqlite3_open_varargs() API. (CVS 1515) (check-in: 6902fb1b49 user: danielk1977 tags: trunk)
2004-05-31
23:56
Remove the sqlite3_error_string() API. (CVS 1514) (check-in: af8e2006d8 user: danielk1977 tags: trunk)
23:13
Synchronize lemon.c to the version on the 2.8 branch. (CVS 1513) (check-in: 6ab3af8847 user: drh tags: trunk)
19:34
Change the name of the sqlite3_freemem API function to just sqlite3_free. (CVS 1512) (check-in: f3b80bbb97 user: drh tags: trunk)
18:51
Change all SQLITE3 preprocessor macros to SQLITE. Documentation updates. (CVS 1511) (check-in: adf7e29ff6 user: drh tags: trunk)
18:23
Change the name of the include file to "sqlite3.h". The names of the shell command and static library become "sqlite3" and "libsqlite3.a". (CVS 1510) (check-in: 4c37b6d2b7 user: drh tags: trunk)
18:22
Begin adding documentation for version 3.0. (CVS 1509) (check-in: 2005bfdad0 user: drh tags: trunk)
18:21
Get the attach.test working on windows. (CVS 1508) (check-in: 48226a7380 user: drh tags: trunk)
16:04
More website updates. (CVS 1507) (check-in: 460f236114 user: drh tags: trunk)
15:06
Website redesign in preparation for adding version 3 documentation. (CVS 1506) (check-in: 2052911b1f user: drh tags: trunk)
12:34
Some test cases for read locks (CVS 1505) (check-in: 0e07006704 user: danielk1977 tags: trunk)
11:51
Use read-only transactions. (CVS 1504) (check-in: 6c100887ee user: danielk1977 tags: trunk)
10:08
Bugfix for previous checkin. (CVS 1503) (check-in: 5f869fbfc0 user: danielk1977 tags: trunk)
10:01
Add read-transactions to the btree and vdbe. The compiler doesn't invoke them yet. (CVS 1502) (check-in: 6b43633a96 user: danielk1977 tags: trunk)
08:55
Remove the <ON CONFLICT> clause from BEGIN (CVS 1501) (check-in: 9029274b61 user: danielk1977 tags: trunk)
08:26
Replace OP_Begin, OP_Commit and OP_Rollback with OP_AutoCommit. (CVS 1500) (check-in: b8ed812c92 user: danielk1977 tags: trunk)
2004-05-30
21:14
Add 3-byte and 6-byte integer serial types. This makes databases smaller and faster. Should we go ahead and add 5- and 7-byte integer types too? (CVS 1499) (check-in: e6685af815 user: drh tags: trunk)
20:46
Various speed enhancements. (CVS 1498) (check-in: a0db15bba6 user: drh tags: trunk)
19:19
Improved comments and speed tweaks to btree.c. (CVS 1497) (check-in: c86b7c065a user: drh tags: trunk)
02:14
Additional minor speed improvements. (CVS 1496) (check-in: a90264c0a4 user: drh tags: trunk)
01:51
Faster version of sqlite3VdbeSerialGet. (CVS 1495) (check-in: 80985505fe user: drh tags: trunk)
01:38
Do not include the P3 parameter on OP_Integer opcodes if the integer will fit in 32 bits. The P3 conversion is slow. (CVS 1494) (check-in: fcd84ebabc user: drh tags: trunk)
2004-05-29
21:46
A file format change for btree.c makes it between 10 and 20% faster. (CVS 1493) (check-in: cbcaece7f4 user: drh tags: trunk)
11:24
Transform OP_HexBlob and OP_String8 to OP_Blob and OP_String the first time they are executed. (CVS 1492) (check-in: 3225de8902 user: danielk1977 tags: trunk)
10:43
Ensure vacuum handles table names with spaces in them. (CVS 1491) (check-in: 0a6689be84 user: danielk1977 tags: trunk)
10:23
Fix vacuum so that it works with blobs. (CVS 1490) (check-in: 4feb4b9a71 user: danielk1977 tags: trunk)
02:44
Avoid arithmetic on void pointers. (CVS 1489) (check-in: 3d68703e2e user: danielk1977 tags: trunk)
02:37
Allow CREATE and DROP TRIGGER on attached databases. (CVS 1488) (check-in: 4060a37d0b user: danielk1977 tags: trunk)
2004-05-28
16:00
Factor common code for generating index keys into a procedure. Other speed improvements and bug fixes. (CVS 1487) (check-in: 6661bb5f9c user: drh tags: trunk)
13:13
Fix a bug in the sqlite3_column_decltype() API. (CVS 1486) (check-in: c8a40218c2 user: danielk1977 tags: trunk)
12:33
Allow CREATE and DROP VIEW on attached databases. (CVS 1485) (check-in: ad879a957d user: danielk1977 tags: trunk)
12:11
Allow DROP TABLE and DROP INDEX on attached databases. (CVS 1484) (check-in: 2fb3708e10 user: danielk1977 tags: trunk)
11:37
Allow CREATE TABLE and CREATE INDEX on attached databases. (CVS 1483) (check-in: 4984a130cc user: danielk1977 tags: trunk)
08:21
Tables and indices use the same record format. (CVS 1482) (check-in: 1b15b32bdb user: drh tags: trunk)
08:21
Tables and indices use the same record format. (CVS 1481) (check-in: ebd564d10b user: drh tags: trunk)
01:39
Remove the encoding argument from sqlite3VdbeSerialGet. Use the 32-bit version of sqlite3GetVarint for schema-level parameters. (CVS 1480) (check-in: 321f8c4635 user: drh tags: trunk)
2004-05-27
23:56
Add API functions sqlite3_open_varargs(), sqlite3_open16_varargs() and sqlite3_complete16(). (CVS 1479) (check-in: 203af2b2e3 user: danielk1977 tags: trunk)
19:59
Change the record format to include an extra varint at the beginning to record the number of bytes in the header. (CVS 1478) (check-in: 0c4d138807 user: drh tags: trunk)
17:22
Remove the COPY command. (CVS 1477) (check-in: 287f86731c user: drh tags: trunk)
14:23
Enhance the C function used to test sqlite3_create_function() from Tcl. (CVS 1476) (check-in: c85e5f1528 user: danielk1977 tags: trunk)
13:55
Test sqlite3_bind_blob(). (CVS 1475) (check-in: 42247b2fb0 user: danielk1977 tags: trunk)
13:35
A couple of test cases and fixes for blob literals. (CVS 1474) (check-in: 6d552af67c user: danielk1977 tags: trunk)
12:11
Alter the Tcl eval sub-command so that it supports blobs. (CVS 1473) (check-in: b5d5f0ad71 user: danielk1977 tags: trunk)
10:30
A few more bugfixes. Test cases pass now. (CVS 1472) (check-in: c9e3015faf user: danielk1977 tags: trunk)
09:28
Various bugfixes. 68 Test cases still fail. (CVS 1471) (check-in: 67a140cf78 user: danielk1977 tags: trunk)
03:12
Fixes to the MEM changes. The library now links. (CVS 1470) (check-in: f33d15d95f user: drh tags: trunk)
01:53
More MEM changes in the vdbe.c. Still will not compile. (CVS 1469) (check-in: dbdd1a7f31 user: drh tags: trunk)
01:49
More test cases for the new query API. (CVS 1468) (check-in: 74097ecdb0 user: danielk1977 tags: trunk)
01:04
Add TCL test bindings and some more test cases for the new query API. (CVS 1467) (check-in: d72adf0c52 user: danielk1977 tags: trunk)
2004-05-26
23:43
Break Mem.flags into Mem.type and Mem.enc. (CVS 1466) (check-in: 68ef170286 user: drh tags: trunk)
23:25
Refactoring of the vdbe Mem functions and the APIs that deal with them. The code will not compile in its current state. (CVS 1465) (check-in: bba6684d50 user: drh tags: trunk)
16:54
Remove dataType and includeTypes flags from function definitions. Added new P3_FUNCDEF type for P3 arguments on opcodes. Fixes to several user functions. 28 tests fail now. (CVS 1464) (check-in: 36e0316259 user: drh tags: trunk)
13:27
Ensure the type of an sqlite3_value* is not modified by calls to sqlite3_value_*() calls. (CVS 1463) (check-in: ce8b152034 user: danielk1977 tags: trunk)
10:11
Add some tests for the new API. Many more to come. (CVS 1462) (check-in: d5659f2ee6 user: danielk1977 tags: trunk)
06:58
Remove the show_datatypes pragma. (CVS 1461) (check-in: 93bb958d93 user: danielk1977 tags: trunk)
06:18
Use the new form of the sqlite3_create_function() API. (CVS 1460) (check-in: 0317bef4b0 user: danielk1977 tags: trunk)
02:04
Use the new API calls more consistently. (CVS 1459) (check-in: 17e7db488d user: danielk1977 tags: trunk)
00:07
More changes to do with the new sqlite3_step() API. (CVS 1458) (check-in: e83138250c user: danielk1977 tags: trunk)
00:01
Minor code fixes in btree.c and pragma.c to help with watcom C. (CVS 1457) (check-in: 143c502a59 user: drh tags: trunk)
00:01
Add file legacy.c with old APIs. (CVS 1456) (check-in: ae18fcb7ad user: danielk1977 tags: trunk)
2004-05-25
23:35
Move the sqlite3_exec() function to legacy.c. (CVS 1455) (check-in: 9385ad5ca8 user: danielk1977 tags: trunk)
12:05
Change a couple of symbol names for the new user function API. (CVS 1454) (check-in: 8f6b20c293 user: danielk1977 tags: trunk)
11:47
Use the new API for returning values and errors from user functions. (CVS 1453) (check-in: 4eccae03b4 user: danielk1977 tags: trunk)
01:13
Add manifest type aware versions of the min() and max() aggregates. (CVS 1452) (check-in: b77c268ebe user: danielk1977 tags: trunk)
2004-05-24
23:48
Aggregate functions also use sqlite_value* instead of const char * for arguments. (CVS 1451) (check-in: 5c28ed5e9b user: danielk1977 tags: trunk)
12:55
Update the typeof() operator to respect manifest types. (CVS 1450) (check-in: 162cf42e33 user: danielk1977 tags: trunk)
12:39
Non-aggregate SQL functions use sqlite_value* instead of const char * for argument values. (CVS 1449) (check-in: 1e47d7384d user: danielk1977 tags: trunk)
09:15
Fix typo in vdbe.c from previous commit. (CVS 1448) (check-in: a554bf6c70 user: danielk1977 tags: trunk)
09:10
Add the sqlite3_value_*() access functions. (CVS 1447) (check-in: 4bf925fcfc user: danielk1977 tags: trunk)
07:34
Fix for retrieving UTF-16 little-endian text from a big-endian database. (CVS 1446) (check-in: 8104baf23d user: danielk1977 tags: trunk)
07:04
Have the vdbe handle strings in the same encoding as the database. (CVS 1445) (check-in: b7155db2b1 user: danielk1977 tags: trunk)
2004-05-23
13:30
Begin changing the vdbe so all stack values use the database encoding. (CVS 1444) (check-in: f47de3a933 user: danielk1977 tags: trunk)
2004-05-22
21:30
Remove the OP_SetInsert opcode. (CVS 1443) (check-in: 18e690e405 user: drh tags: trunk)
17:46
Move btree_rb.c into the attic. (CVS 1442) (check-in: 4159ef235d user: drh tags: trunk)
17:41
Split up os.c into separate files, one for each platform. (CVS 1441) (check-in: 5c61be1c47 user: drh tags: trunk)
11:09
Bug fix in vdbe.c - variable declarations must come before code in ANSI C. (CVS 1440) (check-in: c36203de22 user: drh tags: trunk)
10:33
Add a couple of tests for UTF-16 databases. (CVS 1439) (check-in: 891be63a92 user: danielk1977 tags: trunk)
10:33
Add a couple of tests for UTF-16 databases. (CVS 1438) (check-in: d7551df8c3 user: danielk1977 tags: trunk)
09:21
Use the new form of the sqlite3_open() API everywhere. (CVS 1437) (check-in: b449217318 user: danielk1977 tags: trunk)
08:16
Tests for the functions in utf.c. (CVS 1436) (check-in: 802d65affc user: danielk1977 tags: trunk)
08:09
Store the text encoding in the database (as meta value 4). (CVS 1435) (check-in: 7f00ca5801 user: danielk1977 tags: trunk)
07:27
A few bugfixes related to UTF-16 databases. sqlite3_open() still assumes a UTF-8 database, and sqlite3_open16() still assumes a UTF-16 db. (CVS 1434) (check-in: b3581d2796 user: danielk1977 tags: trunk)
03:05
Steps towards UTF-16 databases. Some tests are failing because of this commit. (CVS 1433) (check-in: c4a8246864 user: danielk1977 tags: trunk)
02:55
Update comments and remove dead code from btree.c (CVS 1432) (check-in: 8069caca82 user: drh tags: trunk)
2004-05-21
21:12
Floating point values are serialized in big-endian byte order. (CVS 1431) (check-in: acb65297b6 user: drh tags: trunk)
13:39
Remove the OP_SetFound opcode and its cousins. (CVS 1430) (check-in: 5524075ec0 user: drh tags: trunk)
11:39
Eliminate some unused code (CVS 1429) (check-in: 550a53b3f2 user: danielk1977 tags: trunk)
10:49
Pretty-print blobs in vdbe-traces. (CVS 1428) (check-in: 5eb94c9765 user: danielk1977 tags: trunk)
10:08
Further work on the new API. All the functions to execute queries are there now. (CVS 1427) (check-in: fc94575d77 user: danielk1977 tags: trunk)
03:01
Eliminate the OP_SortMakeRec and OP_SortCallback opcodes. Sort using the standard record format. (CVS 1426) (check-in: 25643a0137 user: drh tags: trunk)
02:14
Most sorting problems are fixed. Dead code has been removed. 3 test failures remain but will be fixed by the new function API once it gets implemented. (CVS 1425) (check-in: 3b55095e03 user: drh tags: trunk)
02:11
Fix typo in bind.test that was causing a seg-fault. (CVS 1424) (check-in: d1af1a4acc user: danielk1977 tags: trunk)
01:47
Add new sqlite3_open() and sqlite3_open16() APIs. (CVS 1423) (check-in: 307b55006c user: danielk1977 tags: trunk)
01:29
Sorting bug fixes. Now only 17 tests fail. (CVS 1422) (check-in: 0736b7e840 user: drh tags: trunk)
2004-05-20
23:37
Fix a bug that prevented sorting by index. Down to 162 failed tests. (CVS 1421) (check-in: b032b646b7 user: drh tags: trunk)
22:16
Add internal support for collating sequences. This breaks 244 tests. (CVS 1420) (check-in: a6cb09d7af user: drh tags: trunk)
13:54
sqlite3MemCompare now takes a CollSeq* argument. (CVS 1419) (check-in: 5c1e47a252 user: drh tags: trunk)
12:41
Fix problems with types and the recognition of BLOB as having no affinity. (CVS 1418) (check-in: 8411718f0a user: drh tags: trunk)
12:10
Default type affinity is now NUMERIC. The affinity.html file checked into the doc directory. (CVS 1417) (check-in: 948307f07d user: drh tags: trunk)
11:00
Add some more elements of the new API. (CVS 1416) (check-in: 2821767b94 user: danielk1977 tags: trunk)
03:30
Fix the misc3.test test file. (CVS 1415) (check-in: 478836f448 user: drh tags: trunk)
03:02
Bug fix associated with misc3.test. (CVS 1414) (check-in: a7f02db738 user: drh tags: trunk)
02:42
Bug fix associated with OP_SetNumColumns in insert.c. Also changed a variable name in OP_Column. (CVS 1413) (check-in: bf2181f13f user: drh tags: trunk)
02:01
VACUUM works again. (CVS 1412) (check-in: c4e1d02ffd user: drh tags: trunk)
01:40
Add some comments for sqlite3_bind_*() APIs. (CVS 1411) (check-in: 46b0942239 user: danielk1977 tags: trunk)
01:12
Add support for the new sqlite3_bind_*() APIs. (CVS 1410) (check-in: e8f980d842 user: danielk1977 tags: trunk)
2004-05-19
21:09
Get more tests running. (CVS 1409) (check-in: 7eb3f29e30 user: drh tags: trunk)
20:41
Correctly handle 64-bit integers in SQL statements. (CVS 1408) (check-in: 34f03ba6a9 user: drh tags: trunk)
14:56
Change opcode names and comments to better describe the operation of the incrKey flag. OP_MoveTo becomes OP_MoveGe. (CVS 1407) (check-in: 8f249c45cb user: drh tags: trunk)
13:13
Bug fixes in where.c. The where.test test works again. (CVS 1406) (check-in: 7c31e257e2 user: drh tags: trunk)
11:31
Really remove the OP_StrEq opcode this time - appearently I didn't save the file out of the editor before doing the check-in (1397). (CVS 1405) (check-in: 821b0b297c user: drh tags: trunk)
11:24
Variable name change: azVar to apVar. (CVS 1404) (check-in: 45169ce015 user: drh tags: trunk)
10:36
Tests for text encoding conversion functions. Also new sqlite3_bindXX APIs. (CVS 1403) (check-in: f71844bc27 user: danielk1977 tags: trunk)
10:35
Tests for text encoding conversion functions. Also new sqlite3_bindXX APIs. (CVS 1402) (check-in: a0f3f6ed23 user: danielk1977 tags: trunk)
10:34
Tests for text encoding conversion functions. Also new sqlite3_bindXX APIs. (CVS 1401) (check-in: 33293ae184 user: danielk1977 tags: trunk)
10:34
Tests for text encoding conversion functions. Also new sqlite3_bindXX APIs. (CVS 1400) (check-in: 4e602bb473 user: danielk1977 tags: trunk)
2004-05-18
23:21
Add definitions of the CollSeq and KeyInfo structures. (CVS 1399) (check-in: cd1be81569 user: drh tags: trunk)
22:38
Remove dead code from vdbeaux.c. Add comments describing desired changes to OP_Sort processing in select.c (CVS 1398) (check-in: ae37e8a0bf user: drh tags: trunk)
22:17
Remove the OP_StrEq opcodes. (CVS 1397) (check-in: 238442bbd2 user: drh tags: trunk)
22:03
Remove dead code from util.c (CVS 1396) (check-in: 3ce42e85a2 user: drh tags: trunk)
15:57
New varint encoding gives a maximum varint length of 9 instead of 10. (CVS 1395) (check-in: 61bdb53a36 user: drh tags: trunk)
12:50
Additional debugging output from btree.c (CVS 1394) (check-in: b2def1852c user: drh tags: trunk)
10:06
Fix many problems with manifest types and column affinity. Most things are working now. (CVS 1393) (check-in: ad4a964158 user: danielk1977 tags: trunk)
09:58
Fix many problems with manifest types and column affinity. Most things are working now. (CVS 1392) (check-in: a62872aacd user: danielk1977 tags: trunk)
01:31
Bugfix for row format. (CVS 1391) (check-in: c1745f47ae user: danielk1977 tags: trunk)
01:23
Omit the '\0' at the end of UTF-8 strings on disk (it is implied). Also don't store the number of rows at the beginning of each table record. (CVS 1390) (check-in: 202a470f2c user: danielk1977 tags: trunk)
2004-05-17
10:48
More changes to support the new types model. Compound SELECTs are currently broken. (CVS 1389) (check-in: 0f6c9b05e6 user: danielk1977 tags: trunk)
2004-05-16
22:55
Fix a bug meant real numbers with a negative sign were being stored as strings by default (instead of IEEE floats). (CVS 1388) (check-in: 9321e74263 user: danielk1977 tags: trunk)
16:24
Fix a bug in the BTree balancing routine. (CVS 1387) (check-in: 6c73544bfa user: drh tags: trunk)
11:57
Fix two bugs that were causing lots of tests to fail. (CVS 1386) (check-in: 5cba8a510c user: danielk1977 tags: trunk)
11:15
More changes to support the manifest type model. A few things are currently broken. (CVS 1385) (check-in: a4af838f8d user: danielk1977 tags: trunk)
2004-05-15
00:29
More speed improvements to btree. (CVS 1384) (check-in: aab4b794b4 user: drh tags: trunk)
2004-05-14
21:59
Allocates VDBE cursors one by one in separate memory so that pointers to cursors can persist through a realloc(). (CVS 1383) (check-in: d8bacc1680 user: drh tags: trunk)
21:12
Cache record headers in the OP_Column opcode. (CVS 1382) (check-in: 8d9eab178f user: drh tags: trunk)
19:08
More speed improvements. (CVS 1381) (check-in: cf75cac9b6 user: drh tags: trunk)
16:50
Optimized varint routines and tests added. (CVS 1380) (check-in: d4e0933dc7 user: drh tags: trunk)
15:27
Performance improvements (CVS 1379) (check-in: cad4791726 user: drh tags: trunk)
12:17
Table 1 of a database (the sqlite_master table) defaults to use B+trees. (CVS 1378) (check-in: 45b60de5c7 user: drh tags: trunk)
12:16
Use B+trees for tables (CVS 1377) (check-in: c6604a94d2 user: danielk1977 tags: trunk)
11:16
Delete some code no longer in use (CVS 1376) (check-in: f24aedc2b0 user: danielk1977 tags: trunk)
11:00
Implement type affinity for table and index records (CVS 1375) (check-in: dbfe6e9316 user: danielk1977 tags: trunk)
01:58
Changes to btree and pager in preparation for moving to run-time page size determination. (CVS 1374) (check-in: f63fb6dd4e user: drh tags: trunk)
2004-05-13
13:38
Changes to make regression tests in rowid.test pass. (CVS 1373) (check-in: 790226c944 user: danielk1977 tags: trunk)
12:32
Change the OP_ListXX opcodes to use 64 bit integers (CVS 1372) (check-in: da9b3dce33 user: danielk1977 tags: trunk)
11:46
Update quick.test (CVS 1371) (check-in: a61eefa081 user: danielk1977 tags: trunk)
11:34
Various minor fixes and updates to make more test cases pass. (CVS 1370) (check-in: dbe8385ecf user: danielk1977 tags: trunk)
05:20
Commit vdbeaux.c, which should of gone in with the previous commit. (CVS 1369) (check-in: 5378a64040 user: danielk1977 tags: trunk)
05:16
Manifest types in indices. At the moment indices use manifest typing, but some other parts of the SQL engine do not, which can lead to some strange results. (CVS 1368) (check-in: 9f2b6d9d3a user: danielk1977 tags: trunk)
01:12
Allocate more overflow data onto overflow pages, thus wasting less disk space. (CVS 1367) (check-in: 1d52a4bb47 user: drh tags: trunk)
2004-05-12
21:11
Fix a problem with B+trees. (CVS 1366) (check-in: 64a75c4cd4 user: drh tags: trunk)
19:18
Implement a B+tree option (all data stored on leaves). (CVS 1365) (check-in: b8f70d17f0 user: drh tags: trunk)
15:15
Btree uses signed integers for the rowid. The intToKey() and keyToInt() macros are now no-ops. (CVS 1364) (check-in: fb3c803014 user: drh tags: trunk)
13:30
The pager now handles file ":memory:" complete in memory with no disk I/O. (CVS 1363) (check-in: 97de9f7cee user: drh tags: trunk)
11:24
Add some more code to support manifest typing in indices. Not activated yet. (CVS 1362) (check-in: 2f16c9ef3c user: danielk1977 tags: trunk)
07:33
Change the table record format to support manifest typing. (CVS 1361) (check-in: 0242c9e4f7 user: danielk1977 tags: trunk)
2004-05-11
10:04
Change sqlite_ to sqlite3_ in the attach2.test test script. (CVS 1360) (check-in: 98f756e6a0 user: drh tags: trunk)
09:57
A different fix for the problem with opening existing files. See also check-in (1358). (CVS 1359) (check-in: 93deaf54c6 user: drh tags: trunk)
09:50
Fix a bug that was preventing the library from opening existing files. (CVS 1358) (check-in: ad064bd429 user: danielk1977 tags: trunk)
09:31
Fix an offset problem in the meta values that was causing problems for many tests. (CVS 1357) (check-in: 6d378cb7e7 user: drh tags: trunk)
09:05
Remove the unused upgrade_3_schema subroutine from main.c. (CVS 1356) (check-in: b5d2771ee0 user: drh tags: trunk)
08:48
More small changes to get test cases to execute. (CVS 1355) (check-in: 6dc6004684 user: danielk1977 tags: trunk)
07:11
Remove code dealing with old file formats. (CVS 1354) (check-in: dfde112116 user: danielk1977 tags: trunk)
06:55
More minor changes to accomadate the new btree. All the select* tests pass now. (CVS 1353) (check-in: 941d0fdc97 user: danielk1977 tags: trunk)
06:17
Minor changes to the vdbe so that more tests pass. (CVS 1352) (check-in: 16078fe0ea user: danielk1977 tags: trunk)
04:54
Fix up a couple of little things in the vdbe. select1.test passes now. (CVS 1351) (check-in: 9ba0df4d77 user: danielk1977 tags: trunk)
03:11
Internal symbols MEM_Dyn and MEM_AggCtx were defined as the same bit pattern. Change MEM_AggCtx to 0x1000. (CVS 1350) (check-in: 2fffd133a5 user: danielk1977 tags: trunk)
02:10
Fix a bug in the btree code for reading varints greater than 2^32. (CVS 1349) (check-in: 7bc4f5543f user: danielk1977 tags: trunk)
01:18
Update the main.mk makefile so that it builds everything again. (CVS 1348) (check-in: e6e52fc2e6 user: drh tags: trunk)
00:58
Updates to sqlite3BtreeKeyFetch() and sqlite3BtreeDataFetch(). (CVS 1347) (check-in: a675ac4988 user: drh tags: trunk)
00:28
Change to OP_PutIntKey to use new btree API. (CVS 1346) (check-in: c080fed7b5 user: danielk1977 tags: trunk)
2004-05-10
23:29
Work toward getting the new btree.c integrated with vdbe.c. (CVS 1345) (check-in: bc5a2dafa1 user: drh tags: trunk)
20:27
Improvements to testing of sqlite_interrupt. More checking for interrupt inside of VACUUM. (CVS 1344) (check-in: d596f513c3 user: drh tags: version_2)
18:45
The btree.c module passes all tests and is ready for integration. Still need to go back and do coverage testing. (CVS 1343) (check-in: 84506b2336 user: drh tags: trunk)
16:18
The btree.c module now passes all the historical regression tests. New tests for new functionality still need to be added. (CVS 1342) (check-in: 433ae0d327 user: drh tags: trunk)
12:07
Add flags values to the Mem structure to accomodate BLOBs and to show the representation of strings. (CVS 1341) (check-in: 3af283f483 user: drh tags: trunk)
10:37
Change the names of external symbols from sqlite_XXX to sqlite3_XXX. (CVS 1340) (check-in: ac46bd686d user: danielk1977 tags: trunk)
10:37
Change the names of external symbols from sqlite_XXX to sqlite3_XXX. (CVS 1339) (check-in: 19b100ec0d user: danielk1977 tags: trunk)
10:34
Change the names of external symbols from sqlite_XXX to sqlite3_XXX. (CVS 1338) (check-in: 2242423e31 user: danielk1977 tags: trunk)
10:34
Change the names of external symbols from sqlite_XXX to sqlite3_XXX. (CVS 1337) (check-in: ba2ba24263 user: danielk1977 tags: trunk)
10:05
Add some functions to serialize and deserialize vdbe values (used by manifest typing). (CVS 1336) (check-in: 05434497ba user: danielk1977 tags: trunk)
07:17
Add versions of OP_MakeRecord and OP_Column that use manifest typing (not activated yet). (CVS 1335) (check-in: 9ea8e8ab23 user: danielk1977 tags: trunk)
07:17
Add versions of OP_MakeRecord and OP_Column that use manifest typing (not activated yet). (CVS 1334) (check-in: 8a66a502ba user: danielk1977 tags: trunk)
01:17
Change some code that assumes the root-page of sqlite_master is 2 (it is now 1) (CVS 1333) (check-in: 37ae528fb8 user: danielk1977 tags: trunk)
2004-05-09
23:23
Add a temporary sqlite2BtreeKeyCompare() function to help get regression tests passing again. (CVS 1332) (check-in: d8d1c91e55 user: danielk1977 tags: trunk)
20:40
More btree.c bug fixing. It's getting closer but still not there yet. Move obsolete test scripts into the attic. (CVS 1331) (check-in: 9379c7c9cf user: drh tags: trunk)
11:51
The btree.test test is no working with integrity_check enabled. (CVS 1330) (check-in: 9f1caa530e user: drh tags: trunk)
01:35
Begin trying to get integrity checking working on the new btree.c. (CVS 1329) (check-in: 499569daa6 user: drh tags: trunk)
00:40
All tests in btree.test now pass (but only because I commented out the btree_integrity_check test.) (CVS 1328) (check-in: ee706e9c74 user: drh tags: trunk)
2004-05-08
20:07
More btree.c bug fixes. (CVS 1327) (check-in: e9f84ff3fe user: drh tags: trunk)
10:56
Get the code back to the point where it will compile the btree.c tests. Move the default key comparison routine from btree.c into vdbeaux.c. Commented out code in vdbe.c that will need to be fixed. (CVS 1326) (check-in: 2bca92240b user: drh tags: trunk)
10:11
Minor change to main.c so that it will compile with GCC 2.96. (CVS 1325) (check-in: 1a09a1ada1 user: drh tags: trunk)
08:23
Change lots of internal symbols from sqliteXXX to sqlite3XXX so that the library links again. It doesn't work yet, due to changes in the btree layer calling convention. (CVS 1324) (check-in: 8af6474c49 user: danielk1977 tags: trunk)
02:03
More bug fixes in btree.c. (CVS 1323) (check-in: 2d64cba38c user: drh tags: trunk)
2004-05-07
23:50
More bug fixes in btree.c. (CVS 1322) (check-in: a80939ef71 user: drh tags: trunk)
17:57
The btree.c module compiles and links and passes some tests. Many tests still fail, though. (CVS 1321) (check-in: d394b2b217 user: drh tags: trunk)
13:30
New btree.c module compiles and links. (CVS 1320) (check-in: dcd6b55f93 user: drh tags: trunk)
02:26
Trying to synchronize the test3.c module with the new btree.c code. (CVS 1319) (check-in: 7fd1a660b0 user: drh tags: trunk)
01:50
Fix compilation problem in test5.c (CVS 1318) (check-in: 49c3c86c17 user: danielk1977 tags: trunk)
01:46
Fix a memory leak in DETACH when using the codec. (CVS 1317) (check-in: c4bd99b79c user: drh tags: version_2)
00:57
Add the sqlite_temp_directory global variable which, if set, defines the directory in which temporary files are created. (CVS 1316) (check-in: c90ed20dc4 user: drh tags: version_2)
2004-05-06
23:37
Add code to convert between the various supported unicode encoding schemes. Untested at this point. (CVS 1315) (check-in: 71260ff7f7 user: danielk1977 tags: trunk)
2004-05-04
17:27
Update test3.c to work with the new btree.c API. (CVS 1314) (check-in: bfb3234dc6 user: drh tags: trunk)
15:00
Added template for the utf.c file containing conversion routines. (CVS 1313) (check-in: 89b42c468f user: drh tags: trunk)
2004-05-03
19:49
Incremental btree.c changes. (CVS 1312) (check-in: fdc629dbbf user: drh tags: trunk)
2004-05-02
21:12
Changes to btree for the new file format are mostly complete. Still need to test and debug. (CVS 1311) (check-in: 0eee3b5cd4 user: drh tags: trunk)
2004-04-29
16:16
Fix a stack overflow problem with INSTEAD OF triggers. (CVS 1310) (check-in: 5a33e0b06f user: drh tags: version_2)
14:42
Sync all version 3 changes. (CVS 1309) (check-in: 51892d6cdc user: drh tags: trunk)
2004-04-26
14:10
Pager tests working. (CVS 1308) (check-in: 910067a200 user: drh tags: trunk)
2004-04-24
12:59
Changes to lemon.c so that it compiles on OpenWatcom 1.3. Ticket #665. (CVS 1307) (check-in: b8b8ce5c81 user: drh tags: version_2)
2004-04-23
23:43
Begin modifying the BTree code for the new version-3 file format. This is a work-in-progress. As of this check-in, SQLite will not build. (CVS 1306) (check-in: ce0bbd3a71 user: drh tags: trunk)
23:38
Add an extra assert() to lemon.c to make debugging easier. Ticket #692. (CVS 1305) (check-in: 818bdba5dc user: drh tags: trunk)
23:37
Add some extra debugging logic to lemon.c. Ticket #692. (CVS 1304) (check-in: 635f674d20 user: drh tags: version_2)
23:20
Branch version_2. Code for version 3 is on the trunk. (CVS 1303) (check-in: db84ddf540 user: drh tags: trunk)
17:04
Get the temp_store and default_temp_store pragmas working. Update the documentation. Also fix a malloc problem that popped up during the regression testing. (CVS 1302) (check-in: 7ace576215 user: drh tags: trunk)
2004-03-26
23:16
Fix windows DLL section of Makefile.in for use with build dir. (CVS 1301) (check-in: 1e84f70fb9 user: rdc tags: trunk)
2004-03-17
23:42
Change the ".database" command in the shell to allocate more characters to the database name and filename. (CVS 1300) (check-in: 85238f0690 user: drh tags: trunk)
23:32
Fix a VDBE stack overflow that occurs when the left-hand side of an IN expression is NULL and the result is stored on the stack rather than used to control a jump. Ticket #668. (CVS 1299) (check-in: fc7a7975b0 user: drh tags: trunk)
18:44
The sqlite_trace() API only works for commands started by the user, not for SQL commands run during initialization. (CVS 1298) (check-in: 0a12473c4a user: drh tags: trunk)
2004-03-16
21:49
Makefile.in and sqlite.def changes for encode and non-toplevel build; ticket #667 (CVS 1297) (check-in: 72205a371c user: dougcurrie tags: trunk)
2004-03-14
22:12
Prototypes for sqlite_encode_binary() and sqlite_decode_binary() added to sqlite.h. (CVS 1296) (check-in: 359f0e787f user: drh tags: trunk)
22:12
Make sqlite_encode_binary() and sqlite_decode_binary() an official part of the library. (CVS 1295) (check-in: 786fe54556 user: drh tags: trunk)
11:57
Updates to the architecture document. (CVS 1294) (check-in: c661cc81b6 user: drh tags: trunk)
2004-03-13
14:00
Fix the min/max optimizer so that it works when the FROM clause is a subquery. Ticket #658. (CVS 1293) (check-in: 31c94acc72 user: drh tags: trunk)
2004-03-10
18:57
Typecast to work around a bug in {quote: CodeWarrior} Studio v9.1. Ticket #654. (CVS 1292) (check-in: 5864fc6937 user: drh tags: trunk)
18:53
Fixed default target. (CVS 1291) (check-in: af19ab32c5 user: a.rottmann tags: trunk)
16:32
* Added rule for rebuilding Makefile from Makefile.in. * Fixed double-slash problem induced by adding DESTDIR support. (CVS 1290) (check-in: 957827e35c user: a.rottmann tags: trunk)
13:42
The BTree layer now returns SQLITE_READONLY on an attempt to open a write cursor on a read-only database. Previously, the failure would not occur until there was an attempt to write to the cursor. (CVS 1289) (check-in: 8a8be4687b user: drh tags: trunk)
2004-03-09
13:37
The shell program now ignores extra whitespace at the end of dot-commands. (CVS 1288) (check-in: b6817e99bd user: drh tags: trunk)
2004-03-08
13:57
Version 2.8.13 (CVS 1287) (check-in: 4d5bbb3dc3 user: drh tags: trunk)
13:45
Update change log for version 2.8.13. (CVS 1286) (check-in: 4431e63746 user: drh tags: trunk)
13:26
Bump the version number to 2.8.13. Patch up the limit test so that it works in spite of ticket #521 - we don't want any tests failing in an official release even if there are bugs. :-D (CVS 1285) (check-in: 2c6bd21ed0 user: drh tags: trunk)
2004-03-04
19:09
Correct duplicate tracing of SQL statements. (CVS 1284) (check-in: bb67311b3d user: rdc tags: trunk)
2004-03-03
01:51
A vdbe stack element might have a string value even after a call to Integerify(). Ticket #641. (CVS 1283) (check-in: 3cac4b7b52 user: drh tags: trunk)
2004-03-02
18:37
Make sure a LIMIT clause on a SELECT cleans up the vdbe stack so that if it occurs inside a trigger, it won't cause a stack overflow. Ticket #640. (CVS 1282) (check-in: 5aaa2939ba user: drh tags: trunk)
2004-02-29
15:18
Updated aclocal.m4 and configure. (CVS 1281) (check-in: 76d42921a4 user: a.rottmann tags: trunk)
01:08
One more fix to the new HH:MM:SS modifier. This time add some test procedures too. (CVS 1280) (check-in: 7b3b8968ee user: drh tags: trunk)
00:50
Try again to get the HH:MM:SS modifier change right... (CVS 1279) (check-in: e20d51f94e user: drh tags: trunk)
00:48
Fix a bug in the HH:MM:SS modifier change that was just checked in. (CVS 1278) (check-in: 248b550090 user: drh tags: trunk)
00:40
Allow time modifiers of the form HH:MM:SS.SSS with an option "+" or "-" prefix. The specified amount of time is added into the date-time begin modified. (CVS 1277) (check-in: 559002a52f user: drh tags: trunk)
00:11
Fix some compiler warnings in LCC. The warnings did not indicate real problems. Ticket #634. Not all warnings in ticket #634 were fixed. (CVS 1276) (check-in: e97089b7df user: drh tags: trunk)
2004-02-28
18:02
Make Windows .dll build use the real .o files, not the libtool-faked .lo ones. (CVS 1275) (check-in: cce5bbf49b user: a.rottmann tags: trunk)
2004-02-26
19:47
Build system update:

* Update of generated/libtoolized files: config.guess, config.sub, configure, ltmain.sh * Removal of libtool, which is generated by configure * Changes to Makefile.in, adding better support for newer libtools (CVS 1274) (check-in: 22d63bbf78 user: a.rottmann tags: trunk)

2004-02-25
22:51
Add comments and prototype for experimental sqlite_last_statement_changes() API function. Also, allow function to be called from tcl. (CVS 1273) (check-in: ca99920b0d user: rdc tags: trunk)
13:47
Min() and max() functions honor the distinction between TEXT and NUMERIC data. Ticket #623. typeof() is now a user function. Some tests are now failing due to ticket #521. (CVS 1272) (check-in: adbe31adf1 user: drh tags: trunk)
02:33
Fix the return type of sqliteRunVacuum. Ticket #627. (CVS 1271) (check-in: 9c9f4a867a user: drh tags: trunk)
02:25
Shell program saves command-line history on a ".quit". Ticket #614. (CVS 1270) (check-in: 114b72f860 user: drh tags: trunk)
02:20
Disable an assert which (as it turns out) is not always true. Ticket #615. (CVS 1269) (check-in: 2773c1d384 user: drh tags: trunk)
2004-02-24
01:05
Refactor parts of write operations. (CVS 1268) (check-in: 5b0147aece user: drh tags: trunk)
01:04
Make sure BEGIN, COMMIT, and ROLLBACK are really no-ops when preceded by EXPLAIN. Ticket #626. (CVS 1267) (check-in: 2af1f065b5 user: drh tags: trunk)
2004-02-22
20:05
Use sqliteVdbeOp3 instead of sqliteVdbeChangeP3 where applicable. (CVS 1266) (check-in: 51f1e8f753 user: drh tags: trunk)
18:56
Code cleanup in build.c. (CVS 1265) (check-in: 9211e14cf8 user: drh tags: trunk)
18:40
Use sqliteErrorMsg instead of sqliteSetString whereever practical. (CVS 1264) (check-in: 69aac043af user: drh tags: trunk)
17:49
Code cleanup in the date and time functions. (CVS 1263) (check-in: 9b3bcde153 user: drh tags: trunk)
16:27
Rearrange the grammar some so that tokens that are used together appear together in the grammar file. This reduces the size of the parser tables and some of the jump tables in switch statements. (CVS 1262) (check-in: d372c16ec6 user: drh tags: trunk)
00:08
Do not sort terminal symbols by name. The terminals remain in the same order that they are encountered in the grammar file. This results in parse tables that are 25% smaller. (CVS 1261) (check-in: f36b122d97 user: drh tags: trunk)
2004-02-21
19:41
Test cases for printf of double overflows. (CVS 1260) (check-in: 96a6d2d3ff user: drh tags: trunk)
19:17
Fix a long-standing memory leak that the new last_insert_rowid() tests brought to light. (CVS 1259) (check-in: 7d5ede5b6e user: drh tags: trunk)
19:02
Cleanup the printf code to make it smaller and more modular. Fix a memory leak in the new OP_ContextPush opcode. (CVS 1258) (check-in: 2756f7af33 user: drh tags: trunk)
14:00
Flag pragmas like vdbe_trace now return their current setting if they are called with no arguments. (CVS 1257) (check-in: 6a5fb5b89a user: drh tags: trunk)
13:31
More code cleanup and size reduction. (CVS 1256) (check-in: 8e3eda2a90 user: drh tags: trunk)
03:28
Enhance date/time functions to work with negative years. Ticket #617. (CVS 1255) (check-in: ffa9719348 user: drh tags: trunk)
2004-02-20
23:34
Turn the short_column_names pragma off by default - for the time being. (CVS 1254) (check-in: 6954d2c324 user: drh tags: trunk)
22:55
Add sqlite.def file required for correct operation of "make implib" option in Makefile.in (CVS 1253) (check-in: b1b23c4102 user: rdc tags: trunk)
22:54
Fixed behaviour of last_insert_rowid() with triggers and add last_statement_change_count() function that works correctly with triggers. (CVS 1252) (check-in: 6734c92339 user: rdc tags: trunk)
22:53
Fixed behaviour of last_insert_rowid() with triggers and add last_statement_change_count() function that works correctly with triggers. (CVS 1251) (check-in: 3383413a53 user: rdc tags: trunk)
14:50
The name of a result column is now the name of column it originated from, by default. This can be turned off with PRAGMA short_column_names=OFF. This is to be more like PostgreSQL. More testing needed. (CVS 1250) (check-in: 574dd444e7 user: drh tags: trunk)
2004-02-19
18:41
Fix a bug in the parser table compression algorithm of lemon. (CVS 1249) (check-in: 8d3e924975 user: drh tags: trunk)
2004-02-18
16:57
Fix a memory leak that occurs if you call sqlite_interrupt() on a query using aggregate functions where the aggregate function returns a string longer than 32 characters. (CVS 1248) (check-in: 2c1e74e58a user: drh tags: trunk)
16:56
Begin updating the architecture description to better describe how things are currently put together. (CVS 1247) (check-in: 062ecc1368 user: drh tags: trunk)
01:31
Add more tests of the sqlite_interrupt() logic - looking for a reported memory leak. (Didn't find it.) (CVS 1246) (check-in: e4c8b1c3aa user: drh tags: trunk)
2004-02-17
18:26
Avoid line endings munging by Cygwin; ticket #370 (CVS 1245) (check-in: 50e67948f8 user: dougcurrie tags: trunk)
2004-02-16
03:44
Remove the NullCallback opcode. Handle the empty_result_set pragma inside the sqlite_exec() function. (CVS 1244) (check-in: f72134852b user: drh tags: trunk)
2004-02-14
23:59
Eliminate obsolete code associated with the older callback functionality. (CVS 1243) (check-in: 2dbc4593ca user: drh tags: trunk)
23:05
Eliminate the use of callbacks during schema initialization. (CVS 1242) (check-in: af5c2be4ae user: drh tags: trunk)
17:35
Fix problems with malloc-failure handling. (CVS 1241) (check-in: 398bc294c8 user: drh tags: trunk)
16:31
The sqlite_exec() function is now implemented using sqlite_compile() and sqlite_step(). This opens up lots of opportunity to remove old code. (CVS 1240) (check-in: 9771ad1e81 user: drh tags: trunk)
01:39
Disable the malloc.test tests if not compiled with -DMEMORY_DEBUG (CVS 1239) (check-in: 41b6ad78a6 user: drh tags: trunk)
2004-02-13
20:09
Fix an uninitialized variable in shell.c that would cause a crash if you specified SQL on the command-line. (CVS 1238) (check-in: 5a56090dde user: drh tags: trunk)
16:30
Begin the process over converting sqlite_exec() over to use sqlite_compile() and sqlite_step(). The new sqlite_exec() is still commented out. (CVS 1237) (check-in: b8f2ba7880 user: drh tags: trunk)
16:22
Fix a bug in the query flattener when trying to find the datatype of the rowid of a view. Also fix a problem with sqlite_compile() and authorization failures. (CVS 1236) (check-in: aa0490ccd4 user: drh tags: trunk)
14:07
Fix an uninitialized variable introduced by check-in (1202). (CVS 1235) (check-in: 9f149fdc1c user: drh tags: trunk)
2004-02-12
20:49
Add a new parameter to the (unimplemented) encryption API. (CVS 1234) (check-in: 5fe8f02306 user: drh tags: trunk)
19:01
Add the SQLITE_NOTADB return code for cases when you try to open a file that does not even remotely resemble an SQLite database file. (CVS 1233) (check-in: 0c77cee70f user: drh tags: trunk)
18:46
Add hooks on each attached database connection for storing auxiliary information. Add the USING clause to ATTACH. (CVS 1232) (check-in: 800c11f4bc user: drh tags: trunk)
17:28
All REPLACE INTO syntax inside of triggers. Ticket #610. (CVS 1231) (check-in: a6b862a9db user: drh tags: trunk)
15:32
Remove unused variable. (CVS 1230) (check-in: 74b234264b user: drh tags: trunk)
15:31
Always reload the schema after a rollback. Ticket #594. (CVS 1229) (check-in: 12c7a83f8e user: drh tags: trunk)
13:02
VACUUM returns SQLITE_INTERRUPT when interrupted. Ticket #593. (CVS 1228) (check-in: 2fe9f5101c user: drh tags: trunk)
2004-02-11
16:38
Only define _FILE_OFFSET_BITS if it is not already defined. Ticket #605. (CVS 1227) (check-in: 300c5543dc user: drh tags: trunk)
10:37
Fix the shells so that they always enable the codec if it is available, even if no key is supplied. (CVS 1226) (check-in: 95989717e1 user: drh tags: trunk)
10:35
Fix an uninitialized variable in expr.c. Ticket #604. (CVS 1225) (check-in: 1673bf7c7b user: drh tags: trunk)
09:46
Refactor the interface to the randomness generator. (CVS 1224) (check-in: f2bdccf4bb user: drh tags: trunk)
02:18
Pass all (relevant) regression tests when using the codec. (CVS 1223) (check-in: 5200e9edc5 user: drh tags: trunk)
2004-02-10
23:51
Adjustments to the codec in the pager. (CVS 1222) (check-in: be5122e99c user: drh tags: trunk)
13:41
Perform updates in search order. Ticket #602. (CVS 1221) (check-in: cf1cec74ae user: drh tags: trunk)
13:19
Fix for ticket #603. (CVS 1220) (check-in: d0624d2577 user: drh tags: trunk)
02:57
Make the pager accessible from the btree structure always, not just during debugging. (CVS 1219) (check-in: 9c6b4758a4 user: drh tags: trunk)
02:27
Move the file-format-2 to file-format-3 conversion into sqliteInit(). (CVS 1218) (check-in: dcbe2800be user: drh tags: trunk)
01:54
Allow SQLITE_PAGE_SIZE to be redefined on the compiler command-line. (CVS 1217) (check-in: 4c7bf714b5 user: drh tags: trunk)
2004-02-09
14:37
After code is generated for a subquery, delete the Select structure in order to force the temporary table to be used and to prevent the subquery from being evaluated a second time. Ticket #601. (CVS 1216) (check-in: 1cff18868d user: drh tags: trunk)
14:35
Add test case for ticket #601. (CVS 1215) (check-in: 096312dacb user: drh tags: trunk)
01:20
Add an optional codec to the pager layer. (CVS 1214) (check-in: 2f0c122cfb user: drh tags: trunk)
2004-02-08
18:10
Version 2.8.12 (CVS 1213) (check-in: 1736d415d7 user: drh tags: trunk)
18:07
Perpare for the 2.8.12 release. (CVS 1212) (check-in: 93ccd1b1d6 user: drh tags: trunk)
06:17
Fix a bug in the VDBE that occurs when a CreateTable or CreateIndex fails. (CVS 1211) (check-in: 42cfd541dc user: drh tags: trunk)
06:06
Add the crashtest1.c program used to test the ability of the database to survive a program crash or power failure. Ticket #599. (CVS 1210) (check-in: 597a59a72d user: drh tags: trunk)
06:05
Fix inaccuracies and add details to comments in the pager. Change the name of one function to make its purpose clearer. Ticket #599. (CVS 1209) (check-in: 48832d35ed user: drh tags: trunk)
00:40
Preliminary fix for ticket #599. More testing and analysis needed. (CVS 1208) (check-in: dc5be2c82b user: drh tags: trunk)
2004-02-02
12:29
Remove undocumented extensions from sqlite_mprintf() and friends in order to make it about 10% smaller. (CVS 1207) (check-in: 0b3f552b98 user: drh tags: trunk)
2004-02-01
01:22
Fix the handling of -init option to the sqlite shell. Ticket #568. Also add hooks for encrypting the database. (CVS 1206) (check-in: 3c796de8d1 user: drh tags: trunk)
2004-01-31
20:40
Fix a bug introduced by the previous check-in. (CVS 1205) (check-in: 04cf22785e user: drh tags: trunk)
20:20
A few more optimizations to the VDBE. (CVS 1204) (check-in: 06e7ff4cb8 user: drh tags: trunk)
19:22
Rework internal data structures to make the VDBE about 15% smaller. (CVS 1203) (check-in: 8273c74bd0 user: drh tags: trunk)
2004-01-30
14:49
Rework the VDBE data structures to combine string representations into the same structure with integer and floating point. This opens the door to significant optimizations. (CVS 1202) (check-in: c0faa1c67a user: drh tags: trunk)
02:01
Make sure min() and max() optimizations work for subqueries. Ticket #587. (CVS 1201) (check-in: af73fbca83 user: drh tags: trunk)
2004-01-27
17:46
Change permissions on the install-sh file to be executable. Ticket #582. (CVS 1200) (check-in: eafa714d1f user: drh tags: trunk)
15:58
Add a web page describing when it is appropriate to use SQLite and when it is not. (CVS 1199) (check-in: d77e477648 user: drh tags: trunk)
2004-01-25
22:44
Modularize the column name resolution code so that it is smaller, faster, and ready for some enhancements that will fix long-standing name resolutions problems. (CVS 1198) (check-in: d3648034b4 user: drh tags: trunk)
2004-01-24
20:18
Add the ability to group FROM terms using parentheses. Names of columns in a join no longer include the table name. (CVS 1197) (check-in: 3626f6d4a1 user: drh tags: trunk)
2004-01-22
23:38
Fix typo. Ticket #577. (CVS 1196) (check-in: 3dc9519519 user: drh tags: trunk)
2004-01-21
13:35
In test programs, an SQLITE_SCHEMA return is retried repeatedly, not just once. (CVS 1195) (check-in: df3509e13d user: drh tags: trunk)
2004-01-20
11:54
Make ATTACH and DETACH work with the non-callback API. Ticket #574. (CVS 1194) (check-in: c32a80fe3c user: drh tags: trunk)
2004-01-19
05:09
documented pragma foreign_key_list(). updated docs for removed behavior: Oracle join syntax and temp indexes. (CVS 1193) (check-in: 06bd507096 user: jplyon tags: trunk)
04:57
comment typos (CVS 1192) (check-in: 7972ee3219 user: jplyon tags: trunk)
04:55
comment typos (CVS 1191) (check-in: de35c36ed7 user: jplyon tags: trunk)
04:54
coment typo (CVS 1190) (check-in: 0d2683dc5e user: jplyon tags: trunk)
04:53
coment typo (CVS 1189) (check-in: 8210b2d818 user: jplyon tags: trunk)
04:52
comment (CVS 1188) (check-in: fa55c9861e user: jplyon tags: trunk)
2004-01-17
01:16
Do not use strcpy() on overlapping buffers. (CVS 1187) (check-in: ed6bd2eb39 user: drh tags: trunk)
2004-01-16
20:01
Access to free()ed memory problem fixed. Found by electric fence. Only an issue when doing an EXPLAIN of a CREATE INDEX. (CVS 1186) (check-in: 6604e5f7d3 user: drh tags: trunk)
19:11
See ticket #569; eliminates warnings for Cygwin v1.5 and above. (CVS 1185) (check-in: a0f8b1f3ce user: dougcurrie tags: trunk)
16:42
More compaction of expr.c. (CVS 1184) (check-in: 92e7f78057 user: drh tags: trunk)
15:55
Incremental code compaction in expr.c. Now about 4% smaller. Lots more work to do. (CVS 1183) (check-in: d292ba5148 user: drh tags: trunk)
13:58
Fix a buffer-overflow problem in the randStr function (used only for testing). (CVS 1182) (check-in: 42c79edc2e user: drh tags: trunk)
2004-01-15
13:29
More aggressive retry schedule in sqlite_busy_timeout(). (CVS 1181) (check-in: 5e85025be7 user: drh tags: trunk)
03:30
Allow "expr IN table" as a shorthand for "expr IN (SELECT * FROM table)" (CVS 1180) (check-in: 01874d252a user: drh tags: trunk)
02:44
Reinsert the experimental sqlite_commit_hook() API. (CVS 1179) (check-in: 72bc84f2f1 user: drh tags: trunk)
2004-01-14
21:59
Fix comparisons of ROWID against floating point numbers so that they work correctly. Ticket #377 and #567. (CVS 1178) (check-in: c9ac3db8e0 user: drh tags: trunk)
13:50
Version 2.8.11 (CVS 1177) (check-in: a9f25347de user: drh tags: trunk)
13:43
Bump the version number for the next release. (CVS 1176) (check-in: 2812dd5fc9 user: drh tags: trunk)
13:38
Ignore NULLs in a subquery as the right operand of IN. Ticket #565. (CVS 1175) (check-in: c9e7996fb9 user: drh tags: trunk)
03:49
Version 2.8.10 (CVS 1174) (check-in: 8bef75ab85 user: drh tags: trunk)
03:32
Move some files around and bump the version number in preparation for the release of 2.8.10. (CVS 1173) (check-in: 74c661850e user: drh tags: trunk)
03:12
Remove an incomplete comment that somehow snuck into the sources. (CVS 1172) (check-in: ea1ad4653e user: drh tags: trunk)
2004-01-12
00:39
On unix, embargo close() operations until all locks have cleared from the file. Ticket #561. (CVS 1171) (check-in: 1ebe5fc7b0 user: drh tags: trunk)
00:38
Previous commit of changes to the in-memory backend was not quite right. This check-in should square things away. (CVS 1170) (check-in: 75d91e3bca user: drh tags: trunk)
00:21
Make sure the in-memory database can handle malloc failures. (CVS 1169) (check-in: ba92af182c user: drh tags: trunk)
2004-01-08
02:17
Remove unused code and tighten existing code to make the library a little smaller. (CVS 1168) (check-in: 34a6b7416c user: drh tags: trunk)
2004-01-07
20:37
Rework the fix to ticket #461 so that we do not have to do redundant tests of WHERE clause terms looking for NULLs. See also check-in (1103). (CVS 1167) (check-in: 5fd581787e user: drh tags: trunk)
19:24
Permit sqlite_exec() to be called from within user-defined functions. (CVS 1166) (check-in: 03636c94a5 user: drh tags: trunk)
18:52
Defer the {quote: MoveTo} opcode in VDBE until the data is actually needed. Sometimes the data is never needed, resulting in a performance increase. On an indexed order search with a large OFFSET, queries times can be an order of magnitude faster. (CVS 1165) (check-in: d3e96da20d user: drh tags: trunk)
03:41
Make it safe to call sqliteMalloc() with a request for 0 bytes. Ticket #534. (CVS 1164) (check-in: 6c858db2c0 user: drh tags: trunk)
03:29
Preserve the HH:MM:SS for most date/time modifiers. Ticket #551. (CVS 1163) (check-in: 70df32b716 user: drh tags: trunk)
03:04
Use "long double" to hold intermediate values when doing ascii to binary and binary to ascii conversions of floating point numbers. (CVS 1162) (check-in: 8371f662d2 user: drh tags: trunk)
02:52
Add a typecast to work around a bug in the Metrowerks Code Warrior compiler. Ticket #553. (CVS 1161) (check-in: 4146f8cc3f user: drh tags: trunk)
2004-01-06
02:23
Version 2.8.9 (CVS 1160) (check-in: d8ae6bddeb user: drh tags: trunk)
01:52
Additional integer overflow boundary case tests. (CVS 1159) (check-in: 532170d4b8 user: drh tags: trunk)
01:27
Increase the version number and update the change log prior to the next release. (CVS 1158) (check-in: b99b68d026 user: drh tags: trunk)
01:13
Fix problem in the code generator were incorrect code was being created if the SQL source contained a negative integer that was too large to fit in a 32-bit signed integer variable. Ticket #552. (CVS 1157) (check-in: b8381d9fe9 user: drh tags: trunk)
00:44
Add the sqlite_current_time variable for testing purposes. (CVS 1156) (check-in: 23fa407d50 user: drh tags: trunk)
2004-01-02
15:08
The "EST" timezone designation is ambiguous. Do not use it in the test scripts. (CVS 1155) (check-in: 720b565e2d user: drh tags: trunk)
13:17
Avoid an assertion fault that can occur with invalid UTF8 on the LENGTH() function. Ticket #548. (CVS 1154) (check-in: 7080fc39ea user: drh tags: trunk)
2004-01-01
12:33
Remove unused code from the integrity_check logic. Ticket #545. (CVS 1153) (check-in: ee51e205fb user: drh tags: trunk)
2003-12-31
17:57
Fix a bug in the SQLITE_PROFILE conditional compilation. (CVS 1152) (check-in: 597b33f696 user: drh tags: trunk)
17:25
Fix for ticket #542. (CVS 1151) (check-in: 458cfa5ba8 user: drh tags: trunk)
16:00
Fix a bug (ticket #541) introduced by the previous check-in ((1149)). (CVS 1150) (check-in: 646244008f user: drh tags: trunk)
13:21
Reduce the randomness in the sqliteRandomSeed() routine in order to silence bogus errors from valgrind. Tickets #535 and #536. (CVS 1149) (check-in: cfe0acf9ec user: drh tags: trunk)
2003-12-24
01:41
minor edits for new date.c with mingw/msys on Windows (CVS 1148) (check-in: 9392c51450 user: dougcurrie tags: trunk)
2003-12-23
16:34
Update date/time functions so that they correctly handle NULL arguments. (CVS 1147) (check-in: a5a5fbd601 user: drh tags: trunk)
16:22
Add localtime<-->UTC conversions to the date functions. (CVS 1146) (check-in: 8482b8c447 user: drh tags: trunk)
03:06
Test functions tolerate an "0x" before a pointer value. Ticket #452. (CVS 1145) (check-in: c6c5e07b65 user: drh tags: trunk)
02:17
Use a built-in atof() function instead of the one from the library to avoid problems with locale. Ticket #305. (CVS 1144) (check-in: 4d9edbc50f user: drh tags: trunk)
2003-12-22
14:53
Optimizations to the LEMON parser template. (CVS 1143) (check-in: 06db29df8f user: drh tags: trunk)
2003-12-20
04:00
Fix some minor problems with the new test4.c module used for doing thread testing. (CVS 1142) (check-in: 952924084a user: drh tags: trunk)
2003-12-19
20:09
Update configuration and make files for mingw/msys on Windows (CVS 1141) (check-in: 1e9689672c user: dougcurrie tags: trunk)
12:32
Remove a comma at the end of an enum definition. Some compilers could not deal with it. (CVS 1140) (check-in: b1890a5b9c user: drh tags: trunk)
12:31
Makefile updates for the new "test4.c" module. Also disable large file tests for archic TCL versions. (CVS 1139) (check-in: 55e2488912 user: drh tags: trunk)
08:40
A better fix for ticket #530 - one that is likely to work on unix implementations in addition to linux. Also more tests for multi-thread locking added. (CVS 1138) (check-in: 7dddbeb586 user: drh tags: trunk)
02:52
Add new thread-testing code and fix locking under Linux threads. Ticket #530. (CVS 1137) (check-in: b36a4bb610 user: drh tags: trunk)
2003-12-18
14:19
Typo on the "datatypes.html" document. (CVS 1136) (check-in: 80b1e27712 user: drh tags: trunk)
01:22
Version 2.8.8 (CVS 1135) (check-in: a0451ccf2d user: drh tags: trunk)
00:02
Bump the version number and update the change log in preparation for the next release. (CVS 1134) (check-in: 9ad0bdf624 user: drh tags: trunk)
2003-12-17
23:57
Make sure the pagers in-memory cache states in sync with the disk file. Ticket #529. (CVS 1133) (check-in: da00efb13f user: drh tags: trunk)
2003-12-16
03:44
Improvements to the way PRAGMA integrity_check works. More likely to output userful information when given a corrupt database. (CVS 1132) (check-in: b92c31d6c1 user: drh tags: trunk)
2003-12-15
17:51
Updates to the homepage - fix the CVS access instructions. (CVS 1131) (check-in: 653a7dd97e user: drh tags: trunk)
2003-12-10
03:13
Fix a bulk-memory initialization problem in the expression list logic. (CVS 1130) (check-in: d654995440 user: drh tags: trunk)
01:31
Fix the code generator to a void a VDBE stack overflow on 3-way joins. Ticket #519. (CVS 1129) (check-in: 230a4ff2c8 user: drh tags: trunk)
2003-12-07
00:24
Make the VACUUM command run out of the VDBE like all other commands. (Ticket #464). Make the VACUUM command work even if there are VIEWs in the SQLITE_MASTER table that come before tables they reference. (Ticket #515) (CVS 1128) (check-in: 614cbbafa1 user: drh tags: trunk)
2003-12-06
22:22
Fail an ATTACH if the auxiliary database is locked. Ticket #514. (CVS 1127) (check-in: ac428c8d4a user: drh tags: trunk)
21:43
Always use "(char*)0" to terminate the argument list of sqliteSetString(). This is needed for 64-bit systems that use a 32-bit integer by default. (CVS 1126) (check-in: 656c90387a user: drh tags: trunk)
2003-12-04
20:51
Use sqlite_freemem() instead of free() in the shell. Windows needs this. (Unix does not care.) Ticket #444. (CVS 1125) (check-in: e5e6a8481b user: drh tags: trunk)
13:47
Version 2.8.7 (CVS 1124) (check-in: d48b0b018d user: drh tags: trunk)
13:44
Update change log and version in preparation for the 2.8.7 release. (CVS 1123) (check-in: 9e79ab6ce0 user: drh tags: trunk)
2003-11-27
00:48
Disallow temporary indices on persistent tables. (CVS 1122) (check-in: 72bf73b2c1 user: drh tags: trunk)
2003-11-25
23:48
Fix typos in file format documentation. Ticket #505. (CVS 1121) (check-in: 4eef93814f user: drh tags: trunk)
2003-11-24
23:11
Fix typo in file format documentation. Ticket #502. (CVS 1120) (check-in: 72f3e7c2b0 user: drh tags: trunk)
2003-11-11
23:30
Fix a typo in a #define that was commented out. No impact to working code. Ticket #476. (CVS 1119) (check-in: 21c2f96e81 user: drh tags: trunk)
2003-11-08
12:07
Added information on MySQL 4.0.16 to the NULL-handling survey. (CVS 1117) (check-in: e22e3ab53a user: drh tags: trunk)
2003-11-01
01:53
Revised date/time functions - now broken out into a separate source file. See the DateAndTimeFunctions wiki page for additional information. (CVS 1116) (check-in: 68ef9b45bd user: drh tags: trunk)
2003-10-30
07:00
Fork the tree for project "shrike" (CVS 1118) (check-in: 181260c0aa user: drh tags: trunk)
2003-10-23
15:27
Fix progress test error 1-2 (CVS 1115) (check-in: c3a495026c user: peter tags: trunk)
2003-10-22
22:15
Comment changes to the lemon parser template. Change some sqliteMalloc() calls to sqliteMallocRaw() for speed. Update the website template. (CVS 1114) (check-in: c637caf13f user: drh tags: trunk)
2003-10-21
16:34
Fix bugs in lemon associated with the change to a perfect hash table. (CVS 1113) (check-in: c0d1b26966 user: drh tags: trunk)
13:16
Convert lemon to use a single perfect hash table for storing the actions. This should make the resulting parser both smaller and faster. (CVS 1112) (check-in: 4f955c0007 user: drh tags: trunk)
2003-10-18
09:37
Add sqlite_progress_handler() API for specifying an progress callback (CVS 1111) (check-in: ddb364635a user: danielk1977 tags: trunk)
2003-10-10
02:09
Update to the date functions. (CVS 1110) (check-in: 06d4e88394 user: drh tags: trunk)
2003-10-03
00:13
Allow quoted trigger names. Ticket #468. (CVS 1109) (check-in: 54aa0fb236 user: drh tags: trunk)
2003-09-30
01:54
All LIKE and GLOB operators to use function notation. "A LIKE B" can be expressed as "LIKE(B,A)". (CVS 1108) (check-in: 95b27ebd13 user: drh tags: trunk)
2003-09-29
12:20
Patch the spec.template file (for generating RPMs) as suggested by Jeremy Hinegardner. Untested. (CVS 1107) (check-in: 703741ca1e user: drh tags: trunk)
2003-09-27
13:39
Remove support for the Oracle8 outer join syntax. (CVS 1106) (check-in: 824430b3ce user: drh tags: trunk)
01:08
Add a test case for ticket #464 but leave it commented out for now. We will fix this problem when VACUUM is rewritten. (CVS 1105) (check-in: 7ba8dc9b1e user: drh tags: trunk)
00:56
Add additional backslash escapes to the COPY command for compatibility with PostgreSQL. Ticket #460. (CVS 1104) (check-in: 70a50bdda3 user: drh tags: trunk)
00:41
Do all WHERE clauses tests, even if an index is used for lookup so that we know the test cannot be FALSE. The test might end up being NULL in which case it would need to be treated as false. Ticket #461. (CVS 1103) (check-in: 5aea81488b user: drh tags: trunk)
2003-09-23
10:25
A failed malloc() could have resulted in a segfault. Fixed by this check-in. (CVS 1102) (check-in: 4bb256ee3e user: drh tags: trunk)
00:36
allow -enable-releasemode as an option and allow Makefile to produce version independent binary like libsqlite-2.8.6.so instead of libsqlite.so.0.0.0 (CVS 1101) (check-in: 4fdd44a5ee user: xdong tags: trunk)
00:35
regenerate configure to take -enalbe-releasemode as an option (CVS 1100) (check-in: b85847b8f2 user: xdong tags: trunk)
2003-09-18
21:59
modify the configure file to allow cross-compile to work at arm and xscale (CVS 1099) (check-in: 760f2fa2e5 user: xdong tags: trunk)
2003-09-12
02:08
The tokenizer should never return a negative size of the next token. Ticket #453. (CVS 1098) (check-in: 4fbca3ab09 user: drh tags: trunk)
2003-09-09
00:47
Add test cases that check out sqlite_get_table() on queries with results sets containing 100 columns. (CVS 1097) (check-in: f9feedec32 user: drh tags: trunk)
2003-09-06
22:45
Add initial test cases for the new sqlite_bind() API. Fix bugs that the new test cases found. (CVS 1096) (check-in: f6c4908e9b user: drh tags: trunk)
22:18
Update Makefile.in for the new vdbeaux.c file. Remove the experimental "sqlite_instantiate()" routine and replace it with "sqlite_bind()" which is more like ODBC and JDBC. (CVS 1095) (check-in: 990bb11898 user: drh tags: trunk)
20:12
Split almost 1300 lines of code out of vdbe.c into separate files vdbeInt.h and vdbeaux.c. (CVS 1094) (check-in: bfd69391d3 user: drh tags: trunk)
01:10
The beginnings of changes to support pre-compiled SQL. Mostly untested, though all regression tests to pass. (CVS 1093) (check-in: 912f47c72d user: drh tags: trunk)
2003-09-02
15:26
Add a logo from Rasmus Schultz. (CVS 1092) (check-in: aaa84c6202 user: drh tags: trunk)
2003-08-27
22:57
CVS missed a commit (because I pressed Ctrl-C in the middle). This extra commit will hopefully help clear things up. (CVS 1091) (check-in: 522c2efeb5 user: drh tags: trunk)
22:54
Add locks to the in-memory backend so that recursive writes will be detected and rejected. Ticket #436. (CVS 1089) (check-in: 3403d28a49 user: drh tags: trunk)
22:52
Add locks to the in-memory database so that recursive writes will be detected and rejected. Ticket #436. (CVS 1090) (check-in: 966b1a16f6 user: drh tags: trunk)
2003-08-26
11:41
Fix compiler warnings under OpenVMS. Ticket #357. (CVS 1088) (check-in: c95f347cac user: drh tags: trunk)
11:35
Try to work around a bug in VC++ by only passing unsigned characters to the isspace() routine. Bug reported on the mailing list. (CVS 1087) (check-in: cbe3221696 user: drh tags: trunk)
11:29
Fix a bug in sqliteRealloc() that only occurs if there is memory corruption and debugging is enabled. Ticket #421. (CVS 1086) (check-in: eebc82b77d user: drh tags: trunk)
11:25
If the database filename is an empty string, open a temporary file to hold the database. Ticket #432. (CVS 1085) (check-in: da53369f0b user: drh tags: trunk)
11:18
Close files before deleting them on test scripts under Win2k. Ticket #434. (CVS 1084) (check-in: 2a40b46140 user: drh tags: trunk)
10:38
Remove extra backslashes from end of lines in the install target of the Makefile. Ticket #435. (CVS 1083) (check-in: 1aa3658ef5 user: drh tags: trunk)
2003-08-24
16:38
Fix a bug in the new "pk" column of the table_info pragma that was added by check-in (1081). (CVS 1082) (check-in: ad7b017a12 user: drh tags: trunk)
2003-08-23
22:40
Add a "pk" column to the table_info pragma which is true for each column that is part of the primary key. Add a "foreign_key_list" pragma that gives information about all foreign keys for a table. Both changes are experimental. (CVS 1081) (check-in: 5232b0665b user: drh tags: trunk)
2003-08-22
03:00
Version 2.8.6 (CVS 1080) (check-in: 0bde7ae2ba user: drh tags: trunk)
02:34
Change the CVSTrac website to www.sqlite.org. Update change summary for the 2.8.6 release. (CVS 1079) (check-in: a4e3e075e3 user: drh tags: trunk)
2003-08-21
14:36
Update the -version-info number on libtool in Makefile.in. (CVS 1078) (check-in: dc36365eea user: drh tags: trunk)
2003-08-20
01:03
Add the experimental "quote()" function to the set of build-in functions. (CVS 1077) (check-in: 9699c68508 user: drh tags: trunk)
2003-08-19
14:31
Add the "onecolumn" method to the TCL language bindings. (CVS 1076) (check-in: c7b4c28fbc user: drh tags: trunk)
2003-08-16
13:10
Make the compile work under cygwin. Tickets #327, #213, #316, #322, #349, #373, and #429. (CVS 1075) (check-in: 7d8d3252df user: drh tags: trunk)
12:37
Do not delete tables with the same name when dropping triggers. Ticket #430. (CVS 1074) (check-in: ef58f163b0 user: drh tags: trunk)
2003-08-15
13:24
Fix a segfault that occurs in the VACUUM command if run on an empty database with the EMPTY_RESULT_CALLBACKS pragma enabled. Ticket #427. (CVS 1073) (check-in: 3563e9cf9d user: drh tags: trunk)
2003-08-13
11:29
Update the NULL-handling chart with new information about Firebird. (CVS 1072) (check-in: 17bdfeb284 user: drh tags: trunk)
2003-08-10
16:16
Make the sqliteOsCurrentTime() function work for Windows. Code contributed by "e4liberty" on the mailing list. (CVS 1071) (check-in: 02fac304c9 user: drh tags: trunk)
01:50
tighter coding of the date and time functions. Better comments. A bug fix. (CVS 1070) (check-in: 94243edac1 user: drh tags: trunk)
2003-08-09
21:32
Add experimental date and time functions based on julian day number. (CVS 1069) (check-in: a6197e2075 user: drh tags: trunk)
2003-08-05
13:13
Provide a more informative error message when a uniqueness constraint fails. Ticket #419. (CVS 1068) (check-in: 086aa1c992 user: drh tags: trunk)
2003-07-30
12:34
The {quote: SrcList} object was not being expanded correctly by a call to sqliteSrcListAppend() if the {quote: SrcList} had previously been duplicated by a call to sqliteSrcListDup(). Ticket #416. This check-in fixes that problem by keeping a separate nAlloc field on {quote: SrcList}. A similar change is made to {quote: IdList} and {quote: ExprList} to avoid future problems. (CVS 1067) (check-in: da62732554 user: drh tags: trunk)
2003-07-27
18:59
When creating a new journal file, open a (read-only) file descriptor on the directory containing the journal and sync that directory once to make sure that the journal filename entry gets into the directory. Ticket #410. (CVS 1066) (check-in: 09c10fe3c9 user: drh tags: trunk)
17:26
Make sure the schema loader callback can handle EMPTY_RESULT_CALLBACKS being on. Ticket #406. (CVS 1065) (check-in: 8c163fc0c7 user: drh tags: trunk)
17:16
In the VDBE, when an integer value will not fit into a 32-bit int, store it in a double instead. Ticket #408. (CVS 1064) (check-in: 7514c3db16 user: drh tags: trunk)
2003-07-22
13:20
Version 2.8.5 (CVS 1063) (check-in: 95fba440e7 user: drh tags: trunk)
12:44
Fix a typo in the index.html homepage. (CVS 1062) (check-in: 510761cf50 user: drh tags: trunk)
12:41
Increment the version number and update the documentation in preparation for the 2.8.5 release. (CVS 1061) (check-in: c2115335de user: drh tags: trunk)
09:24
Add experimental sqlite_reset() API (allows pre-compiled queries) (CVS 1060) (check-in: 1d2fcb0178 user: danielk1977 tags: trunk)
00:39
Make sure temporary file names in windows have a full 15 characters of random text at the end. (CVS 1059) (check-in: 6ccb92b14f user: drh tags: trunk)
2003-07-20
01:16
Fix the LIMIT clause so that it applies to the entire query in a compound query. Prior to this change LIMITs on compound queries did not work at all. Ticket #393. (CVS 1058) (check-in: 543479e3ae user: drh tags: trunk)
2003-07-19
00:44
Make sure the min() and max() optimizer works correctly when there is a LIMIT clause. Ticket #396. (CVS 1057) (check-in: c35e507176 user: drh tags: trunk)
2003-07-18
01:30
In the sqlite shell, change the name of function getline() to local_getline() to avoid a clash with a library function. Ticket #400. (CVS 1056) (check-in: 558969ee86 user: drh tags: trunk)
01:25
In the test scripts, do not try to delete files that are still open. Windows does not like it when you do. Ticket #397. (CVS 1055) (check-in: 93a2c961b1 user: drh tags: trunk)
2003-07-16
17:10
Fix typo on the homepage. (CVS 1054) (check-in: c74107d63a user: drh tags: trunk)
11:51
Make LIMIT 0 return no rows. LIMIT -1 still returns all rows. Ticket #346. (CVS 1053) (check-in: a31d0bd90a user: drh tags: trunk)
02:19
Allow negative values for LIMIT and OFFSET. Add tests for negative LIMITs and OFFSETs. Make the OFFSET work even if LIMIT is 0 or negative. (CVS 1052) (check-in: e6a752bfef user: drh tags: trunk)
00:54
Initialize a variable to prevent an MSVC compiler warning. Ticket #394. (CVS 1051) (check-in: 96e3c53958 user: drh tags: trunk)
2003-07-09
16:34
An an extra test associated with ticket #387. (CVS 1050) (check-in: 6a07ac3782 user: drh tags: trunk)
00:28
Allow the output arguments in sqlite_compile and sqlite_step to be NULL pointers. Tickets #384 and #385. (CVS 1049) (check-in: dd84f88f6c user: drh tags: trunk)
2003-07-08
23:42
Enhance the C/C++ documentation to clarify the meaning of the return value from sqlite_changes(). Ticket #383. (CVS 1048) (check-in: 303b2da1ac user: drh tags: trunk)
2003-07-07
10:47
A proported fix for ticket #374. (CVS 1047) (check-in: a49ee69e98 user: drh tags: trunk)
00:10
Update the NULL-handling document to show current behavior of OCELOT. (CVS 1046) (check-in: 1d4c92c732 user: drh tags: trunk)
2003-07-06
17:22
Correctly handle comparing an INTEGER PRIMARY KEY against a floating point number. Ticket #377. (CVS 1045) (check-in: 982aa3356b user: drh tags: trunk)
2003-07-01
18:13
Make sure indices in ATTACH-ed databases are put into the right hash table. Ticket #354. (CVS 1044) (check-in: eb4582831d user: drh tags: trunk)
01:16
Update the null-handling document to show how SQL Anywhere and Borland Interbase deal with NULLs. (CVS 1043) (check-in: 9a87f2f326 user: drh tags: trunk)
2003-06-30
10:36
Documentation change: refer users to the wiki for additional unsupported features rather than have them send me e-mail. (CVS 1042) (check-in: a3920b0804 user: drh tags: trunk)
2003-06-29
20:45
Version 2.8.4 (CVS 1041) (check-in: 7f5e8894ae user: drh tags: trunk)
20:25
The prior fix of ticket #360 was incorrect and caused a memory leak. This check-in plugs the memory leak and correctly fixes ticket #360. (CVS 1040) (check-in: fc490f677b user: drh tags: trunk)
18:29
Fix a bad memory leak in the in-memory database module. (CVS 1039) (check-in: 9cca959378 user: drh tags: trunk)
16:16
Bump the version number in preparation for the next release. (CVS 1038) (check-in: 0532e1a8f5 user: drh tags: trunk)
16:11
Documentation updates. (CVS 1037) (check-in: ab21de5fdd user: drh tags: trunk)
2003-06-28
16:25
Minor change to a comment in encode.c. (CVS 1036) (check-in: 3f252b72c9 user: drh tags: trunk)
16:20
Fix a bug in the soundex() code. Ticket #367. Add tests for ticket #261 even thought the problem could not be reproduced. (CVS 1035) (check-in: e2ca936fee user: drh tags: trunk)
2003-06-24
10:39
In a SELECT, the rowid of a view or subquery which is really a join is set to NULL if the join is flattened. Ticket #364. (CVS 1034) (check-in: bad8b55833 user: drh tags: trunk)
2003-06-23
15:15
Remove a surplus "return" statement accidentaly left in check-in (1032). (CVS 1033) (check-in: c697410af4 user: drh tags: trunk)
11:06
Remove all references to SQLITE_OMIT_TRACE. Tracing is always enabled. Ticket #361. (CVS 1032) (check-in: ec31a5292c user: drh tags: trunk)
2003-06-22
01:41
Make sure the source of a PULL opcode is not an ephemeral string. Ticket #360. (CVS 1031) (check-in: cb70ee67ea user: drh tags: trunk)
2003-06-17
02:57
Remove unused variable. Ticket #355. (CVS 1030) (check-in: 5228cecdb8 user: drh tags: trunk)
2003-06-16
19:18
Fix compiler errors and warnings win SQLITE_OMIT_AUTHORIZATION is defined. Ticket #353. (CVS 1029) (check-in: 6920b633c2 user: drh tags: trunk)
03:08
Add the %z format to the sqlite_mprintf() and related functions. (CVS 1028) (check-in: eca1398eaa user: drh tags: trunk)
00:40
Do not flatten a subquery which is the right term of a LEFT OUTER JOIN if the subquery contains a WHERE clause. Ticket #350. (CVS 1027) (check-in: dd8943e858 user: drh tags: trunk)
00:16
Preserve blank lines in the middle of SQL statements in the shell. Ticket #352 (CVS 1026) (check-in: bcf5eeecdf user: drh tags: trunk)
2003-06-15
23:49
Update the documentation to reflect the new capabilities of PRAGMA integrity_check. Rewording in the VACUUM documentation. (CVS 1025) (check-in: 38461a7acb user: drh tags: trunk)
23:42
Enhance the "PRAGMA integrity_check" command to verify that all indices are correctly constructed. New calls to integrity_check are made in the test suite. These changes are intended to prevent any future problems such as seen in ticket #334. (CVS 1024) (check-in: c9734c2707 user: drh tags: trunk)
10:35
Updated sqlite_encode_binary() comments with tighter bounds on output length. (CVS 1023) (check-in: 826aab43d5 user: jplyon tags: trunk)
10:29
Documented integer values used by PRAGMAs. Fixed missing end tags in generated anchors. (CVS 1022) (check-in: 6c24dfbae5 user: jplyon tags: trunk)
2003-06-14
19:29
* Added -version-info to shared libraries * Remove config.h and libtool in the distclean target (CVS 1021) (check-in: e13e8b05b4 user: a.rottmann tags: trunk)
12:04
Bug fix: sqliteFree() called twice on the same allocation during error handling in attach.c. (CVS 1020) (check-in: 9ec40935b9 user: drh tags: trunk)
11:42
Open the journal file for read-only when doing a playback. Ticket #351. (CVS 1019) (check-in: 66ac7aea3d user: drh tags: trunk)
2003-06-12
08:59
Added missing error string to sqlite_error_string(). (CVS 1018) (check-in: 3afb7b3586 user: jplyon tags: trunk)
2003-06-10
02:46
Suppress the warning message about print_node() being unused in btree_rb.c. Ticket #347. (CVS 1017) (check-in: b52f07e1c8 user: drh tags: trunk)
2003-06-09
11:53
Remove redundant "return" statement from btree_rb.c. (CVS 1016) (check-in: 373d077173 user: drh tags: trunk)
2003-06-08
08:36
Documented SQL fns IFNULL() and NULLIF(). (CVS 1015) (check-in: 190252fee0 user: jplyon tags: trunk)
2003-06-07
11:33
Use sqliteOsFileExists() in the debugging hook in vdbe.c, instead of access(). Ticket #341. (CVS 1014) (check-in: 7d3405b95b user: drh tags: trunk)
11:29
Do not assume that a pointer can fit in a long inside the printf() code. Ticket #342. (CVS 1013) (check-in: 5dad7c05e9 user: drh tags: trunk)
08:57
Major update of vdbe tutorial to 2.8.0 engine. (CVS 1012) (check-in: 787d986d0f user: jplyon tags: trunk)
08:56
Hyperlinks and minor additions/corrections for lang.tcl (CVS 1011) (check-in: 685a179aae user: jplyon tags: trunk)
2003-06-06
19:00
Extend the authorization mechanism to disallow the ATTACH and DETACH commands. Ticket #340. (CVS 1010) (check-in: a97dca73ae user: drh tags: trunk)
16:13
Add btree_rb.c and opcodes.c to the source built by the "target_source" target of the main makefile. (CVS 1009) (check-in: 0954697299 user: drh tags: trunk)
15:44
Add a prototype for the sqlite_vmprintf() function to sqlite.h. (CVS 1008) (check-in: 048cf55c7d user: drh tags: trunk)
2003-06-05
15:05
Fix a typo in speed.html. (CVS 1007) (check-in: d01e6fbdde user: drh tags: trunk)
14:27
Remove unused code from util.c. (CVS 1006) (check-in: 1bcaa841a3 user: drh tags: trunk)
2003-06-04
16:24
Fix a bug in UPDATE OR REPLACE that was introduced by check-in (999). Also clean up some compiler warnings for VC++. (CVS 1005) (check-in: af6f2bdf59 user: drh tags: trunk)
15:53
Adjust test cases to cope with the extra column returned by the database_list pragma. (CVS 1004) (check-in: fa10c6df5a user: drh tags: trunk)
15:48
Change the "database_list" pragma to return a third column containing the filename of the underlying database file. Always use an in-memory TEMP database with an in-memory main database. (CVS 1003) (check-in: f39100f575 user: drh tags: trunk)
12:44
Version 2.8.3 (CVS 1002) (check-in: 433570e3e6 user: drh tags: trunk)
12:40
Update the version number to 2.8.3. (CVS 1001) (check-in: c96f5bf0d7 user: drh tags: trunk)
12:31
Disable the unreadable file test (attach-6.2) under windows because of problems in the OS. (CVS 1000) (check-in: 4bfb30d20b user: drh tags: trunk)
12:23
Avoid corrupting indices when doing a REPLACE on a table with an INTEGER PRIMARY KEY that also has another index. Ticket #334. (CVS 999) (check-in: e813faae0e user: drh tags: trunk)
2003-06-03
01:47
Additional testing of the ATTACH command with bug fixes for the new problems that the tests found. (CVS 998) (check-in: 3e8889d7ce user: drh tags: trunk)
2003-06-02
23:14
The OP_Checkpoint opcode is now a no-op if invoked on a database that already has an active checkpoint journal. Ticket #333. (CVS 997) (check-in: daf7b94017 user: drh tags: trunk)
22:50
Fix a bug in the COPY command introduced by check-in (991). (CVS 996) (check-in: 77ec13dab8 user: drh tags: trunk)
18:17
Fix an initialized variable in sqliteInitOne. (CVS 995) (check-in: 89957b09ce user: drh tags: trunk)
06:29
Generate anchors in opcode table html for use by new vdbe tutorial. (CVS 994) (check-in: 3ae36cf158 user: jplyon tags: trunk)
06:17
Added comments. (CVS 993) (check-in: 1276ddb307 user: jplyon tags: trunk)
06:15
Additions and corrections to vdbe documentation comments. (CVS 992) (check-in: b648987de3 user: jplyon tags: trunk)
2003-06-01
01:10
Add the ability to INSERT or UPDATE using the "rowid" column even on tables that lack an integer primary key. (CVS 991) (check-in: 903adbe802 user: drh tags: trunk)
2003-05-31
16:21
Tighter binding of views, triggers, and indices to their respective databases. Ticket #323. Much more testing needs to be done to the sqliteFix...() routines in attach.c. (CVS 990) (check-in: 7202d4f1a8 user: drh tags: trunk)
2003-05-29
17:50
Change the row-size limit back to 1MB. It was temporarily raised to 16MB. We'll probably move it to 16MB eventually, but not just yet. (CVS 989) (check-in: b84c4035c6 user: drh tags: trunk)
17:43
Modify the windows locking code so that it works correctly for a database being shared between Win95/98/ME and WinNT/2K/XP systems. Ticket #310. (CVS 988) (check-in: 8c402db7e0 user: drh tags: trunk)
04:21
Added typeof() operator. Minor additions for ATTACH/DETACH. (CVS 987) (check-in: 8b8fa0fff2 user: jplyon tags: trunk)
2003-05-19
23:55
Fix segfault that occurs when opening a non-existing database in the shell then immediately doing ".q". (CVS 986) (check-in: e8566cf5a3 user: drh tags: trunk)
2003-05-17
19:23
Additional attach testing. I now believe that ticket #317 was fixed by check-in (981). (CVS 985) (check-in: 2419137379 user: drh tags: trunk)
19:04
Prevent an infinite loop when deleting a table that has a TEMP trigger. (CVS 984) (check-in: c8c823b068 user: drh tags: trunk)
17:52
Version 2.8.2 (CVS 983) (check-in: f542e5fc88 user: drh tags: trunk)
17:38
Bump the version number and update the change log. We are rushing out release 2.8.2 because of the database corruption problem fixed by the previous check-in. (CVS 982) (check-in: e134459d65 user: drh tags: trunk)
17:35
Fix problems with TEMP indices that lead to corrupt databases. These problems were discovered while working on ticket #317. No sure yet if that ticket is fixed. (CVS 981) (check-in: 01398fb78b user: drh tags: trunk)
02:44
Version 2.8.1 (CVS 980) (check-in: 590f963b65 user: drh tags: trunk)
02:27
Fix the fix for newlines in echo commands. Tickets #311, #282, #256. (CVS 979) (check-in: baea7aca10 user: drh tags: trunk)
01:39
Bump the version number to 2.8.1. Update documentation prior to release. (CVS 978) (check-in: 0874814ab0 user: drh tags: trunk)
00:24
Escape backslashes in echo commands in the makefiles. Tickets #311, #282, #256. (CVS 977) (check-in: d614861b8a user: drh tags: trunk)
00:05
Fix memory allocation problem in the sqlite_get_table() API. Ticket #315. (CVS 976) (check-in: f1d955efd9 user: drh tags: trunk)
2003-05-16
02:30
Make sure the ON CONFLICT clause on a BEGIN overrides the conflict resolution specified by an index. This fixes a bug reported on the newsgroup. (CVS 975) (check-in: 0f92736d1f user: drh tags: trunk)
2003-05-13
08:01
Removed 3rd (file) column from PRAGMA database_list until tests are fixed. (CVS 974) (check-in: 4183cf9767 user: jplyon tags: trunk)
01:52
Fix another twos-complement negation error. Ticket #313. (CVS 973) (check-in: f267a8a4ff user: drh tags: trunk)
00:34
A change to lemon related to ticket #313. (CVS 972) (check-in: b59d9033d5 user: drh tags: trunk)
00:24
Remove unnecessary "#include <sqliteInt.h>" from the shell code. (CVS 971) (check-in: 6e5c497a42 user: drh tags: trunk)
00:21
Fix a #ifdefs that are used to comment-out the VACUUM command. (CVS 970) (check-in: 22d5324073 user: drh tags: trunk)
2003-05-12
23:06
Make sure hash functions always return non-negative. (CVS 969) (check-in: 39a3e403f0 user: drh tags: trunk)
2003-05-11
20:09
Changed PRAGMA database_list to show the filename. (CVS 968) (check-in: 3da10d2d02 user: jplyon tags: trunk)
20:07
Changed ".databases" command to use PRAGMA database_list. (CVS 967) (check-in: bad2065337 user: jplyon tags: trunk)
2003-05-10
03:36
Changes to comments. In particular, a lengthy comment was added to encode.c that explains how the encoder algorithm works. (CVS 966) (check-in: 8b388b2f69 user: drh tags: trunk)
03:04
Removed never-used symbol SQLITE_ResultDetails. (CVS 965) (check-in: 26bd7bb177 user: jplyon tags: trunk)
03:03
Removed never-used pragma "result_set_details". (CVS 964) (check-in: bf558e7952 user: jplyon tags: trunk)
02:54
Documented the "GO" and "\" command terminators. (CVS 963) (check-in: 6a76bd9590 user: jplyon tags: trunk)
02:54
Fixed metacharacter coloring with LP, RP, PLUS. Added more links. (CVS 962) (check-in: 2bbb080495 user: jplyon tags: trunk)
2003-05-07
13:37
Format keyword lists in lang.html using a TCL proc. (CVS 961) (check-in: ca75f1ca12 user: drh tags: trunk)
04:04
- Added entries for PRAGMAs database_list, temp_store and default_temp_store. - Fixed missing end tags. (CVS 960) (check-in: 55ae7b35ee user: jplyon tags: trunk)
03:59
Cleaned up keywords section. (CVS 959) (check-in: bb609f96e0 user: jplyon tags: trunk)
2003-05-06
20:35
Restrain the flattener in the presence of outer joins. Ticket #306. (CVS 958) (check-in: 6d4b6597e5 user: drh tags: trunk)
2003-05-04
20:42
Added tests trying (unsuccessfully) to reproduce ticket #304. (CVS 957) (check-in: fda637f453 user: drh tags: trunk)
18:30
Shell command-line parsing enhancements suggested by Mike Hall. (CVS 956) (check-in: 5656fe48b1 user: drh tags: trunk)
17:58
Fix deficiencies in sqlite_complete() pointed out by R. Dennis Cote. (CVS 955) (check-in: 54b33a5ed9 user: drh tags: trunk)
07:31
Added shell command ".databases" to list name and file of open ones. Added several missing shell commands. (CVS 954) (check-in: dd57d6ae6a user: jplyon tags: trunk)
07:25
added shell command ".databases" to list name and file of open ones. (CVS 953) (check-in: 741a5a8d39 user: jplyon tags: trunk)
07:02
new section for keywords, more docs for attached databases , links, cleanup (CVS 952) (check-in: 87e1b6a936 user: jplyon tags: trunk)
2003-05-03
19:04
More documentation updates. (CVS 951) (check-in: 24b9b56924 user: drh tags: trunk)
04:55
- added entry for ATTACH DATABASE. - added entry for DETACH DATABASE. - added soundex() function. - added some new TEMP modifiers. - added new VACUUM behavior. - added the Oracle8 outer join "(+)" syntax. - documented the modulus/remainder operator %. - added ALL as alternative to DISTINCT in SELECT. - fixed assignment list in UPDATE to use * metacharacter. - fixed value in PRAGMA to be optional. - added link from INSERT topic to REPLACE. - added optional CONSTRAINT <name> before column constraints. - skip 2 lines before each Section in the TCL source. (CVS 950) (check-in: fd28c5229e user: jplyon tags: trunk)
2003-05-02
16:44
Additional tests of the new flattener added. Ticket #272. (CVS 949) (check-in: 8d9ee45ab4 user: drh tags: trunk)
16:04
Enhance the query flattener to handle subqueries that are joins. All regressions pass but new tests need to be added before release. Ticket #272. (CVS 948) (check-in: ad57693e9f user: drh tags: trunk)
14:32
VDBE cursors numbers for tables in a join do not have to be consecutive. This is one step on the road to fixing ticket #272. (CVS 947) (check-in: be7aed2011 user: drh tags: trunk)
2003-05-01
16:56
Correctly create an index that uses an INTEGER PRIMARY KEY as one of columns to be indexed. (CVS 946) (check-in: 6d019e0baa user: drh tags: trunk)
2003-04-30
11:38
In the shell tool, delay opening the database until it is needed but also make sure it is opened before trying to use the "db" pointer. Ticket #302. (CVS 945) (check-in: 20fcead42b user: drh tags: trunk)
2003-04-29
18:01
Accept a "/" or "go" on a line by itself as an SQL statement terminator in the command-line shell. This allows SQL Server and Oracle scripts to be played into SQLite without change. (CVS 944) (check-in: 8211f57b38 user: drh tags: trunk)
17:19
Allow the ASC or DESC keyword to appear after a column name in a CREATE INDEX statement. SQLite indices are aways ASC (ascending) regardless of which keyword is used. (CVS 943) (check-in: 1a0c542088 user: drh tags: trunk)
16:20
The sqlite_complete() function should ignore carriage-return characters. (Oops - some unrelated edits also made it into this check-in.) (CVS 942) (check-in: c6bf62e41c user: drh tags: trunk)
2003-04-26
13:19
In the test code, make several attempts to convert a pointer to a string and test each attempt to make sure it works before returnning, in order to work around incompatibilities between various systems. Ticket #284. (CVS 941) (check-in: 333011ffdd user: drh tags: trunk)
03:03
Fix the shell tool to do a better job of ignoring whitespace. Ticket #234. (CVS 940) (check-in: 639957e9f7 user: drh tags: trunk)
02:50
Only print the "Loading resources from..." line when the output is a TTY. Ticket #168. (CVS 939) (check-in: 92ded93376 user: drh tags: trunk)
02:40
Do not use the return value of fcntl() to find the reason that it failed. Use errno instead. Tickets #240 and #270. (CVS 938) (check-in: acf9e9802f user: drh tags: trunk)
02:31
Fix the sqlite_complete() routine so that it recognizes /*...*/ comments. Ticket #277. (CVS 937) (check-in: ef8eb580fc user: drh tags: trunk)
2003-04-25
17:52
Report the correct authorization context in the authorization callback when coding an INSTEAD OF trigger on an update or delete. (CVS 936) (check-in: 67746833fc user: drh tags: trunk)
15:37
Add tests to insure VACUUM works in the presence of I/O errors. Fix some problems that came to light by these tests. (CVS 935) (check-in: 8d3e879349 user: drh tags: trunk)
13:28
Work around a name collision problem on windows. (CVS 934) (check-in: c3b1f84dfc user: drh tags: trunk)
13:22
Make VACUUM work even if multiple processes have the database open at once. (CVS 933) (check-in: caa960289f user: drh tags: trunk)
03:13
Explicit casts to squelch bogus warnings for vc++. Ticket #194. (CVS 932) (check-in: cb808c14bc user: drh tags: trunk)
02:43
Get VACUUM working again - with test cases. Some other minor cleanups. (CVS 931) (check-in: 5afb88008f user: drh tags: trunk)
2003-04-24
01:45
Fix some issues with INSTEAD OF triggers. (CVS 930) (check-in: 206b17397b user: drh tags: trunk)
2003-04-23
12:25
Remove the begin_hook and commit_hook APIs. They were a bad idea. Add a "trace" method to the TCL interface. (CVS 929) (check-in: 6289b86359 user: drh tags: trunk)
2003-04-22
20:30
Update the authorizer API so that it reports the database that table and indices belong to and so that it reports when actions are taken in response to a trigger. (CVS 928) (check-in: c675a55041 user: drh tags: trunk)
08:04
Check for readline libs now adds appropriate curses or termcap lib when needed (CVS 927) (check-in: 393dd91c25 user: paul tags: trunk)
2003-04-21
18:48
Add support for TEMPORARY triggers. Such triggers can write temporary or permanent tables. (CVS 926) (check-in: 58ddd587b0 user: drh tags: trunk)
2003-04-20
23:45
Add more tests for the in-memory database. (CVS 925) (check-in: 11cab41c4f user: drh tags: trunk)
17:29
Added tests for the in-memory database backend. Also updated some comments in other modules. (CVS 924) (check-in: fb89adf4d1 user: drh tags: trunk)
11:46
Align config vars controlling in-memory DB with code (CVS 923) (check-in: 921656db9e user: paul tags: trunk)
11:41
Reset pCur->eSkip on a MoveTo (CVS 922) (check-in: d983accf4a user: paul tags: trunk)
00:00
Update comments. Remove unused field from the Index structure. (CVS 921) (check-in: 7084e05093 user: drh tags: trunk)
2003-04-19
17:27
Modify the optimizer so that it does not assume that functions are constant. (CVS 920) (check-in: 767f1af236 user: drh tags: trunk)
16:34
Bug in WHERE clause processing fixed. Ticket #298. (CVS 919) (check-in: 9b619c98b5 user: drh tags: trunk)
2003-04-18
22:52
fix a memory leak in btree_rb.c. (CVS 918) (check-in: 1e3d0d0947 user: drh tags: trunk)
17:45
Fix for ticket #297 - bug in sqliteSortCompare(). (CVS 917) (check-in: 4ded1965eb user: drh tags: trunk)
02:31
The VACUUM command is now functioning (again). Need to do more testing. (CVS 916) (check-in: 6e948d9aae user: drh tags: trunk)
2003-04-17
22:57
Fix triggers to work in an ATTACHed database. Ticket #295. (CVS 915) (check-in: 1e5e00fb73 user: drh tags: trunk)
12:44
Make sure the min() and max() optimizations work on empty indexed tables. Ticket #296. (CVS 914) (check-in: 98ef611006 user: drh tags: trunk)
02:54
Change the shell to use the sqliteIsNumber() routine for determining if values are numeric. Modified os.c so that it should now work with DJGPP - though I have no way of testing this. (CVS 913) (check-in: 35caefe317 user: drh tags: trunk)
2003-04-16
21:03
Rollback if a commit hook fails. (CVS 912) (check-in: 5cea7554ae user: drh tags: trunk)
20:24
Fix the authorizer so that it correctly interprets attempts to read the OLD and NEW pseudo-tables of a trigger. (CVS 911) (check-in: f04bd43254 user: drh tags: trunk)
02:17
Simplify the number processing code. Fix for ticket #281. (CVS 910) (check-in: 4326b52a39 user: drh tags: trunk)
01:28
Remove some unnecessary code and complication from the btree interface. (CVS 909) (check-in: 35cc7c7d37 user: drh tags: trunk)
2003-04-15
19:22
Get triggers working on tables with INTEGER PRIMARY KEYs. Ticket #291. This may also fix #159. Still need to add tests so both bugs remain open for the time being. (CVS 908) (check-in: 0b996959b8 user: drh tags: trunk)
17:22
Added btree_rb.c (CVS 907) (check-in: 93eb6c52ac user: paul tags: trunk)
14:01
Do not record the inserted rowid on when doing an INSERT within a trigger. Ticket #290. (CVS 906) (check-in: 96a717661a user: drh tags: trunk)
01:49
Change lemon to use <stdarg.h> instead of <varargs.h> because GCC no longer supports varargs.h. Tickets #288 and #280. Ironically, lemon originally used varargs.h because stdarg.h was not supported by the compiler I was using in 1989 (which was gcc if I recall correctly.) (CVS 905) (check-in: 7902e4778e user: drh tags: trunk)
01:19
Change some variable names and comments in the new in-memory database file implementation. Partial (non-working) implementation of the VACUUM command. (CVS 904) (check-in: e76787f877 user: drh tags: trunk)
2003-04-13
18:26
Support in-memory databases for temp tables (CVS 903) (check-in: 96336bffde user: paul tags: trunk)
2003-04-06
21:08
Split the implementation of COPY, PRAGMA, and ATTACH into separate source code files. (CVS 902) (check-in: 73359037ea user: drh tags: trunk)
20:52
Move the implementation of VACUUM into a separate source file. (CVS 901) (check-in: b123c165fd user: drh tags: trunk)
20:44
Simplify the BTree interface by shortening names. Added two new methods for accessing the current filename and for changing the name of the database file. (CVS 900) (check-in: 185d8dc8d0 user: drh tags: trunk)
2003-04-05
16:56
More testing of ATTACH and DETACH. (CVS 899) (check-in: 51f515f28c user: drh tags: trunk)
03:42
Begin testing the new ATTACH and DETACH commands. (CVS 898) (check-in: 7a0f8024a1 user: drh tags: trunk)
2003-04-03
19:35
Fix for ticket #276. (CVS 897) (check-in: 452128c6fd user: drh tags: trunk)
15:46
Added experimental APIs: sqlite_begin_hook() and sqlite_commit_hook(). (CVS 896) (check-in: 5efbf62313 user: drh tags: trunk)
01:50
Use a intermediate table when inserting a TEMP table from a SELECT that reads from that same TEMP table. Ticket #275. (CVS 895) (check-in: 087d1e83af user: drh tags: trunk)
2003-04-01
21:16
Add infrastructure to suport multiple btree implementations (CVS 894) (check-in: 79b3aed2a7 user: paul tags: trunk)
2003-03-31
13:36
Minor follow-on changes to the recent ATTACH patch. (CVS 893) (check-in: 11378c5bf9 user: drh tags: trunk)
13:36
Minor follow-on changes to the recent ATTACH patch. (CVS 892) (check-in: e80afe75b3 user: drh tags: trunk)
02:12
Add the sqliteErrorMsg() function and use it to generate error message text during parsing and code generation. This simplifies the code somewhat and makes it easier to handle names with a database prefix. (CVS 891) (check-in: 1d3fc97721 user: drh tags: trunk)
00:30
The ATTACH and DETACH statements are now coded but are still mostly untested. (CVS 890) (check-in: c7c5e927a5 user: drh tags: trunk)
2003-03-30
19:17
Remove the experimental sqlite_open_aux_file() API. It will soon be replaced by ATTACH and DETACH SQL commands. (CVS 1732) (check-in: 0a358844e4 user: drh tags: trunk)
19:17
Remove the experimental sqlite_open_aux_file() API. It will soon be replaced by ATTACH and DETACH SQL commands. (CVS 889) (check-in: b6d6e07f3a user: drh tags: trunk)
18:58
Remove the obsolete documentation on how to crosscompile version 1.0 of SQLite. (CVS 888) (check-in: ac0622bf5f user: drh tags: trunk)
18:41
Detect when a child node of a btree page has zero entries and report that as a case of database corruption. (CVS 887) (check-in: 66c80ae232 user: drh tags: trunk)
00:19
Fix a memory leak in triggers and update tests to show the latest error message text. (CVS 886) (check-in: b90d9de32d user: drh tags: trunk)
2003-03-27
13:50
Regression tests now work - except for some changes in error message text. The library is now safe to use for experimental work. (CVS 885) (check-in: 8a593e9c2d user: drh tags: trunk)
13:01
Fix a segfault in the trigger code. (CVS 884) (check-in: 7672914b19 user: drh tags: trunk)
12:51
Changes to the "sqlite" structure that allow simultaneous operations on multiple database files. Many regession tests pass - but not all of them. Do not use this version except for debugging SQLite itself. (CVS 1731) (check-in: 9ac71c329e user: drh tags: trunk)
12:51
Changes to the "sqlite" structure that allow simultaneous operations on multiple database files. Many regession tests pass - but not all of them. Do not use this version except for debugging SQLite itself. (CVS 883) (check-in: d2fb2bb50c user: drh tags: trunk)
2003-03-24
09:42
Re-generated. (CVS 882) (check-in: f0c5bcf72c user: a.rottmann tags: trunk)
09:40
Updated libtool. (CVS 881) (check-in: b1ca4e13dc user: a.rottmann tags: trunk)
09:39
Added pkg-config support. (CVS 880) (check-in: ec1c5a6113 user: a.rottmann tags: trunk)
2003-03-20
01:16
Record the database name in addition to the table name for DELETE, INSERT, and UPDATE statements. (CVS 879) (check-in: a5d8fc95ee user: drh tags: trunk)
2003-03-19
03:14
Modifications to the VDBE to support more than one database file. (CVS 878) (check-in: 875da9eed9 user: drh tags: trunk)
2003-03-07
19:50
Do not allow an empty string to be inserted into an INTEGER PRIMARY KEY. (CVS 877) (check-in: 2aba40bea5 user: drh tags: trunk)
2003-03-01
19:53
Add more tests to make sure that sqlite_changes() works when using the non-callback API. Ticket #250. (CVS 876) (check-in: 13e501d190 user: drh tags: trunk)
19:45
Get the non-callback API working with the EXPLAIN keyword and for PRAGMAs. Tickets #258 and #257. Update the API documentation on the sqlite_changes() routine to explain how it works with the non-callback API. Ticket #250. (CVS 875) (check-in: 620e1065e9 user: drh tags: trunk)
2003-02-26
13:52
Fix a memory leak associated with PRIMARY KEY in a CREATE TABLE statement that fails. Ticket #249. (CVS 874) (check-in: 8e9dc56799 user: drh tags: trunk)
13:52
Fix a memory leak associated with PRIMARY KEY in a CREATE TABLE statement that fails. Ticket #249. (CVS 1730) (check-in: 66158843df user: drh tags: trunk)
2003-02-20
01:48
When the right table in a LEFT OUTER JOIN contains an INTEGER PRIMARY KEY make sure that key is NULL if there is no row in the right table that matches the current row in the left table. Tickets #246 and #247. (CVS 873) (check-in: 6a45fe3bd7 user: drh tags: trunk)
00:44
Fix the parsing of the LIMIT clause when the limit and offset are separated by a comma. The offset comes before the limit in that case. Ticket #245. (CVS 872) (check-in: 6ef91a364b user: drh tags: trunk)
2003-02-16
22:49
Version 2.8.0 (CVS 870) (check-in: 5db98b3f40 user: drh tags: trunk)
22:48
Couple of last-minute changes before 2.8.0. (CVS 871) (check-in: 8192c937d5 user: drh tags: trunk)
22:36
Update the speed comparison documentation to show the improved performance of PostgreSQL after performance tuning. (CVS 869) (check-in: 73c904e57a user: drh tags: trunk)
22:21
Added test code to check for file descriptor leaks. All regression tests pass now on both win2k and linux. (CVS 868) (check-in: 75ba78280f user: drh tags: trunk)
19:13
Fix more bugs. The new rollback journal implementation now passes all regression tests under Linux. (CVS 867) (check-in: d10adc1c57 user: drh tags: trunk)
2003-02-15
23:09
Fix the pager so that correct rollbacks occur when synchronous is turned off. This check-in also included unrelated documentation updates. (CVS 866) (check-in: 3ef0ad8a4f user: drh tags: trunk)
2003-02-13
02:54
Update the documentation for the new journal format to be introduced in version 2.8.0. (CVS 1729) (check-in: dc53d92141 user: drh tags: trunk)
02:54
Update the documentation for the new journal format to be introduced in version 2.8.0. (CVS 865) (check-in: e05a7a552f user: drh tags: trunk)
01:58
Fix a bug in the rollback logic for the new journal format. (CVS 864) (check-in: 7c22aa3f81 user: drh tags: trunk)
2003-02-12
14:09
Added the new FULL option to the SYNCHRONOUS pragma. Still need to test it. (CVS 1728) (check-in: 8968bc0636 user: drh tags: trunk)
14:09
Added the new FULL option to the SYNCHRONOUS pragma. Still need to test it. (CVS 863) (check-in: 792a9e157d user: drh tags: trunk)
02:10
Fix a bug in the legacy journal format writing logic. (CVS 862) (check-in: 6c927dd36c user: drh tags: trunk)
2003-02-11
14:55
Modify the journal format to be more robust against garbage that might appear in the file after a power failure. The changes are mostly working but more testing is still required. This check-in is to checkpoint the changes so far. (CVS 861) (check-in: 8ec5632536 user: drh tags: trunk)
2003-02-05
14:06
Make the shell run much faster for inputs where a single SQL statement spans thousands of lines by avoiding the call to sqlite_complete() unless the input ends in a semicolon. (CVS 860) (check-in: e21afb82b5 user: drh tags: trunk)
2003-02-02
12:41
Make the GROUP BY clause work even if there are no aggregate functions. (CVS 859) (check-in: b687923158 user: drh tags: trunk)
2003-02-01
13:53
When a CREATE TABLE ... AS SELECT statement fails, make sure the table name is removed from the internal hash tables. Ticket #238. (CVS 858) (check-in: 65264780c5 user: drh tags: trunk)
2003-01-31
17:21
The sqlite_exec() function now returns SQLITE_AUTH when authorization fails. Ticket #231. (CVS 857) (check-in: d93c1aeb54 user: drh tags: trunk)
17:16
Allow double-quoted strings as string constants in the IN operator. As a side-efffect, allow the GROUP BY clause to refer to columns by their integer column number. Ticket #237. (CVS 856) (check-in: 187d9c4058 user: drh tags: trunk)
2003-01-29
22:58
Additional testing and bug fixing with the non-callback API. Updated the C/C++ interface document to describe the non-callback API. (CVS 855) (check-in: af1e929946 user: drh tags: trunk)
18:46
Better error messages on constraint violations. Additional tests and bug fixes for the callback-free API. (CVS 854) (check-in: ccc82f1ab4 user: drh tags: trunk)
14:06
The callback-free API is now working, though much more testing is need. (CVS 853) (check-in: 162b259188 user: drh tags: trunk)
2003-01-28
23:13
First code for the new callback-free API. All regression tests pass but the new API is mostly untested and is unlikely to work. (CVS 852) (check-in: 065fa818ff user: drh tags: trunk)
2003-01-26
15:28
Added section on comments. Corrected broken end tags. (CVS 851) (check-in: c957f4f0c6 user: jplyon tags: trunk)
2003-01-25
16:32
Version 2.7.6 (CVS 850) (check-in: bdba796f3b user: drh tags: trunk)
15:43
Fix a bug in the rollback validation logic (code that only runs during debugging). The problem was introduced by check-in (835). (CVS 849) (check-in: b6ea0da76a user: drh tags: trunk)
14:34
Remove an unused variable. (CVS 848) (check-in: 18f4ffaa2e user: drh tags: trunk)
14:32
Preparations for the release of version 2.7.6. (CVS 847) (check-in: 5143d4814d user: drh tags: trunk)
14:25
Update the speed.html documentation. Recent optimizations have made the library much faster. (CVS 846) (check-in: ed47d162a0 user: drh tags: trunk)
2003-01-24
12:14
Add asserts to btree.c that check for the correct size of various typedefs and structures. Ticket #233. (CVS 845) (check-in: c7e647d011 user: drh tags: trunk)
2003-01-22
01:26
Minor refinements to the pager. (CVS 844) (check-in: 19221dee5f user: drh tags: trunk)
2003-01-21
23:06
fix a typo on the quickstart.html page. (CVS 843) (check-in: 61869bb51b user: drh tags: trunk)
02:39
In the pager, cache a pointer to the first page on the freelist that does not need to be synced. This makes a fetch of a page that is not in cache go a lot faster when the cache is full. This check-in also adds some performance instrumentation to the OS layer. (CVS 842) (check-in: 00f08fc0b5 user: drh tags: trunk)
2003-01-19
03:59
Update comments. No changes to code. (CVS 841) (check-in: f6a8706872 user: drh tags: trunk)
2003-01-18
22:01
Update the speed comparison page. (CVS 840) (check-in: 424cb2edb0 user: drh tags: trunk)
20:11
Fix datatype reporting and collating sequence selection so that it works correctly on views and with the UNION, EXCEPT, and INTERCEPT operators. (CVS 839) (check-in: 71cc292dce user: drh tags: trunk)
17:05
Do not report an error if the input to the sqlite shell ends in a comment. Ticket #211. (CVS 838) (check-in: 32a8e6e977 user: drh tags: trunk)
17:04
Check the validity of the database connection before the trace callback, not afterwards. (CVS 837) (check-in: 960a2e4af3 user: drh tags: trunk)
2003-01-16
16:28
Add the sqlite_trace() hook for tracing the SQL that an application executes. The plan is to leave this API undocumented for the time being, in case we want to make changes to it later. (CVS 836) (check-in: f67bff8ff3 user: drh tags: trunk)
13:42
Improvements to the pager to help large updates against a large database run faster. Also improved the testing of the pager rollback algorithms. (CVS 835) (check-in: 717523d375 user: drh tags: trunk)
2003-01-14
13:48
Finish out the test suite for the new sqlite_set_authorizer API. (CVS 834) (check-in: 701a73918d user: drh tags: trunk)
02:54
Fix a memory leak in the PRAGMA authorization code. (CVS 833) (check-in: ba58979f2f user: drh tags: trunk)
02:49
More tests of the sqlite_set_authorizer() API together with fixes for bugs that the new tests uncovered. (CVS 832) (check-in: cc2ae781ac user: drh tags: trunk)
00:44
Make the GLOB work write with upper-case characters. Ticket #226. (CVS 831) (check-in: 7ea46e7064 user: drh tags: trunk)
2003-01-13
23:27
Revise the sqlite_set_authorizer API to provide more detailed information about the SQL statement being authorized. Only partially tested so far. (CVS 830) (check-in: 45de93f913 user: drh tags: trunk)
2003-01-12
19:33
The initial round of tests for the sqlite_set_authorizer() API. More are needed before release. Ticket #215. (CVS 829) (check-in: 5707b3d56e user: drh tags: trunk)
18:07
Forgot to include the new "auth.c" source file in the previous checkin. (CVS 828) (check-in: 7601916419 user: drh tags: trunk)
18:02
Initial check-in of the code for the new sqlite_set_authorizer() API function. The code is mostly untested at this point. (CVS 827) (check-in: 52d5007f64 user: drh tags: trunk)
17:35
Remove an unused variable from the VDBE. Ticket #223. (CVS 826) (check-in: 0deaf563fd user: drh tags: trunk)
17:28
Change the PopStack() routine so that it doesn't confuse bounds checkers. Ticket #222. (CVS 825) (check-in: fc11fa50b8 user: drh tags: trunk)
2003-01-11
15:02
Remove the aOrder() array from where.c. (CVS 824) (check-in: b2c1edb47f user: drh tags: trunk)
14:25
Fix two compiler warnings from OS-X. (CVS 823) (check-in: 4c22da76ca user: drh tags: trunk)
14:19
Document the SHOW_DATATYPES pragma and add tests for it to the test suite. Make sure datatypes are show even for aliased columns. Tickets #220 and #221. (CVS 822) (check-in: e84d3afe7b user: drh tags: trunk)
13:30
Remove the ColumnCount opcode, which had become a no-op. (CVS 821) (check-in: 86deb12d68 user: drh tags: trunk)
2003-01-08
13:02
Port ot MacOS Classic. Ticket #218. (CVS 820) (check-in: 13f82d67f6 user: drh tags: trunk)
2003-01-07
14:46
Avoid calling truncate() and stat() on the checkpoint journal to improve the speed of a large number of UPDATEs within a transaction. (CVS 819) (check-in: 2f89e9e696 user: drh tags: trunk)
13:55
In the VDBE, allocate space to hold column names when the VDBE first starts. The ColumnCount opcode now just writes the null terminator into this space. (CVS 818) (check-in: 46d8f5e377 user: drh tags: trunk)
13:43
When constructing records and index keys, use static string space rather than mallocing (when possible) for a small speed improvement. (CVS 817) (check-in: 657c9fb513 user: drh tags: trunk)
02:47
More optimizations. (CVS 816) (check-in: a362981b20 user: drh tags: trunk)
01:44
Optimizations to the tokenizer. (CVS 815) (check-in: 032b3daa1d user: drh tags: trunk)
2003-01-06
23:54
Remove unnecessary code from the VDBE. (CVS 814) (check-in: b96ec281ff user: drh tags: trunk)
2003-01-05
21:41
More optimizations. (CVS 813) (check-in: 5809132f5b user: drh tags: trunk)
2003-01-04
19:44
Parameterize the number of adjacent pages that participate in the balancing algorithm in the BTree. But leave the setting at the current value of 3. (CVS 812) (check-in: 6c304024bb user: drh tags: trunk)
18:53
Another optimization to the btree logic. (CVS 811) (check-in: 03d2067361 user: drh tags: trunk)
16:48
Optimizations to the BTree module for a modest speed improvement. (CVS 810) (check-in: 39902a7041 user: drh tags: trunk)
2003-01-03
02:04
Allow the rollback journal to be empty except for its header. Ticket #212. (CVS 809) (check-in: 1ba41bc2af user: drh tags: trunk)
2003-01-02
14:43
Code optimizations to help the library run faster. (CVS 808) (check-in: db745e87dc user: drh tags: trunk)
2003-01-01
23:06
If compiled with the -DVDBE_PROFILE=1 option, special code is inserted that uses the pentium RDTSC instruction to compute very precise runtimes on all VDBE opcodes. (This only works on i586 processors, of course.) The results are written into the vdbe_profile.out file for analysis. Hopefully, this new feature will reveal hot spots that can be optimized to make the VDBE run faster. (CVS 807) (check-in: a1c071ea18 user: drh tags: trunk)
2002-12-28
01:26
Version 2.7.5 (CVS 806) (check-in: ee95eefe12 user: drh tags: trunk)
01:10
Update the version number to 2.7.5. (CVS 805) (check-in: b0864cc9c8 user: drh tags: trunk)
01:06
Fix an uninitialized variable in the pager. Tickets #208 and #206. Bug introduced by check-in (795). (CVS 804) (check-in: f3dc686e02 user: drh tags: trunk)
2002-12-17
22:50
Version 2.7.4 (CVS 803) (check-in: 0224db6f8c user: drh tags: trunk)
14:30
Preparing for the 2.7.4 release. (CVS 802) (check-in: f685ae15b1 user: drh tags: trunk)
14:19
If the "fake_big_file" command fails, be sure to close the file before returning. (CVS 801) (check-in: fa1b5e2119 user: drh tags: trunk)
14:13
Make sure the host machine has enough disk space before running the large file tests. (CVS 800) (check-in: b1ec547865 user: drh tags: trunk)
13:05
Take care not to modify the sqlite* pointer to sqlite_exec() if we suspect that the pointer is stale - that it has previously been passed to sqlite_close(). Possible fix for ticket #202. Prior to this fix, test misuse-5.3 was causing a change to a buffer that had been previously free()-ed. (CVS 799) (check-in: f04547edfa user: drh tags: trunk)
2002-12-07
21:45
Save the full pathname of the database file so that journalling still works even if the user changes working directories after opening the databae. Ticket #200. (CVS 798) (check-in: 1c58b4fc03 user: drh tags: trunk)
2002-12-04
22:29
Fix a bug in the reverse scan logic that comes up when the table being scanned is empty. Add additional tests for the reverse scan. (CVS 797) (check-in: 0051c87d5e user: drh tags: trunk)
21:50
Fixes to the logic that decides if the ORDER BY can be ignored due to the use of an index. Tests updated. (CVS 796) (check-in: bfb9a2aa93 user: drh tags: trunk)
20:01
Scan the table backwards if there is an ORDER BY ... DESC clause that can be satisfied by an index. (CVS 795) (check-in: c7a3487981 user: drh tags: trunk)
13:40
Add the sqliteBtreePrevious() routine to the BTree module API. This is in anticipation of implementing reverse order searching of a table. (CVS 794) (check-in: 0ad1d93879 user: drh tags: trunk)
2002-12-03
02:34
Allow an aggregate function in the HAVING clause even if no aggregates appear in the result set. Ticket #187. (CVS 793) (check-in: 33c6fd6b3d user: drh tags: trunk)
02:22
Honor ORDER BY clauses in VIEWs. Ticket #193. (CVS 792) (check-in: dbf7893234 user: drh tags: trunk)
2002-12-02
04:25
Change to the pager to avoid opening journal files unnecessarily. This can sometimes results in a significant speed improvement. (CVS 791) (check-in: fa5c042585 user: drh tags: trunk)
2002-12-01
02:00
Fixed large file support under Linux. I'm unable to test under Windows. Ticket #191. (CVS 790) (check-in: 9864a1265b user: drh tags: trunk)
2002-11-24
14:52
Add the "space_used.tcl" script to the tools directory. This script is used to measure how much disk space is used by each table and index of a database. (CVS 789) (check-in: 83b2c27a56 user: drh tags: trunk)
2002-11-20
11:55
Automatically determine if pointers are 4 or 8 bytes in size during the compilation process. Ticket #190. (CVS 788) (check-in: dd5396a73a user: drh tags: trunk)
11:08
Get the new large file code working with the Borland compiler. Ticket #195. (CVS 787) (check-in: da4a79e289 user: drh tags: trunk)
2002-11-11
13:56
Remove extra from HTML output. Ticket #189. (CVS 786) (check-in: dc5d9c129c user: drh tags: trunk)
01:04
Back out the changes in the pager that sorted pages prior to writing them to the database. Additional measurements showed no performance gains. (CVS 785) (check-in: 745d66395d user: drh tags: trunk)
00:05
Replace the atoi() library routine with a faster home-grown version in the VDBE. This gives a dramatic speed improvement for some kinds of queries. (CVS 784) (check-in: 263a8ca40f user: drh tags: trunk)
2002-11-10
23:32
Two optimizations to the pager: (1) Write dirty pages back to the database file in order and (2) Keep a separate list of in-memory pages that are in the checkpoint journal in order to speed a checkpoint commit. (CVS 783) (check-in: a6ef6657a4 user: drh tags: trunk)
2002-11-09
00:33
Try to better detect when the library is compiled for large file support (LFS) but the support is not available in the host OS kernel. (CVS 782) (check-in: a29d60ecc5 user: drh tags: trunk)
2002-11-06
14:08
Add large file support to Windows. Change large file support for Unix so that it compiles automatically - without requiring special options on the compiler command line. (CVS 781) (check-in: 2008b56fe1 user: drh tags: trunk)
00:59
Changes to include files so that the >2GB file patch will compile under BSD. (CVS 780) (check-in: 81bb1aed5e user: drh tags: trunk)
2002-11-05
23:24
Update the FAQ to explain how to enable large file support. (CVS 779) (check-in: 4caf624e90 user: drh tags: trunk)
23:03
Add support for databases larger than 2GB under Unix. Must be compiled with -D_FILE_OFFSET_BITS=64 and -D_LARGEFILE_SOURCE in order to work with larger databases. (CVS 778) (check-in: a3f67fe912 user: drh tags: trunk)
2002-11-04
19:32
Add the sqlite_version() SQL function as a built-in. (CVS 777) (check-in: 7c8c0e7633 user: drh tags: trunk)
2002-11-01
01:55
Improvements in threadtest.c (for Unix) and some minor bug fixes that result from the better testing. (CVS 776) (check-in: 326e0983c3 user: drh tags: trunk)
2002-10-31
00:15
Version 2.7.3 (CVS 775) (check-in: 4051dbdb05 user: drh tags: trunk)
00:09
Fix an assert that might fail if malloc() fails. (CVS 774) (check-in: 8ad018944c user: drh tags: trunk)
2002-10-30
23:04
Bump the version number prior to the release of version 2.7.3. (CVS 773) (check-in: bc7c7d87e5 user: drh tags: trunk)
22:42
In the VDBE, check to make sure a set has been initialized before using it. Ticket #185. (CVS 772) (check-in: 8c4cbdd055 user: drh tags: trunk)
2002-10-27
19:35
Minimal support for oracle8 outer join syntax. (CVS 771) (check-in: 31df3690d0 user: drh tags: trunk)
2002-10-22
23:38
Correctly handle column names and string constants in parentheses. Fix for ticket #179. (CVS 770) (check-in: 3b68aa25c4 user: drh tags: trunk)
15:04
Take care to track ephemeral strings in the VDBE and make copies of ephemeral strings that need to be preserved. Ticket #177. (CVS 769) (check-in: 562da534bb user: drh tags: trunk)
2002-10-20
18:19
Rework the changes for ticket #176 (check-ins (760) and (761)) to be more consistent with the rest of the source code. (CVS 768) (check-in: f50a177b42 user: drh tags: trunk)
16:00
The "table_info" pragma reports unspecified column types as "numeric" instead of "text". Fix for ticket #174. (CVS 767) (check-in: 395ab5fac2 user: drh tags: trunk)
15:55
Export the sqlite_function_type function from windows DLLs. Ticket #173. (CVS 766) (check-in: d5470dfe10 user: drh tags: trunk)
15:53
Work around a bug in the Borland C compiler. Ticket #172. (CVS 765) (check-in: 3ef2925650 user: drh tags: trunk)
15:46
Make sure malloc(0) always returns NULL. Fix for ticket #171. (CVS 764) (check-in: 4622b7ce8f user: drh tags: trunk)
2002-10-19
20:16
Speed improvement by avoiding a call to sqliteBtreeLast() when inserting a new row into a table. (CVS 763) (check-in: d0af59fe6b user: drh tags: trunk)
20:13
Fix the URL for pointing to MinGW on the homepage. (CVS 762) (check-in: 16aad98aad user: drh tags: trunk)
2002-10-17
09:01
Minor coding fix in getting the windows platform version, when multithreading (CVS 761) (check-in: b53ab71d07 user: mike tags: trunk)
00:38
fix for locking in Windows (CVS 760) (check-in: 83add34f64 user: mike tags: trunk)
2002-10-12
13:44
Remove the call to srand() and add better comments to the sqliteOsRandomSeed() routine. Ticket #163. (CVS 759) (check-in: d87a886d8f user: drh tags: trunk)
2002-09-30
12:36
Fix a bug in the left outer join logic. (CVS 758) (check-in: 6c0f44bd63 user: drh tags: trunk)
01:31
Fix an uninitialized variable that could cause problems when comparing two NULLs. (CVS 757) (check-in: 0154250018 user: drh tags: trunk)
2002-09-25
19:50
Version 2.7.2 (CVS 756) (check-in: 59ba43449a user: drh tags: trunk)
19:26
Bump the version number to 2.7.2. (CVS 755) (check-in: a164528e8c user: drh tags: trunk)
19:04
Bug fix: When multiple SQL statements were passed into a single sqlite_exec() call, execution speed would decrease for each statement executed because VDBE cursors were not being reused. Now the cursors are reused and execution time is linear. (CVS 754) (check-in: b0d27a377a user: drh tags: trunk)
2002-09-21
15:57
Make sure memory malloced() for structures is aligned on an even byte boundry. Solaris segfaults otherwise. (CVS 753) (check-in: 14ebe30bf5 user: drh tags: trunk)
2002-09-17
03:20
Fix a bug in the OP_MemStore operator of the VDBE. A realloc() might occur but pointer to the old buffer were not being moved over to the new buffer. (CVS 752) (check-in: 29145746f3 user: drh tags: trunk)
2002-09-16
11:44
Modify the sqlite_encode_binary() routine to return the strlen() of the encoded string. Also fix a bug that occurs when attempting to encode a zero-length buffer. (CVS 751) (check-in: f12c3a25ba user: drh tags: trunk)
2002-09-14
13:47
Do not put a write lock on the main database file when writing to a temporary table. (CVS 750) (check-in: 3f253afe15 user: drh tags: trunk)
12:04
Rename all tests so that the first part of the test name corresponds to the file that contains that test. This makes it much easier to find a particular test after it fail. (CVS 749) (check-in: 6cb80ae10a user: drh tags: trunk)
2002-09-12
14:08
Update the SQL language documentation to talk about SELECT DISTINCT. (CVS 748) (check-in: ef7116751d user: drh tags: trunk)
2002-09-08
17:23
Fix for ticket #147: Honor the ORDER BY and LIMIT clauses in a SELECT even if the destination of that SELECT is a subroutine call. (CVS 747) (check-in: 23fe36c7e8 user: drh tags: trunk)
00:04
Modify the build process so that the VDBE opcode numbers and the table that contains the opcode names are both automatically generated. This makes it much easier to create new VDBE opcodes. (CVS 1727) (check-in: c4f0bb0238 user: drh tags: trunk)
00:04
Modify the build process so that the VDBE opcode numbers and the table that contains the opcode names are both automatically generated. This makes it much easier to create new VDBE opcodes. (CVS 746) (check-in: eb54d455b0 user: drh tags: trunk)
2002-09-05
23:21
Fix a memory leak that occurred when sqlite_open() failed. (CVS 745) (check-in: a876021304 user: drh tags: trunk)
19:10
Rewind the checkpoint journal after each statement to avoid allowing the file to become too large. (CVS 744) (check-in: f4288520df user: drh tags: trunk)
16:08
Fix for ticket #146: Correctly handle reads of unused disk blocks at the end of the file. (CVS 743) (check-in: f5c2654768 user: drh tags: trunk)
2002-09-03
19:43
Always fill in the 5th parameter to sqlite_exec if there is an error. (CVS 742) (check-in: 7f8fd5c75d user: drh tags: trunk)
2002-09-02
14:11
Add documentation on NULL handling in SQLite versus other SQL database engines. (CVS 741) (check-in: dd8867fc47 user: drh tags: trunk)
12:14
Detect when the test scripts are being run as root and issue an appropriate error message. (CVS 740) (check-in: 9ca2c50770 user: drh tags: trunk)
2002-09-01
23:20
Relax the locking requirements on BTree cursors. Any number of read and write cursors can be open at the same time now, but a write cannot occur as long as one or more read cursors are open.

Before this change, one or more read cursors could be open on a table, or a single write cursor, but not both. Both policies have the same desirable effect: they prevent writes to a table while a sequential scan of that table is underway. But the new policy is a little less restrictive. Both policies prevent an UPDATE from occurring inside a SELECT (which is what we want) but the new policy allows a SELECT to occur inside an UPDATE. (CVS 739) (check-in: 8c2a083698 user: drh tags: trunk)

2002-08-31
18:53
Parse foreign key constraints and populate internal data structures appropriately. Constraints are still not enforced. (CVS 738) (check-in: 170711ca65 user: drh tags: trunk)
17:02
Version 2.7.1 (CVS 737) (check-in: 5f51e13d56 user: drh tags: trunk)
17:02
Change the version number for release 2.7.1. (CVS 736) (check-in: b7f788fcc4 user: drh tags: trunk)
16:52
Initial checking of two new test files: format3.test and memleak.test. (CVS 735) (check-in: 6ffedb90a6 user: drh tags: trunk)
16:33
Fix for ticket #145: Include the func.c source file in the build of testfixture so that the "randstr()" function will be available. (CVS 734) (check-in: c5e0c6a782 user: drh tags: trunk)
2002-08-29
23:59
If the database is locked when sqlite_open() is called, sqlite_exec() should still honor the busy callback and should return an error message together with the SQLITE_BUSY result code. (CVS 733) (check-in: 78a0229a7e user: drh tags: trunk)
2002-08-28
03:00
Slightly faster INSERTs from a SELECT by avoiding an intermediate table. But it didn't make nearly as much difference as I had hoped. (CVS 732) (check-in: 723362e74f user: drh tags: trunk)
2002-08-27
14:28
Change the tokenizer to ignore C-style comments /*...*/ in accordance with SQL99. (CVS 731) (check-in: f153448948 user: drh tags: trunk)
2002-08-26
19:55
Fix for ticket #142: Make sure we get the correct sort order even when the columns being sorted contain NULLs. (CVS 730) (check-in: 45847390d0 user: drh tags: trunk)
2002-08-25
20:58
Version 2.7.0 (CVS 729) (check-in: 9e341d9c93 user: drh tags: trunk)
20:11
Documentation updates prior to the releae of 2.7.0. (CVS 728) (check-in: e2d95f85a3 user: drh tags: trunk)
19:20
Fix for ticket #136: Added the OP_RenameCursor VDBE instruction and used it to make cursor numbers right on nested subqueries. Also added OP_Gosub and OP_Return but have not actually used them for anything yet. (CVS 727) (check-in: c602603e7c user: drh tags: trunk)
18:29
Fix the memory leak introduced by check-in (725). (CVS 726) (check-in: b957dafc26 user: drh tags: trunk)
2002-08-24
18:24
Change the way token memory is allocated in an effort to fix ticket #136. There is now a memory leak when using views of views. (CVS 725) (check-in: 22d8726e61 user: drh tags: trunk)
2002-08-22
18:18
Fix for ticket #138: Makefile doesn't use exec_prefix, has some install problems (CVS 724) (check-in: 97fc4a71a1 user: jadams tags: trunk)
2002-08-21
11:26
Fix for ticket #137: Use getpwuid() instead of getpwent(). (CVS 723) (check-in: ea011990c5 user: drh tags: trunk)
2002-08-18
22:41
This COLLATE keyword was not being parsed correctly inside CREATE TABLE statements - it was being included as part of the datatype. This fixes the problem. (CVS 722) (check-in: 39bd52d330 user: drh tags: trunk)
20:28
Fix for ticket #110: return an error if trying to start a transaction within a transaction or when attempting to commit or rollback outside of a transaction. (CVS 721) (check-in: df51cb166b user: drh tags: trunk)
19:09
Documentation updates. (CVS 720) (check-in: e372a60be8 user: drh tags: trunk)
2002-08-15
13:50
Fix for ticket #135: Remove unused variables from three files. (CVS 719) (check-in: 8cf17f2a24 user: drh tags: trunk)
13:45
More documentation updates. (CVS 718) (check-in: 9c0400aa7a user: drh tags: trunk)
11:48
Additional test cases and documentation updates. (CVS 717) (check-in: 048b16c111 user: drh tags: trunk)
01:26
Fixes and test improvements resulting from code coverage testing. (CVS 716) (check-in: 66a0f6a8e2 user: drh tags: trunk)
2002-08-14
23:18
Fix for ticket #134: Change the lemon.c sources to work around a problem with the AIX C compiler. (CVS 715) (check-in: 07f6020bb5 user: drh tags: trunk)
12:56
Implement probabilistic reader/writer locks under windows so that windows can have multiple simultaneous readers. (CVS 714) (check-in: 2127de3f03 user: drh tags: trunk)
03:03
Disable sorting by indices if there is a COLLATE subclause in the ORDER BY clause. (CVS 713) (check-in: 2438da791a user: drh tags: trunk)
00:10
Fix for ticket #132: make the working directory the last choice for where to write temporary files, not the first choice. (CVS 712) (check-in: 26a4e7e7a3 user: drh tags: trunk)
00:08
Update documentation to better explain the typelessness of SQLite and to describe the distinction between text and numeric data. (CVS 711) (check-in: 4ff0f578ec user: drh tags: trunk)
2002-08-13
23:02
Make the distinction between text and numeric data. (CVS 710) (check-in: 310ac4fbaf user: drh tags: trunk)
20:45
Documentation and makefile updates. (CVS 709) (check-in: 92c403f485 user: drh tags: trunk)
13:15
Bug fix to the left outer join logic. (CVS 708) (check-in: f9d3d4c123 user: drh tags: trunk)
13:15
Bug fix to the left outer join logic. (CVS 1726) (check-in: 957d908e6b user: drh tags: trunk)
00:02
Version 2.6.3 (CVS 707) (check-in: ba706aca0a user: drh tags: trunk)
00:01
Updates prior to release 2.6.3. (CVS 706) (check-in: 34c4149eea user: drh tags: trunk)
2002-08-12
12:29
Fix for ticket #9 (again). The rollback journal files should now also be byte-order independent. (CVS 705) (check-in: 2fb3fdcdf0 user: drh tags: trunk)
2002-08-11
20:10
Fix for ticket #9: Add the ability to read little-endian database files from a big-endian machine and vice versa. (CVS 704) (check-in: ce4b943bf6 user: drh tags: trunk)
2002-08-06
12:05
Fix typos the source to webpages html files. (CVS 703) (check-in: 61bb3af740 user: drh tags: trunk)
2002-08-04
00:52
Fix for ticket #131: When a SELECT contains a GROUP BY clause it cannot use an index for sorting. It has to sort as a separate operation after the GROUP BY is complete. (CVS 702) (check-in: 18745c67ac user: drh tags: trunk)
2002-08-02
10:36
Remove the restriction that a transaction cannot be started by one linuxthread and continued by another. Leave in the documentation the warning about not carrying a database connection across fork() but do not test for it any more. Ticket #130. (CVS 701) (check-in: bdbdb866f2 user: drh tags: trunk)
2002-07-31
19:50
Fix for ticket #124: Fix a stack VDBE overflow problem on joins on an INTEGER PRIMARY KEY. (CVS 700) (check-in: fe329e078f user: drh tags: trunk)
00:38
Version 2.6.2 (CVS 699) (check-in: 223a2150ac user: drh tags: trunk)
00:37
Update version number and change log for the 2.6.2 release. (CVS 698) (check-in: 4f196de07d user: drh tags: trunk)
00:32
Fix for ticket #104: Make triggers on views work properly even after closing and reopening the database. Also fixed an unrelated bug in the version 2.6.0 database format upgrade logic. The upgrade logic bug was found while testing the trigger fixes. (CVS 697) (check-in: 04973fc2a6 user: drh tags: trunk)
2002-07-30
18:43
Fix for ticket #114: Correctly handle SQLITE_BUSY if it occurs during database initialization. (CVS 696) (check-in: 5b814b5df6 user: drh tags: trunk)
17:42
Fix for ticket #111: Update the documentation to explain that you may not start a transaction in one thread and complete it in another thread under Linux Threads where each thread has its own process ID. (CVS 695) (check-in: 0b0c0492cc user: drh tags: trunk)
17:20
Fix for ticket #71: Correctly handle CR and CRLF line terminators in the input files for the COPY command. (CVS 694) (check-in: be1315755e user: drh tags: trunk)
2002-07-21
23:09
UPDATE triggers on TEMP tables were broken. (CVS 693) (check-in: c080ed01ea user: danielk1977 tags: trunk)
2002-07-19
19:04
Version 2.6.1 (CVS 691) (check-in: 610b7bc70a user: drh tags: trunk)
19:03
Rig the ident string so that it is not changed by RCS on checkin. (CVS 692) (check-in: 773d36c8d9 user: drh tags: trunk)
18:52
Fix an assertion failure that occurs when attempting to delete all rows of a table while the "count_changes" pragma is turned on. Up the version number to 2.6.1. (CVS 690) (check-in: 612df00401 user: drh tags: trunk)
18:13
Add static ident strings (such as picked up by the RCS "ident" command) containing the library version number. (CVS 689) (check-in: 712ee3914e user: drh tags: trunk)
17:46
Better detection and reporting of errors when initializing from the sqlite_master table. (CVS 688) (check-in: c8a7b725b7 user: drh tags: trunk)
2002-07-18
11:10
Version 2.6.0 Release 2 (CVS 687) (check-in: cc4f824b15 user: drh tags: trunk)
11:07
Fix a bug in the publish.sh script that was causing the windows DLL to not be built. (CVS 686) (check-in: ee8c2758a2 user: drh tags: trunk)
11:01
Change the name of variable "near" to "nearby" since MSVC mistakenly belieaves that "near" is a keyword. (CVS 685) (check-in: 9761a2a0fb user: drh tags: trunk)
02:50
Version 2.6.0 Release 1 (CVS 684) (check-in: dde65e9e06 user: drh tags: trunk)
02:07
Update documentation prior to the release of 2.6.0. (CVS 683) (check-in: f2d9191381 user: drh tags: trunk)
01:27
Make the automatic database upgrade work even if there are triggers. Add tests for automatic upgrade and for failing if reading a more advanced version of the database. Ticket #107. (CVS 682) (check-in: 0493e39c1c user: drh tags: trunk)
00:34
Fix for ticket #107: Fix a design defect in indices that was causing queries to fail when using an index on a column containing an empty string. This fix is an incompatible file-format change. (CVS 681) (check-in: 20d152fcdd user: drh tags: trunk)
2002-07-16
17:22
Fix for ticket #105: Fix the UPDATE command so that it works properly with indexed tables when there is a subquery in the WHERE clause. Add tests to verify correct operation. (CVS 680) (check-in: bbca16f88d user: drh tags: trunk)
02:05
Fix for ticket #100: Correctly handle ON and USING clauses of JOINs within a VIEW. (CVS 679) (check-in: 93710f7ed7 user: drh tags: trunk)
2002-07-15
20:58
Fix a syntax error in the tclsqlite.c file. (CVS 678) (check-in: 47997d7f3a user: drh tags: trunk)
18:55
Fix for ticket #102: Honor the ORDER BY clause in subqueries. (CVS 677) (check-in: 7e918c8b0d user: drh tags: trunk)
2002-07-13
17:33
Fix for ticket #64: Better error reporting in the shell. (CVS 676) (check-in: e1842e04c4 user: drh tags: trunk)
17:23
Partial fix for ticket #96: Return SQLITE_MISUSE from sqlite_exec() if called from a child process with an active transaction that was started in the parent. (CVS 675) (check-in: 72a609ec64 user: drh tags: trunk)
17:18
Fix for ticket #99: Added documentation on the sqlite_mprintf() API. (CVS 674) (check-in: d918de5f06 user: drh tags: trunk)
16:52
Added a document describing how to do a security audit. (CVS 673) (check-in: cff2718377 user: drh tags: trunk)
14:41
Fix for ticket #54: Export additional APIs to the Win32 DLL. (CVS 672) (check-in: 072fd2ad58 user: drh tags: trunk)
03:11
Fix for ticket #95: Do not allow automatically created indices (associated with UNIQUE or PRIMARY KEY constraints) to be dropped. (CVS 671) (check-in: 0603eb74e6 user: drh tags: trunk)
2002-07-11
12:18
Turn of the reporting of datatypes in the 4th callback argument unless the SHOW_DATATYPES pragma is ON. Eliminate the NULL pointer that used to separate the beginning of datatypes from the end of column names so that the callback can test to see whether or not datatypes are provided. This is an incompatible changes, but since the prior behavior was never documented, we will let it in. (CVS 670) (check-in: b98727246d user: drh tags: trunk)
2002-07-10
21:26
When reporting back the datatype of columns, use the text of the datatype as it appears in the CREATE TABLE statement, if available. Also: removed the ".reindex" command from the shell. (CVS 669) (check-in: ff8b6f4ee8 user: drh tags: trunk)
2002-07-08
22:03
Add support for TEMPORARY views. The code is here but it is mostly untested. (CVS 668) (check-in: 87cd10c1f6 user: drh tags: trunk)
10:59
In the BTree subsystem, when using pages from the freelist, attempt to select pages close to related pages in order to keep data structures near each other in the database file. This improves access speed in some circumstances. (CVS 667) (check-in: fd7e41f0ee user: drh tags: trunk)
02:16
Make the BTree balance() routine a little faster by reusing database pages locally rather than freeing and reallocating them. (CVS 666) (check-in: 3c2dea4310 user: drh tags: trunk)
2002-07-07
17:13
Version 2.5.6 (CVS 664) (check-in: 111c78e683 user: drh tags: trunk)
17:12
Fix for Win32: The %p format on Win32 does not prepend a "0x" as it should. (CVS 665) (check-in: ee86704daf user: drh tags: trunk)
16:52
More rollback problems: Fix two more errors introduced by checking (410) that can cause database corruption after a ROLLBACK. Also add new tests to make sure everything is working this time. (CVS 663) (check-in: f6e24d5ccb user: drh tags: trunk)
2002-07-06
16:34
Version 2.5.5 (CVS 662) (check-in: 6284c65c17 user: drh tags: trunk)
16:32
Prepare for the 2.5.5 release. (CVS 661) (check-in: 00f83c2576 user: drh tags: trunk)
16:28
Fix for bug #94: Be sure to journal pages that are added to the freelist then removed from the freelist and reused during the same transaction. (CVS 660) (check-in: db178646a0 user: drh tags: trunk)
2002-07-05
21:42
All the code is now in place for SQLite to distinguish between NUMERIC and TEXT datatypes. Still need to turn on the new code and test it. (CVS 659) (check-in: b4737a16c9 user: drh tags: trunk)
2002-07-02
13:05
Fix for ticket #92: Correct the sqliteExprCompare() function so that is takes into account the iTable and iColumn fields of the Expr structure. Otherwise, "min(a)" and "min(b)" will compare equal to each other in views. (CVS 658) (check-in: 85793a4f03 user: drh tags: trunk)
11:55
Fix for ticket 91: Modify the "publish.sh" script to use the new mingw cross-compiler installed on the development platform. (CVS 657) (check-in: 3cac283de4 user: drh tags: trunk)
2002-07-01
12:35
Version 2.5.4 (CVS 656) (check-in: f7159fde6b user: drh tags: trunk)
12:34
Update the change log and the version number for the next release. (CVS 655) (check-in: f9d77140ae user: drh tags: trunk)
12:27
Fix for tickets #90 and #89: Make the AS keyword optional again. (CVS 654) (check-in: 1f8a73b1c3 user: drh tags: trunk)
00:31
Added additional tests. No new errors found. (CVS 653) (check-in: 8924a7f5ba user: drh tags: trunk)
2002-06-29
02:20
Add a few more tests and fix a few bugs that the tests uncovered. (CVS 652) (check-in: 91c0db66c8 user: drh tags: trunk)
2002-06-28
12:18
Additional test cases added. The following bug fixed: A segfault was occurring if a VIEW consisted of a join with a USING clause. (CVS 651) (check-in: 96515b813e user: drh tags: trunk)
01:02
Fix for ticket #84: If the WHERE clause is too complex, issue an error message and refuse to do the SELECT. The cutoff is a WHERE clause with 100 terms. (CVS 650) (check-in: c07e493b62 user: drh tags: trunk)
2002-06-27
13:21
Fix for ticket #88: A typo in the documention of the "sqlite" shell command. (CVS 649) (check-in: 16552a7a29 user: drh tags: trunk)
2002-06-26
20:06
In the TCL interface, the "sqlite" command now always returns the address of the "sqlite*" pointer that sqlite_open() returns. It used to do this only when compiled with the SQLITE_TEST macro defined. (CVS 648) (check-in: 9ca6368525 user: drh tags: trunk)
02:45
The datatype of the i-th column in the result set is given by the azColName(argc+1+i) parameter to the callback. (CVS 647) (check-in: bdb006b809 user: drh tags: trunk)
2002-06-25
19:31
Add the sqlite_open_aux_file() API. (CVS 646) (check-in: 332164d645 user: drh tags: trunk)
15:19
Version 2.5.3 (CVS 645) (check-in: d5cb675432 user: drh tags: trunk)
14:46
Fix a spelling error in the change log. (CVS 644) (check-in: 37cc40442b user: drh tags: trunk)
14:43
Bug fix: When the database file grows in size during a transaction, make sure the last page of the file gets written to disk even if that page is on the free list and contains no data. Otherwise the disk file will be too small which can lead to database corruption in subsequent transactions. (CVS 643) (check-in: 36fc0add66 user: drh tags: trunk)
13:16
Enhance the INTEGRITY_CHECK pragma to test the auxiliary database file in addition to the main database file. (CVS 642) (check-in: 52eba4de30 user: drh tags: trunk)
01:09
Version 2.5.2 (CVS 641) (check-in: 756310cad2 user: drh tags: trunk)
01:09
Added support for the "sqlite_temp_master" table. Increased the version number to 2.5.2. (CVS 640) (check-in: 9c1432bf74 user: drh tags: trunk)
2002-06-24
22:01
Partial fix for a problem with LEFT OUTER JOIN. It used to be that the test for the right-hand table not matching the left table occurred after all ON, USING, WHERE clause processing. The test should occur after ON and USING clauses are checked but before the WHERE clause is check. This fix works as long as the total number of "AND" separated terms in the ON, USING, and WHERE clause does not exceed 32. To do: make this work for any number of terms and add test cases. that (CVS 639) (check-in: 8b6574cfa8 user: drh tags: trunk)
12:20
Fix a VDBE stack leak in LEFT OUTER JOIN. Fix a bug in the code generator for JOIN ... USING(...). (CVS 638) (check-in: d861489e1f user: drh tags: trunk)
2002-06-22
02:33
An optimization: avoid the use of an intermediate table on UNION ALL if there is no ORDER BY clause. (CVS 637) (check-in: 8aa73ce612 user: drh tags: trunk)
2002-06-21
23:01
Fix for bugs #77 and #80: Rework the LIMIT mechanism to be reentrant and to clean up the VDBE stack properly. (CVS 636) (check-in: 9d55231079 user: drh tags: trunk)
13:09
Fix for ticket #76: Fix a database corruption that might occur when dropping tables or indices. (CVS 635) (check-in: 7936b03250 user: drh tags: trunk)
11:55
Fix for ticket #78: Avoid an assertion failure when sqlite_close() to be called in the middle of a transaction. (CVS 634) (check-in: 2532792a58 user: drh tags: trunk)
2002-06-20
11:41
Update the file-format change document to describes the changes between versions 2.4.12 and 2.5.0. (CVS 633) (check-in: d28a2ecc91 user: drh tags: trunk)
11:36
This patch contains the beginnings of the data-typing infrastructure. The new build-in TypeOf() function is added. New opcodes for doing pure text comparisons are added. Most changes are disabled pending the 2.6.0 release. (CVS 632) (check-in: cbbc858d97 user: drh tags: trunk)
03:38
Fix for ticket #73: The ORDER BY clause is significant for subqueries. This passes all regression tests, but more testing is needed to exercise all paths through the new code. (CVS 631) (check-in: 43c5aff5d0 user: drh tags: trunk)
2002-06-19
20:32
Fix for ticket #75: Autoincrement INTEGER PRIMARY KEY fields on an INSERT even if the data is coming from a SELECT statement. (CVS 630) (check-in: d599f75b65 user: drh tags: trunk)
14:27
Version 2.5.1 (CVS 629) (check-in: 5e8a3131ab user: drh tags: trunk)
14:27
The query optimizer now attempts to satisfy an ORDER BY clause using an index. Sorting is still used if there are no suitable indices. (CVS 628) (check-in: f09e19b43e user: drh tags: trunk)
2002-06-17
17:26
Version 2.5.0 (CVS 627) (check-in: 9baef3e240 user: drh tags: trunk)
17:15
Update the change summary for version 2.5.0 (CVS 626) (check-in: 7a216adea5 user: drh tags: trunk)
17:07
Add preliminary logic for the eventual move to having separate TEXT and NUMTEXT datatypes. Also change the version number to 2.5.0 in preparation for an interim release. (CVS 625) (check-in: 05783a9db5 user: drh tags: trunk)
2002-06-16
18:21
Expose an additional internal API routine (sqliteInitCallback()) for use by private code. (CVS 624) (check-in: cd74495f99 user: drh tags: trunk)
04:57
Added explanation and examples for %Q format specifier. (CVS 623) (check-in: 633ce4dd25 user: chw tags: trunk)
04:56
Added printf-4.(2-4) test cases to test new %Q format specifier. (CVS 622) (check-in: 7d5fc35b5d user: chw tags: trunk)
04:55
Added %Q format specifier: like %q but automatic enclosing in single quotes, NULL pointers replaced by NULL w/o single-quotes. (CVS 621) (check-in: b9c7ecc2f9 user: chw tags: trunk)
04:54
Changed sqlite_mprintf_str to allow a NULL string parameter. Command template now is cmd FORMAT INT INT ?STRING?. When STRING omitted a NULL is passed to sqlite_mprintf. (CVS 620) (check-in: 8bc711571d user: chw tags: trunk)
2002-06-14
22:38
Make the LIMIT clause work even if the destination of the SELECT is something other than a callback. (Ticket #66) (CVS 619) (check-in: 699cf36208 user: drh tags: trunk)
20:58
Improvements to comments. No code changes. (CVS 618) (check-in: 7e10e60bb7 user: drh tags: trunk)
20:54
Fix for bug #72: Make sure the file descriptors are properly closed if sqliteInit() fails for any reason. (CVS 617) (check-in: e67ac0fec5 user: drh tags: trunk)
2002-06-12
22:33
Fix for bug #70: Correct a typo in the documentation. (CVS 616) (check-in: 3387d5b6d6 user: drh tags: trunk)
2002-06-11
22:33
Documentation that should have been checked in along with checkin (614) (CVS 615) (check-in: 10da136125 user: danielk1977 tags: trunk)
02:25
Add RAISE() function, which allows more advanced flow-control in trigger programs (ticket #55) (CVS 614) (check-in: d4a2fb1006 user: danielk1977 tags: trunk)
2002-06-09
10:14
Fix the spelling of sqliteRegisterBuiltinFunctions(). (CVS 613) (check-in: 74d297d97e user: drh tags: trunk)
01:55
Added tests for the new IN operator optimizer and fixed a bug that the new tests found. This completes the implementation of enhancement #63. (CVS 612) (check-in: 2a710e1817 user: drh tags: trunk)
01:16
Fix for ticket #65: If an integer value is too big to be represented as a 32-bit integer, then treat it as a string. (CVS 611) (check-in: ad9624798e user: drh tags: trunk)
2002-06-08
23:25
Add optimizations for the IN operator in WHERE clauses. This is a partial implementation of enhancement #63. Still need to add test cases. (CVS 610) (check-in: 8481e841eb user: drh tags: trunk)
2002-06-06
23:42
Bug fix: do not segfault if a SELECT without a FROM clause includes the * wildcard in the result column list. (CVS 609) (check-in: d939294994 user: drh tags: trunk)
23:30
Fix for ticket #59: Add documentation for the || operator. Also added documentation for the new SQL92 join syntax. (CVS 608) (check-in: a0abef62bf user: drh tags: trunk)
23:16
Fix for ticket #62: Do not report an SQLITE_READONLY error until the application actually tries to write data into a readonly file. It is OK to start a transaction on a read-only file, and doing so will get you a read lock. This change allows TEMP tables to be read/write even though the main database is readonly. (CVS 607) (check-in: 9ef795d1d7 user: drh tags: trunk)
19:04
Additional grammar cleanup resulting from the %fallback directive. (CVS 606) (check-in: c0cb3a012e user: drh tags: trunk)
18:54
Added the %fallback directive to the lemon parser generator and used this in the parser to make the parse tables much smaller. This reduced the size of the library by 15K. (CVS 605) (check-in: 7ac5bd293c user: drh tags: trunk)
2002-06-02
18:22
Fix a compiler warning. (CVS 604) (check-in: 637ee587b5 user: drh tags: trunk)
18:19
Add the ability to parse FOREIGN KEYs. Foreign keys are still ignored, but at least they now do not cause a syntax error. (CVS 603) (check-in: 6fdcee3c99 user: drh tags: trunk)
16:09
Enhance the ORDER BY clause so that an integer term means to sort by the corresponding column. (CVS 602) (check-in: 7acbf84b49 user: drh tags: trunk)
2002-06-01
21:41
Multiplying NULL by zero gives NULL, not zero. I misread the test data and coded it wrong. This check-in fixes the problem. (CVS 601) (check-in: df9cc852ad user: drh tags: trunk)
2002-05-31
15:51
Refinements to NULL processing: NULLs are indistinct for DISTINCT and UNION. Multiplying a NULL by zero yields zero. In a CASE expression, a NULL comparison is considered false, not NULL. With these changes, NULLs in SQLite now work the same as in PostgreSQL and in Oracle. (CVS 600) (check-in: da61aa1d23 user: drh tags: trunk)
2002-05-30
12:27
Once it is opened, leave the checkpoint journal file open for the duration of a transaction, rather than closing it and reopening it for each statement. (Ticket #53) (CVS 599) (check-in: 7a24336d50 user: drh tags: trunk)
02:35
Bug fix: bad code was generated for when the first operand of a CASE was NULL. (CVS 598) (check-in: 4debc8db92 user: drh tags: trunk)
2002-05-29
23:22
Built-in aggregate functions (MIN, SUM, AVG, etc) should ignore NULL entires. (CVS 597) (check-in: 19ae12bef2 user: drh tags: trunk)
12:44
Remove extra \ characters from temporary filenames under windows. (Ticket #52) (CVS 596) (check-in: ed11abc81e user: drh tags: trunk)
2002-05-28
06:55
Update trigger2.test to match checkin 591. Also fix ticket #51 (by documenting problem) (CVS 595) (check-in: 5e74d0964b user: danielk1977 tags: trunk)
2002-05-27
12:24
A SELECT statement inside the body of a TRIGGER uses the SRT_Discard target to discard the query results. Such selects are intended to be used to call user-defined functions for their side-effects. They do not return results. (CVS 594) (check-in: f8041f3d4d user: drh tags: trunk)
03:25
Fix the "alias.*" bug found by Bernie Cosell and reported on the newsgroup. (CVS 593) (check-in: f562d54230 user: drh tags: trunk)
01:04
Bug fixes and additional test cases for the distinct-NULL patch. (CVS 592) (check-in: 0e268d0c0f user: drh tags: trunk)
2002-05-26
23:24
Require the INSTEAD OF syntax to create triggers on database views. (CVS 591) (check-in: d9e48cd518 user: danielk1977 tags: trunk)
21:34
Change functions to handle NULLs correctly. Added the NULLIF() function. (CVS 590) (check-in: 46ce1a9ab6 user: drh tags: trunk)
20:54
NULL values are distinct. A comparison involving a NULL is always false. Operations on a NULL value yield a NULL result. This change makes SQLite operate more like the SQL spec, but it may break existing applications that assumed the old behavior. All the old tests pass but we still need to add new tests to better verify the new behavior. Fix for ticket #44. (CVS 589) (check-in: 9051173742 user: drh tags: trunk)
2002-05-25
00:18
Additional testing of LEFT OUTER JOIN. (CVS 588) (check-in: d8d04c14f1 user: drh tags: trunk)
2002-05-24
20:31
Initial implementation of LEFT OUTER JOIN including the expanded SQL92 join syntax. The basic functionality is there but there is still a lot of testing to do. (CVS 587) (check-in: 99bd1f5b9a user: drh tags: trunk)
16:14
Add support for the full SQL join syntax. This is just a parser enhancement. We now recognize all kinds of joins, but we don't actually do anything with them yet. (CVS 586) (check-in: e238643efd user: drh tags: trunk)
02:14
Added tests for multi-column primary keys. (CVS 585) (check-in: ffc49e56b1 user: drh tags: trunk)
02:04
Split the IdList structure into IdList and SrcList. SrcList is used to represent a FROM clause and IdList is used for everything else. This change allows SrcList to grow to support outer joins without burdening the other uses of IdList. (CVS 584) (check-in: a167b71d8c user: drh tags: trunk)
2002-05-23
22:07
Change the names of the PushList and PopList opcodes to ListPush and ListPop so that they will appear together with the other List opcodes in the documentation. (CVS 583) (check-in: c53b0b9283 user: drh tags: trunk)
13:15
Fix for ticket #50. (CVS 582) (check-in: 82b74a494a user: drh tags: trunk)
12:50
Partial fix for ticket #49. The correct result is computed, but now we have a memory leak. I'm not sure if the memory leak was pre-existing or a result of this change. (CVS 581) (check-in: 4d27ee4119 user: drh tags: trunk)
02:09
Fix some places where a malloc() failure would lead to a segfault. (CVS 580) (check-in: 01ad352c3c user: drh tags: trunk)
00:30
Do not allow triggers on the SQLITE_MASTER table. (CVS 579) (check-in: 275ba356f3 user: drh tags: trunk)
2002-05-22
21:27
Fix for ticket #46: Report an error if a CREATE TABLE contains two or more columns with the same name. (CVS 578) (check-in: ba1953abd0 user: drh tags: trunk)
2002-05-21
23:44
Fix for ticket #47: Use a cast to avoid a warning about discarding a "const" inside of hash.c. (CVS 577) (check-in: 0c90346153 user: drh tags: trunk)
13:43
Double-quoted strings resolve to column names if possible. Single-quoted strings continue to be interpreted as string literals. (CVS 576) (check-in: 55e7d65496 user: drh tags: trunk)
13:18
Clean up some compiler warnings. (CVS 575) (check-in: 3399b01219 user: drh tags: trunk)
13:02
Modify the shell so that when it is doing a ".dump" it always uses single quotes and not double quotes for quoting literal strings. This is for portability to other databases that only support single quote string literals. (CVS 574) (check-in: f795afd63f user: drh tags: trunk)
12:56
Fix for ticket #45: Allow an UPDATE statement to change the INTEGER PRIMARY KEY to itself without triggering a constraint error. (CVS 573) (check-in: 592da13468 user: drh tags: trunk)
11:38
Additional code cleanup resulting from a review of the new trigger code. (CVS 572) (check-in: 37dbdd551e user: drh tags: trunk)
2002-05-19
23:43
Style fixes to triggers code in various *.c files (partial fix to ticket #39) (CVS 571) (check-in: 8a4195c746 user: danielk1977 tags: trunk)
2002-05-17
00:05
Stylistic changes to src/trigger.c (partial fix to ticket #39). Also more comments. (CVS 570) (check-in: b1d72cb584 user: danielk1977 tags: trunk)
2002-05-16
00:13
Fix for ticket #42: Added comments to structs Trigger, TriggerStep and TriggerStack. (CVS 569) (check-in: 9ec8a2b139 user: danielk1977 tags: trunk)
2002-05-15
23:26
Fix a typo in the c_interface.html documentation file. (CVS 568) (check-in: 454879fa40 user: drh tags: trunk)
14:17
Fix for ticket #41: Better handling of CREATE TRIGGER in the sqlite_complete() function. (CVS 567) (check-in: f45c4b767a user: drh tags: trunk)
12:45
Beginning to clean up the trigger code. Still lots of work to do. (CVS 566) (check-in: b10346818b user: drh tags: trunk)
11:44
Remove all tabs from the beginning of source code lines. Replace tabs with the appropriate number of spaces. (CVS 565) (check-in: 690f9a1631 user: drh tags: trunk)
11:43
In the "lang.html" documentation file, put the CREATE TRIGGER and DROP TRIGGER sections in alphabetical order. (CVS 564) (check-in: d1d8642b57 user: drh tags: trunk)
08:43
Add the Makefile.in that was forgotten with checkin #562 (CVS 563) (check-in: 29b8330ca6 user: danielk1977 tags: trunk)
08:30
Added FOR EACH ROW triggers functionality (CVS 562) (check-in: 794bf67b6b user: danielk1977 tags: trunk)
2002-05-10
14:41
Version 2.4.12 (CVS 561) (check-in: 06cdaf1c80 user: drh tags: trunk)
14:37
Update the misuse.test script so that it will work under Windows. Changes to the speed testing script to support version 2.4.12. (CVS 560) (check-in: 232b7ef2c8 user: drh tags: trunk)