Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
120 check-ins for the month beginning 2020-06-01
Following month ↑
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) | |